基于双分支特征提取的水下图像复原
2021-03-02覃小峰贾晓芬赵佰亭
覃小峰,贾晓芬,赵佰亭
(安徽理工大学 电气与信息工程学院,安徽 淮南232001)
海洋资源的勘探对于缓解陆地资源不足有着重要意义.在我国南海拥有着丰富的矿产资源和化石能源,如何有效地开发利用显得尤为重要.无论是水对光线的影响还是水中的杂质等因素,水下成像条件比之正常条件都要复杂.由于水下多种因素的影响通常采集到的图像信息都会存在颜色失真,对比度低等问题,同时也会引入大量噪声使得所采集的目标模糊[1].因此,有必要研究有效的解决方案以改善水下图像的可见度,对比度和色彩特性,以获得更好的视觉效果.
水下图像处理传统方法基本是从两个方面解决:图像增强和图像复原.图像增强通过传统的图像增强算法修改图像像素值或者附加信息来生成视觉上更令人满意的图像.Hitam 等人[2]针对图像的RGB空间和HSV空间,运用不同的方式分别处理,所得结果进行融合增强图像对比度.张凯等人[3]提出结合多尺度Retinex算法处理图像亮度,提高图像整体的对比度和色度.但是水下图像增强主要针对现有的图像问题,这类方法较为简单且容易实现,但是由于没有考虑水下图像退化的物理模型,其增强效果不一定完全符合图像的真实的自然场景只能产生满足性能指标的的效果,而不能完全还原真实的水下图像信息.
图像复原技术更关注的重点是水下图像衰退的过程,并以此建立物理模型,通过估计未知模型参数从而逆向解决图像退化的问题.考虑到水下红光损失严重,Galdran等人[4]提出了水下图像红色通道的复原,不仅校正图像颜色失真,同时恢复丢失的部分.杨爱萍等人[5]提出了透射率融合的方法,利用不同条件计算透射率并融合优化,最后求解模型反推复原.水下图像复原方法虽考虑了水下图像的光学特性,但通常依赖于具体的环境假设和先验知识.数学模型有很大的局限性,不适用于具有不同物理特性的水下图像,其鲁棒性很差.
近几年,由于深度学习的快速发展,研究学者继而尝试利用神经网络的学习方式处理水下图像.陈龙彪等人[6]将图像超分辨率重建与水下图像复原结合,用以提高水下图像重建质量.Wang等人[7]依据水下成像原理,提出利用卷积神经网络分别估计传输图和背景光强度,最后利用得到的数据恢复出清晰的水下图像.基于深度学习的方式可以通过数据训练建立原始图像和恢复图像的映射关系应对各种复杂的水下图像,但在特征提取上依旧存在短板,特征的不完整性会致使后续恢复工作存在细节丢失,颜色失真等问题.对于水下图像的处理,最终目的就是要使图像清晰化,消除色偏,提高对比度等问题.本文提出了一个双分支特征提取网络(Double Branches Feature Extraction Network, DBFEN)用于解决水下图像复原工作.
1 双分支特征提取模型结构
基于双分支特征提取的水下复原网络主要包括4个模块,见图1.(i)单一尺度提取模块;(ii)多尺度提取模块;(iii)空洞卷积残差模块;(iv)重建模块.该网络给定一个水下图像作为输入,首先通过两个特征提取分支将图像特征信息采集,然后利用空洞卷积组成的残差模块作为中间处理两个分支特征,增强提取到的水下图像特征信息,最后将处理后特征信息重建得到最终恢复的水下图像.
图1 双分支特征提取的水下图像复原网络结构
1.1 特征提取
为了能充分地提取水下图像的特征信息,提出了双分支的特征提取结构.单一尺度的特征提取采用和U-net相同的下采样结构,卷积层的不断增加,不断进行下采样,可使得该模块既能提取图像低层特征信息又能得到高层特征,最后输出图像全局特征.
Ml=φ(Wl*Ml-1+bl)
(1)
其中:l为卷积层的序号,W和b分别为当前卷积层的权重和偏置,*表示卷积操作,φ代表激活函数.
而图像中每个特征只有在一定尺度范围内去观测才具有意义.因此需要引入不同尺度下的图像特征,补充特征的完整性.多尺度特征提取采用3×3和5×5的卷积核,其结构如图2.多尺度提取
图2 多尺度特征提取单元结构
模块由依次连接的多个多尺度特征提取单元构成,每个多尺度特征提取单元由两层卷积层构成,两层卷积层结构相同.输入图像经第一层卷积层中分别利用卷积核尺度为3×3和5×5的卷积层进行卷积处理,然后将两者的输出连接在一起后通过第二层卷积层进行二次卷积处理,整个单元还采用残差形式,多尺度特征提取单元的第二层输出与输入连接融合,然后将得到的结果作为输入传递至下一多尺度特征提取单元,最后整个多尺度特征提取模块输出图像多尺度特征信息.每一多尺度特征提取单元后连接一个3×3卷积用以下采样,使之与单一尺度输出的特征图大小匹配,且在低分辨率的特征空间下处理能减少参数量的大小,从而提高速度.
F=A+B
(2)
A=φ(Wi*Fl-1+bi)+φ(Wj*Fl-1+bj)
(3)
B=φ(Wi*A+bi)+φ(Wj*A+bj)
(4)
式中:A和B分别为多尺度特征提取单元中的第一层和第二层输出.*表示卷积操作,W和b分别为卷积操作中的权重和偏置.φ表示激活函数;i和j分别表示尺度为3×3和5×5的卷积核.
1.2 特征处理
作为特征处理,残差模块包含12个空洞卷积残差构成,融合两个分支的提取的特征.同时多个残差级联能从中学习到更多图像特征,并增强网络学习到的特征信息.空洞卷积具有更大的感知野,在不增加计算量的情况下能够获取更多的上下文信息.但是空洞卷积存在的“网格效应”的弊端,为了减小空洞卷积的这一影响.采用文献[8]深度可分离卷积和空洞卷积组合的方式.在空洞卷积之前让深度可分离卷积对特征图经行预处理,增加了卷积层之间的相互联系使后续的空洞卷积处理具有平滑性.该组合保证了空洞卷积不丢失更大的感知野,使得能够更好地融合两个分支提取的特征信息.采用深度可分离卷积做预处理能降低参数计算量,提高网络训练速度.增加残差结构也能使得该模块能提升学习能力.
1.3 重建模块
重建模块不同于以往的采用插值或者转置卷积的方式,该模块使用像素重组(Pixel shuffle)[9]和1×1的卷积核组合构造的上采样层.像素重组将低分辨率的特征图重组构造出更高分辨率的特征图,像素重组后连接1×1卷积核平衡特征输出通道.该模块是以中间特征处理的输出的低分辨率特征图输入到2个上采样层,依次将空间分辨率放大4倍,最后恢复到原始输入图像的空间分辨率.
1.4 损失函数
(5)
(6)
所提算法采用的是MSE损失和感知损失的线性组合构造出的用于网络损失函数Lfinal.
Lfinal=αLM+βLP
(7)
其中:α和β分别代表的是两个损失的权重,实验分别设置为0.25和0.75.
2 实验结果分析与分析
2.1 实验配置
模型结构基于PyTorch框架,实验均在PyCharm 2019和Python3.6的环境中编程,在配置为intel(R) Core(TM) i7-7700CPU3.60GHz的PC端上运行,测试数据集用于测试模型的复原效果.评价指标包括主观评价和客观评价.
2.2 实验数据
深度学习需要大量的数据集进行训练,而现有的成对的EUVP数据集[10]不足以满足所提出算法的模型训练要求,因此我们从中随机选取800张作为基础的训练样本,其余图像用于测试.基础训练样本通过随机旋转裁剪的方式增加数据训练集的样本数量,保证训练的有效性.
2.3 实验主观评价
为验证所提出水下图像复原算法的有效性,将所提算法的复原结果与Drews的算法[11]、Li的算法[12]以及Liu的算法[13]得到的复原结果进行对比.图3、4为各算法复原结果的对比图.通过图3所示的2张水下图像复原细节对比,可看出Drews的算法[11]能一定程度的改善水下图像整体清晰度,但局部清晰度没有较好的复原,并且图像整体的色偏未能去除,仍存在较大的颜色失真,图像整体对比度和亮度低.Li的算法[12]过度补偿红色通道致使复原图像整体偏红,整体视觉效果较差,选取的局部图像也未能清晰化.Liu的算法[13]无法校正水下图像颜射失真,也无法有效地恢复图像细节.本文算法对水下图像的复原效果更加明显,不仅能将2张图像的细节复原较为清晰,更为明显复原物体的轮廓和颜色分布等细节信息,主观视觉效果更好.而从图4的对比图能清楚看到,所提算法在图像清晰度和颜色校正等方面均优于其他算法,并且复原的图像更接近与自然场景下的效果.
2.4 实验客观评价评价
为了进一步比较不同方法在合成水下图像数据集上处理效果的优劣.从测试的EUVP数据集中选取了具有代表性的4幅水下图像,使用定量指标进性评估图像复原效果.因为数据集中有真实图像作为参考,所以文章采用UIQM[14]、RPSN(峰值信噪比)和SSIM(结构相似性)[15]作为评价指标来评估不同方法的性能.RPSN和SSIM是使用广泛的图像客观指标,两者计算的得出数值越高,表明性能越好,图像损失较小,并表示结果与真实图像更相似.UIQM是用于评估水下图像质量的指标,UIQM包含三个水下图像属性度量:水下图像色彩度量(UICM),水下图像清晰度度量(UISM)和水下图像对比度度量(UIConM),并以此作为衡量水下图像质量依据,符合人体感官视觉效果.UIQM指标越高,说明复原图像的上述三个指标都达到很好的效果,图像的质量得到提高.表1明确指出了在不同指标下真实的水下图像测试数据的指标.
图3 复原的水下图像细节图对比
图4 用于客观评价的水下图像复原图
表1 不同方法的客观指标
根据表1,根据RPSN和SSIM指标,本文所提出的算法基本优于其他三种算法,虽第三张图像结构相似性略微低于其他算法,但图像整体复原效果上,本文所提算法更优,复原的水下图像复原的图像细节更清晰.而在UIQM指标上,所提算法的指标结果均优于其他算法,即在颜色、清晰度和整体图像对比度均显著提升,能更好的复原水下图像,视觉效果更接近自然场景下的图像.
3 结 语
本文针对传统方法无法有效复原水下图像,提出了基于双分支特征提取的水下图像复原算法.双分支特征提取有效提取更多尺度的下的特征信息.通过使用空洞卷积残差层增强网络学习能力,处理提取的图像的特征信息,建立中间映射.此外,训练时增加感知损失能够恢复图像的细节纹理特征,解决水下图像复原模糊的问题.实验结果表明,本文所提出的方法处理能够良好地实现复原水下图像,得到复原的水下图像在细节清晰度和颜色方面复原较好,整体主观视觉效果得到提升.