![](https://i-blog.csdnimg.cn/blog_migrate/f797548bf6b8850d9dccdf81da7560d9.png)
摘要
Retinex模型是弱光图像增强的有效工具。它假设观察到的图像可以分解为反射率和照明度。大多数现有的基于retinex的方法都为这种高度病态的分解精心设计了手工制作的约束和参数,当应用于各种场景时,这可能会受到模型容量的限制。在本文中,我们收集了一个包含低/正光图像对的低光数据集(LOL),并提出了一个在该数据集上学习的深度Retinex网,包括一个用于分解的Decom-Net网和一个用于照明调整的Enhance-Net 。在深度网的训练过程中,没有分解的反射率和照明的地面真相ground truth。该网络的学习只有关键的约束条件,包括成对的低/正光图像所共享的一致反射率和照明的平滑性。在分解的基础上,通过一个称为增强网的增强网络Enhance-Net对照明进行亮度增强,对于联合去噪,对反射率进行去噪操作。Retinex-网络是端到端可训练的,因此学习到的分解本质上有利于亮度调整。大量的实验表明,我们的方法不仅实现了弱光增强的视觉愉悦的质量,而且提供了一个良好的图像分解表示。
1 Introduction
图像捕捉中的照明不足会显著降低图像的可见性。失去的细节和低对比度不仅导致了不愉快的主观感觉,而且损害了许多为正常光图像设计的计算机视觉系统的性能。造成照明不足的原因有很多,如低光环境不足、摄影设备性能有限、设备配置不当等。为了使隐藏的细节可见,提高当前计算机视觉系统的主观体验和可用性,需要进行弱光图像增强。
在过去的几十年里,许多研究者都致力于解决弱光图像增强的问题。许多技术已经发展来提高低光图像的主客观质量。直方图均衡(HE)[20]及其变体约束输出图像的直方图以满足一些约束。基于去雾的[5]方法利用了光照不足的图像与模糊环境下的图像之间的逆连接。
另一类弱光增强方法是建立在视网膜理论[12]的基础上,该理论假设观察到的彩色图像可以分解为反射率和照明度。单尺度Retinex(SSR)[11]通过高斯滤波器约束照明映射的平滑性。多尺度视网膜(MSRCR)[10]通过多尺度高斯滤波器和颜色恢复扩展了SSR。[23]提出了一种利用亮度-阶-误差测量来保持光照自然性的方法。Fu等人[7]提出融合初始照明图的多重推导。SRIE[7]使用加权变分模型同时估计反射率和照明。在操纵照明后,可以恢复目标结果。另一方面,LIME[9]只估计具有结构先验的照明,并使用反射作为最终的增强结果。还有一些基于retinex的联合弱光增强和噪声去除[14,15]的方法。
虽然这些方法在某些情况下可能会产生有希望的结果,但它们仍然受到反射率和照明分解的模型能力的限制。很难设计出可以应用于各种场景的图像分解的良好约束。此外,对照明图的操作也是手工制作的,这些方法的性能通常依赖于仔细的参数调整。
随着深度神经网络的快速发展,CNN已被广泛应用于低水平图像处理,包括超分辨率[6,24,26,27]、除雨[16,21,25]等。Lore等人。[17]使用堆叠稀疏去噪自动编码器来同时增强低光和降噪(LLNet),
但是没有考虑到低光图像的性质。
为了克服这些困难,我们提出了一种数据驱动的Retinex分解方法。建立了一个集成了图像分解和连续增强操作的深度网络,称为Retinex-Net。首先,利用子网络Decom-Net将观测图像拆分为与
光照无关的反射率和对结构有感知能力的
光照分量。
Decom-Net 的学习有两个约束条件。首先,
低光/正光图像具有相同的反射率。其次,
照明图应该平滑,但保留主要结构,这是通过结构感知的总变化损失获得的。然后,另一个
增强网络Enhance-Net调整照明Map,以保持大区域的一致性,同时通过多尺度连接定制局部分布。
由于噪声在黑暗区域往往更大,甚至被增强过程放大,因此
引入了反射率去噪。为了训练这样的网络,我们从真实的摄影图像和来自RAW数据集的合成图像中建立了一个低/正光图像对的数据集。大量的实验表明,我们的方法不仅在弱光增强中获得了令人满意的视觉质量,而且提供了一个很好的图像分解表示。我们的工作贡献总结如下:
- 我们建立了一个大规模的数据集与成对的低/正常光图像捕获在真实的场景。据我们所知,这是在弱光增强场中的第一次尝试。
- 我们构造了一个基于Retinex模型的深度学习图像分解方法。分解网络是通过连续的低光增强网络进行端到端训练,因此该框架本质上适合光条件调整。
- 我们提出了一种结构感知的全变分约束的深度图像分解。通过减轻在梯度强的地方的全变分的影响,约束成功地平滑了照明图并保留了主要结构。
2 Retinex-Net for Low-Light Enhancement 低光增强
经典的
Retinex理论模拟了人类的颜色感知。它假设观察到的图像可以分解为反射率,反射率和照明。设S表示源图像,然后可以用
![](https://i-blog.csdnimg.cn/blog_migrate/d8ca6509f3324decbf6c892aa6338070.png)
其中R表示反射率,I表示照明,◦表示元素级乘法。反射率描述了被捕获物体的内在属性,它被认为在任何亮度条件下都是一致的。照明表示物体上的各种亮度。在弱光图像上,它通常遭受黑暗和不平衡的照明分布。
基于Retinex理论,我们设计了一个深度Retinex网来共同进行反射/照明分解和弱光增强。该网络由分解、调整和重构三个步骤组成。在分解步骤中,Retinex-Net通过Decom-Net将输入图像分解为R和I。它在训练阶段接收成对的低光/正光图像,而只有低光图像作为输入为测试阶段。由于低/正光图像具有相同的反射光度和照明平滑性的约束,Decom-Net学习以数据驱动的方式提取不同照明图像之间的一致R。在调整步骤中,一个增强网Enhance-Net 被用来照亮照明地图。增强网采用解码器的整体框架。采用多尺度连接法保持大区域光照与上下文信息的全局一致性,同时集中注意力调整局部分布。此外,放大的噪声,经常发生在弱光条件下,如果需要,可以从反射率中去除。然后,我们在重建阶段通过元素级乘法将调整后的照明度和反射率相结合。
2.1 Data-Driven Image Decomposition
分解观测图像的一种方法是通过精心制作的约束直接估计低光输入图像的反射率和照明。自等式以来(1)是高度不适定的,
设计一个适合各种场景的约束函数并不容易。因此,我们试图以一种数据驱动的方式来解决这个问题。
在训练阶段,Decom-Net每次都拍摄成对的低/正常光图像,并在低光图像和正常光图像具有相同反射率的指导下,学习对低光及其对应的正常光图像的分解。请注意,虽然
分解是用成对的数据进行训练的,但它可以在
测试阶段单独分解低光输入。在训练过程中,不需要提供反射率和照明的地面真相。只有必要的知识,包括反射率的一致性和照明地图的平滑性,才被作为损失函数嵌入到网络中。因此,我们的网络的分解是从成对的低/正光图像中自动学习出来的,并且在本质上适合于描述不同光条件下图像之间的光变化。
需要注意的一点是,虽然这个问题在形式上可能类似于内在的图像分解,但它们在本质上是不同的。在我们的任务中,我们不需要准确地获得实际的内在图像,而是一个很好的表示光调整。因此,
我们让网络学习寻找弱光图像与其相应的增强结果之间的一致分量。
如图1所示,Decom-Net以弱光图像慢和正光一异常作为输入,分别估计慢的反射率低和光照低,以及异常的正光和非正交。它首先使用3×3卷积层从输入图像中提取特征。然后,采用以校正线性单元(ReLU)为激活函数的3×3卷积层,将RGB图像映射为反射率和照明度。A3×3的卷积层从特征空间中投影R和I,并使用s型函数将R和I都约束在[0,1]的范围内。
损失L包括三项:重建损失Lrecon、不变反射率损失Lir和照明光滑度损失Lis:
其中,λir和λis表示平衡反射率一致性和照明平滑度的系数。基于Rlow和Rhigh都可以用相应的照明图重建图像的假设,将重建损失Lrecon表述为:
![](https://i-blog.csdnimg.cn/blog_migrate/3891130ab80ce698096e51d46635dbad.png)
引入不变反射率损耗Lir来约束反射率的一致性:
![](https://i-blog.csdnimg.cn/blog_migrate/78a95567a35289fb06e9bcb65666643f.png)
2.2 Structure-Aware Smoothness Loss 2.2具有结构意识的平滑度损失
照明映射的一个基本假设是局部一致性和结构感知,如[9]所述。换句话说,一个好的照明地图解决方案应该在纹理细节上平滑,同时仍然可以保持整体结构边界。
全变化最小化(TV)[2],使整个图像的梯度最小化,通常作为各种图像恢复任务的平滑先验。然而,直接使用TV作为损失函数在图像具有强结构或亮度急剧变化的区域失效。这是由于照明地图梯度的均匀减小,无论区域是文本细节还是强边界。换句话说,TV的损失是结构盲性。照明模糊,在反射率上留下强黑色边缘,如图2所示。
![](https://i-blog.csdnimg.cn/blog_migrate/735e790ef42877f2dafb88adaccd89e9.png)
为了了解图像结构的损失,将原始TV功能用反射率梯度图进行加权。最后的Lis被表述为:
![](https://i-blog.csdnimg.cn/blog_migrate/ce05f3d4dff057fa147e834726c3b80e.png)
其中,∇为梯度,包括∇h(水平)和∇v(垂直),λg为平衡结构意识强度的系数。使用权重exp(λg∇Ri),Lis放松了平滑的约束,其中反射率梯度很陡,换句话说,图像结构的位置,照明应该是不连续的。
虽然LIME[9]也考虑了在加权TV约束下保持照明图中的图像结构,但我们认为这两种方法是不同的。对于LIME,总变化约束由一个初始照明图进行加权,这是R、G和B通道中每个像素的最大强度。我们的结构感知平滑度损失是由反射率加权的。在LIME中使用的静态初始估计可能不能像反射率那样描述图像的结构,因为反射率被假定为图像的物理特性。由于我们的Decom-Net是用大规模的数据离线训练的,所以照明和权重(反射率)可以在训练阶段同时更新。
2.3 Multi-Scale Illumination Adjustment 2.3多尺度照明调整
照明增强网络采用了一个编码器-解码器架构的整体框架。为了从层次的角度调整照明,我们引入了一个多尺度的连接,如图1所示。
图1:Retinex-Net的建议框架。增强过程分为分解、调整和重构三个步骤。在分解步骤中,子网络网络将输入图像分解为反射率和照明度。在下面的调整步骤中,基于编码解码器的增强网络照亮照明。引入多尺度连接法,从多尺度的角度调整照明。反射率上的噪声也在这一步中被消除。最后,我们对调整后的光照度和反射率进行了重构,得到了增强的结果。
编码器-解码器体系结构在较大的区域内获取上下文信息。输入图像依次降采样到一个小尺度,在那里网络可以看到大尺度的照明分布。这就给网络带来了自适应调整的能力。利用大规模的照明信息,上采样块重建局部照明分布。通过
元素级求加,将跳跃连接从一个下采样块引入到其相应的镜像上采样块,
从而强制网络学习残差。
为了对照明进行分层调整,即在保持全局照明一致性的同时调整不同的局部照明分布,引入了
多尺度连接方法。如果有M个逐步向上采样的块,每个块提取一个C通道特征图,我们通过近邻域插值调整不同尺度的这些特征,并将它们连接到一个C×M通道特征图上。然后,通过1×1的卷积层,将连接的特征简化为C通道。采用3×3卷积层重建照明图I˜。
一个下采样块由一个步幅为2的卷积层和一个ReLU组成。在上采样块中,使用了一个调整大小的卷积层。正如[19]中演示的,它可以避免工件的棋盘模式。调整大小-卷积层由一个最近邻插值操作、一个步幅为1的卷积层和一个ReLU组成。
增强网络的损失函数L由重建损失损失和照明平滑度损失组成。Lrecon意味着产生一个正常的光ˆS,这是:
2.4 Denoising on Reflflectance 2.4反射率的去噪
在分解步骤中,对网络施加了几个约束条件,其中之一是照明映射的结构感知平滑性。当估计的照明图是平滑的时,所有的细节都保留在反射率上,包括增强的噪声。因此,我们可以在用光照图重建输出图像之前,对反射率进行去噪的方法。考虑到黑暗区域中的噪声会根据分解过程中的亮度强度进行放大,我们应采用与照明相关的去噪方法。我们的实现在第二节中被描述了。
3 Dataset
虽然低光增强问题已经被研究了几十年,但据我们所知,目前公开可用的数据集没有提供在真实场景中捕获的成对的低光/正常光图像。一些低光增强工作使用高动态范围(HDR)的数据集作为替代方案,如MEF数据集[18]。然而,这些数据集的规模较小,并且包含有限的场景。因此,它们不能被用于训练一个深度网络。为了使其易于从大型数据集中学习弱光增强网络,我们构建了一个新的网络,包括两类:真实摄影对和原始图像的合成对。第一个方法捕获了真实情况下的退化特性和属性。第二种方法在数据增强、多样化场景和对象方面发挥着重要作用。
3.1 Dataset Captured in Real Scenes 在真实场景中捕获的数据集
我们的数据集,命名为LOw光配对数据集(LOL),包含500个低/正常光图像对。据我们所知,LOL是第一个包含从真实场景中获取的用于弱光增强的图像对的数据集。大多数低光图像是通过改变曝光时间和ISO来收集的,而相机的其他配置则是固定的。我们从各种场景中捕捉图像,例如,房屋、校园、俱乐部、街道。图3显示了这些场景的一个子集。由于相机抖动、物体移动和亮度变化可能会导致图像对之间的错位,受[1]的启发,我们采用了三步方法来消除数据集中图像对之间的这种错位。实现细节可以在补充文件中找到。这些原始图像的大小被调整到400×600,并被转换为便携式网络图形格式。数据集将公开。
3.2
Synthetic Image Pairs from Raw Images 来自原始图像的合成图像对
为了使合成图像与真实暗摄影的性质相匹配,我们分析了弱光图像的光照分布。我们从公共MEF[18]、NPE[23]、LIME[9]、DICM[13]、VV1和Fusion[3]数据集中收集了270张弱光图像,将图像转换为YCbCr通道,并计算Y通道的直方图。我们还从提高的[4]中收集了1000张原始图像作为正光图像,并计算了YCbCr中Y通道的直方图。计算结果如图4所示。
图4:基于YCbCr中Y通道直方图的拟合结果。为清晰起见,中以曲线图和纵轴的形式表示的直方图按对数域进行缩放。横轴表示像素值,注意Y通道的范围为16到240。
![](https://i-blog.csdnimg.cn/blog_migrate/b23eaf41d6a019d815481c9efa3d6897.png)
图5:在LOL数据集中使用书架上的Decom-Net和LIME的分解结果。在我们的结果中,弱光图像的反射率与正常光图像的反射率相似,除了在真实场景中出现的黑暗区域的放大噪声。
Raw images 原始图像比转换后的结果包含更多的信息。当对原始图像进行操作时,对用于生成像素值的所有计算都在基础数据上一步执行,使结果更加准确。在提高[4]中使用1000幅原始图像来合成弱光图像。采用Adobe光室提供的界面,尝试不同类型的参数使Y通道的直方图符合弱光图像的结果。最终的参数配置可以在补充材料中找到。如图4所示,合成图像的光照分布与低光图像的光照分布相匹配。最后,我们将这些原始图像调整为400×600,并将它们转换为便携式网络图形格式。
4 Experiments
4.1 Implementation Details
我们的LOL数据集在
Sec.
3 对500对图像被分为485对用于训练,另外15对用于评估。因此,网络工作是在485对真实情况的图像对和1000对合成的图像对上进行训练的。整个网络都是轻量级的,因为我们根据经验发现它已经足够达到我们的目的了。Decom-Net采用5个卷积层,在2个转换层之间激活ReLU。
增强网由3个降采样块和3个上采样块组成。我们首先训练深度网络和增强网络,然后使用随机梯度下降法对网络进行带反向传播的端到端微调。批处理大小设置为16,补丁程序大小设置为96×96。λir、λis和λg分别设置为0.001、0.1和10。当i=j,λi j设置为0.001,当i=j,λi j设置为1。
4.2 Decomposition Results 4.2分解结果
在图5中,我们说明了在我们的LOL数据集的评估集中的一个低/正光图像对,以及由Decom-Net和LIME分解的反射率和照明图。在补充文件中提供了更多的示例。结果表明,我们的Decom-Net可以从文本区域和平滑区域的一对图像中提取潜在一致的反射率。弱光图像的反射率与正常光图像的反射率相似,除了在真实场景中出现的黑暗区域的放大噪声。另一方面,照明地图描绘了图像上的亮度和阴影。与我们的结果相比,LIME在反射率上留下了很多照明信息(参见图框上的阴影)。
图5:在LOL数据集中使用书架上的Decom-Net和LIME的分解结果。在我们的结果中,弱光图像的反射率与正常光图像的反射率相似,除了在真实场景中出现的黑暗区域的放大噪声。
4.3 Evaluation
我们在来自公共LIME[9]、MEF[18]和DICM[13]数据集的真实场景图像上评估了我们的方法。LIME包含10个测试图像。MEF包含17个图像序列有多个暴露水平。DICM用商业数码相机收集了69张图像。我们将我们的视网膜网络与四种最先进的方法进行了比较,包括基于脱雾的方法(DeHz)[5]、自然保持增强算法(NPE)[23]、同时反射和照明估计算法(SRIE)[8],以及基于照明地图估计(LIME)[9]。
图6显示了三幅自然图像的视觉比较。更多的结果可以在补充文件中找到。如每个红色矩形所示,我们的方法在不过度曝光的情况下,照亮暗暗的物体,这得益于基于学习的图像分解方法和多尺度定制照明地图。与LIME相比,我们的结果并没有部分过度暴露(见静物中的叶子和房间中的外部叶子)。与DeHz相比,这些物体没有黑色的边缘,而DeHz受益于加权电视损失项(见街上房屋的边缘)
4.4 Joint Low-Light Enhancement and Denoising
考虑到综合性能,采用BM3D[3]作为retinex-net的去噪操作。由于噪声在反射率上被不均匀地放大,我们使用了一种照明相对策略(见补充材料)。我们比较了我们的联合去噪Retinex-Net与两种方法,一种是极限与去噪后处理,另一种是JED[22],一种最近的联合弱光增强和去噪方法。如图7所示,Retinex-Net更好地保留了细节,而LIME和JED则模糊了边缘。
5 Conclusion
本文提出了一种深度Retinex分解方法,该方法可以学习将数据驱动的观测图像分解为反射率和照明,而不需要分解的反射率和照明的地面真相。介绍了随后的光照增强和对反射率的去噪操作。对分解网络和弱光增强网络进行端到端训练。实验结果表明,该方法具有视觉上良好的增强效果,并很好地表示了图像分解。