暗光增强论文“Kindling the Darkness: A Practical Low-light Image Enhancer”
暗光增强论文“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 Restoration和Arbitrary 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”相关推荐
- 暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure”
暗光增强论文:"EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure Fusion Network&quo ...
- 暗光增强论文MBLLEN: Low-light Image/Video Enhancement Using CNNs阅读笔记
论文地址:http://www.bmva.org/bmvc/2018/contents/papers/0700.pdf 项目地址:https://github.com/Lvfeifan/MBLLEN ...
- 暗光增强论文Attention Guided Low-light Image Enhancement with a Large Scale Low-light Simulation Dataset翻译
Abstract 低光图像增强是一个挑战,因为它不仅需要考虑亮度恢复,还需要考虑复杂的问题,如颜色失真和噪声通常隐藏在黑暗中.简单地调整低光图像的亮度将不可避免地放大这些噪声.针对这一难题,本文提出了 ...
- Low-light Enhancement暗光图像增强论文整理2019-2021
Low-light Enhancement暗光图像增强论文整理2019-2021 github代码都放后面了,没有就是找不到代码 近年论文 Guo, Xiaojie et al. "LIME ...
- IAT:实时完成暗光增强, 曝光矫正的超轻量级Transformer网络
作者丨信息门下奶狗@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/535695807 编辑丨极市平台 导读 本工作提出了一种超轻量级的快速照明自适应Transform ...
- Retinex算法在暗光增强应用以及Python实现
图像暗光增强(一) Retinex简介 Single Scale Retinex(SSR) 多尺度MSR Multi-Scale Retinex 带色彩恢复的多尺度MSR,即MSRCR(Multi-S ...
- 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 ...
- 2021CVPR 弱/暗光《Seeing in Extra Darkness Using a Deep-Red Flash》
文章开头,不得不吐槽一下,此篇文章如朦胧的秋雨,让懵懂的少年,深夜里伴行,永远走不出这寂静的夜. 先点题点题: 文章一开始放了一个大大的Fig 1 ,告诉我们: 人眼有两种细胞: 1) ...
- Low-light images enhancement系列:Kindling the Darkness: A Practical Low-light Image Enhancer
概述 作者创建了一个名作KinD的暗光增强网络,分为decomposition network.adjustment network和restoration network三大部分. 其中decomp ...
最新文章
- 江苏开放大学计算机应用基础第四次作业,江苏开放大学-计算机应用基础第四次.doc...
- sql语句(Oracle和sqlserver)
- why my detail page in SAP UI5 application is failed to be loaded from router
- 2008年汶川大地震中的SAP成都研究院
- 提高表格可读性的一些技巧
- 如果我是一线技术主管…… 1
- 【华为敏捷/DevOps实践】4. 如何从Excel做项目管理的方式中走出来
- 土拍熔断意味着什么_火爆!楼面价14615元/㎡,土拍过后房价涨,常州买房正当时!...
- 对学习java的心得体会1
- HDU 4966 GGS-DDU(最小树形图)
- 数码相机如何当做摄像头(图文并茂版)
- 一、数学建模层次分析法(AHP)【清风数学建模个人笔记】
- 获取图片的十六进制颜色码(keynote/ppt取色器)
- 通过谷歌Google轻松拥有自己的站内搜索代码
- DBA-doing business as
- 集结Android开发里的各种大神
- 中国手机企业库存高达6000万,市场正常后或大规模降价促销
- 第三部分 :简单句的补充(并列句)
- xilinx 权威设计指南_设计产品指标的权威指南
- 通过js获取PHP设置的cookie(全实例讲解)
热门文章
- mysql mediumint 长度_mysql字段类型tinyint、smallint、mediumint、int、bigint详解
- 线路在线监测装置-枪机AI型
- 第十二章:项目采购管理 - (12.2 实施采购)
- cstdio(cstdio头文件是什么)
- unity3d,卸载,清除原先的licence
- 5G中使用的计算虚拟化技术的介绍
- 记中美贸易导致股票涨跌
- unity游戏开发日志(一)将mmd模型导入unity,并解决材质丢失的问题
- 自己缴纳社保和通过单位缴纳有什么区别?
- matlab中fmincon函数应用实例,matlab中fmincon函数的使用