基于多尺度特征融合生成对抗网络的水下图像增强

2023-11-20 11:00许家昌肖哲璇
计算机工程与应用 2023年21期
关键词:偏色尺度卷积

陈 辉,王 硕,许家昌,肖哲璇

安徽理工大学 计算机科学与工程学院,安徽 淮南 232001

海洋是人类赖以生存和发展的资源宝库,为人类的各种活动提供了重要支持,因此,海洋资源勘探和水下生态环境保护至关重要[1]。探寻水下资源和了解水下生态环境的重要途径是进行水下拍摄,其可为相关部门和人员提供大量且直观的水下环境信息,便于进一步分析和研究。然而,水下拍摄环境不同于地面,水下图像易受到水下环境的严重影响,导致图像对比度低、色偏和模糊等问题[2-3]。水下图像的质量问题给水下机器人以及计算机视觉系统的正常有效工作带来挑战。

水下成像常常伴随着不同程度的颜色失真,这是由于不同波长的光在水下传播时存在着不同的衰减率,而其中蓝色和绿色光因其波长最短,有着最远的水下传输距离。通常情况下,光在水中的穿透力与波长成反比,因此拍摄的大部分水下图像都呈现着蓝绿色调[4-5]。为解决蓝绿色偏问题,研究人员提出了白平衡算法。传统的白平衡算法,有灰度世界[6]、完美反射[7]等。灰度世界算法是其中处理效果最好的,但经过对比观察发现,由于红色光波长最长,这种算法处理的图像存在严重的红色伪影。为解决红色伪影问题,Ancuti 等人[8]提出在采用灰度世界算法进行白平衡前对图像的红色通道进行补偿,算法在矫正色偏的同时避免了过度补偿的问题,能够有效地恢复不同深度和光照条件下的水下图像特征和边缘信息。

为解决水下图像退化问题,研究人员主要提出了三种图像增强方法:空间域法、变换域法和基于深度学习的方法[9]。空域图像增强方法基于灰度映射理论[10],通过扩展灰度级完成灰度直方图重分布。例如,Iqbal 等人[11]提出了一种基于无监督色彩校正方法(UCM),通过拉伸RGB颜色空间和HSV颜色空间的动态像素范围矫正对比度,有效去除了蓝绿偏色并提高了图像亮度,但是存在图像局部过饱和和欠饱和现象。Ancuti等人[8]根据水下光学成像原理提出了一种色彩平衡与融合方法,通过改进后的水下白平衡算法处理光在水下因衰减率的不同而引起的偏色,增强后的图像暗区曝光度更好,全局对比度和边缘清晰度都能得到相应的改善,但当偏色问题较严重时直接应用于蓝绿色偏水下图像存在通道补偿不足问题。变换域图像增强方法大多是将空间域图像变换到小波等频域来处理,以达到抑制低频分量和增强高频分量的目的来实现对水下图像的增强。Prabhakar等人[12]使用同态滤波器校正非均匀光照,然后采用各向异性滤波器对图像进行平滑处理,虽然可以提高水下退化图像的清晰度和对比度,但往往会过度放大噪声,造成颜色失真。Khan等人[13]提出了一种基于小波的融合方法,利用HSV 颜色模型对原始图像进行全范围的拉伸,并通过CLAHE算法增强得到两幅融合图像,由一组低通滤波器和高通滤波器来进行融合,消除图像中不需要的低频和高频。基于深度学习的方法主要有卷积神经网络(CNN)和生成对抗网络(GAN)构成,利用网络模型的学习能力将模糊图像转化为清晰图像,不需要太多的先验约束,泛化能力较强[14]。特别是基于GAN的网络模型,以端到端的方式,在对水下图像的去雾、增强对比度和清晰度等方面表现良好。然而,由于在深海环境下难以获取大量的训练数据,WaterGAN[15]利用地面上正常的彩色图像和对应的深度图人工合成水下图像,CycleGAN[16]在未失真图像的基础上重建失真图像,扩充了数据集并有效地提高了图像对比度和清晰度。受深度卷积神经网络(DCNN)技术在多尺度特征提取方面的优势启发,Liu 等人[17]提出一种深度多尺度特征融合网络,以GAN 为基本架构从多个尺度增强图像特征,在对比度和细节保留方面有着较好的性能,但依然存在偏色校正效果不佳的问题。为了更好地解决图像偏色问题,范新南等人[18]提出一种特征融合生成对抗网络,融合白平衡算法与U-Net提取的图像特征来获得色彩更好的图像,但由于GAN 模型直接学习模糊图像到清晰图像的映射,在处理偏色情况较重的图像时会出现色彩不真实和过度增强的问题。

针对现有方法存在的问题,本文结合传统图像增强方法与深度学习方法,通过改进后的白平衡算法对偏色图像进行矫正并提取特征,与多尺度生成器增强的特征相融合,再利用卷积神经网络将高维特征重建为清晰图像。本文算法较好地解决了水下图像颜色失真和模糊问题,针对偏色情况复杂的水下场景也可以有效矫正偏色问题,提高图像清晰度和对比度。

本文的主要贡献如下:

(1)针对现有方法在偏色较复杂情况下存在的问题,结合传统图像增强方法与深度学习方法,提出了一种多尺度特征融合的GAN模型。

(2)提出新的通道补偿率来对白平衡算法进行针对性地改进,提高算法对偏色情况复杂的水下环境的适应性。

(3)将提出的残差密集块(residual density block,RDB)融入U-Net,在多个尺度上结合全局特征对局部特征进行自适应地增强。

1 网络模型

1.1 网络模型架构

本文提出的模型以GAN 网络为基本结构,主要由生成器和判别器两部分组成,模型总体框架如图1 所示。其中生成器由偏色矫正模块、多尺度增强模块和重建模块组成,判别器则采用全卷积网络结构的马尔科夫判别器。首先,在偏色矫正模块中通过改进的白平衡算法来对偏色情况较复杂的图像进行自适应的蓝绿偏色矫正,再通过CNN 提取包含图像边缘信息等泛化信息的低级特征feature1。然后,在多尺度增强模块中采用利于特征提取的编码器-解码器结构来增强图像特征,利用提出的RDB 从多个尺度融合全局特征与局部特征,得到增强后的融合特征feature2。最后在重建模块中将两种特征以对应元素相乘的方式融合,并利用CNN将高维特征重建为增强图像。判别器采用的结构为全卷积神经网络,用于区分伪样本与真实样本。通过判别器对图像是真实的还是伪造的判断来评价生成器对于失真图像的增强效果,然后通过判别情况指导生成器的训练,而生成器也得以生成效果更好的图像来训练判别器的识别能力。两者不断对抗训练,使模型达到最优,最终得到增强图像。

图1 多尺度特征融合GAN结构Fig.1 Structure of multiscale feature fusion GAN

1.2 生成器模块

1.2.1 偏色校正模块

水下图像常常会因为光在水下衰减率的不同而出现不同程度的偏色问题。当偏色问题较严重时白平衡算法直接应用于蓝绿色偏水下图像存在过度补偿和补偿不足问题,针对此问题Ancuti 等人[8]首先提出在采用灰度世界算法前对水下图像的红色通道进行补偿,红色通道补偿公式定义为:

其中,α经实践测试设为常数1,Ir和Ig分别表示水下图像的红色和绿色通道,每个通道经过归一化处理处于区间[0,1]内;Iˉr和Iˉg表示Ir和Ig的平均值。在灰度世界算法的假设下,绿色通道均值与红色通道均值之差反映着红绿衰减之间的不平衡,上文补偿策略为缩减红绿衰减之间的差异将红色通道的补偿量与此差值设成正比。

但是,该算法直接应用于偏色情况较严重的水下环境时仍然存在补偿过度的问题。因此本文对文献[8]的算法进行改进,增大对图像红色通道较显著区域的衰减,并通过颜色直方图对比累加像素值来自适应地区分图像偏蓝或偏绿,从而进行针对性的补偿。改进后的红色通道补偿公式为:

另外,由于有机物的过度吸收,蓝色通道在一些场景也会出现大幅度的减弱。因此,为了使算法适用于更多水下场景,当图像蓝色通道过度衰减时,对其也进行相应的补偿。改进后的蓝色通道补偿公式为:

在图像进行自适应地偏色矫正之后,通过2个卷积核大小为3、步长为1 的卷积层对算法校正处理的水下图像进行特征提取,并且在每个卷积层后添加Leaky ReLU激活层,提取包含颜色、边缘信息等泛化信息的低级特征feature1。

利用3D 散点图来客观体现水下图像的色彩分布,对比结果如图2 所示。为体现本文算法对偏色情况较复杂环境的适应性,选取了绿色分布较广的图片样本。可以看出文献[8]算法所处理的图像存在对红色通道过度补偿的现象,RGB三通道像素点分布较为集中,导致图像色彩不够丰富且整体色调偏灰。而本文改进后的算法所处理的图像RGB三通道像素点在[0,255]范围内分布较为均衡,图像颜色丰富且真实。实验结果表明本文算法可以更好地矫正水下图像的色偏问题。

图2 偏色矫正对比结果Fig.2 Contrast results of color correction

1.2.2 多尺度增强模块

在深度学习方法相关的研究中,特征的提取可以通过简单的沿空间维度的平均池化来实现[19]。而与平均池化不同,本文为获得更多图像细节,通过卷积层对图像进行逐步的下采样来提取维度为1×1×cg的全局特征,其中cg表示全局特征的通道数。逐步下采样相比于平均池化好处在于两方面:首先,可以自由选择每个分辨率下的特征映射数量;其次,可以同时提取更多尺度的局部特征。而多尺度局部特征体现了图像不同分辨率下的抽象信息,有利于生成细节精细的图像。

在CNN中,随着深度的增加,网络处理复杂问题的性能就越强,训练集loss逐渐降低直至趋于饱和。但当再增加网络深度时,loss 反而会增大,训练也随参数的增加变得更困难。残差块[20]直接映射的加入可以降低CNN 训练的复杂度。密集块[21]通过在新的学习基础上重复利用特征来解决深层网络的梯度消失问题,使得网络更加容易进行训练。每个网络层都读取到前面层的状态信息,并且将信息继续传递给后续的网络层,有助于特征的筛选和传递。同时,密集网络本身也有正则化的效果,当训练集较小时,可以降低过拟合效应。

受残差网络和密集卷积网络的启发,提出了一种RDB,结构如图3 所示,包括密集连接层和利用局部残差学习进行局部特征融合的网络层,以自适应提取局部密集特征。RDB 不仅可以通过连续记忆机制从一个RDB 读取状态,还可以通过局部密集连接利用其中的所有层,然后通过局部特征融合自适应地保留累积的特征。为降低输出维度,将RDB的最后一层设为一个1×1的卷积层,并且将各层输入的特征信息进行像素累加,最终达到提取全局特征的目的。同时,在每个卷积层后添加了批归一化层(batch normalization,BN)和Leaky ReLU激活函数,避免随RDB循环次数的增加而导致的细节丢失问题。

图3 残差密集块结构Fig.3 Structure of residual density block

为了使网络更深入和更容易优化,多尺度增强模块基于编码器-解码器结构构建,编码器部分采用上文提出的残差构建块来进行特征提取。其中编码器(e1~e5)和解码器(d1~d5)的镜像层之间存在跳层连接,具体表现为(e1,d5)、(e2,d4)、(e3,d3)、(e4,d2)、(e5,d1)之间的连接,每个编码器的输出都被连接到各自的镜像解码器。这种基于U-Net 网络架构的编码器-解码器设计有效地避免了特征提取时图像的细节丢失问题。为将全局特征与局部特征动态融合,引入特征融合单元[22]。设尺度为i的局部特征图fl,维数为hi×wi×ci,全局特征图fg维数为1×1×cg。首先通过具有可学习权值的1×1卷积层调整全局特征以进行通道匹配。由于通常情况下,cg大于ci,因此该步骤旨在自适应地从全局特征中提取最有用的信息,用于增强尺度为i的局部特征。该卷积层的参数设置为:卷积核大小1×1,步长1,输入通道数量cg,输出通道数量ci。

特征融合过程表示为式(4)~式(8):

通过卷积层学习不同区域的特征权重值,调整全局特征,其中W为可学习权值:

然后将调整后的特征fg-a复制hi×wi次

再将特征fg-b尺寸重塑为(hi,wi,ci)以匹配不同的特征通道:

之后,将具有相同尺寸的输入特征fl和输出特征fg-c沿通道尺寸进行拼接:

最后,通过卷积层和ReLU激活函数来稳定fg-d不同像素点上的特征信息,并通过跳跃连接送到解码器的相应层中:

局部特征和全局特征分别表现了图像的不同尺度,因而也就表现了图像的不同信息。通常,低级特征表现为如图像边缘信息等本地图像特征,而全局特征代表高级信息,表现为总体光线条件、颜色特征、形状特征或纹理特征等。不同尺度的高、低信息融合有助于生成色彩逼真、细节更好的图像。此外,由于全局特征是局部特征的更高抽象体现,它们可以充当正则化器,以惩罚由于在低分辨率图像中处理不当而在增强图像中生成的伪影。并且,以自适应调整的权值来处理不同通道和不同像素的特征,来让网络更多地关注图像的重要信息,避免了网络在冗余信息上的无用计算,在提高了效率的同时也使得网络能够涵盖所有像素和通道,更加灵活地适应不同的水下环境。因此,本文在每个分辨率上融合全局特征和低层次特征,如图4所示。

图4 多尺度增强网络Fig.4 Multi-scale enhancement network

1.3 重建模块

在生成器的最后,设计一个重建模块将feature1 和feature2 相融合,再通过反卷积层将融合特征重建为增强图像,图5描述了重建过程的详细结构。为将图像不同尺度的局部特征充分利用起来,两个拼接操作都分别包含三个不同的特征映射。前两层卷积采用不同大小的卷积核,以处理不同尺度的特征信息。最后引入一层反卷积层来将高维特征重建为清晰图像。

图5 重建模块Fig.5 Reconstruction module

图5中重建操作可以表示为式(9)至式(13):

L(x)表示Leaky ReLU 激活函数,上标表示卷积层数,下标表示对应的卷积核。[I1,R1,X]和[I2,R2,X]表示特征图的拼接。在前两层中,每一层分别使用一个具有5×5 卷积核和64 个特征映射的卷积层和一个3×3 卷积核和128 个特征映射的卷积层,并且都添加BN 层和Leaky ReLU激活函数。第三层采用1×1的反卷积层完成融合特征到增强图像的映射,并且添加Leaky ReLU激活函数来提高计算效率。通过不同大小的卷积核和拼接操作实现对不同尺度的局部特征的充分利用,并且由于Leaky ReLU 激活函数避免了饱和现象的出现而导致的梯度消失,因此重建模块能够在保留图像细节的同时融合图像特征并重建为增强图像。

1.4 判别器模块

本文使用马尔科夫判别器生成对抗网络(Patch-GAN)[23]作为判别器,结构如图6 所示,前4 层步长为2并添加了Leaky ReLU 激活层,最后一层步长为1 并添加了Sigmoid 激活层。PatchGAN 设计用于识别输出的N×N的矩阵是真实的还是生成器伪造的,通过平均所有矩阵对应的感受野区域的真实概率来实现整体决策。当几乎所有的区域都因为良好的细节而被认为是真实的,生成的图像就会被判别为真实图像。相比于全图像鉴别器,PatchGAN所需的卷积层数更少,更能关注图像细节从而有效获取高频信息。

图6 判别器结构Fig.6 Structure of discriminator

1.5 损失函数

针对原有GAN在训练过程中会出现梯度爆炸或消失的问题,为了稳定训练,一些GAN模型从损失函数入手进行改进,如LSGAN[23]、Wasserstein GAN(WGAN)[24]、带梯度惩罚的Wasserstein GAN(WGAN-GP)[25],其中WGAN-GP在图像生成时效果相对较好,因此本文采用WGAN-GP作为对抗性损失,如式(14)所示:

其中,x和y分别为退化图像和清晰图像,x为生成的输出图像G(x)和y之间的直线上的样本,λ代表权重因子。由于单纯的对抗损失容易造成图像细节的丢失,因此引入对像素角度的距离进行衡量的传统损失,如L2或L1损失,结合对抗损失和传统的距离损失有助于完成图像到图像的转换。其中,L1损失能够产生比L2更少的模糊结果,鲁棒性更强,但会导致图像信息的丢失;L2损失可以更好地放大异常点获得更多图像信息,但是可能会导致梯度爆炸。因此,为了稳定地获得信息更多的清晰图像,同时引入L1和L2损失,如式(15)和式(16)所示:

其中,λ1、λ2为权重因子。

2 实验结果与分析

2.1 数据集与训练细节

本文所用训练集为EUVP数据集[26]中的underwater imagenet集和underwater scenes集,共包含5 885幅水下图像和对应的清晰图像。随机选取5 200对图像作为训练集,剩下的图像用于验证。此外,为了进一步评估本文方法的泛化能力,证明模型对偏色情况复杂的水下环境的适应性,选用UIEB数据集[27]进行测试,该数据集共包含950对多种水下场景的真实图像。为方便处理,所有的图像都被调整为256×256。

网络模型基于Tensorflow深度学习框架实现,通过多次实验,设置权重λ=10、λ1=2 和λ2=8。生成器和判别器均采用Adam 优化器,学习率设置为0.000 1,一阶动量项β1=0.5,二阶动量项β2=0.999。批大小为8,网络训练100个epoch。GPU为NVIDIA GeForce 2080ti。

本文将多尺度特征融合GAN模型与几种有代表性的水下图像增强算法进行比较,包括无监督颜色校正方法(UCM)[11]、直方图均衡法(HE)[28]、限制对比度自适应直方图均衡(CLHAE)[29]、水下暗通道先验(UDCP)[30]、图像模糊和光吸收(IBLA)[31]、快速水下GAN(Funie-GAN)[26]、水下GAN(UGAN)[32]。

2.2 主观评价

首先,对不同方法在UIEB 和EUVP 数据集上提高图像可见性的能力进行比较,定性比较如图7 和图8 所示。UCM 可以增强图像的亮度和对比度,但在颜色恢复方面不够均匀,整体色调偏红并且存在红色伪影。HE 极大地提升了图像色彩和亮度,但缺乏足够的对比度,图像色彩也显得不够真实。CLHAE、UDCP和IBLA对偏色图像恢复效果不佳,甚至加重了部分图像的颜色失真,它们增强了图像的对比度但会使图像变暗。FunieGAN和UGAN整体上改善了图像的偏色问题并且增强图像了的对比度,但对于偏色情况严重的处理效果不够理想。本文算法在提升图像亮度和对比度的同时,较好地解决了蓝绿色偏问题。

图7 UIEB数据集不同算法处理效果Fig.7 Processing effect of different algorithms on UIEB dataset

图8 EUVP数据集不同算法处理效果Fig.8 Processing effect of different algorithms on EUVP dataset

2.3 客观评价

本文采用了两种无参考指标:水下图像质量度量(UIQM)[33]和水下彩色图像质量评估(UCIQE)[34],对UIEB和EUVP数据集上的水下图像质量进行定量评估。UIQM包含水下图像的三个属性,如水下图像色彩度测量(UICM)、水下图像清晰度度量(UISM)和水下图像对比度度量(UIConM)。该方法通过线性叠加三个度量来评估图像质量,其计算公式为:

其中,c1、c2、c3分别为3 个属性度量的加权系数,按照文献[34]设定为0.028 2,0.295 3,3.575 3。UCIQE利用色度、饱和度和对比度的线性组合进行定量评估,分别量化不均匀的偏色、模糊和低对比度。其计算公式为:

UIQM和UCIQE指标越大,说明图像质量越高。表1和表2分别定量显示了图7和图8中的样本图像UIQM和UCIQE指标。可以看出本文所提算法大部分结果都获得了最高指标,证明了本文算法能够有效恢复图像色彩、提高图像对比度和清晰度。

表1 图7样本的UIQM/UCIQE值Table 1 UIQM/UCIQE value of fig.7

表2 图8样本的UIQM/UCIQE值Table 2 UIQM/UCIQE value of fig.8

无参考评价指标的量化结果在很大程度上取决于尺度因子的值,不需要考虑图像的结构信息。由于度量是从像素计算的,虽然一些增强图像可以得到更高的分数,但视觉质量较差。因此,本文还使用两个全参考评估指标峰值信噪比(PSNR)和结构相似性(SSIM)通过对比亮度、对比度和结构来评估不同方法在数据集上的性能。表3 和表4 的对比结果表明,本文提出的算法在PSNR和SSIM方面都取得了最好的结果。

表3 不同算法在UIEB数据集上的PSNR和SSIM指标Table 3 PSNR and SSIM indicators of different algorithms on UIEB dataset

表4 不同算法在EUVP数据集上的PSNR和SSIM指标Table 4 PSNR and SSIM indicators of different algorithms on EUVP dataset

2.4 消融实验

为了验证模型相对于1.2.1小节中偏色矫正模块对图像清晰度的增强效果,选取部分未参与训练的UIEB数据集和EUVP数据集水下图像进行测试。图9为部分测试结果。

图9 消融实验结果Fig.9 Results of ablation experiment

从图9中可以观察到,改进后的偏色矫正模块和多尺度增强网络处理后的图像基本上消除了水下原始图像中的蓝绿色偏问题,但依然存在轻微的模糊和过饱和现象,图像颜色不够真实。以第一幅图像举例,偏色矫正后的图像左右边缘处仍存在模糊现象,多尺度增强网络处理的图像色调整体偏红。而本文所采用的多尺度特征融合GAN结构所得到的增强图像清晰度和对比度更高且颜色真实贴近现实,模糊问题也得到了有效的改善。

选取无参考指标UIQM 和UCIQE 作为消融实验的客观评价指标,如表5 所示。只用偏色矫正算法和只用多尺度增强网络处理的图像相较于原始图像,UIQM和UCIQE 指标都有所提高,但是均低于本文算法。结果表明,偏色矫正模块和多尺度增强模块的引入对于算法的性能是有所提高的,且融合后的算法增强效果更好。

表5 消融实验的客观评价指标Table 5 Objective evaluation index of ablation experiment

3 结论

针对水下退化图像清晰度低、蓝绿色偏和对比度低等问题,本文设计了基于多尺度特征融合GAN 的水下图像增强算法。通过采用针对偏色问题的自适应白平衡算法和保留更多图像细节的多尺度增强网络相融合的生成器模型,并结合马尔可夫判别器将水下退化图像增强为清晰图像。本文算法将传统图像增强方法和深度学习方法相结合,获得了增强效果更好更全面的水下图像。主观评价和客观评价结果表明,本文算法对于普通水下场景和偏色情况较复杂的水下场景图像的增强效果整体上都比对比算法表现更优,提高了图像的清晰度和对比度,颜色也更真实。

猜你喜欢
偏色尺度卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
从滤波器理解卷积
改进的完美反射法及其在视频偏色校正中的应用
一招解决手机拍照偏色问题
基于傅里叶域卷积表示的目标跟踪算法
基于方差因子的图像 偏色检测研究
宇宙的尺度
9
一种基于卷积神经网络的性别识别方法