Deep Retinex Decomposition for Low-Light Enhancement

目录

摘要

1、简介

2、弱光增强的视黄素网

2.1、数据驱动的图像分解

2.2、支持结构平滑损失

2.3、多尺度照明调整

2.4、反射上的去噪

3、数据集

3.1、真实场景中捕获的数据集

3.2、从Raw图中合成图像

4、实验

4.1、实验设置

4.2、分解结果

4.3、评估

4.4、联合微光增强和去噪

5、结论


摘要

Retinex模型是微光图像增强的有效工具。假设观测图像可以分解为反射率和光照。大多数现有的基于retinx的方法都为这种高度病态分解精心设计了手工制作的约束条件和参数,当应用于各种场景时,可能会受到模型容量的限制。在本文中,我们收集了一个包含低/正常光图像对的低光数据集(LOL),并提出了在该数据集上学习的深度视网膜网络,包括用于分解的解分解网和用于光照调整的增强网。在解压网络的训练过程中,分解的反射率和光照没有ground truth。该网络仅在关键约束条件下学习,包括成对低/正常光图像共享的一致反射率和光照的平滑度。在分解的基础上,通过增强网络对光照进行亮度增强,联合去噪时对反射率进行去噪操作。Retinex-Net是端到端可训练的,因此学习的分解本质上有利于亮度调整。大量实验表明,该方法不仅在弱光增强方面具有良好的视觉效果,而且能很好地表征图像的分解。

1、简介

在图像捕获中,光照不足会显著降低图像的可见性。细节的丢失和低对比度不仅会造成不愉快的主观感受,而且会损害许多为正常光线图像设计的计算机视觉系统的性能。造成照明不足的原因有很多,如环境光线不足,摄影设备性能有限,设备配置不当等。为了使隐藏的细节显现出来,提高当前计算机视觉系统的主观体验和可用性,需要进行弱光图像增强。在过去的几十年里,许多研究者致力于解决微光图像增强的问题。许多技术已经发展,以提高主观和客观质量的微光图像。直方图均衡化(HE)[20]及其变异体约束输出图像的直方图满足一定的约束条件。基于去雾的方法[5]利用了光照不足的图像和模糊环境下的图像之间的逆连接。

另一类微光增强方法是建立在Reinex理论基础上,假设观察到的彩色图像可以分解为反射率和光照。像早期的尝试一样,单尺度的Retinex (SSR)通过高斯滤波约束光照贴图平滑。多尺度的Retinex (MSRCR)扩展了SSR的多尺度高斯滤波器和颜色恢复。[23]提出了一种利用光阶误差测量保持照度自然度的方法。Fu等人提出融合初始光照图的多个派生。SRIE使用加权变分模型同时估计反射率和光照。操纵照明后,可以恢复目标结果。另一方面,LIME只在结构先验下估计光照,并使用反射作为最终的增强结果。也有基于retinx的联合微光增强和噪声去除方法。虽然这些方法在某些情况下可能产生有希望的结果,但它们仍然受到反射和光照分解模型容量的限制。很难设计出适用于各种场景的有效的图像分解约束条件。此外,照明贴图的操作也是手工制作的,这些方法的性能通常依赖于仔细的参数调整。随着深度神经网络的快速发展,CNN被广泛应用于低层图像处理中,包括超分辨率,去雨等。Lore等人的[17]使用堆叠稀疏去噪自动编码器来同时进行微光增强和降噪(LLNet),但是没有考虑到微光图像的性质。

为了克服这些困难,我们提出了一种数据驱动的Retinex分解方法。建立了一个融合图像分解和连续增强操作的深度网络。首先,利用子网络—解压网络将观测图像分割为不依赖光线的反射率和结构感知的平滑光照。解压网络是在两个约束条件下学习的。首先,低/正常光图像具有相同的反射率。其次,光照图要平滑,但保留主要结构,这是通过感知结构的总变化损失得到的。然后,另一个增强网络调整光照图以保持大区域的一致性,同时通过多尺度连接来裁剪局部分布。由于噪声在黑暗区域往往更大,甚至在增强过程中被放大,因此引入了反射率去噪。为了训练这样一个网络,我们从真实的照片和从原始数据集合成的图像中建立一个低/法线光图像对的数据集。大量实验表明,该方法不仅在弱光增强中获得了良好的视觉效果,而且能很好地表征图像的分解。现将我们的工作贡献总结如下:

我们用在真实场景中捕获的成对的低/正常光图像来构建一个大型数据集。据我们所知,这是在弱光增强领域的首次尝试。构造了一种基于Retinex模型的深度学习图像分解算法。分解网络与连续的弱光增强网络进行端到端训练,因此该框架具有良好的光状态调节能力。我们提出了一种结构感知的全变差约束用于深度图像分解。在梯度很强的地方,通过减轻总变化的影响,约束成功地平滑了照明贴图并保留了主要结构。

2、弱光增强的Retinex

经典的Retinex理论模拟了人类的颜色感知。假设观测图像可以分解为反射率和光照两个分量。S表示源图像,则表示为:

                                              

式中R为反射率,I为光照,◦为element-wise乘法。反射率描述捕获物体的内在属性,它被认为在任何亮度条件下都是一致的。光照表示物体上的不同亮度。在弱光图像上,它通常遭受黑暗和不平衡的照明分布。在Retinex理论的基础上,设计了一种深度Retinex,共同进行反射率照度分解和微光增强。网络由分解、调整和重构三个步骤组成。在分解步骤中,Retinex-Net将输入图像通过分解网分解为R和I。在训练阶段,它接受对低/正常光图像,而在测试阶段,它只接受低光图像作为输入。在低/正常光图像共享相同反射率和光照平滑的约束下,Decom-Net学会了以数据驱动的方式提取不同光照图像之间一致的R。在调整步骤,一个增强网被用来照亮照明贴图。增强网采用编解码器的整体框架。采用多尺度拼接的方法,在调整集中关注的局部分布的同时,保持光照与大区域上下文信息的全局一致性。此外,放大噪声,往往发生在低光条件下,消除了反射率,如果需要。然后,在重建阶段,我们将调整光照和反射率通过元素的乘法结合起来。

在Retinex理论的基础上,设计了一种深度Retinex网,共同进行反射率照度分解和微光增强。网络由分解、调整和重构三个步骤组成。在分解步骤中,Retinex-Net将输入图像通过分解网分解为R和I。在训练阶段,它接受对低/正常光图像,而在测试阶段,它只接受低光图像作为输入。在低/正常光图像共享相同反射率和光照平滑的约束下,Decom-Net学会了以数据驱动的方式提取不同光照图像之间一致的R。在调整步骤,一个增强网被用来照亮照明贴图。增强网采用编解码器的整体框架。采用多尺度拼接的方法,在调整集中关注的局部分布的同时,保持光照与大区域上下文信息的全局一致性。此外,放大噪声,往往发生在低光条件下,消除了反射率,如果需要。然后,在重建阶段,我们将调整光照和反射率通过元素的乘法结合起来。

2.1、数据驱动的图像分解

分解观测图像的一种方法是直接在低光输入图像上估计反射率和照度,并精心制作了约束条件。由于Eq.(1)的病态性很强,很难设计出适合各种场景的约束函数。因此,我们试图以数据驱动的方式来解决这个问题。在训练阶段,Decom-Net每次都对低/正态光图像进行配对,在低光图像和正态光图像具有相同反射率的指导下,学习对低光和对应的正态光图像的分解。注意,虽然分解是用配对数据训练的,但它可以在测试阶段单独分解低光输入。在培训过程中,不需要提供反射率和光照的地面真相。只有反射一致性和光照映射光滑性等必要知识作为损失函数嵌入到网络中。因此,我们的网络分解是从成对的低/正常光图像中自动学习到的,本质上适合描述不同光照条件下图像之间的光变化。需要注意的一点是,尽管这个问题在形式上可能类似于固有图像分解,但它们在本质上是不同的。在我们的任务中,我们不需要精确地获取实际的本征图像,而是需要一个良好的表征来进行光调节。因此,我们让网络学会在弱光图像和相应增强结果之间寻找一致分量。

如图1所示,Decom-Net以慢的弱光图像和正态光的一个Snormal图像为输入,然后分别估计慢的反射率Rlow和照度Ilow,以及正态光的Rnormal和非normal图像。首先使用3×3卷积层从输入图像中提取特征。然后,采用几个以直线矫正单元(ReLU)为激活函数的3×3卷积层,对RGB图像进行反射率和光照映射。一个3×3卷积层从特征空间投影R和I,用s型函数约束R和I在[0,1]的范围内。损失L由重构损失Lrecon、不变反射率损失Lir和光照平滑损失Lis组成:

                                      

                          Deep Retinex Decomposition for Low-Light Enhancement_第1张图片

其中lir和lis表示用于平衡反射率一致性和光照平滑度的系数。假设Rlow和Rhigh都可以用对应的光照图重构图像,则重构损失Lrecon公式为:

                      

                       Deep Retinex Decomposition for Low-Light Enhancement_第2张图片

引入不变反射率损失Lir来约束反射率的一致性:

                    

照明平滑度损失Lis将在下一节中详细描述。

2.2、支持结构平滑损失

光照映射的一个基本假设是局部一致性和结构感知,如[9]所述。换句话说,一个好的照明贴图的解决方案应该是在纹理细节平滑的同时仍然可以保持整体的结构边界。全变差最小化(TV)[2]是将整个图像的梯度最小化的算法,经常被用作各种图像恢复任务的平滑先验。然而,直接使用电视作为损失功能失败的区域,图像有强烈的结构或亮度变化剧烈。这是由于统一的减少梯度的照明图无论该区域是文本细节或强边界。换句话说,电视损失是结构盲性的。光照模糊,反射率上留下强黑边,如图2所示。为了使损耗能反映图像的结构,对原始的TV函数采用反射贴图梯度加权。最终Lis公式如下:

                        

其中,∇h为包括∇h(水平)和∇v(垂直)的梯度,lg为平衡结构意识强度的系数。Lis通过权值exp(−lg∇Ri)放松了反射率梯度陡峭处的平滑约束,也就是图像结构所处的位置和光照应该不连续的位置。

虽然LIME[9]也考虑了在有加权电视约束的照明映射中保持图像结构,但我们认为这两种方法是不同的。对于LIME,使用初始光照图对总变异约束进行加权,初始光照图是R、G和B通道中每个像素的最大亮度。我们的结构感知平滑损失是由反射率加权的。在LIME中使用的静态初始估计可能不能像反射率那样描述图像结构,因为反射率被假定为图像的物理属性。由于我们的解网是离线训练的大规模数据,可以同时更新光照和权重(反射率)在训练阶段。

2.3、多尺度照明调整

照明增强网络采用编码器-解码器结构的整体框架。为了从层次角度调整光照,我们引入了多尺度连接,如图1所示。编码器-解码器体系结构获得大区域的上下文信息。将输入图像逐次降采样到小尺度,使网络能够了解大尺度光照分布情况。这就给网络带来了自适应调节的能力。利用大范围光照信息,上采样块重建局部光照分布。通过逐元素求和的方法,将跳越连接从一个下采样块引入到相应的镜像上采样块,从而强制网络学习剩余值。为了分层调整光照,即在裁剪局部光照分布的同时保持全局光照的一致性,引入了多尺度拼接算法。如果有M个逐步向上采样的块,每个块提取一个C通道特征图,我们通过近邻插值将这些特征在不同尺度上调整到最终尺度,并将它们连接到一个C×M通道特征图。然后通过1×1卷积层,将连接的特征降为C通道。一个3×3卷积层是我˜之后重建照明地图。下采样块由带stride 2的卷积层和ReLU组成。在上行采样块中,使用了大小-卷积层。正如在[19]中演示的,它可以避免工件的棋盘式模式。size-convolutional layer由一个最近邻插值操作、一个带stride 1的convolutional layer和一个ReLU组成。增强网的损失函数L由重建损失Lrecon和光照平滑损失Lis组成。Lrecon意味着生产普通光照年代ˆ,

                       

Lis是式(5)一样,期望通过的梯度映射加权。

2.4、反射上的去噪

在分解步骤中,对网络进行了约束,其中之一是光照映射的结构感知平滑性。当估计的光照贴图是平滑的,所有的细节都保留在反射率上,包括增强的噪声。因此,我们可以先对反射率进行去噪,然后再用光照映射重建输出图像。由于暗区噪声在分解过程中会被亮度强度放大,因此应采用与光照相关的去噪方法。我们的实现在第4节中进行了描述。

                          Deep Retinex Decomposition for Low-Light Enhancement_第3张图片

3、数据集

尽管弱光增强问题已经研究了几十年,就我们所知,目前公开的数据集没有提供在真实场景中捕获的低/正常光成对的图像。一些微光增强工作使用高动态范围(HDR)数据集作为替代,如MEF数据集[18]。然而,这些数据集是在小尺度和包含有限的场景。因此,它们不能用来训练深度网络。为了便于从大规模数据集学习弱光增强网络,我们构建了一个新的网络,它包括两类:真实的摄影对和从原始图像合成对。第一个捕获了真实情况下的退化特性和属性。第二种是数据增强,场景和对象多样化。

3.1、真实场景中捕获的数据集

我们的数据集,命名为低光配对数据集(LOL),包含500对低/正常光图像。据我们所知,LOL是第一个包含来自真实场景的用于弱光增强的图像对的数据集。大多数弱光图像是通过改变曝光时间和ISO来收集的,而相机的其他配置是固定的。我们从各种各样的场景中捕捉图像,例如,房子,校园,俱乐部,街道。图3显示了场景的一个子集。由于相机抖动、物体移动和亮度变化可能会导致图像对之间的不对准,受[1]启发,我们使用三步法来消除数据集中图像对之间的不对准。实现细节可以在补充文件中找到。这些原始图像被调整到400×600和转换为便携式网络图形格式。数据集将公开提供。

3.2、从Raw图中合成图像

为了使合成图像更符合真实的暗摄影特性,我们分析了微光图像的照度分布。收集公共MEF[18]、NPE[23]、LIME[9]、DICM[13]、vv1、融合[3]数据集270张弱光图像,将图像转换为YCbCr通道,计算Y通道的直方图。从RAISE[4]中采集1000张raw图像作为normal-light图像,计算YCbCr中Y通道的直方图。结果如图4所示。原始图像比转换后的结果包含更多的信息。在对原始图像进行操作时,用于生成像素值的所有计算都在基础数据上一次性执行,从而使结果更加准确。利用RAISE[4]中的1000张原始图像合成低光图像。使用Adobe Lightroom提供的界面,我们尝试不同的参数使Y通道的直方图与弱光图像的结果吻合。最后的参数配置可以在补充材料中找到。如图4所示,合成图像的光照分布与弱光图像匹配。最后,我们将这些原始图像调整为400×600,并将其转换为可移植的网络图形格式。

4、实验

4.1、实验设置

我们在第3节中提到的拥有500对图像的LOL数据集,被分成485对用于训练,另外15对用于评估。因此,网络在485幅真实图像对和1000幅合成图像对上进行训练。整个网络是轻量级的,因为我们经验发现它已经足够我们的目的。反卷积网络需要5个卷积层,在没有ReLU的2个对流层之间有ReLU激活。增强网络由3个向下采样区和3个向上采样区组成。首先对分解网络和增强网络进行训练,然后利用带反向传播的随机梯度下降(SGD)端到端对网络进行微调。批size设置为16,patch size设置为96×96。lir、lis和lg分别设置为0.001、0.1和10。当i 6= j时,li j设置为0.001,当i = j时,li j设置为1。

4.2、分解结果

在图5中,我们展示了LOL数据集评估集中的低/法线光图像对,以及由Decom-Net和LIME分解的反射率和光照图。补充文件中提供了更多示例。结果表明,我们的解压网络能够从文本区域和平滑区域两组不同光照条件下的图像中提取出基本一致的反射率。弱光图像的反射率与正常光图像的反射率相似,只是在真实场景中出现了黑暗区域的放大噪声。另一方面,照明贴图描绘了图像上的亮度和阴影。与我们的结果相比,LIME在反射率上留下了很多光照信息(见架子上的阴影)。

                   Deep Retinex Decomposition for Low-Light Enhancement_第4张图片

                  

                  Deep Retinex Decomposition for Low-Light Enhancement_第5张图片

4.3、评估

我们对来自公开的LIME[9]、MEF[18]和DICM[13]数据集的真实场景图像进行了评估。LIME包含10个测试图像。MEF包含17幅多重曝光级别的图像序列。DICM用商用数码相机收集了69幅图像。我们将我们的retinx-net与四种最先进的方法进行了比较,包括基于去雾的方法(DeHz)[5]、自然度保留增强算法(NPE)[23]、同时反射和光照估计算法(SRIE)[8]和基于光照图估计的方法(LIME)[9]。图6显示了三幅自然图像的可视化对比。更多的结果可以在补充文件中找到。从每一个红色矩形中可以看出,我们的方法在不过度曝光的情况下,充分地提高了隐藏在暗亮度下的物体的亮度,这得益于基于学习的图像分解方法和多尺度定制光照贴图。与石灰相比,我们的结果没有部分过度暴露(看看静物中的叶子和室外的叶子)。与DeHz相比,这些物体没有暗边,DeHz受益于加权电视损失条款(见街道上房屋的边缘)。

4.4、联合微光增强和去噪

考虑到其综合性能,采用BM3D[3]作为视神经网络去噪操作。由于噪声在反射率上被不均匀地放大,我们使用相对照明策略(见补充材料)。我们比较了我们的联合去噪视网膜网与两种方法,一种是石灰去噪后处理,另一种是JED[22],一种最近的联合微光增强去噪方法。如图7所示,使用Retinex-Net可以更好地保留细节,而LIME和JED则模糊了边缘。

5、结论

本文提出了一种深度视频流分解方法,该方法可以在不考虑反射率和光照分解的真实情况下,以数据驱动的方式学会将观测图像分解为反射率和光照。介绍了光照的后续光增强和反射率的去噪操作。对分解网络和微光增强网络进行端到端训练。实验结果表明,该方法具有良好的图像分解效果和良好的增强效果。

你可能感兴趣的:(计算机视觉原理)