郭 强,孟祥众
(西安工业大学, 西安 710021)
在水下进行武器系统测试、训练等任务时,需要获取清晰的武器图像数据,这对评估武器系统的动态参数,对武器系统训练有重大作用。但是,由于光在水中传输时的衰减和散射效应[1],水下光学传感器收集的水下武器图像对比度低,难以对水下武器装备测试训练做到准确评估,因此,水下图像增强对武器装备测试等方面具有重要意义。
目前,水下图像增强与复原分为非深度学习方法与深度学习方法[2]。基于非深度学习方法主要分为2种:一种是图像增强,以像素点的基础使图像清晰,比如:直方图均衡化[3]、白平衡[4]、MSRCR[5]等算法,该类算法忽略传感器镜头在水下环境中的成像模型,导致红通道缺失,甚至出现伪影,用增强算法处理后的水下图像色彩容易增强与背景模糊等现状,而且不同环境下的图像依赖不同的算法,泛化性差。另一种是图像复原,基于物理成像模型基础上进行复原,暗通道先验[6]、UDCP[7]、红通道反转[8]等算法。该类方法依赖水下成像模型,对先验知识的要求较高。但是水下环境复杂多变,不同地区、不同时间由于海水成分不同,导致光在海水中的传播条件不同。因此,简易的水下成像模型不准确,复杂的水下成像模型难以计算。现有的非深度学习的方法只针对水下图像的某种特定情形进行增强与复原处理,这类方法的准确性与鲁棒性不容乐观,在水下机器人应用中受到严重限制,局限性较大。
深度学习的水下图像算法分为卷积神经网络(convolutional neural network,CNN)图像增强与复原与生成对抗网络(GAN)图像增强与复原,2种模型既有区别又有相同之处[9-10]。在机器视觉领域,深度学习网络已被证明是强大的非线性函数逼近器,在水下图像增强应用比较广泛。比如,Fabbri等[11]提出了UGAN,利用风格迁移生成水下模糊图像,将模糊图像与清晰图像作为一对数据集输入带有梯度惩罚的 UGAN网络模型中,并使用结构化损失函数使图像细节更加明显。Li等[12]提出UWCNN,该模型使用对基于物理模型的合成的水下图像数据集进行有效的训练,该模型的数据集合成了10种不同的水下类型,针对不同水域训练不同的UWCNN模型,在不同水域下实现了水下图像增强。Park等[13]添加一对判别器在Cyclegan上,同时在判别器中引入预先训练完成的VGG-16模型,保证每个输入图像的颜色、形状及纹理。另外,添加自适应加权损失函数来平衡2种判别器的影响,该机制充分利用了各判别器的优势,同时抑制判别器的一些缺点。Islam等[14]提出了GAN水下图像增强模型。该算法用一个目标函数监督对抗训练,该函数根据图片整体内容、颜色、局部纹理和样式信息来评估感知图像的质量,算法实时性较高。
上述这些方法虽然可以解决对比度低、颜色失真,但还是存在背景模糊、前景丢失以及红通道缺失严重的水下图像增强与复原差等问题,针对上述存在的问题,提出一种基于编码解码结构多尺度语义特征水下图像增强算法,为提高水下武器装备测试训练的准确评估奠定了基础。
GAN[15]是对数据随机分布进行建模的方法,采用博弈思想,使生成器和判别器两部分进行对抗训练,使生成水下图像更加逼真,其结构如图1所示。
生成器的目的在于输出更加真实的结果,增大判别器输入来源,从而欺骗判别器;而判别器的目标是提高判别输入图片真实性。生成对抗网络训练的目标函数为:
EI[log(1-D(I,G(I)))]
(1)
式中:G为生成器;D为判别器;I为初始图像;J为清晰水下图像;G(I)为生成器生成的假图像。
GAN通过优化上述目标函数学习初始图像I到真实图像J的映射模型,即:G(I)→J。初始图像I为利用Jaffe-McGlamery 水下成像物理模型和CycleGAN风格迁移的水下模糊图像,J为对应的水下清晰图像,生成图像G(I)为增强后的水下图像。
图1 生成对抗网络结构
多尺度语义特征水下图像增强算法的特点是生成器模型基于编码解码结构添加注意力机制提高视觉质量,同时使用多尺度语义特征模块进行补偿高层信息;构造高斯金字塔函数结合全局损失函数、对抗损失函数、色彩感知损失使生成图像细节信息更多,最后生成的图像对比度更高,颜色更丰富。
生成模型使用解码编码结构[16],其中该模型由ResNet残差模块、多尺度语义特征模块、注意力机制等模型组成,如图2所示。
图2 编码解码多尺度语义特征模型
ResNet残差模块使用大小为3×3与4×4的卷积核提取特征,多尺度语义特征模块用卷积层、激活函数、通道注意力机制与上采样网络提取语义信息,使图像细节更加明显;注意力机制改变不同通道的权重大小,使图像融合的特征信息更加稳定。
生成模型(G,Generation model)的Encoder中,先使用4个ResNet模块,然后通过多尺度语义特征模块。在G的Decoder中,进行上采样、BN层与ReLU激活层,总共4层。第一层上采样步长大小为1,其他层上采样步长为2。最后通过上采样、卷积与Tanh激活函数,输出为256×256×3的张量。在Encoder与Decoder中间加入注意力机制与跳连接层,使浅层颜色、纹理等信息特征与深层语义信息融合,传递给更深一层网络,实现生成模型图像细节提取。
3.1.1ResNet残差模块
ResNet残差模块[17]分别用2个3×3卷积核大小提取特征,通过Leaky ReLU激活函数,之后,用Concate进行特征融合,最后通过大小为4×4、步长为2的卷积核、IN层与Leaky ReLU激活函数,如图3所示。该模型不仅使较多像素特征向下传递,而且为多尺度语义特征模块提取更多语义信息奠定基础。
图3 残差网络
3.1.2多尺度语义特征模块
多尺度语义特征模块分别为 2 × 2、4 × 4、8 × 8、16 × 16 不同大小尺度的4层图像信息组成。每个不同尺度大小的水下图像获得不同的感受野,捕捉不同尺度的信息。尺度越小,得到的高层的信息越丰富,反之,低层信息越丰富,最后4个不同尺度大小图像经上采样使生成的图像细节信息更加丰富。而且,在每个不同尺度大小图像,添加通道注意力机制使信息多的通道权值增大,使输出结果信息更加丰富。如图4所示,先将输入通过卷积核大小为 4的步长分别为1、2、4、8的卷积层;接着通过卷积核大小为3的卷积层、NI层与LealyReLU激活函数;然后通过通道注意力机制,使信息多的通道的权值变大,得到不同尺度大小的水下图像,再通过上采样,使其与原特征图通道数相同。最后将4个通道相加融合,再次经过大小为3的卷积层、NI层与ReLU激活函数。
图4 多尺度语义特征模块
3.1.3注意力模块
注意力机制[18]由通道注意力机制与像素注意力机制构成。生成模型添加注意力机制模块,是为了更好地补偿图像红通道信息以及外界环境对图像亮区与暗区的影响,该模块在处理不同环境下的水下图像信息时较为方便,它更加关注外界环境影响较大亮区的像素与更重要通道信息,根据影响的重要程度分配通道的权重。如图5所示,通道注意力机制首先将特征通过全局平均池化将每个通道全局空间信息转化为通道均值信息,然后,特征通过1个1×1×C的卷积层,1个ReLU激活函数、1个1×1×C的卷积层、再加1个Sigmoid激活函数进行处理。在像素注意力通道中,通过通道注意力机制的特征为逐像素注意的输入传入像素注意力层中,像素注意力层为1个ReLU激活函数与1个Sigmoid激活函数构成的2个卷积层。
图5 注意力机制模块
判别模型:在马尔可夫判别器[19]基础上去掉BN层,其特点是对感受野大小区域鉴别,有利于捕获图像局部特征。判别器(D,Discriminative Model)所采用的结构由5个卷积层与4个激活函数组成,最后输出大小为16×16的特征矩阵,判别网络模型如图6所示。
图6 判别模型
考虑恢复图像的视觉效果和细节特征保持,GAN模型训练时使用多个损失函数的线性组合,即
(2)
式中: LWGAN为对抗损失函数;L1为全局损失函数;LVGG为感知损失函数;Lf为高斯金字塔损失函数;λ1、λ2、λ3为各个损失函数的加权系数。
WGAN使用带有梯度惩罚项的 WGAN-GP[20-21]。对抗损失函数表示为
LWGAN(G,D)=E[D(y)]-E[D(G(x))]+
(3)
为促使G的输出与训练集参照数据保持图像信息的一致性,添加G输出图像与训练集目标图像的L距离作为损失函数之一优化G,其定义为[22]:
(4)
为使生成图像更加真实,提升图像的视觉效果,添加VGG19预训练网络模型[23],通过提取VGG19网络第4次最大池化操作前第3个卷积层输出的高级特征构造感知损失函数。内容感知损失函数如下:
(5)
式中:x表示退化的水下图像;y表示与退化图像对应的参考图像;φ(·)表示图像内容函;G表示生成网络;E表示数学期望。
为使生成图像高层信息更为明显,提升水下图像的特征,使用拉普拉斯金字塔,通过高斯卷积核与下采样构造残差金字塔[24]。高斯金字塔结构如图7所示。
分别将清晰水下图像与生成水下图像输入高斯金字塔,分别提取第n层高斯金字塔信息做差,得到差异图,高斯金字塔损失函数定义如下:
Lf=E[y⊗fh-G(x)⊗fh]
(6)
式中:y为清晰图像第n层高斯金字塔信息,为生成图像第n层高斯金字塔图像,E表示数学期望;fh为5×5大小的卷积核;高斯金字塔可以更好提取细节信息,层数越多造成信息损失严重,因此,训练过程中n=1。
图7 差异图过程
本实验在 Windows 操作系统下,基于深度学习框架 Tensorflow 2.1实现; CPU 为 2.90 GHz Intel(R) Core(TM) i5-9400,GPU 为 NVIDIA RTX 1060。
在实验中,将所有图片尺寸统一变为256×256×3大小,并将其像素大小缩小到[-1,1]区间;在训练过程中,G和D的优化以交替的方式进行。其中,D每优化5次,G进行1次优化,G 和 D 均使用 Adam 优化器。其中,设置学习率为5e-5,一阶动量项为0.5,二阶动量项为0.999。网络以小批量梯度下降方式进行优化,设置Batchsize=1, epoch=100 000。
海洋深度、光照条件、相机模型以及水下环境中的杂散颗粒与浮游生物都是影响图像失真程度的因素。但在某些特定条件下,水下图像可能只有很小的失真,或者根本没有失真。由于水下数据采集的难度较大,为了解决图像对不足的问题,将无失真的水下图像与有失真的水下图像进行风格迁移,使无失真图像通过CycleGAN[25]生成模糊水下图像,形成一对数据集,如图8(a)所示。
由于海洋环境的复杂性,CycleGAN生成的水下图像数据集不遵循水下成像模型,使生成的水下图像更加逼真,更符合海洋环境,但是CycleGAN生成水下大量图片周期较长。因此,一部分水下生成图像采用水下物理成像模型[26]提出的合成水下数据集进行训练,该模型以NYU-V2 RGB-D数据集为基础,生成1 284幅水下蓝色图像。
模糊的水下图像的物理成像模型表示为[27]:
Iλ(x)=Jλ(x)tλ(x)+Aλ(1-tλ(x))
(7)
tλ=10-βλd(x)=Nλ(d(x))
(8)
其中:Iλ(x)为水下模糊图像;Jλ(x)为水下清晰图像;Aλ为散射光在传感器收集的信号。λ是为红、绿、蓝光的波长,x表示水下图像中的一个像素点。介质能量比tλ(x)为光长λ和距离d(x)从场景点x到摄像机的映射函数。βλ为波长相关的介质衰减系数,归一化剩余能量比Nλ(d(x)) 为每个距离单位的剩余能量与初始能量比例。设置Nλ(d(x))取值为0.79±0.06×rand(),βλ取值为0.05±0.15×rand()[28],由此模型可以得到海底蓝色图像,如图8(b)所示。
图8 数据集
通过恢复水下图像验证多尺度语义特征水下图像增强算法的有效性,选取蓝色和绿色不同的水下图像,并将该算法与UDCP[7]、Fusion[29]、UWCNN[12]与UGAN[11]算法进行比较,以原文中的网络结构和优化策略进行训练,最终各算法的实验结果如图9所示。
从图9中可以看出,UDCP算法去除退化图像的模糊效果良好,但是该算法缺少颜色校正部分,因此不能有效解决水下图像的偏色问题;Fusion算法整体上解决了退色问题,但是处理后的颜色过于饱和,甚至加重图像背景的颜色失真;UWCNN算法整体上改善图像的偏色问题,但针对偏色严重情况效果不太理想,用端到端的单输入模型结构,在针对不同颜色失真水下图像的增强结果中均出现局部区域红色过度补偿问题,增强后的结构缺少了真实感;UGAN算法合的GAN结构,通过该算法增强后的图像基于U-Net模型进行网络特征提取,颜色校正明显,细节特征显著,但是部分增强结果的色彩显得不自然;相比之下,多尺度语义特征水下图像增强算法采用了编码解码的多尺度语义特征的水下图像增强方法,能够有效地改善复杂水下环境的图像偏色问题,提高水下图像的对比度和清晰度。
图9 各方法对比结果图
实验中采用水下图像颜色质量评价(underwater color image quality evaluation,UCIQE)、峰值信噪比(peak signal to noise ratio,PSNR)与自然图像评价[30](natural image quality evaluator,NIQE)这3种完整的参考指标对水下图像进行定量评估并且对上述不同算法增强后的水下图像实现评估并进行对比分析,以验证多尺度语义特征水下图像增强算法的优势。
UCIQE评价指标包含饱和度,色彩浓度和对比度,用来定量评价水下图像清晰度、色偏以及对比度。总体UCIQE 数值越高代表图像越清晰,对比度越高,细节越多,复原效果越好。
PSNR是信号的最大功率与可能影响它的表示精度的噪声功率的比值,数值越高代表经过处理之后的图像失真越少,保留更多有价值的图像信息。
NIQE[30]指标表示为从测试图像中提取的NSS特征的MVG模型与从自然图像语料中提取的感知特征的MVG模型之间的距离。NIQE越小,越表明图像保留原图像的细节,避免图像大量失真,从而使图像更加自然、真实。水下图像客观指标评价结果如表1—表4。
表1 第1组水下图像所示客观指标评价结果
表2 第2组水下图像客观指标评价结果
表3 第3组水下图像客观指标评价结果
表4 第4组水下图像客观指标评价结果
从表1、表2、表3与表4可以得出,使用颜色迁移与水下图像合成方法的数据集,并且结合多尺度语义特征水下图像增强算法进行训练之后,该算法生成的水下图像UCIQE和PSNR评价指标相比较其他算法均有一定程度的改善,其中,UCIQE与PSNR整体上平均提升0.071 9与17.019 8,说明该算法使在增加水下图像细节比其他算法综合性能更加高,红通道信息补偿较更为完整。在NIQE整体上平均下降0.081 2,说明该算法生成的水下图像真实自然度比其他算法综合性能好。
UCIQE指标分析中,图1与图2在UDCP表现更好,图3与图4在UGAN表现更好。说明背景为绿色的水下图像用UDCP算法表现较为良好。背景为蓝色的图像UGAN表现良好,在深度学习算法中,多尺度语义特征水下图像增强算法在UCIQE指标中表现次之。PSNR指标分析中,多尺度语义特征水下图像增强算法表现突出,生成图像细节部分更多。NIQE指标中,非深度学习方法相比较深度学习算法处理的图像更为自然,深度学习中UWCNN表现更良好,多尺度语义特征水下图像增强算法表现次之。
为了验证高斯金字塔损失函数对算法的影响,对该函数进行消融实验。从表5得出,多尺度语义特征水下图像在UCIQE与PSNR指标上相对于未加高斯金字塔函数基础上分别提高0.023与1.921 3, NIQE降低0.081 2,表明使用高斯金字塔做损失函数可以使图像更加自然、颜色更丰富。图10表示用Canny算子处理的原图、未加高斯金字塔损失函数以及本文算法,可以清楚地看到边缘检测的部分较多,因此使用高斯金字塔可以增强细节信息。
对网络结构中的多尺度语义特征模块、注意力与注意力机制模块,将对应模型生成的水下图像进行测试,与多尺度语义特征水下图像增强进行对比。多尺度语义特征模块、注意力机制消融研究结果如表6、表7所示。
图10 Canny算子对应
表5 高斯金字塔损失函数消融实验对比
通过表6、表7得出,注意力机制模块UCIQE与PSNR指标上分别提高0.016 4与1.905 1;NIQE指标上降低0.640 7。多尺度语义特征模块UCIQE与PSNR指标上分别提高0.019 7与1.828 9;在NIQE指标上降低0.752 6。说明注意力机制模块与多度语义特征模块对水下图像有一定促进作用。
表6 注意力机制模块消融实验对比
表7 多尺度语义特征模块消融实验对比
针对水下武器系统在测试训练过程中的水下图像增强问题,提出一种基于编码解码的多尺度语义特征水下图像增强算法。1) 该算法对于复杂水下场景图像,能够有效地还原复杂水下图像真实色彩、辨别图像的亮区、暗区。2) 该算法在PSNR指标上表现较好,可以保留更多的细节部分,为后期精确检测奠定基础。3) 本算法模型较大,参数较多,网络运行复杂度较高。后续将剪枝算法应用在网络中,完成模型轻量化。