基于通道校正卷积的真彩色微光图像增强
2023-07-10何锦成韩永成张闻文何伟基陈钱
何锦成,韩永成,张闻文,何伟基,陈钱
(南京理工大学 电子工程与光电技术学院,江苏 南京 210094)
0 引言
夜视技术是通过光电成像器件来探测夜间目标的技术[1]。传统的夜视技术均为单色图像,由于人眼能分辨的颜色等级是灰度等级的几百倍[2],研究人员致力于将单色夜视图像彩色化。以往是利用不同波段的信号产生的图像融合成彩色图像[3]或者通过颜色传递的方法[4-5],产生的彩色图像不自然,不能反映景物在白天所呈现的真实颜色信息。真彩色夜视技术得到的图像与白天看到物体的颜色相一致,更加接近物体的真实颜色[6],与人眼的主观视觉相一致,能够提高目标的识别率,具有重要的研究意义和应用价值。随着探测器灵敏度的不断提高及背照式传感器等技术的发展,固态成像器件也逐步向低照度成像方向发展。
低照度图像增强方法大致分成两大类:传统的方法和基于深度学习的方法[7]。传统的有基于直方图均衡化(HE)的方法、基于Retinex理论的方法[8-10]和基于暗通道去雾的方法[11]。基于深度学习的如下:Wang等[12]采用了编码解码的网络进行光照图估计,然后通过简单网络进行细节重建。Wei等[13]提出用网络将低照度图像分成光照图和反射图,对光照图进行增强,反射图进行去噪,最后合成结果。Song等[14]是对Wei等[13]方法的改进,提出了多尺度联合网络对光照图进行增强,并提出了色彩损失函数解决了颜色失真的问题。Zhang等[15]提出的方法与Wei等[13]的方法类似,但其在反射图上通过恢复网络进行降噪,最终合成结果。黄辉先等[16]在光照增强网络上加入了注意力机制,有效提高了网络的性能。这些基于Retinex模型的方法关键的步骤就是估计光照图,如何准确估计光照图决定了它们处理结果的准确性与可靠性。Jiang等[17]提出了无监督的方式进行图像增强。Guo等[18]提出了通过设计光照增强曲线来增强低照度图像。Zhang等[19]提出了反射图的最大通道与低照度图像的最大通道一致且熵最大来设计损失函数增强低照度图像。唐超影等[20]利用卷积神经网络将低照度的可见光图像与近红外图像融合,既保留了可见光图像的色彩,又兼顾了近红外的信噪比。在极低照度条件下,Chen等[21]提出了利用卷积神经网络U-Net[22]来代替传统的图像处理管道来处理原始传感器图像。该方法只针对特定的raw图像数据集,采用的是传统损失函数,未考虑图像噪声和色彩损失。
为了抑制低照度图像的噪声,一些方法是先增强、后降噪,但是增强会导致原来图像中的噪声更明显;还有的方法是先降噪、后增强,这样会导致原来图像中的细节丢失产生模糊。此外,分两步进行还会增加处理时间,影响实时性。
本文提出一种基于通道校正卷积(Channel-Calibrated Convolution,CCConv)的低照度彩色图像增强算法,用通道校正卷积来代替传统的卷积,形成U-Net结构的网络来进行端对端的训练。在传统损失函数上增加了Sobel损失函数和色彩损失函数,抑制噪声并提高色彩饱和度。该算法既能同时处理低照度图像的亮度、对比度、颜色、噪声等问题,又能减少运行时间。
1 基于通道校正卷积的图像增强算法
传统卷积构成的U-Net网络在许多的计算机视觉任务中显示出优越性[21-22],能够有效分割图像并将信息融合,且位置不偏移等。整个网络的输入为含噪的低照度图像,通过编码器下采样进行特征提取,然后通过解码器上采样,与之前通过跳连接的方式进行特征融合,最后输出恢复的图像。但是传统卷积在优化冗余色彩和保留图像细节方面做的不够好,因此本文采用CCConv代替U-Net网络中的传统卷积,算法处理流程与网络结构如图1所示,能更好地呈现细节特征,保留丰富的信息。
图1 基于CCConv网络结构及图像处理流程Fig.1 CCConv-based network structure and image processing flow
1.1 基于通道注意块的通道校正卷积
由于彩色图像RGB各个分量中的纹理、边缘、相位和灰度变化梯度具有很强的相关性和一致性[23],本文引入注意力机制[24]中的通道注意块,便于分析各个通道之间的特征。假设原始输入图Fin,通过全局平均池化和全局最大池化特征描述符,然后由多层感知器生成特征向量,最后通过Sigmoid函数获得通道注意特征图,将该特征图与原始输入Fin相乘得到结果Fout。该计算过程可以用图2描述。
图2 通道注意块工作流程Fig.2 Channel attention block workflow
Wc=sigmoid{MLP[AvgPool(Fin)]+MLP[MaxPool(Fin)]}
(1)
Fout=Wc·Fin
(2)
式中:Wc为通道注意特征图;Fout为结果特征图;MLP(·)为多层感知器;AvgPool(·)为平均池化;MaxPool(·)为最大池化。
受到自我校正卷积[25]的启发,本文提出的CCConv可以优化冗余色彩并保留更多图像信息,对特征表达更具判别力。如图3所示,先将输入通过1×1卷积分成两个分支,每个分支上的通道数为原来的一半,上分支采用通道注意力块(Channel Attention Block,CAB),便于分析各个通道之间的特征,下分支维持原来的信息,最终级联输出通过1×1卷积恢复到原来的通道数。图3中,xin和xout分别输入和输出,x1与x2为中间输出,为了提高训练速度,使用残差即与原来输入相加,算法使用的通道数如表1所示。
表1 网络各卷积层特征通道数Table 1 Number of feature channels in each convolutional layer of the network
图3 通道校正卷积原理框图Fig.3 Block diagram of Channel-Calibrated Convolution
通道校正卷积公式为
x1=f3×3{CAB[f1×1(xin)]}
(3)
x2=f3×3[f1×1(xin)]
(4)
xout=xin+f1×1[concat(x1,x2)]
(5)
式中:f表示卷积;CAB(·)表示通道注意力块;concat(·)表示级联。
1.2 损失函数
所有的机器学习算法都或多或少的依赖于对目标函数最大化或者最小化的过程,常常把最小化的函数称为损失函数,主要用于衡量机器学习模型的预测能力。在机器学习的任务中,损失函数的选取十分重要。损失函数用来指导训练过程,使得网络的参数向损失降低的方向改变。为了优化网络训练,通常采用损失函数来使增强图与参考图的差别最小化,从而达到最佳训练效果。传统损失函数l1定义如下:
l1=‖IEn-I‖1
(6)
式中:IEn表示增强的图像;I表示参考图像;‖·‖1为l1范数。
传统损失函数通过逐像素比较差异,没有考虑图像中的噪声,不能突出图像的纹理细节以及色彩饱和度等方面的问题。由于Sobel算子对噪声具有平滑作用,本文改进了原有的损失函数,加入了基于Sobel的损失函数和色彩损失函数,如式(7)所示:
l=l1+lSobel+lyuv
(7)
式中:l为总的损失函数;lSobel为基于Sobel的损失函数;lyuv为色彩损失函数。
基于Sobel算子的损失函数如式(8)所示:
lSobel=‖SIEn-SI‖1=
‖(‖Gx*IgEn‖1+‖Gy*IgEn‖1)-
(‖Gx*Ig‖1+‖Gy*Ig‖1)‖1
(8)
(9)
(10)
式中:SIEn和SI分别表示增强后的图和原始图;Gx和Gy分别表示水平和垂直的算子;IgEn和Ig分别表示IEn和I的灰度图像。
色彩损失函数,如式(11)所示:
lyuv=‖IUEn-IU‖1+‖IVEn-IV‖1
(11)
式中:IUEn和IVEn表示增强图像的UV色彩信息;IU和IV表示参考图像的UV色彩信息。
1.3 评价指标
为了定量评价算法的增强效果,本文用峰值信噪比(Peak Signal-to-noise Ratio,PSNR)、结构相似性(Structural Similarity,SSIM)和自然图像质量评估器(Natural Image Quality Evaluator,NIQE)[26]进行评价。
PSNR的定义如下:
(12)
(13)
式中:MSE(x,y)为均方误差,x和y分别为输入图像和参考图像;M和N分别为图像的长和宽;xi,j和yi,j分别为输入图像和参考图像中像素点(i,j)的灰度值。
SSIM的定义如下:
(14)
NIQE的定义如下:
(15)
式中:ν1、ν2、Σ1和Σ2分别为自然图像MVG模型和畸变图像MVG模型的均值向量和协方差矩阵,详细内容可参考文献[26],该参数值越小,表明图像质量越高。
2 实验与分析
目前关于低照度图像增强的真实配对数据集不多,主要是Wei等[13]收集的公开数据集,该数据集被广泛应用于基于深度学习的低照度图像增强领域,是第一个在真实场景中拍摄的低光/常光图像的配对数据集。低光图像是通过改变曝光时间和ISO来收集,包含500对大小为600×400的低光/常光图像,以RGB格式保存。
2.1 消融实验
首先对比传统卷积和本文的通道校正卷积处理的效果,结果如表2和表3所示。从表2中可以看出,使用传统卷积的U-Net算法恢复的图像中带有网格的伪像,并且局部有发白的情况。由表3可以看出,同比与传统卷积形成的U-Net算法,本文模型的浮点运算数(Floating Point Operations,FLOPs)减少了13.71%,模型的参数量减少了13.65%,PSNR值提升了29.20%,SSIM值提升了7.23%,结果表明本文提出的模型复杂度降低了,图像信噪比PSNR和SSIM明显提高。
表2 消融实验结果Table 2 Ablation experiment results
表3 不同参数及结构在验证集上的定量对比Table 3 Quantitative comparison of different parameters and structures on the validation set
其次本文对比了用不同损失函数训练后的效果,如表4所示。由表4可以看出:仅使用l1损失函数,恢复的图像带有网格的伪像和噪声;将l1和lSobel损失函数联合起来使用,虽然抑制了噪声但图像中的绿色场地和红色的看台颜色饱和度降低;将l1、lSobel和lyuv3个损失函数联合使用,不仅提高了亮度,抑制噪声的同时色彩饱和度也恢复了。为了定量描述损失函数的效果,将不同损失函数在验证集上进行了对比,结果如表5所示,采用本文提出的损失函数(l1、lSobel和lyuv)时PSNR最高,效果是最优的。
表4 不同损失函数的效果对比Table 4 Comparison of different loss functions
表5 不同损失函数在验证集上的定量对比Table 5 Quantitative comparison of different loss functions on the validation set
2.2 公开数据集的实验结果与客观分析
考虑到目前主流算法大都会对公开数据集评价,本文也针对该数据集与Dong[11]、LIME[8]、Retinex Net[13]、Zero-DCE[18]、Enlighten GAN[17]、KinD[15]和ICE-Net[19]共7种较有代表性的低照度图像增强算法进行对比,并使用公开推荐的参数进行训练测试,通过PSNR、SSIM、NIQE进行评价。其中Dong和LIME算法为传统算法,其余5种为基于深度学习的算法。测试图像的客观评价指标如表6所示,不同场景的算法增强效果对比图如表7所示。
表6 不同算法在测试集上的定量对比Table 6 Quantitative comparison of different algorithms on the test set
从表7中不同场景结果可以看出:Dong算法恢复的图像带一些噪声和伪点,但是图像偏暗,无法有效提升亮度;LIME算法虽然提高了图像亮度,但是噪声也随之增大;Retinex Net算法恢复的图像具有明显的噪声和色差,不符合人眼的视觉感知习惯;Zero-DCE和Enlighten GAN算法不能有效提升图像亮度,不能有效恢复图像颜色和抑制噪声;KinD算法能够有效恢复图像,但图像过于平滑;ICE-Net算法只提高了低照度图像的亮度,并未对噪声和颜色进行处理。从表6的结果中可以看出,本文算法的PSNR和NIQE都是最优的,SSIM位于第2,总体表现最佳,不仅提高了低照度图像的亮度、对比度,而且有效抑制了噪声,这是因为增加了Sobel算子的损失函数更好地保留了边缘信息,而且通道校正卷积能够有效关注RGB三通道之间的特征,使得输出图像颜色更加真实自然,较好地解决了色彩失真的问题。
2.3 本文数据集实验结果与客观分析
如图4所示,本文搭建的低照度成像实验系统主要由目标、光学镜头、美国安森美公司生产的KAE-02150 EMCCD相机及上位机组成。EMCCD主要参数如表8所示。低照度工作环境下相机曝光时间为40 ms,镜头焦距为50 mm,光圈F1.8~F16。使用杭州远方光电信息股份有限公司生产的PHOTO-2000 m照度计用于测量环境照度。本文数据集是在白天收集的,在镜头前加入了透射率为10%中性滤光片模拟得到微光图像。数据集共包含585对训练图像、18对测试图像,图像的分辨率为1 280×1 024。
表8 安森美KAE-02150 EMCCD参数Table 8 ON Semiconductor KAE-02150 EMCCD parameters
图4 彩色低照度成像实验系统示意图Fig.4 Schematic diagram of the colored low-light imaging experiment system
本文将训练的epochs设置为2 000,使用的优化器为Adam,学习率初始化为10-4。为了防止过拟合,将图片随机裁剪、翻转和旋转以进行数据增强。本文设置的批量大小为32,任意裁剪补丁的大小为256×256×3。输入图像被缩放到[0,1]。网络的训练环境为处理器Intel Core i9-9900K@3.6GHz和一张Nvidia RTX2080Ti显卡。
本节针对测试集进行实验验证,不同场景的处理效果对比如表9所示,客观评价指标如表10所示,各算法的运行时间如表11所示。
表9 不同算法在不同场景下的效果对比Table 9 Comparison of different algorithms in different scenarios
表10 不同算法在测试集上的定量对比Table 10 Quantitative comparison of different algorithms on the test set
表11 不同算法的运行时间Table 11 Running time of different algorithms s
由表9来看:Dong算法会产生一些噪声,影响视觉效果,从场景2和场景3 Dong算法的结果中可以看出,整体图像偏暗,无法判断盆栽上树木的颜色并且自行车上的细节不够清晰,LIME算法容易出现过度增强的现象,同时也放大了噪声,而且这两类传统算法都有较明显的偏色;Retinex Net、KinD、ICE-Net这3类算法均基于Retinex模型,处理效果取决于光强估计的准确性,Retinex Net算法产生了曝光过度的伪影和颜色失真的现象,成像效果较差,KinD算法虽然能够提升图像亮度,但颜色并没有恢复,ICE-Net算法整体较差,未能恢复图像色彩和降噪;Zero-DCE算法处理后的图像亮度依然较低,看不清自行车上的细节;EnlightenGAN算法得到的图像颜色发黄,看起来不自然;本文算法提高了图像的亮度、对比度,恢复了图像的颜色和细节,避免了颜色失真,噪声明显减少,更加接近参考图像。
从表10中可以看出,本文所提出的算法在PSNR、SSIM都优于其他的算法,验证了该算法的有效性。在无参考评价指标NIQE下,本文算法获得的指标最小,与其他算法相比更加自然。从表11中可以看出,对于处理1 280×1 024分辨率的图像,Zero-DCE算法虽然处理速度更快,但是图像整体亮度偏低且色彩失真,而本文算法处理速度位于第2,兼顾了成像质量与成像速度。
2.4 室内真实低照度数据实验结果与客观分析
为了更准确地评价算法的彩色重建质量,本文在暗室中采集了5×10-1lx、5×10-2lx、5×10-3lx 3个照度下Xrite标准色卡的成像结果,LED光源色温为6 500 K。选取色差(Color Difference,CD)[27]指标进行评价。
CIE LAB坐标系中任意两点的距离表示人眼感受到的色差。欧几里得距离的大小用来表示待测图像色彩与标准图像色彩匹配程度,计算公式如下:
CD(x,y)=[(L2-L1)2+(a2-a1)2+(b2-b1)2]1/2
(16)
式中:CD(x,y)表示测试图像与标准图像的色差;L2、a2、b2和L1、a1、b1分别表示测试图像与参考图像的CIE LAB颜色空间的明度指数L和色品指数a、b。各算法在不同照度下的重建效果如表12所示,各算法的评价指标如表13所示。
表12 不同算法在不同照度下的效果对比Table 12 Comparison of different algorithms under different illumination conditions
表13 不同算法在不同照度上的定量对比Table 13 Quantitative comparison of different algorithms for different illuminances
在5×10-1lx照度下,每种算法都能够恢复色卡的亮度。不过Dong算法在提高亮度的同时也放大了噪声。Retinex Net算法过度增强图像的亮度,并且出现了严重的色差和噪声。传统卷积形成的U-Net网络、Enlighten GAN、KinD和ICE-Net算法也不能够准确恢复图像的颜色。随着照度逐渐降低,各算法的处理效果均逐渐下降,但是本文算法色差最小,能够有效恢复亮度、对比度,更符合人眼的主观视觉感受。表13的结果表明,本文算法在5×10-1lx下,色差减少了18.52%,在5×10-2lx下色差减少了5.50%,在5×10-3lx下色差减少了7.36%,平均减少了10.46%。
2.5 室外真实低照度数据实验结果与客观评价
为了验证本文算法在室外真实低照度场景的有效性,本文进行了户外实验。原图都是在夜晚多云并且无星光的条件下,场景1的拍摄周围有个路灯,场景2拍摄周围无灯光,场景3水塘两旁有微光照明灯。参考图都是白天拍摄的参考图像。各算法在室外真实数据上的恢复效果如表14所示,算法的评价指标如表15所示。
表14 不同算法在不同场景下的效果对比图Table 14 Comparison of different algorithms in different scenarios
表15 不同算法在不同场景中的NIQE对比Table 15 NIQE comparison of different algorithms in different scenarios
由表14可以看出:Dong算法会产生黑点的噪声,影响了视觉感官;LIME算法的效果整体亮度大大提升,但噪声也随之放大;从场景1~场景3的恢复效果能够看出Retinex Net算法使得图像发生严重的色偏,而且场景2和场景3恢复的图像中会有伪点;从场景3的恢复效果可以看出,Zero-DCE算法不能有效提升亮度,Enlighten GAN算法出现了偏色的情况;在场景1的恢复效果中可以看出KinD算法将垃圾桶上面的颜色恢复成白色,从场景2和场景3的恢复效果中KinD算法不能够有效提升图像的亮度;ICE-Net算法出现了偏色的情况;本文算法能够有效抑制噪声,不会出现过度曝光的情况,在场景1中能够有效恢复图像的亮度和垃圾箱上面的颜色,但树叶遮光的地方恢复得亮度不够,在场景3中能够有效解决色偏的问题并且提高亮度、对比度,抑制噪声。从表15中可以看出,本文算法在场景2和场景3下NIQE值最小,3个场景的NIQE均值也是排名第1,说明处理后的效果更加自然,效果最好。
2.6 室内不同光源场景下的实验结果与客观评价
为了分析光源对算法处理效果的影响,本文在实验室内针对全局光照、局部光照、点光源等场景开展了研究。目标的背景为一块黑板,采集的环境在封闭的暗室中,全局和局部光照选用色温5 000 K亮度可调的白光LED光源,点光源是单个白光LED灯珠。各算法在室外真实数据上的恢复效果如表16所示,算法的评价指标如表17所示。
表17 不同算法在不同场景中的NIQE对比Table 17 NIQE comparison of different algorithms in different scenarios
由表16全局照明条件下的恢复效果可以看出:Dong和Zero-DCE算法提高了图像的亮度,但并不明显,LIME算法放大了图像中的噪声,Retinex Net算法未能将小车和人物身上的颜色恢复出来,产生了色偏,Enlighten GAN算法恢复的图像会有些偏黄的情况,ICE-Net算法产生雾蒙蒙的情况,带有噪声;本文算法能恢复全局照明条件下的物体的细节、颜色等,有效提高图像的质量。
由表16局部照明条件下的恢复效果可以看出:Dong、Zero-DCE和KinD算法未能将小黄车恢复出来,而且绿车头身上及其轮胎和小人也未能恢复;LIME算法产生了过曝的情况,噪声也被放大,但能够看清图像中的物体;Retinex Net和ICE-Net算法使图像产生了雾蒙蒙的感觉;Enlighten GAN和本文算法虽然恢复了左边未照明区域的物体,但是恢复得亮度不够,细节不够明显。
在点光源条件下,如果光源位于镜头前方会导致图像过曝,无法分辨目标,因此本文将光源放在目标背后。由表16点光源条件下的恢复效果可以看出:Dong、Zero-DCE和KinD算法未能恢复背光的小黄车;LIME算法产生了噪声,但能够恢复点光源前面的物体;Retinex Net和ICE-Net算法能够将镜头前的物体恢复,但是颜色出现了色偏;本文算法能够将背光的物体恢复,但是在猫物体的左边亮度提高不够。
从表17中能够看出:本文算法在全局照明和局部照明条件下NIQE值最小,处理效果最自然,优于其他算法;在点光源照明条件下本文算法仅次于ICE-Net算法,但是3个场景的NIQE均值也是第1。综合看来,本文算法受光源影响较小,处理效果最佳。
3 结论
本文针对现有真彩色夜视相机在低照度环境下图像降质较为严重的问题,提出了一种基于通道校正卷积的神经网络算法,并用其代替U-Net网络中的传统卷积,能够更好地恢复颜色,呈现细节特征并且保留丰富的信息;采用基于Sobel算子的损失函数,用以抑制噪声和保护纹理并且通过彩色损失函数增加了色彩饱和度;真实采集了低照度图像数据对,提升了对实际数据的处理效果。实验结果表明,本文算法既能有效处理低照度图像的亮度、对比度、噪声和色差问题,又能减少处理的时间,增强效果优于目前主流算法,同比传统卷积的U-Net网络,计算量减少了13.71%,参数减少了13.65%,PSNR的值提升了29.20%,SSIM的值提升了7.23%,色差减少了10.46%。在未来的工作中,将对网络模型进行优化,能够用FPGA进行神经网络的加速,并实时处理图像。