暗光增强论文“Kindling the Darkness:A Practical Low-light Image Enhancer”

还是retinex-based的思想,将图像调节分解为2个部分:一个部分是负责光照的调节,一份部分是负责退化的去除。在这样的方法下,最原始的空间是被分成两个类似的子空间,以便更好的正则化或者学习。值得注意的是,论文网络训练所需的图像对是用不同曝光条件下拍摄的图像,而不是使用真实的反射图像和光照信息。(无illumination和reflectance的GT)
论文的所提出的KinD网络能达到较快的处理速度,同时也能达到较好的处理效果。

Introduction

如何在低光照下获取高质量的图片?在使用相机的时候,可以设置较高的ISO,长曝光时间,以及使用闪光灯,但是多少都会有一些副作用。
https://github.com/google/night-sight介绍的更为清楚,这里重复一下:
比如使用高ISO的时候,感光度增加的同时噪声也被放大了,会导致较低的信噪比。一般来说许多自动曝光的算法也是在调整曝光时间和ISO的时候优先调节曝光时间。
使用长时间的曝光,需要场景是静止不动的,否则输出的图片是模糊的图像。
使用闪光灯的话,打光会带来一些不自然的光线。

如下 图所示,暗光下的图片几乎无法看清图片的细节。

对于用户而言,每个用户所认为的well-exposed的是不同的,因此没有很好的ground truth。
暗光增强的三个不同的挑战也因此被提出来了:
1.如何有效的从单张图像中估计出光照图成分;
2.如何在变亮图像的同时去除噪声和颜色失调;
3.如何在没有明确定义GT的情况下进行模型训练。
本文对应的贡献点如下几点:
1.提出的网络将图像分成两个部分,即反射部分和光照部分。
2.网络没有使用reflectance 和 illumination图的GT,只是使用一对不同光照程度的图像。
3.设计的模型可以提供灵活映射的模型,可根据使用者进行调节,用户喜欢什么样的光照条件是可以调节的。
4.图像提出一个模块可以有效去除暗区放大的噪声。
5.实验效果在LOL [21], LIME [11], NPE [9], and MEF [30]等数据集上自称达到sota的效果。
网络结构图

Data Usage & Priors
感觉这里作者的想法很巧妙。
由于缺乏光照条件的well-defined的ground truth,也缺乏反射图和光照图的ground truth。因此这种图层分解的问题本质上是一个不确定解的问题,因此需要先验知识或者正则化。假设图片没有退化效果,对于某个场景获得的反射图(reflectance map)应该是相同的。而光照图则是可以是多种多样的,简单而具有相互一致的结构性。在实际情况中,暗光条件下的退化结果是要比在亮一点的图像中要强的,而这种退化效果被转移到反射图reflectance component了。
因此作者提出了一个假设:
在使用暗光——正常光的图片对进行训练的时候,正常光的图片中的反射图(reflectance map)可以用来作为暗光图复原后的ground truth!!
在正常光图片中的reflectance map和暗光图中的reflectance map是不同的!!
不使用合成的数据的原因是作者认为这种退化作用是比较复杂的,使用不同的相机效果也是不一样的。
因此作者提出Illumination Guided Reflectance RestorationArbitrary Illumination Manipulation两个不同的模块,前者用于恢复噪声部分(pollution component),后者用于获得或者操作一个Illumination Manipulation。
Illumination Guided Reflectance Restoration
作者通过公式
I = R ∘ L + E = R ~ ∘ L = ( R + E ~ ) ∘ L = R ∘ L + E ~ ∘ L \mathbf{I} =\mathbf{R} \circ \mathbf{L}+\mathbf{E}=\mathbf{\tilde{R}}\circ\mathbf{L}=(\mathbf{R}+\mathbf{\tilde{E}})\circ\mathbf{L}=\mathbf{R} \circ \mathbf{L}+\mathbf{\tilde{E}}\circ \mathbf{L} I=R∘L+E=R~∘L=(R+E~)∘L=R∘L+E~∘L
认为,即使是使用最简单的高斯白噪声 E ∼ N ( 0 , σ 2 ) \mathbf{E}\sim\mathcal{N}(0,\sigma^2) E∼N(0,σ2),最后 E ~ \mathbf{\tilde{E}} E~由于光照图 L \mathbf{L} L的存在会导致reflectance restoration无法独立成为一个新任务,而需要通过照明图来作为一个guider。由于 L \mathbf{L} L一直在改变,我们无法获得用于去噪的合适的reference。
Arbitrary Illumination Manipulation
对于不同的用户和设备而言,最佳的照明图是不一样的。因此,一个实际上可用的系统需要提供一个接口用于任意的照明图的操作。作者认为传统的fusion、light level appointment和gamma correction都无法有效的获得照明图,因此本文实际上从真实数据中学到了一个灵活的mapping function,用户可以使用任何等级的光照条件和曝光度。



(这个curve通过KinD网络学习得到,比传统的gamma校正效果更好,可以更灵活的调整light levels)
Layer Decomposition Net
主要的重点是损失函数的设计:
L L D : = L r e c L D + 0.01 L r s L D + 0.08 L i s L D + 0.1 L m c L D \mathcal{L}^{LD}:=\mathcal{L}_{rec}^{LD}+ 0.01\mathcal{L}_{rs}^{LD}+0.08\mathcal{L}_{is}^{LD}+0.1\mathcal{L}_{mc}^{LD} LLD:=LrecLD​+0.01LrsLD​+0.08LisLD​+0.1LmcLD​
这里输入是一对不同曝光度的图像[ I h I_h Ih​, I l I_l Il​],这里目标是首先让获得的反射分量[ R l R_l Rl​, R h R_h Rh​]尽可能接近,其次,光照图[ L l L_l Ll​, L h L_h Lh​]也应该是区域平滑和相互一致的。
所以这里有Loss
L r s L D : = ∣ ∣ R l − R h ∣ ∣ 2 2 L_{rs}^{LD}:=||R_l-R_h||_2^2 LrsLD​:=∣∣Rl​−Rh​∣∣22​,用于使反射分量尽可能一致。
L i s L D = ∣ ∣ ∇ L l m a x ( ∣ ∇ I l ∣ , ϵ ) ∣ ∣ 1 + ∣ ∣ ∇ L h m a x ( ∣ ∇ I h ∣ , ϵ ) ∣ ∣ 1 L_{is}^{LD} = ||\frac{\nabla L_l}{max(|\nabla I_l|,\epsilon)}||_1+||\frac{\nabla L_h}{max(|\nabla I_h|,\epsilon)}||_1 LisLD​=∣∣max(∣∇Il​∣,ϵ)∇Ll​​∣∣1​+∣∣max(∣∇Ih​∣,ϵ)∇Lh​​∣∣1​,这一项对于平滑区域的惩罚比较大。
L m c L D = ∣ ∣ M ⋅ e x p ( − c ⋅ M ) ∣ ∣ L_{mc}^{LD} = ||M \cdot exp(-c \cdot M)|| LmcLD​=∣∣M⋅exp(−c⋅M)∣∣,其中 M = ∣ ∇ L l ∣ + ∣ ∇ L h ∣ M=|\nabla L_l|+|\nabla L_h| M=∣∇Ll​∣+∣∇Lh​∣,表示相互间有强关联的边缘应当被保留,弱的被放弃。(mutual consistency)
最后产生的输出应当还可以再产生输入即 L r e s L D = ∣ ∣ I l − R l ⋅ L l ∣ ∣ 1 + ∣ ∣ I h − R h ⋅ I h ∣ ∣ 1 L_{res}^{LD} = ||I_l - R_l \cdot L_l||_1+||I_h - R_h \cdot I_h||_1 LresLD​=∣∣Il​−Rl​⋅Ll​∣∣1​+∣∣Ih​−Rh​⋅Ih​∣∣1​。最后将这几部分Loss组合起来,作为这部分的总的Loss。

Reflectance Restoration Net
   低光照图像的反射图有更多的降质成分,所以这里使用高光照图反射图作为GT;同时反射图的分布和光照图也有关系,所以这里将光照图的信息也嵌入到该网络里。网络的Loss为:
   L R R : = ∣ ∣ R ^ − R h ∣ ∣ 2 2 − S S I M ( R ^ , R h ) + ∣ ∣ ∇ R ^ − ∇ R h ∣ ∣ 2 2 \mathcal{L}^{RR}:=||\hat{R}-R_h||_2^2-SSIM(\hat{R},R_h)+||\nabla \hat{R}-\nabla R_h||_2^2 LRR:=∣∣R^−Rh​∣∣22​−SSIM(R^,Rh​)+∣∣∇R^−∇Rh​∣∣22​
R ^ \hat{R} R^代表着恢复后的reflectance图。最后一项使得纹理细节信息等保持一致。

Illumination Adjustment Net
   最后需要一种机制可以灵活的将一个光照条件转换成另一种光照条件。这里通过调整 a l p h a alpha alpha和 g a m m a gamma gamma两个参数来实现。其中 a l p h a alpha alpha是 L t / L s L_t/L_s Lt​/Ls​的均值。从而可以将源图像 L s L_s Ls​转换成目标图像 L t L_t Lt​。其中该参数还可以被手动调节,其实这里 a l p h a alpha alpha被扩展成了一个该网络输入的特征图,Illumination Adjustment Net这一部分的Loss为:
   L I A : = ∣ ∣ L ^ − L t ∣ ∣ 2 2 + ∣ ∣ ∣ ∇ L ^ ∣ − ∣ ∇ L t ∣ ∣ ∣ 2 2 \mathcal{L}^{IA}:=||\hat{L}-L_t||_2^2+|||\nabla\hat{L}|-|\nabla L_t| ||_2^2 LIA:=∣∣L^−Lt​∣∣22​+∣∣∣∇L^∣−∣∇Lt​∣∣∣22​

这里 L t L_t Lt​可以是 L s L_s Ls​或者 L h L_h Lh​。
   g a m m a gamma gamma表示为 g a m m a = ∣ ∣ l o g ( L ^ ) ∣ ∣ 1 ∣ ∣ l o g ( L s ) ∣ ∣ 1 gamma = \frac{||log(\hat{L})||_1}{||log(L_s)||_1} gamma=∣∣log(Ls​)∣∣1​∣∣log(L^)∣∣1​​。通过S和H选择可以进行亮度提升或者下降。例如对于亮度提升,这里的效果是,可以在低光照区域增加少量光照,同时在明亮区域增加更多的光照。
   作者认为本文的映射方式是优于gamma correction的。



实验结果






在LOL Dataset上的评测指标如下。
其他数据集上不知道为什么只用了NIQE这个指标。

暗光增强论文“Kindling the Darkness: A Practical Low-light Image Enhancer”相关推荐

  1. 暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure”

    暗光增强论文:"EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure Fusion Network&quo ...

  2. 暗光增强论文MBLLEN: Low-light Image/Video Enhancement Using CNNs阅读笔记

    论文地址:http://www.bmva.org/bmvc/2018/contents/papers/0700.pdf 项目地址:https://github.com/Lvfeifan/MBLLEN ...

  3. 暗光增强论文Attention Guided Low-light Image Enhancement with a Large Scale Low-light Simulation Dataset翻译

    Abstract 低光图像增强是一个挑战,因为它不仅需要考虑亮度恢复,还需要考虑复杂的问题,如颜色失真和噪声通常隐藏在黑暗中.简单地调整低光图像的亮度将不可避免地放大这些噪声.针对这一难题,本文提出了 ...

  4. Low-light Enhancement暗光图像增强论文整理2019-2021

    Low-light Enhancement暗光图像增强论文整理2019-2021 github代码都放后面了,没有就是找不到代码 近年论文 Guo, Xiaojie et al. "LIME ...

  5. IAT:实时完成暗光增强, 曝光矫正的超轻量级Transformer网络

    作者丨信息门下奶狗@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/535695807 编辑丨极市平台 导读 本工作提出了一种超轻量级的快速照明自适应Transform ...

  6. Retinex算法在暗光增强应用以及Python实现

    图像暗光增强(一) Retinex简介 Single Scale Retinex(SSR) 多尺度MSR Multi-Scale Retinex 带色彩恢复的多尺度MSR,即MSRCR(Multi-S ...

  7. Kindling the Darkness: A Practical Low-light Image Enhancer

    Kindling the Darkness: A Practical Low-light Image Enhancer(KinD) 1.这个结构可以直接使用restormer代替 2. 3. 4. 6 ...

  8. 2021CVPR 弱/暗光《Seeing in Extra Darkness Using a Deep-Red Flash》

            文章开头,不得不吐槽一下,此篇文章如朦胧的秋雨,让懵懂的少年,深夜里伴行,永远走不出这寂静的夜. 先点题点题: 文章一开始放了一个大大的Fig 1 ,告诉我们: 人眼有两种细胞: 1) ...

  9. Low-light images enhancement系列:Kindling the Darkness: A Practical Low-light Image Enhancer

    概述 作者创建了一个名作KinD的暗光增强网络,分为decomposition network.adjustment network和restoration network三大部分. 其中decomp ...

最新文章

  1. SSM整合+分页+Druid+CRU+log4J+junit+事务+Json+Bootstrap入门教程总览目录
  2. 论DATASNAP远程方法支持自定义对象作参数
  3. 【转载】世界各地对BI的应用状况
  4. 小世界网络模型代码 c 语言,新的小世界网络模型实现文本特征的提取方法与流程...
  5. Observable观察者模式的使用
  6. flex布局 - justify-content: space-evenly
  7. 95-10-092-启动-TokenManager
  8. SAP License:解释一下目标成本、计划成本和标准成本的区别
  9. 西瓜书+实战+吴恩达机器学习(十八)降维(主成分分析 PCA)
  10. numpy 图片填充_用numpy做图像处理(上)
  11. phpstorm设置xdebug调试
  12. ANDROID 4.0 SDK R14 模拟器
  13. idf逆文档频率为什么要用log??
  14. 见过仙女蹦迪吗?一起用python做个小仙女代码蹦迪视频
  15. turtle库进阶练习
  16. logback日志模板
  17. 计算机电源 通电,笔记本电脑开不了机,通电后电源指示灯不亮
  18. 编译原理中Follow集的求法
  19. UVA Team Queue
  20. currentlyFocusedField is deprecated and will be removed in a future release解决方法记录

热门文章

  1. js onscroll android,JavaScript触发onScroll事件的函数节流详解
  2. DTW(Dynamic Time Warping)动态时间规整——简单易懂
  3. 健身健美增大肌肉块的14大秘诀
  4. Android功能记录(三) ------ 使用AudioRecord和AudioTrack边录边播(降噪)
  5. php httponly_php中如何设置cookie_httponly
  6. mysql优化type要到什么程度,mysql优化explan关键字之type
  7. switch选择语句在控制台实现一个简易的计算器(+ - * / %)
  8. 16岁的菜霸和阿里巴巴的吴瀚青, 黑客程序员不平凡的一生!
  9. linux 安装 CUDNN
  10. 解决淘宝以图搜图遇见的问题