1. 引言
在现实生活中,存在天气环境恶劣、照明亮度不足等原因,导致图像信息采集不完整,很难进行一些图像的识别和检测工作。因此,要对低照度的图像进行增强,才能满足我们生活的需要,紧跟时代的步伐。现在诞生了许多图像增强的算法,提升了图像本身的亮度、对比度和清晰度,但在提高图像亮度同时保持色彩不失真,并且符合人眼的观察效果方面还存在很多问题。为了解决这类情况,本文以Retinex-Net网络为基础框架进行改进,在分解网络中加入残差模块,更好地提取图像的细节信息 [1] 。
2. Retinex-Net网络模型
2.1. 模型介绍
Retinex-Net [2] 是一种基于端对端监督学习的低照度图像增强的经典网络模型,根据Retinex理论,分解之后的照明分量代表图像的亮度信息,在光线比较暗的图像中会出现光照低且不均匀的情况,反射分量代表图像的反射率,不随光照变化而变化。一般情况下,去除照明分量的反射图可以直接表示增强后的图像。Retinex-Net模型的网络结构图如图1所示,其处理过程如下:Retinex-Net模型首先通过分解网络将原图分解为反射图和照明图,然后通过增强网络进行增强处理,最后将各自网络的输出结合,就可得到最终的增强图。由于CNN是端到端的学习,输入同一场景下弱光图像对就可以不断训练模型,直到增强图越来越接近正常光照图像,通过输入大量不同场景的图像对可以增强模型的泛化能力 [3] 。

Figure 1. Network structure diagram of Retinex-Net model
图1. Retinex-Net模型的网络结构图
2.2. Decom-Net分解网络
DecomNet [4] 由5层的卷积神经网络组成,负责对输入图像进行分解,输入图像在2个转换层之间激活ReLU函数,最后采用sigmoid函数进行归一化。网络在训练阶段通过学习低照度图像和正常光图像反射率的映射关系,估计出入射光图像。在图像分解的过程中,先经过3 × 3的卷积层,主要为了图像的特征提取,选择ReLU激活函数,然后在经过一个卷积层将图像分解成入射光和反射率两种图像,最后通过sigmoid函数对它们进行约束。
在训练阶段,输入图像为同一场景下成对的正常光图像和低光图像,在反射率图像相同的条件约束下,Decom-Net网络学习对图像及其对应的法线光图像进行分解。另外,在训练时,不用考虑光照和反射的真实情况,在网络中只有反射系数的一致性和入射光图像的平滑度等作为损失函数嵌入网络,因此,Decom-Net网络分解是从两个成对的图像中进行学习的,适合描述图像光照不同情况下的光照变化。
3. 改进后的Retinex-Net网络模型
Retinex-Net增强算法能够对低光图像实现较好的亮度提升效果,但在对彩色图像处理时,增强后的图像经常出现图像颜色失真大,主要原因在于原图像是基于RGB空间,RGB空间是由三个颜色通道组成,相互关联,并且和亮度都有紧密的关系,当图像的亮度发生变化时,会使各颜色分量在图像中的占比改变,从而引起图像颜色的失真现象;此外,Retinex-Net增强算法以Retinex理论为基础,Retinex算法是一种假设光照在整个图像内平缓变化的理论,而在现实环境中很难满足这种假设,当图像中出现光照强度突变的区域时,特色是区域边缘的光照变化往往比较强烈,从而导致边缘区域出现光晕现象;同时,Retinex-Net算法处理后的图像还会出现边缘特征表达不足的问题,原因在于反射率图像属于高频信息,同时噪声也存在于反射率图像中。
3.1. 残差模块
随着深度学习方面的研究不断发展,逐渐形成许多优秀的网络结构模型。如何设计网络模型的结构则是深度学习中的基础问题,一般可以从两个角度进行网络结构优化设计,其中包括连接结构的设计和操作运算符的设计,如网络深度的设计和激活函数的设计等。
正常情况下,网络的层数越深,对图像特征的提取就会越细节。但如果只是增加网络深度,就可能会出现梯度消失等问题。He等人在2016年提出残差神经网络(ResNet),他们认为梯度消失现象的出现,导致神经网络层数越深,性能逐渐下降的问题。ResNet [5] 网络结构进行跨层连接图像信息,随着网络结构的加深,网络结构中残差模块仅学习浅层的参数信息,使得训练更加稳定。ResNet主要是一种残差网络,其结构包括残差学习和恒等映射通道。ResNet网络模型一般是对于训练过程中出现的梯度问题。网络越深参数也会相应增加,就会出现过拟合现象,所以深层的网络反而会出现退化现象,造成模型准确率降低。残差模块结构如图2所示。
3.2. 基于残差模块的分解网络
为了更好的将图像分解为光照图像和反射图像,本文在分解网络中引入残差模块并加深网络层数,改进后的分解网络如图3所示。改进后的分解网络是在原有分解网络基础上加入10个残差模块,并且和4层卷积层一起组成,首先图像输入会先经过一个卷积核为3 × 3的卷积层,接着经过10个残差模块,然后再由3个卷积层,最后通过sigmoid函数将它们约束在[0, 1]范围内。而Decom-Net网络本身层数较浅,特征提取能力弱,并不能很好的提取到图像中的细节信息,更何况是低照度图像。因此本文通过加深分解网络的层数,提高特征提取能力,提取到的特征越抽象且越具有语义信息。另外因为残差模块的引入,能够解决梯度消失等问题。

Figure 2. Residual module structure diagram
图2. 残差模块结构示意图

Figure 3. Decomposed network structure diagram based on residual module
图3. 基于残差模块的分解网络结构图
4. 实验结果与分析
4.1. 实验环境和参数设置及数据集介绍
本文所提出基于Retinex-Net网络的低光照增强算法的实验环境如表1所示。主要是使用了NVIDIA GeForce RTX 3080 Laptop作为训练显卡,基于Tensorflow的深度学习框架,完成了本文实验。本文提出的网络结构是端到端进行训练的,训练100个epoch,采用Adam优化器,初始学习率0.001,衰减率为0.95,batch size设置为16。

Table 1. Experimental environment configuration
表1. 实验环境配置
为体现本文提出模型在低光照场景中的图像增强能力,在LOL数据集上进行对比实验。LOL数据集是公开数据集,该数据集是在各种自然场景中捕获的成对低/正常光照图像,包含500个低光/正常光图像对。在LOL数据集中,有485张用于训练的成对图像,剩下的15张用于测试。
4.2. 主观评价
图4所示为LOL数据集中对比实验的结果比较,低光照图像为LOL数据集的部分测试图像,其中图像分辨率:400 pixels × 600 pixels,低光照图像很难看出图像的内容,仅可以看到整体图像的一个轮廓。从主观视觉上来看,Retinex-Net算法已经让图像亮度和自然度都得到了一定提高,但是对于图像的某些细节出现了颜色失真,如低光照图像3中穗的边缘区域,出现了一定程度的颜色失真。本文在Retinex-Net算法的基础上加入残差模块之后的效果,不仅整体亮度有一定的提升,而且在图像的一些区域清晰度增加,如低光照图像4中的不锈钢碗盆相对于Retinex-Net算法清晰度有了较大的提升,说明本文提出的基于残差模块的Retinex-Net算法能够提高特征提取能力,提取到的特征越抽象且越具有语义信息,对于图像细节的恢复有一定的帮助。

Figure 4. Comparison of the results of a comparison experiment in the LOL data set
图4. LOL数据集中实验结果比较
4.3. 客观评价
主观评价虽然能够在小规模范围内直接评定图像质量,但是很难大规模应用以及区分效果相似图像的细节差异,而客观评价方法是通过对比不同图像误差来进行客观衡量,通过数字图像对比,大部分细节差异能够很好地表现出来,一般来说,弱光图像增强处理前后的灰度、对比度差异越大越好,而边缘和颜色信息越小越好。本文采用PSNR、MSE和SSIM对增强图像进行客观评价。表2为LOL数据集在测试集上的客观评价指标。MSE代表均方误差,我们要让MSE更小,PSNR更大。MSE越小,表明增强后的图像与标签图像相比的误差越小,PSNR越大,表明图像越不失真,更符合人眼的观察效果。通过表格中的数据可以看出,本文算法的MSE最小,PSNR最大,说明本文算法相对于改进前的方法在图像增强后与标签图像像素点的误差小,失真程度低。SSIM能够更准确地对图像质量进行检测,数值越高,图像结构信息的完整性越好,表示增强后的图像与目标图像之间的差距越小 [6] 。从表中的数据可以发现,本文算法的SSIM在LOL数据集上数值是最大的,表示本文算法在改进后的增强效果相对于增强前能够与目标图像更接近,整个图像的结果信息更完整,充分说明了本文算法改进的有效性。

Table 2. Evaluation metrics on the test set of the LOL data set
表2. LOL数据集上测试集的评价指标
基于端到端学习的Retinex网络模型在对低照度图像进行增强的过程中,容易出现色彩失真、对比度不足、清晰度低等问题,为此本文在Retinex-Net模型的基础上进行优化,提出全新的网络结构。首先通过加深分解网络的层数,加入多层的残差结构,提高特征提取能力,提取到的特征越抽象且越具有语义信息,另外因为残差模块的引入,能够很好的解决深层神经网络带来的梯度消失等问题。实验结果表明在数据集上,PSNR从17.91提升到18.43,SSIM从0.55提升到0.65,MSE有较大的降低,相对于Retinex-Net模型有更好的增强效果。
5. 总结
本文是在Retinex-Net算法的基础上加以改进,提出了一种更有效的方法对低照度图像进行增强。基于Retinex理论,将残差模块加入到带有卷积的分解网络当中,将图像分解为光照和反射两部分,有效抑制分解过程中的噪声,提取更多图像的细节信息。这样处理后的图像既提高了本身的亮度,又保存了细节的信息,更符合人眼的观察效果,实现了提高低光照图像增强效果以及对结果图像色彩维护的目的。实验表明,本文算法对低照度图像的亮度增强与颜色恢复等方面有很大提升,PSNR提升了0.52,SSIM提升了0.1,MSE也有明显降低,能够更好地应用于图像处理任务中,在后续的目标识别与检测中也有重要的应用价值。
基金项目
BIGC20190122011,BIGC27170122003。