杨羽翼,陈 亮,张 剑,郭慧慧
(湖南科技大学信息与电气工程学院,湖南 湘潭 411201)
视觉检测是水下探测机器人环境感知与目标定位识别的重要手段。不同于工业视觉,在深海领域由于海水介质对光波信号不同程度的吸收与折射、反射、散射等,水下视觉检测的图像普遍存在模糊、颜色失真、对比度低等问题[1],因而难以为水下探测机器人提供高精度目标辨识、空间位置定位等服务[2]。
传统水下图像增强主要针对水下环境的光信号传输进行数学建模,通过信息的补偿与校正完成图像的恢复[3-4]。如文献[5]通过学习水下图像和大气图像之间的跨域映射函数,实现基于弱监督颜色转移的水下图像颜色校正。文献[6]通过对水下透射率的估计,实现G-B颜色通道校正,能够更准确地估计水下透射率图。文献[7]利用灰度世界假设理论纠正红通道[7],实现对图像中亮度不均、颜色偏差等问题自适应补偿。上述方法在特定的应用背景条件下,采用先验信息进行建模,对水下图像进行了增强,有效提升了图像的对比度,但在深海领域,海水的温度、盐度、湿度等均存在一定的不确定性[8],固定结构的校正与补偿模型难以满足机器人多领域自主探测的需求。
近年来,随着深度学习在机器视觉领域快速发展,基于卷积神经网络的水下图像增强算法在图像的自适应能力方向取得了显著效果。文献[9]采用两阶段网络对图像进行恢复,较好地实现了水下图像色差校正。此外,通过生成对抗网络实现对水下干扰的非线性估计,也能有效解决水下图像的退化与模糊问题。如FUnIE-GAN[10]利用先验失真图像和增强图像之间的非线性映射,提高图像清晰度,但该方法容易对环境光建模不准从而扩大背景噪声的干扰。上述二阶段深度学习模型或生成对抗网络系列算法均具有模型结构复杂,训练与应用部署困难、实时性差等问题[11-12],难以有效应用于小型化的水下探测机器人。
针对上述问题,本文以网络结构轻量化为目标,构建基于通道特征融合的水下图像增强网络,并通过从通道引导与结构相似度两方面设计了模型损失函数,实现对水下存在色偏、模糊等问题的图像自适应增强。
图像增强是改善图像质量、增强图像特征的重要手段。深度学习图像增强网络通过对图像中被抑制信息的恢复以及失真信号的校准,实现基于图像的水下目标探测与识别性能提升。
深度学习图像增强网络是以图像特征选择与提取为基础,其通过不同信息流的相互传递与交互,实现对不同层级特征的有效提取[13]。网络结构组成方式以及网络的深度、宽度等特性不仅决定了网络训练的难易程度,还在一定程度上影响最终输出的效果。目前常用的网络框架是将不同网络分支提取的特征信息进行信息融合,然后利用编解码结构实现网络的非线性映射。
典型深度学习图像增强网络结构如图1所示,其采用卷积神经结构构建了水下图像增强超分辨率模型,通过双路径结构融合不同感知层特征信息,并将结果输入给其后的基于注意力的多任务分支结构,实现水下图像多尺度特征提取。
图1 基于CNN的图像增强超分辨率网络结构Fig.1 CNN-based super-resolution network architecture for image enhancement
上述网络中,在双路径结构通过不同滤波器提取多尺度特征信息,然后利用密集残差结构提升网络性能。在各支路中,输入图像经过2层卷积层后调整通道维度及尺度大小,然后在密集残差结构中积累深度信息,并与上一层特征图进行通道叠加,以此保持梯度界限。该密集残差结构在各模块间需重复8次。虽然该网络图像特征恢复上具有较为明显的提升,但网络中的密集连接模块缺乏对重要通道的关注度,因而特征提取效率低。此外,上述网络分支结构多、结构复杂、参数量多、训练与应用部署时计算量大,且结构设计繁杂容易造成宽度上的信息冗余与冲突,降低特征提取精准性,最终使得基于嵌入式芯片的算法应用部署困难。
水下图像增强网络其本质是实现低质量水下图像源域到高质量图像目标域之间的像素与像素之间映射关系的重构。深度学习特征提取网络优化的重点是加强退化后图像隐含特征提取能力。考虑水下图像的细节特征信息以及水下图像由于光线扭曲、颜色退化所引起的通道信息,本文构建了基于通道特征融合的水下图像增强框架,在提高模型泛化能力的同时降低模型结构的计算量与存储量,为水下小型探测机器人应用部署提供理论支撑。
网络的总体结构如图2所示。系统主要由3个卷积块阶段构成,所有结构采用全卷积模块进行设计。模型从输入到输出的特征图尺寸不发生改变,并且在每个卷积阶段的尾部增加特征交叉模块,通过每个阶段与前一个阶段的特征图进行信息交叉,实现不同层级特征信息融合。此外,模型引入高效的通道注意力机制提升通道感知能力,通过2层倒残差结构堆叠实现网络深度信息的积累。最后在输出层引出通道评分预测模型,通过卷积层提取颜色通道的评分特征信息,优化图像通道的目标函数。
图2 结构框架图Fig.2 Structural frame
在上述网络结构中,原始图像通过卷积层升维获得其64通道的特征映射,然后再将特征映射分为上下两个部分。上部分通过后续卷积模块与信息交叉模块获得更深层次的特征,下部分则将浅层特征与原始图像通过堆叠操作完成特征交叉,通过对前期学习的特征施加更大权重,防止网络梯度消失。最后将网络输出与原始图像进行残差融合,得到增强图像输出。
融合层可表示为
pout=pi+V(o(pi),θ(pi)),
(1)
式(1)中,pout是增强后的图像,pi为输入的每个位置的像素与残差项融合获得的输出信息,V(o(pi),θ(pi))为进行学习后的原图残差项,增加该模块,使得增强后的图片原始细节不会出现丢失。
由于水下图像与大气图像在颜色通道上存在较大差异。在水下图像中,红色光波长越长,其衰减越快,因而容易导致图像色偏呈现蓝绿色。针对上述情况,本文在输出的颜色通道上引入颜色评分,构建了基于高斯建模的颜色评分引导的优化模型,如图3所示。
图3 不同颜色通道输出的高斯参数化Fig.3 Gaussian parameterization of outputs from different color channels
在上述高斯模型中,定义恢复图像的每个像素为模型的均值mean(μp),高质量图像的像素作为高斯模型的变量x,最后通过模型实现高斯模型的方差variance(σc)的回归实现对通道的评分估计,即将网络后两阶段的特征图作为输入,经过密集连接的倒残卷积模块获得像素评分特征图,评分特征图经过全局池化即得到通道评分。
假设水下场景如图4所示,上图为原图,下图则为对应的特征评分图。由于该评分为通道负评分,即输出结果越大,通道增强的效果越弱,因此,特征图中越亮表示方差越高,评分更低,增强效果越强。如场景(a)中,其特征图中的鱼存在蓝色与黄色,黄色和蓝色对比强烈,且黄色灰度值更大,因此黄色区域的小鱼增强效果将明显比蓝色区域的小鱼更强。
图4 不同水下场景图像像素评分特征图Fig.4 Pixel score featuremaps for different underwater scenes
上述方法通过对通道的评分值对损失函数的梯度下降方向进行引导,实现通道之间的回归分离,有效提升水下图像的增强效果。
为保证网络的轻量,网络在每个卷积阶段仅用少量3×3卷积层提取其局部特征,该操作使得网络感受野无法顾及全局。为缓解上述问题,算法除了在损失函数中引入感知损失外,网络架构在每个卷积阶段后引入通道注意力,通过输出的特征图与上一阶段的特征图进行特征信息交叉,缓解感受野不足的问题。
特征交叉模块结构如图5所示。
图5 特征信息交叉模块Fig.5 Feature information cross module
在图3中,卷积层后包含LeakyRelu激活函数与Dropout层,防止图像过拟合。在对特征图进行通道池化方面,扩展soft pooling[14]为global soft pooling,计算公式如下:
(2)
式(2)中,p为特征图中的像素,将较大的激活值p通过自然对数保留它的重要性,计算每个激活值在全图激活值之和中的比率,并以此作为特征全局加权的像素权重。与global平均池化相比,这种方法用全局softmax产生归一化结果,更能反应特征图单通道的全局信息,同时能保证反向传播时是可微的。
此外,图3中的通道注意力模块以文献[15]提出的efficient channel attention为基础,采用global soft pooling对不同通道的全局特征进行提取,不仅保留了各特征图的特殊性,也有助于形成聚合特征图的全局语义信息。在通道注意力模块中,模型还利用自适应k近邻卷积提取局部通道的特征关注度,减少模型由于维度降低而对通道注意力产生负面影响。为了有效缓解网络中跨通道信息交互所引起的局部限制,模块采用通道shuffle方法实现对通道关注度权值优化,并将获得的权值与特征图进行相乘,最后将输出的结果与原始图像进行融合,在保留初始梯度信息的基础上获得增强图像。
基于通道注意力模块的卷积核参数ω优化为
(3)
考虑图像局部结构相似性、通道之间的像素偏差以及图像边缘信息和高层语义相似性,本文算法采用多损失函数对模型进行训练,即将损失函数定义为通道引导的高斯均方损失、结构相似性损失SSIM Loss和感知损失三者之和。
在有监督学习的低层级图像增强任务中,输入图像和高质量图像的像素之间偏差常采用欧式距离进行评价,即将损失函数定义为均方误差值(mean squared error,MSE):
(4)
由于上述损失函数的定义没有考虑通道特征的差异性,因此,本文利用增强图片的像素值输出作为高斯参数,将损失函数重新设计成负对数似然损失(negative log-likehoad, NLL),表达式为
(5)
式(5)中,W和H分别表示增强图像的宽和高;C表示图像的RGB颜色通道;μ(o(pijc))为通道评分中高斯模型参数均值,即恢复图像的每个像素;σ(o(pijc))为通道评分预测器输出高斯模型方差,即颜色通道的负评分。
当网络输出的评分数值越大,损失曲线梯度越平缓,此时训练需选择相对较大的学习率;而当评分数值越小时,表示增强图片的通道品质越接近高质量图片所对应通道,学习率也将随模型的训练趋近至一个极小值。对比损失函数LMSE,此时该模型存在难以继续收敛的问题,而Lp则仍能较好地提升损失梯度,保持模型在低谷训练时的收敛特性。
此外,在训练中期时,评分预测器未达到最佳性能时,提供的通道评分具有一定扰动性,此时模型需要正则化,以实现网络避免陷入局部最优。由于传统MSE方法对每个颜色通道的优化方式完全相同,因而无法适应不同场景下水下视觉检测的需求。而Lp则会根据不同通道的偏差,在损失函数计算时进行针对性惩罚,使对不同类型的水下环境数据有更强的健壮性,通过这种损失函数,能提升算法收敛效果。
结构相似性作为衡量图像质量的评价函数,不仅满足人眼视觉的色彩需求,同时也反映了水下图像的结构和纹理恢复特性,因而相比图像的峰值信噪比(PSNR)更加适用。定义图像batch为11×11内的结构相似性(SSIM)为
(6)
(7)
当LSSIM值越小,增强后的图像和高质量图像越相似度越高,网络增强效果越好。
感知损失是文献[16]基于VGG19网络定义的,由前人实验可知没有残差结构的VGG比Resnet更能捕获高层抽象信息,将增强的图像和真实图像送入预处理后的VGG网络得到最后的特征图表示,这样能够提升主观上更好的视觉表现,并计算它们之间的距离作为损失函数。
(8)
于是最后的损失函数可以定义为
L=LSSIM+Lguassian-MSE+0.5×LVgg。
(9)
为了验证本文基于通道特征融合的水下图像轻量增强网络的可行性与有效性,实验分别选择了反映不同光照的、不同成像质量的EUVP(enhancement of underwater visual perception)中10 kB的数据为训练集,选择拥有890张不同亮度的真实水下图像数据集UIEB(underwater image enhancement benchmark)作为验证集,采用 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10 GHz, 12 GB RAM和Nvidia 1070的平台进行训练,模型选择Adam优化器进行训练,初始学习率为0.000 3,batchsize为1,抽取真实水下数据集作为测试数据。
通过横向消融实验对比增强网络各模块在图像增强中的不同表现性能,验证网络设计的合理性,同时,通过纵向对比本文算法与当前水下增强领域其他算法,验证整体网络的先进性。
图像增强最终目的是为了提高被探目标的特征表征能力。在水下环境条件下,由于图像存在模糊、干扰、颜色失真等问题,所以,针对增强后的图像,首先可通过视觉判断,对比分析增强前后图像的亮度、颜色、纹理、模糊度以及图像中前景与背景的对比度,分析图像的失真程度,完成增强图像的定性分析。
其次,从定量分析角度,水下图像常采用(peak signal-to-noise ratio, PSNR)与(structural similarity index measure, SSIM)[17]以及UIQM对图像增强及恢复效果进行评价。其中,PSNR从图像重构角度对图像质量进行量化[18],体现了图像像素之间的差距,而SSIM则通过对图像不同区域样本的亮度、对比度和结构等进行综合评价。UIQM是一种基于人眼视觉系统激励的无参考水下质量评价指标,其通过色彩、清晰度和对比度三者之间的线性组合最终实现对图像质量的综合评判。UIQM公式可表达为
UIQM=c1×UICM+c2×UISM+c3×UIConM,
(9)
式(9)中,UICM是图像色彩指标,UISM是图像清晰度指标,UIConM是图像对比度指标,c1、c2、c3是权重系数。
对于基于深度学习的图像增强网络,考虑在部署于水下探测机器人时,系统对其内部模块具有体积小、重量轻、功耗低等要求,因此,网络的计算量、模型的存储量、参数量等也是算法设计必需考虑的因素。
从网络结构分析,本文增强网络首先通过交叉模块实现对不同层级特征信息的融合,其次采用高效通道注意力模块,通过倒残差结构设计,即Shuffle-ECA模块,提升通道的信息感知能力,最后利用通道评分预测模块(Rateifier&Guassian-MSE模块),完成对损失函数的自适应优化,保障增强后图像色彩恢复质量。
为了分析上述三个主要模块对总体增强的影响,实验分别对基础网络、Shuffle-ECA模块,Rateifier&Guassian-MSE模块进行消融实验,实验结果如表1所示。
表1 增强网络消融实验结果Tab.1 Results of enhanced network ablation experiments
表1中,基础网络仅包括图1中前向传播网络,网络增强效果较差,然而,增加了特征交叉模块后,网络的增强效果得到了明显的提升,PSNR提升8.4,增幅达81.47%;SSIM提升了0.32,增幅达86.48%;UIQM提升了0.38,增幅达16.24%。此后,增加了通道评分模块与Shuffle-ECA模块,网络的PSNR分别提升了0.23与0.2,SSIM则均提升了0.1,UIQM提升了约0.11及0.02。综合考虑三个评价指标,特征交叉模块、通道评分模块与Shuffle-ECA模块,各模块之间彼此并不存在相互竞争的问题,而是彼此互补增强,且特征交叉影响系数相对最大,Shuffle-ECA相对最小。
对比本文算法与其他深度学习算法,包括基于对抗生成的神经网络算法FUnIE-GAN、利用超分辨率提升神经网络增强性能的方法Deep-SESR[19]以及轻量化增强网络Shallow-UWNet[20]等,通过综合考虑定性分析与定量的PSNR、SSIM、UIQM等评价指标,完成对增强效果、网络参数量、计算量以及泛化能力的比较与评价。实验结果图如图6所示。
图6 不同算法的图像增强与恢复结果Fig.6 Image enhancement and restoration results of different algorithms
比较各算法对水下图像在清晰度、颜色校正等方面的效果,可以发现UDCP算法中,图像容易出现颜色斑块。由于色彩空间过度拉伸,虽然有效提升了图像中的对比度,但在目标的纹理细节方面表现不足,容易在暗黑区域、阴影区域出现细节丢失的问题。基于生成对抗网络的FUnIE-GAN,其在前景中过度增强,使得背景容易呈现红色色偏现象,同时在放大后会有棋盘状的颜色斑块。Deep-SESR算法采用基于超分辨率算法进行增强,算法虽然较好地保持了目标颜色空间的信息,但网络引入了伪影带来新的噪声,在图像目标的边缘轮廓等方面,容易给图像增加模糊性,使得图像锐化效果不足。相对比上述几种算法,本文的网络在图像的亮度平衡、颜色校正、去除水雾、纹理的保持以及暗黑区域的处理等方面具有较优效果。
此外,从定量评价指标的角度,本文算法与FUnIE-GAN、Deep-SESR、UDCP及Shallow-UWNet实验结果如表2所示。同时,考虑水下探测机器人应用部署要求,实验对各深度学习网络的计算量与模型的存储量、参数量等进行统计,实验结果如表3所示。
表2 水下图像增强性能指标Tab.2 Underwater image enhancement performance indicators
表3 不同模型存储与计算对比Tab.3 Different models are stored and compared
通过分析表2可知,对比传统图像增强算法UDCP,基于深度学习的系列增强算法其在PSNR,SSIM及UIQM等性能指标上均明显更优。由于基于物理模型手工提取特征的UDCP,其参数自适应能力相对较差,而深度学习网络通过对各类场景信息的拟合,算法具有更强的自适应性,因此,针对自主作业机器人的探测需求,基于深度学习的图像增强算法更具有适用性。此外,对比各深度学习图像增强网络,PSNR,SSIM与UIQM相差较小,性能稍弱的为Shallow-UWNet网络,主要原因在于该网络通过优化结构,模型相对更加简单,参数更少。通过表3可知,Shallow-UWNet网络的参数是FUnIR-GAN网络的1/19,Deep SESR网络的1/11。
而相比较上述网络,本文提出的增强网络,其在增强的PSNR,SSIM及UIQM值上与其他网络相差较小,甚至在PSNR上略优于其他网络。但是在网络的结构于参数方面,本文网络比Shallow-UWNet更少,仅具有FUnIR-GAN网络的1/36,Deep SESR网络的1/21,Shallow-UWNet网络的1/2。由于模型更加轻量化,因而在计算推理时速度最优。
在水下探测过程中,由于水介质的特殊性,水下光学图像存在严重的退化问题,导致图像容易存在模糊、颜色失真等问题。针对上述问题,本文从深度学习网络设计角度,通过在不同通道上加入引导模型训练的评分预测信息,并使用交叉注意力方法实现不同层级特征的信息融合,提高网络在图像增强的同时对细节信息的保留能力。此外,损失函数是网络设计的重要支撑,本文针对水下图像增强任务,从结构相似性、颜色偏差以及高层语义与边缘信息的相似性等方面,设计了包括高斯均方损失、结构性相似损失与感知损失的网络损失函数,通过损失函数对网络的优化训练,完成水下图像的增强。实验结果表明,本文算法在增强效果上与其他网络相当,但网络的模型参数更少,仅为Shallow-UWNet网络参数的一半,因而推理速度更快,更适合小型化的水下探测机器人应用部署。