
Deep Retinex Decomposition for Low-Light Enhancement
论文:https://arxiv.org/pdf/1808.04560.pdf
论文原文+翻译(百度云链接):
https://pan.baidu.com/s/1uA1N6rH35i82ua2aqYEQBw?pwd=dze0
提取码:dze0
Abstract
Retinex模型是用于弱光图像增强的有效工具。假设观察到的图像可以分解为反射率和照明度。大多数现有的基于Retinex的方法都为这种高度ill-posed的分解精心设计了手动设置的约束和参数。且当应用于各种场景时,模型和功能可能会受到限制。在本文中,我们收集了一个包含低/正常光图像对的低光数据集(LOL),并提出了在该数据集上学习的深Retinex-Net,包括用于分解的Decom-Net和用于照明调整的Enhance-Net。在Decom-Net的训练过程中,没有反射和照明分解的标签。仅通过关键限制条件即可学习网络,其中包括成对的低/正常光线图像共享的一致反射率以及照明的平滑度。分解之后,通过称为Enhance-Net的增强网络对照明进行后续亮度增强,并且对于联合降噪,对反射率进行降噪操作。 Retinex-Net可以进行端到端的训练,因此,学习获得的分解器对于调节亮度自然是有利的。大量的实验表明,我们的方法不仅可以实现低光增强的视觉效果,而且可以很好地表示图像分解。图像拍摄中的照明不足会大大降低图像的可见度。丢失的细节和低对比度不仅会引起令人不快的主观感觉,而且还会损害许多为正常光线图像设计的计算机视觉系统的性能。造成照明不足的原因很多,例如光线不足的环境,摄影设备的性能有限以及设备的配置不正确。为了使隐藏的细节可见,改善当前计算机视觉系统的主观体验和可用性,需要低光图像增强。在过去的几十年中,许多研究人员致力于解决弱光图像增强问题。已经开发了许多技术来改善低光图像的主观和客观质量。直方图均衡(HE)及其变体可以限制输出图像的直方图以满足某些约束。基于除雾的方法利用光照不足的图像与朦胧环境中的图像之间的逆向关系。弱光增强方法的另一类是基于Retinex理论,它假设观察到的彩色图像可以分解为反射率和照明度。作为早期尝试,单尺度Retinex(SSR)通过高斯滤波器将照明图约束为平滑。多尺度Retinex(MSRCR)通过多尺度高斯滤波器和色彩恢复扩展了SSR。另一方面,LIME仅估计具有先验结构的照明,并将反射作为最终的增强结果。还有基于Retinex的方法,用于联合微光增强和噪声消除。尽管这些方法在某些情况下可能会产生不错的结果,但它们仍然受到分解的反射率和照明模型能力的限制。很难设计出适用于各种场景的图像分解良好的约束条件。此外,照明图上的操作也是手工制作的,这些方法的性能通常取决于仔细的参数调整。随着深度神经网络的迅速发展,CNN已广泛用于低级图像处理,包括超分辨率,除雨等。LLNet使用堆叠式稀疏去噪自动编码器同时进行弱光增强和降噪,但是弱光图像的性质并未考虑在内。为了克服这些困难,我们提出了一种数据驱动的Retinex分解方法。建立了一个称为Retinex-Net的深度网络,该网络集成了图像分解和后续的增强操作。首先,使用Decom-Net子网将观察到的图像分为照明独立的反射率和结构感知的平滑照明。Decom-Net具有两个约束条件。首先,低/正常光图像共享相同的反射率。其次,照度图应平滑,但应保留主要结构,这是通过结构感知的总变化损失获得的。然后,另一个Enhance-Net调整照明图以在大区域保持一致性,同时通过多尺度级联调整局部分布。由于噪声通常在黑暗区域更大,甚至通过增强过程放大,因此引入了对反射率进行降噪的方法。为了训练这样的网络,我们从真实摄影中构建了低/正常光图像对的数据集,并从RAW数据集中构建了合成图像。大量的实验表明,我们的方法不仅可以在弱光增强下获得令人满意的视觉质量,而且可以很好地表示图像分解。我们的工作贡献概括如下:1) 我们使用在真实场景中捕获的成对的低/正常光线图像构建大型数据集。据我们所知,这是低光增强领域的首次尝试。
2) 基于Retinex模型构造了深度学习图像分解。解构网络是使用连续的弱光增强网络进行端到端训练的,因此该框架本质上擅长于光照条件的调整。
3) 我们提出了一种结构感知的总变化约束,用于深度图像分解。通过减轻梯度强烈的地方的总变化的影响,该约束成功地使照明贴图变得平滑并保留了主要结构。
2. Retinex-Net for Low-Light Enhancement
经典的Retinex理论为人类的色彩感知建模。假设观察到的图像可以分解为两个部分,即反射率和照明度。令代表源图像,则可以表示为其中 表示反射率 , 表示照明, 而表示逐元素相乘。反射率描述了所捕获对象的固有属性,该属性在任何亮度条件下都被认为是一致的。照明代表物体上的各种亮度。在弱光图像上,通常会出现黑暗和不平衡的照明分布。
受Retinex理论的启发,我们设计了一个Deep Retinex-Net,以共同执行反射/照明分解和低光增强。该网络包括三个步骤:分解,调整和重建。在分解步骤中,Retinex-Net通过Decom-Net将输入图像分解为和。它在训练阶段将成对的弱光/正常光线图像作为输入,而在测试阶段仅将弱光图像作为输入。受到弱光/正常光图像共享相同反射率和照明平滑度的限制,Decom-Net学会了以数据驱动的方式提取各种照明图像之间的一致R。在调整步骤中,使用Enhance-Net增亮照明图。Enhance-Net采用了编解码器的整体框架。多尺度级联用于维持照明与区域信息在全局区域的全局一致性,同时重点关注调整局部分布。此外,如果需要的话,通常在弱光条件下发生的放大噪声会从反射率中消除。然后,我们在重建阶段通过元素逐个相乘来组合调整后的照明和反射率。2.1 Data-Driven Image Decomposition
在训练阶段,Decom-Net每次都会获取成对的弱光/正常光图像,并在弱光和正常光图像共享相同的反射率的约束下学习弱光及其对应的正常光图像的分解。请注意,尽管分解是使用成对的数据进行训练的,但它可以在测试阶段分别分解低光输入。在训练期间,无需提供反射率和照明的正样本(ground truth)。只有必要的知识(包括反射率的一致性和照明图的平滑度)才作为损失函数嵌入网络中。因此,我们的网络分解是从成对的低/正常光图像中自动获悉的,并且天生适合于描绘不同光照条件下图像之间的光变化。
Decom-Net将低光图像 和正常光一个 用作输入,然后分别针对 估计反射率 和照明 ,以及对 估计 和 。它首先使用3×3卷积层从输入图像中提取特征。然后,以整流线性单元(ReLU)为激活函数的几个3×3卷积层将RGB图像映射为反射率和照明度。3×3卷积层从特征空间投影和,并使用S型函数将和约束在[0,1]的范围内。损耗 由三项组成:重建损耗 ,不变反射率损耗 和照明平滑度损耗 :其中, 和 表示平衡反射率一致性和照明平滑度的系数。
基于 和 都可以使用相应的照明图重建图像的假设,重建损失 可表示为:
引入恒定的反射率损耗 来限制反射率的一致性:
2.2 Structure-Aware Smoothness Loss
照度图的一个基本假设是局部一致性和结构感知。换句话说,一个好的照明图解决方案应该在纹理细节上保持平滑,同时仍可以保留整个结构的边界。最小化整个图像梯度的总变化最小化(TV)通常在进行各种图像恢复任务之前用作平滑度。但是,直接使用TV作为损失函数会在有较强结构性或者图像变化较为剧烈的图像中效果较差。这是由于照明图的梯度均匀减小,而不管该区域是文本细节还是边界强。换句话说,TV损失是无法判断是否是structure的。如下图所示,照明模糊并且在反射率上留下了强烈的黑色边缘。为了使损失函数了解图像结构,原始TV功能通过反射图的梯度进行加权。最终的 公式为:
其中, 表示包含 (水平)和 (垂直)的梯度,而 表示平衡结构感知强度的系数。利用权重 , 在反射率梯度陡峭(换言之,图像structure的位置和照明不连续的位置)处放宽了对平滑度的约束。2.3 Multi-Scale Illumination Adjustment
照明增强网络采用编码器-解码器体系结构的总体框架。为了从分层的角度调整照明,我们引入了多尺度级联,如图所示。编码器-解码器体系结构获取大区域中的上下文信息。输入图像将被连续下采样到小比例,网络可在该比例下看到大范围照明分布。这给网络带来了自适应调整的能力。利用大规模照明信息,上采样块可重建局部照明分布。通过逐元素求和,将跳过连接从下采样模块引入到其相应的镜像上采样模块,从而强制网络学习残差。为了分级地调整照明,这意味着在定制多样的局部照明分布的同时保持全局照明的一致性,引入了多尺度级联。如果有M个逐个上采样的块,每个块都提取一个通道特征图 ,则我们通过将最近邻插值到最终比例,以不同的比例调整这些特征的大小,并将它们连接到C×M通道特征图。然后,通过1×1卷积层,将级联特征还原为C个通道。跟随3×3卷积层以重建照明图。下采样块由步幅为2的卷积层和ReLU组成。在上采样块中,使用了大小调整卷积层。如[19]所示,它可以避免伪影的棋盘格图案。调整大小卷积层包括最近邻插值操作,步幅为1的卷积层和ReLU。Enhance-Net的损失函数 由重建损失 和照明平滑度损失 组成。 意味着生成的正常光图像 ,即2.4 Denoising on Reflectance
在分解步骤中,对网络施加了几个约束,其中之一是照明图的结构感知平滑度。当估算的照明图平滑时,所有细节都保留在反射率上,包括增强的噪声。因此,在用照明图重建输出图像之前,可以对反射图进行去噪。鉴于在分解过程中暗区中的噪声会根据亮度强度进行放大,因此应使用与照明有关的降噪方法。我们的实现在第二节中Sec.4。3 Dataset
尽管对弱光增强问题已经研究了数十年,但据我们所知,当前公开可用的数据集没有提供在真实场景中捕获的成对的弱光/正常光图像。一些低光增强作品使用高动态范围(HDR)的数据集作为替代,例如MEF数据集[18]。但是,这些数据集规模很小,并且包含有限的场景。因此,它们不能用于训练深度网络。为了便于从大型数据集中学习微弱的增强网络,我们构建了一个新的网络,该网络由两类组成:真实摄影对和原始图像的合成对。第一个捕获实际情况下的降级特征和特性。第二个在数据扩充,场景和对象多样化方面发挥作用。3.1 Dataset Captured in Real Scenes
我们的数据集称为“低光配对”数据集(LOL),包含500个低/正常光图像对。据我们所知,LOL是第一个数据集,其中包含从真实场景中获取的用于弱光增强的图像对。大多数弱光图像是通过更改曝光时间和ISO来收集的,而相机的其他配置是固定的。我们从各种场景中捕获图像,例如房屋,校园,俱乐部,街道。图3显示了场景的子集。由于受到[1]的启发,相机抖动,物体移动和亮度变化可能会导致图像对之间的失准,因此采用三步法来消除数据集中图像对之间的失准。实施细节可在补充文件中找到。这些原始图像的大小将调整为400×600,并转换为可移植网络图形格式。该数据集将公开可用。3.2来自原始图像的合成图像对
为了使合成图像与真实的黑暗摄影相匹配,我们分析了弱光图像的照度分布。我们从公共MEF [18],NPE [23],LIME [9],DICM [13],VV
1和Fusion [3]数据集中收集了270张弱光图像,将图像转换为YCbCr通道并计算了直方图 Y频道。我们还从RAISE [4]中收集了1000张原始图像作为正常光线图像,并计算了YCbCr中Y通道的直方图。结果如图4所示。原始图像包含比转换结果更多的信息。当对原始图像进行操作时,所有用于生成像素值的计算都将在基础数据上一步执行,从而使结果更准确。 RAISE [4]中的1000张原始图像用于合成弱光图像。使用Adobe Lightroom提供的界面,我们尝试使用各种参数使Y通道的直方图适合弱光图像中的结果。最终参数配置可以在补充材料中找到。如图4所示,合成图像的照度分布与弱光图像的照度分布相匹配。最后,我们将这些原始图像的大小调整为400×600,并将其转换为可移植网络图形格式。4 Experiments
4.1 Implementation Details
第一部分中提到的我们的LOL数据集。其中3个具有500个图像对,分为485对用于训练,另外15对用于评估。因此,对网络进行了485个实际案例图像对以及1000个合成图像对的训练。整个网络都是轻量级的,因为我们凭经验发现它已经足够满足我们的目的。 Decom-Net包含5个卷积层,其中2个无ReLU的卷积层之间具有ReLU激活。Enhance-Net由3个下采样模块和3个上采样模块组成。我们首先训练Decom-Net和Enhance-Net,然后使用带有反向传播的随机梯度下降(SGD)端到端微调网络。批大小设置为16,补丁大小设置为96×96。 , 和 分别设置为0.001、0.1和10。 当 时,设置为0.001,当 时,设置为1。
5 Conclusion
本文提出了一种深度的Retinex分解方法,该方法可以学习将观察到的图像以数据驱动的方式分解为反射率和照明度,而无需了解反射率和照明度分解的真实情况。随后介绍了照明的光增强和反射率的降噪操作。分解网络和弱光增强网络是端到端训练的。实验结果表明,我们的方法产生了视觉上令人愉悦的增强效果,并且很好地表现了图像分解。