米泽田 晋 洁 李圆圆 丁雪妍 梁 政 付先平②
①(大连海事大学信息科学技术学院 大连 116026)
②(鹏城实验室 深圳 518000)
③(安徽大学互联网学院 合肥 230039)
近年来,随着人工智能产业的不断进步,海洋技术也在向着智能化方向发展。水下机器人被广泛应用在深海作业、海底生物监测、地形勘探等方面。但是复杂的水下成像环境会严重影响机器人的视觉感知能力,如:(1)水体对光能量的选择性吸收和强散射,导致水下获取的图像和视频通常具有低照度、颜色失真以及低对比度等特性,能见度较差;(2)大量的悬浮颗粒带来了明显的噪声,进一步降低了后续水下目标识别任务的精度。因此,水下图像增强这一课题受到研究学者的广泛关注。
目前,水下图像增强方法大致分为传统方法和基于深度学习的方法。传统方法可以分为基于非物理模型的方法和基于物理模型的方法。其中,基于非物理模型的方法不考虑水下图像退化的本质过程,仅通过调整图像的局部特征来提高其视觉质量,如:自适应直方图均衡化[1]、限制对比度直方图均衡化[2]、灰度世界假设[3]、色彩恒常[4]、小波变换[5]等。上述方法没有考虑水下图像成像的物理过程,因此很容易产生失真、伪影、过度增强或增强不足等问题。基于物理模型的方法首先根据水下光学成像物理过程构建成像模型,其次利用先验信息来估计成像模型中的参数[6,7]。典型方法有:红通道先验[8]、最小信息先验[9]等。这些基于物理模型的方法虽然可以实现一定程度的图像恢复,但过度依赖先验信息,并且参数求解的准确与否对结果影响较大。这对不同场景水下图像的泛化能力较差,具有一定的局限性。
随着深度学习的快速发展,许多深度学习方法也都应用在了水下图像增强方面。例如卷积神经网络(Convolutional Neural Network, CNN)[10]、生成对抗网络(Generative Adversarial Network,GAN)[11,12]。它们通过学习水下降质-清晰图像对之间的映射关系,从而重构清晰的水下图像。Wang等人[11]提出了一种无监督生成对抗网络(UnderWater Generative Adversarial Network, UWGAN)。首先,基于改进的水下成像模型,UWGAN利用陆地图像和深度图对生成逼真的水下图像。然后,使用合成的水下数据集训练U-Net,可以有效解决颜色失真和能见度下降问题。随着卷积神经网络层数的增多,图像特征会逐渐消减。为解决这个问题,Guo等人[13]提出了一种新的多尺度稠密生成对抗网络用于水下图像增强,该方法在生成器中引入残差多尺度密集块。其中,多尺度操作、密集级联和残差学习分别用于提高性能、渲染更多细节和充分利用特征。判别器则采用计算光谱归一化的方法来稳定训练。同时,该方法利用非饱和GAN损失、l1损失和梯度损失来生成视觉舒适的图像。
上述方法虽然解决了特征利用不全面的问题,但是GAN训练起来较为困难,且生成器与判别器之间的同步问题难以很好地解决。为克服该局限性,充分利用图像的特征信息,本文提出一个多尺度级联网络框架。在多个数据集上的定性和定量评价分析表明,所提方法相比于其他先进的水下图像增强方法,在颜色和细节方面恢复的更好。主要贡献有:
(1) 级联原始图像和其相应的特征图,解决网络传播过程中特征逐渐消失的问题,提高特征的利用率。
(2) 设计了特征提取模块(Feature Extraction Module, FEM) 和多尺度级联模块(Multi-scale Cascade Module, MsCM),利用多尺度网络提取不同尺度的信息,得到多尺度特征图,解决单一网络层提取特征有限的问题。
(3) 引入了联合密集网络块和递归块的设计,通过特征重用,避免学习冗余特征图,有效解决多尺度网络参数过多的问题。
(4) 构建了Charbonnier和结构相似度(the Structural SIMilarity, SSIM) 联合损失函数,有效解决单一损失恢复细节有限的问题,通过更好地处理异常值,避免生成图像中伪影的产生,提高模型的鲁棒性。
本文通过设计多尺度级联网络,解决网络传播过程中特征消散和梯度消失的问题,对水下图像进行细节恢复和颜色校正,网络框架结构如图1所示。首先输入水下降质图像,经过FEM获得特征图像;其次将原始图像的多个尺度与FEM生成特征图像的多个尺度对应级联;再通过MsCM使不同尺度空间的图像获得相应的特征权重。最后融合不同尺度的信息和特征,输出清晰的水下图像。其中,Conv代表卷积层,AvgPooling代表平均池化,BN(Batch-Normalization)代表批标准化,ReLU(Rectified Linear Unit)代表修正线性单元,LReLU(Leaky Rectified Linear Unit)代表带泄露的修正线性单元。
本节将分别从FEM, MsCM以及损失函数3部分对多尺度级联网络模型的细节进行阐述。
与陆地图像相比,水下图像色偏的覆盖面更广,不同水下图像需要恢复的特征均不同。因此,对水下不同色偏、不同种类的图像提取不同的特征变得非常重要。一般来说,卷积神经网络越深,效果越好,但会面临梯度消失的问题。图像经过的卷积层数越多,最先提取的特征也会减弱。Dense-Net121网络结构[14]简单,并且可以用较少的网络参数量,减轻梯度消失的问题,提高特征的传播效率和利用效率。因此,受其启发,本文提出了一种优化的FEM以有效解决在特征提取过程中产生的梯度消失等问题。
DenseNet121网络结构包含4个Dense Block,其中每个Dense Block中所包含的卷积块个数分别是6, 12, 24, 16。4个Dense Block之间都由Transition Layer层相连,其中Transition Layer由1×1的Conv和2×2的AvgPooling组成。为更好地加强特征传播,减少参数量,FEM以DenseNet121为基础结构并做出了一些改进,减少一些冗余的网络参数和Dense Block,来对输入的水下图像进行特征提取。改进后的FEM网络结构如图1所示。首先将输入的水下图像通过3×3的Conv, BN层,ReLU进行初始化。然后,为减少网络参数量,在FEM中定义2个Dense Block。为了降低特征层数的传递,在每一个Dense Block的后面连接BN层,ReLU,1×1的Conv。最后,特征提取之后的结果通过BN层,ReLU输出。其中,第1个Dense Block结构中由6组卷积块组成,第2个Dense Block结构中由12组卷积块组成,每一个Dense Block结构中的卷积块之间相互连接。每个卷积块的输入都包含该层之前所有层的特征图,同时该层的特征图用作后续所有层的输入,能够有效增强特征复用、加强特征传播。卷积块的具体结构如图2所示,每一个卷积块都是由BN层,ReLU, 1×1的Conv和BN层,ReLU, 3×3的Conv组成的。FEM在实现特征提取的同时能够更准确有效地进行网络训练。
为解决水下图像在颜色恢复的同时细节丢失的问题,本文提出MsCM,如图1所示。为获取不同尺度的特征信息,利用MsCM模块将FEM得到的特征图像分解成不同尺度的图像。由于层数越少,提取的细节和特征就越少,而层数越多,提取的细节信息也越多,但是会带来一些细节信息的冗余,增加网络的复杂度。因此,所提方法将FEM得到的特征图像分解成3个尺度的图像。同时考虑到将原始图像经过特征提取之后,可能存在最先提取的特征逐渐减弱的问题,因此,也将原始图像分成3个不同尺度的图像,并与多尺度特征图像对应级联。这样可以有效利用不同尺度的稀疏性,通过不同尺度的图像处理不同的细节特征,在进行颜色校正的同时保留更多图像细节信息。
MsCM由3个多尺度子网络模块(Sub-net i, i =1, 2, 3)组成,多尺度子网络如图1所示。在MsCM中,为了尽可能多地提高特征利用率,降低单个子网络的复杂度,以递归的方式构建子网络中间层。每一个多尺度子网络都由一个3×3 的C o n v,LReLU, 3个Recursive block和一个1×1的Conv组成。其中Recursive block的组成如图3所示。3层多尺度子网络结构相同,但是每一层的输入特征图像和输出图像尺寸不同。最后,为了充分利用不同尺度间的相关信息,该模块级联3个多尺度子网络的输出。相应地,根据多尺度子网络每一层的特征选择合适的损失函数来进行训练,最终输出增强后的水下图像。
假设有水下图像数据集{xi,yi},其中xi代表输入的水下图像,yj代表相应的ground-truth,N代表训练数据的数量。为更好地解决在水下环境中出现的伪影、噪声等问题,提高水下图像的视觉质量,多尺度级联网络使用Charbonnier损失[15]和SSIM损失[16]结合的方法来训练网络。
Charbonnier损失是一种改进的l2损失。相比l2损失,Charbonnier损失增加了一项正则项,能更好地处理异常值,有效避免伪影的产生,提高网络的性能。实验中Charbonnier损失分别训练3层子网络。其中e设置为1e-6。Charbonnier损失表达式为
尺度越大的图像拥有越多的背景信息、细节信息等,若仅用Charbonnier损失对3个子网络层进行训练,则会出现细节恢复不均。SSIM损失函数基于图像的局部特征,更多地考虑到图像的亮度、对比度和结构等,训练出来的结果更加符合人眼的感知。SSIM损失函数的表达式为
为保留更多的高频细节信息,所提方法在第3层子网络中联合Charbonnier损失和SSIM损失进行训练,联合损失的表达式为
其中,j表示子网络层数,j = 1,2,3。定性和定量的分析证明了所提损失函数对图像增强来说是有利的。
为了充分验证所提出网络模型的有效性,本章首先介绍实验所采用的数据集。设计实验1,通过从网络消融实验、MsCM多尺度子网络的层数、递归块的数量以及损失函数这4个方面证明所提方法的有效性。设计实验2,对水下图像增强方法与所提方法进行定性对比。设计实验3,对水下图像增强方法与所提方法进行定量对比。为了公平比较,为每种水下图像增强方法设置相同参数;基于网络的方法使用相同的训练数据集和测试数据集。
本文选取两类公开的水下数据集(共4个水下数据集)来进行网络的训练和测试。这些数据集包含水下暗场景图像、水下退化的图像和来自真实水下场景的图像。为提高网络模型的精度和增强网络模型的稳定性,训练过程中,输入的水下图像进行随机裁剪。训练完成后,通过测试集测试网络模型。
本文使用Python3.6和 TensorFlow 1.12.0完成网络模型的搭建,并使用Adam优化器进行训练。所有实验(训练/测试)均在NVIDIA GeForce GTX 1080Ti和12 GB GPU内存的服务器上进行。其中,学习率为0.001,patch大小为80,批处理的数量为10,整个网络的迭代次数为200000。
两类公开的水下数据集都包含有原始水下图像与相应的ground-truth图像对。这些数据集分别是Li等人[17]提出的水下图像增强基准 (Underwater Image Enhancement Benchmark, UIEB) 数据集和Islam等人[18]提出的增强水下视觉感知 (Enhancement of Underwater Visual Perception, EUVP) 数据集,其中,EUVP数据集又分为3个子集:第1个子集是合成的水下暗场景图像,用EUVP1表示。第2个子集是用ImageNet生成的退化水下图像,用EUVP2表示。第3个子集是真实水下场景图像,用EUVP3表示。上述数据集的详细划分如表1所示。
表1 4种不同水下数据集的划分
为确保实验结果更具有说服力,本文分别采用有参考评价指标和无参考评价指标对实验结果进行客观评价。以下为两类图像质量评价指标的详细说明。
3.3.1 有参考评价指标
目前针对有ground-truth的水下图像进行客观评价时常采用有参考质量评价指标,经常使用的有参考指标有:
(1) 结构相似性指数 (SSIM)[16]:SSIM可以从图像的亮度、对比度和结构3个方面来衡量图像的相似度,取值范围为[0, 1]。SSIM值越大,图像失真越小。当SSIM等于1时,表示两张图像完全相同。
(2) 峰值信噪比(Peak Signal to Noise Ratio,PSNR):PSNR是峰值信号的能量与噪声的平均能量比。因为PSNR是基于误差敏感的图像质量评估,评估结果可能与人的主观感受不一致。PSNR的值越大,图像质量越好。
(3) 基于块的对比度质量指数(Patch-based Contrast Quality Index, PCQI)[19]:PCQI在每个块中计算平均强度、信号强度和信号结构,并在这3个角度对图像的失真进行评价。PCQI可以用来比较两张图像之间的对比度差异,PCQI的值越高,图像的对比度越高。
3.3.2 无参考评价指标
在自然场景下获取水下图像的ground-truth并不存在。对于这种类型的图像,可以采用无参考质量评价指标进行评价。其中,Blur指标[20]主要用来描述图像的模糊程度,其首先使用低通滤波器获得原图的退化图像,其次比较二者相邻像素值的变化情况,根据变化值比例的大小确定原图清晰度,取值范围为[0, 1],值越低,表示原图像模糊程度越低,即图像越清晰。
为了保证所提出方法的通用性,选择了若干基于模型和基于网络的水下图像增强方法进行比较。其中:
基于模型的水下图像增强方法有:(1) 最大亮度先验(Maximum Intensity Prior, MIP)[21]。(2)利用背景光统计模型和透射图优化的水下图像增强(Statistical Model of Background Light and Optimization of Transmission, SMBLOT)[22]。(3) 水下暗通道先验(Underwater Dark Channel Prior,UDCP)[23]。(4) 基于快速场景深度估计模型的水下图像恢复(Underwater Light Attenuation Prior,ULAP)[24]。(5) 瑞利拉伸和合成双强度图像的水下图像增强(Rayleigh-stretching and Dual-intensity,RD)[25]。(6) 基于图像模糊和光吸收的水下图像恢复(Image Blurriness and Light Absorption,IBLA)[26]。
基于网络的水下图像增强方法有:(1) 先验启发式的水下图像增强(UnderWater image enhancement Convolutional Neural Network model based on underwater scene prior, UWCNN)[10]。(2) 基于水下生成对抗网络的水下图像恢复(Underwater Generative Adversarial Network, UWGAN)[11]。(3) 使用条件对抗网络的图像转换方法(Pix2pix)[27]。(4) 使用循环一致对抗网络的非配对图像转换方法(Cycle-consistent Generative Adversarial Network, CycleGAN)[12]。
对于UWCNN[10]方法由于作者只提供了预训练模型,本文只在给定的预训练模型上进行测试和评价。
3.4.1 实验1:多尺度级联网络有效性
为了进一步证明所提出框架的有效性和必要性,本实验分别从网络消融实验、MsCM多尺度子网络的层数、递归块的数量以及损失函数这4个方面进行分析。由于空间有限,本文仅以UIEB数据集为例给出证明,表格中加粗显示的数据为最优值。
(1) 网络消融实验。本实验把网络各组成部分分为:
A: 特征提取模块;B: 输入图像多尺度分解;C: 多尺度子网络。
对网络框架结构的定量评价如表2所示,从中可以看出,所提方法在SSIM和Blur评价指标中都取得了最优值。虽然PSNR值略低,但PSNR是基于误差敏感的图像质量评价,数值和人眼看到的视觉质量并不完全一致。综合主观与客观评价表明,本文所提网络框架可以保留更多的细节特征,具有有效性。
表2 对网络框架结构的定量评价
(2) MsCM多尺度子网络层数的有效性。在MsCM的多尺度子网络中,层数的选择非常重要,层数越少,提取的细节和特征就会越少,从而导致无法更好地增强水下图像。层数越多,虽然可以提取到更多的细节和特征,但相应地也会带来一些细节特征的冗余,增加网络的复杂度和参数量。表3展示了多尺度子网络层数与对应的量化评价结果。从表3可以看出,当多尺度子网络选择3层时,在PSNR, SSIM评价指标上效果最好,虽然Blur和PCQI值略显逊色,但在主观评价时处理效果相差甚微。为取得参数量与细节保持效果的折中,本实验将MsCM中多尺度子网络的层数设置为3。
表3 对多尺度子网络层数的定量评价
(3) 递归块数量的有效性。在MsCM的多尺度子网络中,为每层子网络引入递归块是为了加强特征的传播、提高特征的利用率。如表4可见,当每层子网络的递归块为3时,所提网络模型在SSIM和Blur中均取得最优值,虽然PSNR和PCQI的取值不是最优,但相差较小。为了尽可能减少参数的使用,降低多尺度网络模型的复杂度,本实验把每层子网络的递归块设置为3。
表4 对多尺度子网络中递归块的定量评价
(4) 损失函数的有效性。为证明所提损失函数的有效性,分以下几种情况对网络框架进行训练:(1) 仅有l1;(2) 仅有Charbonnier;(3) l1+SSIM;(4) Charbonnier + SSIM。
评价结果如表5所示。仅用l1损失函数或l1+SSIM损失函数训练出来的效果较差。Charbonnier损失函数和SSIM损失函数效果最好。
表5 对损失函数的定量评价
3.4.2 实验2:水下图像增强方法定性分析
为了进一步证明所提方法可以更好地增强各种环境下的水下图像,本实验对几种水下图像增强方法和本文方法进行定性评价并分析。
(1) UIEB数据集上的定性评价。图4展示了UIEB数据集上本文方法与其他先进方法处理效果的视觉对比。因为水下拍摄的图像包含不同类型的偏色,例如偏绿、偏黄、偏蓝等,尤其在深海领域,拍摄的图像会出现严重色偏的情况。即使有的方法可以去除色偏,却不能保留更多的细节信息。为验证所提出网络模型能够在解决严重色偏的同时,可以有效去除后向散射,保留更多的细节和特征信息,本实验选取几组有严重色偏的水下图像进行实验对比。
图4(a)—图4(c)是水下拍摄的深绿色图像,图4(d)是水下拍摄的深黄色图像,图4(e)和图4(f)是水下拍摄的深蓝色图像。由此可知,选取的几种水下图像增强方法均有不同程度的色偏和细节丢失。虽然RD[25]方法在颜色校正部分效果很好,但丢失大量细节,且在图4(f)的处理结果中产生了明显噪声。本文结果图像保留了更多的细节和特征,在视觉感知方面表现最优。
(2) EUVP数据集上的定性评价。图5、图6、图7分别展示了在EUVP1数据集、EUVP2数据集、EUVP3数据集上的定性比较。由图可知,虽然CycleGAN[12]方法在颜色校正方面效果较好,但是在处理后向散射和细节方面没有本文结果好。RD[25]方法和IBLA[26]方法局部增强过度,导致部分细节丢失。因此,本文方法对于处理水下暗场景的图像、退化的图像和来自真实水下场景的图像都能得到很好的结果。
(3) 其他情况的增强效果。本文方法在处理后向散射、细节丢失等恶劣的水下图像方面也达到了很好效果。如图8所示,其中图8(a)—图8(c)是一组具有严重后向散射的原始水下图像及其增强后的结果图,图8(d)—图8(f)是一组细节严重缺失的原始水下图像及其增强后的结果图。从结果中看出本文方法在去除后向散射的同时可以保留更多的细节信息。例如图8(e)中的 “水草”和“鱼的纹理”等细节都被很好地保留下来。
3.4.3 实验3:水下图像增强方法定量分析
为证明所提方法优于其他的水下图像增强方法,本实验把有参考评价指标和无参考评价指标相结合,分别通过PSNR, SSIM, PCQI, Blur这4种评价指标对几种水下图像增强方法和所提方法进行定量评价并分析。
(1) PSNR定量评价。PSNR是最普遍和使用最为广泛的一种图像客观评价指标,一般是用于最大值信号和背景噪声之间。每个数据集的测试图像的平均PSNR值在表6中。从表6中可以发现本文方法与大多数对比方法相比,数值是最好的。虽然Pix2pix[27]方法在几种数据集上的平均PSNR高于所提出的方法的数值,但是由于PSNR是基于对应像素点间的误差,即基于误差敏感的图像质量评价。人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化,PSNR的数值无法和人眼看到的视觉质量完全一致。由图4—图7可知,Pix2pix[27]方法增强后的水下图像均存在色偏问题。所以对于Pix2pix[27]方法来说,虽然PSNR较高,但是其处理所得的视觉效果却没有所提方法好。
表6 在4种数据集上的PSNR定量评价(dB)
(2) SSIM定量评价。从表7可以看出,本文方法在EUVP1, EUVP2数据集上的平均SSIM值取得最优。虽然有个别方法的SSIM值高于所提出的方法,但是主观视觉效果却并不理想。因为SSIM是从图像的亮度、对比度和结构3个方面来衡量图像的相似度。由图4和图7可知,UWGAN[11]方法在UIEB数据集上和CycleGAN[12]方法在EUVP3数据集上都没有很好地去除后向散射。综合来看,本文方法更为理想。
表7 在4种数据集上的SSIM定量评价
(3) PCQI定量评价。PCQI用于描述两张图像之间对比度的差异,PCQI的值越高,图像的对比度越高。由表8可以看出,本文在UIEB, EUVP3数据集上的平均PCQI值取得最优。虽然在EUVP1,EUVP2数据集上,其他对比方法的值略好于所提出的方法,但是对比度越高,也会导致图像出现失真的情况。由图5和图6可知,MIP[21]方法和ULAP[24]方法增强后的水下图像存在色偏问题,SMBLOT[22]方法、RD[25]方法和IBLA[26]方法局部增强过度,导致部分细节信息丢失。综合来看,本文方法有最优的结果。
表8 在4种数据集上的PCQI定量评价
(4) Blur定量评价。从表9可以看出,所提出的方法在平均Blur值上也取得了令人较为满意的结果。Blur评价指标主要用于描述图像的模糊程度。Blur的值越小,图像越清晰。由图5和图6可知,MIP[21]方法、UDCP[23]方法、ULAP[24]方法和Pix2pix[27]方法增强后的水下图像存在明显色偏;SMBLOT[22]方法过度增强,造成颜色失真;RD[25]方法和IBLA[26]方法虽然清晰度较好,但是由于局部增强过度,导致细节恢复方面不如本文方法;UWCNN[10]方法未能有效去除后向散射的问题;UWGAN[11]方法存在严重色偏问题,且细节大量丢失,增强后的效果极差。综合来看,本文方法有最优的结果。
表9 在4种数据集上的Blur定量评价
3.4.4 实验4:不同卷积神经网络模型参数量分析
为证明本文优化的网络结构在充分利用特征的同时,可有效减少参数量,与DenseNet121网络结构及不同卷积神经网络模型的参数量进行了比较分析。其中不同卷积神经网络模型包括文中所述4种网络方法以及MFFN[28],UMUEN[29]两种多尺度网络方法。根据表10可知,由于UWCNN为轻量级网络模型,因此所提网络模型比UWCNN参数略多,但相较DenseNet121网络模型参数量为7.98M来说,所提网络整体参数量仅为1.41M。此外,对于其他网络以及多尺度网络而言,本文方法在参数量上也具有明显优势,竞争力较强。
表10 不同卷积神经网络模型参数量分析
恶劣环境下的水下图像处理对水下活动探索具有关键意义。本文提出一个新颖的通用的多尺度级联网络。通过FEM和MsCM多模块设计,多尺度级联网络有效解决了单一网络层提取的特征有限的问题,并大幅降低了模型参数量。对不同尺度的特征进行融合,可以有效保留更多的细节和特征。通过级联原始图像和FEM输出的特征图像,可以有效解决传播过程中图像特征减弱和消失的情况,提高特征的传播效率和利用率。经理论分析和充分的实验设计可见提出方法在不同水下场景中都能取得不错成效,具有较好的泛化能力。