复合残差网络在低照度图像增强中的技术研究
2022-04-29王兴瑞王雨墨
王兴瑞,朴 燕,王雨墨
(长春理工大学 电子信息工程学院,吉林 长春 130022)
1 引 言
随着国内外成像技术的发展,多模态图像可通过各种成像设备获取,但在暗环境下,如夜间或缺乏足量光照时,成像设备采集的图像质量退化严重,且图像出现对比度低、噪声干扰大、颜色失真等情况,对于后续视觉任务(包括目标检测与识别、目标跟踪、场景分割和关键信息提取等)造成巨大干扰。因此,国内外学者对图像增强开展了广泛的研究,其主要有3 种方法:(1)基 于 直 方 图 均 衡 化(HE)的 方 法。Zuiderveld 等 人[1]提 出 了 对 比 度 受 限 的 自 适 应直方图均衡化方法,Ibrahim[2]提出了一种保持亮度的动态直方图均衡化算法。(2)以Retinex理论[3]为基础的方法。如Jobson 等人提出的单尺 度Retinex(SSR)[4]算 法,多 尺 度Retinex(MSR)[5]算法,以及Retinex 的衍 生算法aMSRCR 和MSRCP 等。黄慧等人[6]在Retinex 基础上添加了平滑聚类操作对图像做层次分离。冯维等[7]利用最小二乘滤波对多幅图像融合以得到增强图像。王卫星和赵恒[8]通过改进Retinex 并引入引导滤波对雾霾交通图像进行增强。(3)基于深度学习的方法。Cheng 等人[9]提出了深度融合网络(Deep Fusion Network,DFN)来增强图像。该算法虽有效提高了亮度,但在高亮和极暗的区 域 出 现 了 伪 影。Guo 等 人[10]提 出 了 一 种LIME 算法,该算法首先分离RGB 通道并分别找到像素最大值,用具体像素值作为指标来单独估计各通道各个像素的光照,然后对初始光照图进行结构细化后作为最终光照图。该算法在亮度提升方面有很大提高,但算法有时会出现图像失真、图像主观感受不自然的情况。Li[11]等 人 提 出 了LightenNet 网 络,该 网 络 以 低 照图为输入,输出其光照图,再根据Retinex 理论计算增强图像。该算法亮度增强明显,但存在过曝光现象。除此之外,还有许多基于深度学习的低光照图像增强算法[12-15]。
本文提出了一种基于注意力模型和复合残差网络的CNN 模型进行低照度图像增强。该方法首先对原始图像进行色彩空间的转换(RGBHSV),然后通过神经网络对亮度分量V进行增强,最后通过色彩空间的转换(HSV-RGB)得到增强图像。实验结果表明,本文算法在保持人主观感受的基础上大幅提高了亮度与对比度,而且图像细节丰富,色彩自然,在主观评价与客观指标上均有很大提高。
2 增强算法实现
为了获取图像的深层特征,通常加深网络的深度与宽度,但这会引发网络梯度更新时的梯度消失等问题,使得网络学习能力下降。为了避免上述问题,本文设计了一个复合残差模块用来解决提高网络深度后产生的副作用。
2.1 网络架构
网络整体架构如图1 所示,网络包括3 个部分:浅层特征提取部分、深层特征提取部分、图像重建部分。
图1 本文网络整体结构Fig.1 Overall network structure of this paper
浅层特征提取:本文首先对图像进行色彩空间转换(RGB-HSV),然后单独对亮度分量V进行训练,转换公式如下:
浅层特征提取模块是一个多分支结构,不同感受野的图像特征可以由多尺寸卷积核卷积得到。卷积层后添加ReLU 层,ReLU 函数可以使输入特征图稀疏化,对特征图不同层次特征的挖掘有显著作用,计算公式为:
由于CNN 是一种参数量和感受野相关、交互与输入内容无关的操作,而自注意力是一种参数量与感受野无关、交互与输入内容相关的操作,且图像的浅层特征信息往往能表征到图像轮廓等关键信息,因此在模块每个卷积层后引入CBAM[16]注意力模块,使网络对图像中的某些关键特征信息加强学习或者对某些不重要特征信息减少学习强度。浅层特征提取部分的计算公式为:
其 中:XL-1为 前 层 特 征 映 射,Wl为 卷 积 核,bl为偏置,F为激活函数ReLU,XL为模块输出的特征映射。在模块后通过Concatenate 层将多分支输出的64 个特征图进行通道拼接用于后续任务。
深层特征提取:形状、颜色、纹理、空间关系等由浅层特征提取模块提取,深层特征提取模块(Composite residual module,CRM)则用于提取图像的高级语义特征(抽象特征)。模块使用复合残差模块与卷积块交替串联构成。图2 是复合残差模块的结构。
图2 复合残差模块Fig.2 Composite residual module
复合残差模块主要由3 个残差单元组成。在复合残差模块中使用残差连接,残差连接会增大特征信息传播的流畅度,残差结构不仅能保证特征图的输出表达能力,而且在保证输出特征图不变的同时,提高网络感受野。此外模块借鉴Inception 结 构[17]的 思 想,使 用 多 个1×1 卷 积 提 高网络的表达能力。
残差单元(Residual Unit)结构如图3 所示。其使用多个卷积层+BN 层+ReLU 层的结构,单元两边使用1×1 卷积提高进行输入和输出的特征融合,单元中心使用3×3 卷积进行特征深层次提取,同时在单元外部使用融合了1×1 卷积和BN 层的残差连接以保证输出到输入的梯度回传的流畅性。
图3 残差单元Fig.3 Residual unit
图像重建:图像重建模块将图像的特征信息从特征空间映射到图像空间,模块如图4 所示。模块采用一个3×3×1 的卷积层用作图像重建,模块输出的特征图就是增强后的V通道。
图4 图像重建模块Fig.4 Image reconstruction module
2.2 损失函数
本文损失函数使用深度学习领域常用的基于像素值的损失函数均方误差损失(MSE),其公式表示为:
其 中:ŷi为 观 测 值,yi为 真 实 值,i为 函 数y的 索引。对图像求MSE,公式为:
其中I、K为两幅单通道图像。
单独使用MSE 损失虽会提高图像亮度,但会造成图像边缘模糊,图像细节难以把控,因此,本文在使用MSE 的基础上添加了结构相似性损失(SSIM)来对图像细节部分做优化。SSIM 可以衡量图像间的相似性,公式为:
其中:X和Y是输入的两张图像,μx和μy表示X和Y的平均值;δ2x和δ2y表示X和Y的方差;δxy表示X和Y的协方差,C1和C2是防止分母为0 的常数。本文总损失函数为:
其中,λ1和λ2为MSE 损失和SSIM 损失的权重。
3 实验准备
3.1 数据集制作
自然环境下的低照度图像与配准正常照度图像数据量稀少,为保证网络训练性能,本文选取了LOL[18]数据集中的1 000 对配准好的图像,并对LOL 数据集中的图像随机进行翻转、平移与旋转变换将图像数量扩充至15 000 张。本文训练集、验证集、测试集图像数量比重为8∶1∶1,使用12 000 对配准图像进行训练,1 500 对图像进行验证,1 500 对图像进行测试。本文将原始数据集384×384 的图像尺寸统一缩放至128×128 大小进行训练。
3.2 实验环境
本文在微软Windows10 系统上完成所有实验,通过Nvidia RTX3060 显卡对网络加速训练,采用Python 编程语言并通过谷歌的TensorFlow深度学习框架的高阶API Keras 来实现网络的搭建。为确定λ1和λ2取何值时效果最好,本文进行了数次实验,图5 和表1 展示了部分实验结果,图中0.9-0.1 表 示λ1为0.9、λ2为0.1 的 实 验 情 况,0.1-0.9 和0.7-0.3 同理。最终确定当总损失中的λ1为0.7,λ2为0.3 时模型效果最好。
表1 图5 评价指标对比Tab.1 Comparison of evaluation indicators in Fig.5
图5 损失权重的不同对实验结果的影响Fig.5 Influence of different loss weights on experimental results
本文批大小batch_size 设置为8,训练批次epoch 设为80。本文优化器采用深度学习算法中最著名的Adam,学习率使用分批衰减策略,学习率初值为0.001,每20 个epoch 衰减5 倍。学习率衰减策略前期可以加速网络训练,使网络快速拟合,后期可以使网络不断逼近梯度最小值的地方,提高模型精度。
3.3 评价指标选取
为了证明本算法的有效性,本文与现有的主流低照度图像增强算法进行对比实验,包括直方图 均 衡 化、aMSRCR、MSRCP、LIME 算 法 和LightenNet(LNet)算法,并通过对增强图像的主观视觉评价和客观指标分析对各个算法的增强效果进行对比,在客观评价指标的选取上采用峰值信噪比(PSNR)、SSIM、MSE、图像均值和图像标准差,PSNR 公式为:
其中MAXI表示图像颜色的最大值。
图像均值是表征图像亮度大小的物理量,其值越大,亮度越高。公式为:
其中:I为图像,i,j为像素位置索引。
图像标准差表征图像灰度的离散程度,其值越大,图像质量越好。公式为:
4 实验结果
4.1 合成低照度图像实验结果
为了验证本文网络在人工合成低照度图像[14]上的效果,本文对WATERLOO[19]数据集中的1 000 张图像进行像素值的指数变换,通过人工的方式对图像亮度降低,指数变换公式如下:
其中:y为输出像素值、x为输入像素值a为变化幅 度。本 文 对a选 择1.05、1.1、1.15、1.2 四 种值。实验结果如图6 所示。
图6 在合成低照度图像上的视觉主观对比。(a)船舶;(b)室内场景;(c)飞机;(d)公交车;(e)过山车。Fig.6 Visual subjective contrast on synthetic low illumination images.(a)Ship;(b)Indoor scenes;(c)Airplane;(d)Bus;(e)Roller coaste.
直观上看,直方图均衡化的方法对亮度提升不明显,且在部分区域出现颜色失真;aMSRCR算法增强效果优于HE,且对比度良好,但图像局部出现了颜色失真,如图6(b)中花瓶与路面失真较大,且在图6(c)的飞机图中,路面出现了玫红色;MSRCP 算法过曝光现象明显,图像整体泛白且图像信息丢失严重,如图6(e)中的过山车;LIME 算法对图像的纹理方面保持得很好,但图像亮度增强不够;LNet 算法增强效果不错,图像细节方面保持得也很好,但与MSRCP 算法类似,在图像局部出现过曝光,如图6(c)左上角路面处;整体来看,本文所提算法不仅在亮度和对比度方面有很大提高,而且避免了过曝光现象,且图像细节部分保持很好,颜色失真现象也没有发生。
在WATERLOO 数据集中,因为是合成的低照度图像,所以存在参考图像(正常照度图像),因此本文使用PSNR、SSIM、MSE 三种有参考的图像质量评价指标客观评价各算法效果。
由表2 数据可知,本文算法在各项指标上,总体均优于其他算法,LNet 算法的评价指标与本文算法接近,但仍有差距。本文算法使得增强后的图像有用信息更丰富,图像更自然,部分图像增强效果甚至超越原图,如图6(d)中公交车左侧的墙体区域,增强结果比配准图更清晰,这也是导致图6(d)中本文指标不高的原因。因此图像增强质量要从主观和客观两方面综合评判。
表2 图6 中各个图像客观评价指标对比Tab.2 Comparison of objective evaluation indexes of each image in Fig.6
4.2 真实低照度图像实验结果
为验证算法在自然情况下的低照度图像增强 效 果,本 文 选 取 了LOL 数 据 集 和Exdark[20]数据集中的图片进行测试,LOL 数据集实验结果如图7 所示。
实验结果显示,HE 方法对于图像亮度的提升仍不足;aMSRCR 算法出现颜色失真,如钟表图亮度增强后出现了紫色;MSRCP 算法过曝光现象严重,如树木图;LIME 算法增强效果与HE相近,但图像细节保持较好;LNet 算法整体增强效果明显,但在某些区域增强效果欠佳。
表3 是图7 中各个图像的客观评价指标对比。由表3 中数据可知,本文算法整体数值均优于其他算法,但在雕塑2 指标上,可以看出本文算法数值指标不高,这是由于算法对低照度图像的增强效果甚至超过了正常光照图,在原图中的偏暗区域也能被很好地增强,这也凸显了网络的强大提升能力。
表3 图7 中各个图像客观评价指标对比Tab.3 Comparison of objective evaluation indexes of each image in Fig.7
图7 LOL 数据集中真实低照度图像视觉主观对比。(a)雕塑1;(b)钟表;(c)房屋;(d)雕塑2;(e)树木。Fig.7 Visual subjective comparison of real low illumination images in LOL dataset.(a)Sculpture 1;(b)Clock;(c)House;(d)Sculpture 2;(e)Trees.
图8 显示了在Exdark 数据集上的实验结果。直观上看,aMSRCR 和MSRCP 两种算法颜色失真严重,如aMSRCR 和MSRCP 算法在龙舟上的增强结果出现了紫色像素块,MSRCP 算法在城堡中出现了过曝光;HE 算法在处理夜间低光照图像上效果良好,但亮度仍得不到有效提高;LIME 算法增强效果显著,但在某些图像上出现噪声,如马路图像中的天空区域多了许多噪声;LNet 算法增强后的图像依然有丰富的细节,但在某些区域的增强效果上出现退火情况,如城堡中的窗户亮度不增反降;本文算法在处理夜间低光照图像方面依然有巨大优势。
由于夜间真实环境的低照度图像没有与之配准的正常光照图像,因此选用无参考的图像质量评价指标图像均值和图像标准差进行客观评价。
表4 为图8 中各个增强图像的客观评价指标。从表4 中数据可以得知,本文算法图像均值和图像标准差优于HE、LIME 和LNet。虽然aMSRCR 和MSRCP 的指标优于本文算法,但这是因为这两种算法引入了许多高像素值的噪声,且发生过曝光现象,因此其不可作为评判依据。
表4 图8 中各个图像客观评价指标对比Tab.4 Comparison of objective evaluation indexes of each image in Fig.8
图8 Exdark 数据集中真实低照度图像视觉主观对比。(a)龙舟;(b)城堡;(c)人;(d)马路;(e)房间。Fig.8 Visual subjective comparison of real low illumination images in Exdark dataset.(a)Dragon boat;(b)Castle;(c)People;(d)Road;(e)Room.
4.3 算法执行时间对比
为进一步证明网络性能,从LOL、Exdark 数据集中各抽取300 张图像,计算各个算法对这些图像的平均处理时长,表5 给出了各算法具体执行时间。
表5 各算法平均运行时间对比Tab.5 Comparison of average running time of each algorithm
从表5 中数据得知,本文算法所用时间多于传统方法中的HE 和以Retinex 理论为基础的算法,少于LIME 和LNet 算法。从文中实验可说明,传统方法容易出现过曝光和颜色失真等问题,而图像增强要在保证图像不降质的前提下减少算法执行时间。
5 结 论
为了解决当前低照度图像增强算法中出现的各种问题,如伪影、颜色失真、亮度提升不明显等,本文提出了一种基于CBAM 和复合残差网络相结合的算法,通过多尺度卷积层提取不同感受野的图像特征,并紧跟CBAM 模块增强网络对重要信息的关注度,此外使用复合残差网络进行图像深层特征的提取,最后通过一个卷积核个数为1的卷积层将图像的特征信息从特征空间映射到图像空间,构建出增强后的图像。实验结果表明,本文与其他低照度图像增强的主流算法对比,图像亮度有了明显的提升,在颜色方面与原图更为接近,并保留了图像更多的纹理细节,且算法复杂度更低,所需时间成本也更低,符合生产生活需求。