基于改进CycleGAN的浑浊水体图像增强算法研究

2022-07-27 09:18李宝奇黄海宁刘纪元刘正君韦琳哲
电子与信息学报 2022年7期
关键词:图像增强尺度水体

李宝奇 黄海宁 刘纪元 刘正君 韦琳哲

(中国科学院声学研究所 北京 100190)

(中国科学院先进水下信息技术重点实验室 北京 100190)

1 引言

我国正处于从近海防御到远海防御的过渡期,海洋装备体系正朝着无人化、智能化的方向快速发展。光学成像具有信息丰富、分辨率高和成本低等优点,是水下近距离环境感知的主要手段,广泛用于水下目标确认、水下地形勘测、海底物种监测、海底管道探伤、海底光缆铺设、无人潜航器导航、定位、避障和目标识别等多种场合[1]。然而,与空气介质相比,水体对于光的衰减作用更为严重,主要表现在对于光的选择性吸收和强烈散射,尤其是在浑浊水体条件下,受多重散射的作用水下光学图像的可视性会变得更差,增加了水下光学图像的解释难度。

图像增强通过一定技术手段有选择地突出图像中感兴趣的特征或者抑制图像中某些不需要的特征,使图像与视觉响应特性相匹配。Hitam等人[2]针对水下图像增强而提出了一种混合对比度受限自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization, CLAHE)颜色模型。该方法通过在RGB和HSV颜色模型上执行CLAHE算法,再使用欧几里德范数将两组结果结合在一起,来降低水下图像噪声和伪影。Ghani等人[3]提出一种双图像瑞利拉伸对比度受限自适应直方图的新方法,该方法结合了全局和局部对比度校正,通过增加图像细节改善水下图像的可见度。Li等人[4]针对水下光线吸收和散射的影响导致的目标偏色与模糊问题,提出了一种基于颜色校正和水下图像去雾的混合方法,以改善退化的水下图像的视觉质量。Deng等人[5]提出了一种水下图像增强算法RLSCD (Removing Light Source Color and Dehazing),RLSCD有效改善水下图像偏色问题。虽然上述图像增强算法可以实现一定浑浊度范围下的图像恢复,但是恢复后的图像与低浑浊度下图像存在明显区别,无法恢复到同等画质。

深度学习[6–8]的出现从根本上改变了人们处理复杂和不确定性问题的方法,与传统的机器学习和信号处理方法相比,深度学习模拟人类视觉神经系统的层次体系,含有更多的隐含单元层,通过对原始数据逐层的非线性变换,可以得到更高层次的、更加抽象的特征表达,高层次的表达能够强化输入数据的区分能力,同时削弱不相关因素的不利影响[9,10]。Goodfellow等人[11]提出生成对抗网络(Generative Adversarial Networks, GAN)。GAN由生成式模型和判别式模型组成,生成模型用于捕捉样本数据的分布,判别模型用于判断生成数据是否正确,GAN为获取大量的样本数据提供了非常好的解决思路。为了提高GAN模型的数据生成质量和稳定性,Radford等人[12]提出了深度卷积生成对抗网络(Deep Convolution Generative Adversarial Networks, DCGAN)。Arjovsky等人[13]提出WGAN(Wasserstein GAN)模型。WGAN使用Earth-Mover保证了生成样本的多样性。随着GAN理论体系的完善[14,15],其研究成果促进了图像增强的发展。Isola等人[16]提出了Pix2Pix模型。Pix2Pix实现了基于GAN的图像迁移任务,但Pix2Pix要求的输入必须是成对图像。为了解决输入图像成对的限制,Zhu等人[17]基于GAN和对偶学习设计了循环一致性对抗网络(CycleGAN)。CycleGAN利用双重任务之间的反馈信号对模型进行训练来实现非配对图像迁移学习任务。在此基础上,Fabbri等人[18]提出了一种基于CycleGAN的水下图像颜色校正方法,降低水下图像的偏色和噪声的影响。不过,CycleGAN生成器网络特征提取层采用固定大小的卷积核容易造成图像信息的丢失;另外,原始循环一致损失函数仅是对输入图像和重构图像的颜色约束,无法满足生成图像与真实图像结构上的相似。对生成器网络而言,通常的做法是增加模型的深度[19]或者增加模型的尺度[20]。随着对卷积神经网络研究的深入,Li等人[21]提出了SKNet网络模块。SKNet在多尺度模块的基础上设计了一个特征选择机制,即通过学习能保留最有价值的多尺度特征层,SKNet采用大小不同卷积核,显然会增加生成器网络的参数和计算量。为了保证生成图像与输入图像的结构相似性,Huang等人[22]提出了基于SSIM (Structural Similarity index) 的循环生成对抗网络SS-GycleGAN。SS-GycleGAN的引入会增加输入图像与重构图像之间结构的相似性,进而提高生成图像的质量。不过,SS-GycleGAN仅在一个尺度上对输入图像和重构图像进行约束。

针对上述方法存在的问题,本文首先提出一种兼顾多尺度通道可选择和计算量低的特征提取单元BSDK (Bottleneck Selective Dilated Kernel),并利用BSDK设计了一个新的生成器网络BSDKNet。接着,提出了一种基于多尺度结构相似性的循环一致损失函数MLF (Multi-scale Loss Function),从多个尺度上保证输入图像(浑浊水体图像)与生成图像(清澈水体图像)结构信息相似。最后,在Cycle-GAN框架内通过结合BSDKNet和MLF(BM-Cycle-GAN)实现浑浊水下目标图像到清澈水下目标图像快速、准确的迁移生成。

2 基于改进CycleGAN的浑浊水体图像增强算法

本文通过改进生成器网络和循环一致损失函数来改善浑浊水体图像增强的精度和速度。本节首先介绍浑浊水体图像增强算法BM-CycleGAN网络结构、多尺度损失函数MLF和训练过程。接着介绍BSDK特征提取单元和BSDKNet生成器网络结构。

2.1 BM-CycleGAN

BM-CycleGAN由一组对称的生成器{G,F}、两个判别器{DX,DY}和循环一致损失函数MLF组成,网络结构如图1所示。在BM-CycleGAN上路,浑浊图像x经生成器G生成清澈生成图像G(x),再经生成器F生成浑浊重构图像F(G(x))。在BM-Cycle-GAN下路,清澈图像y经生成器F生成浑浊生成图像F(y), 再经生成器G生成清澈重构图像G(F(y))。生成器 {G,F}的网络结构一样、将在2.2节做重点介绍。在BM-CycleGAN中路,判别器DX负责区分浑浊图像x和浑浊生成图像F(y)的 真假;判别器DY负责区分清澈图像y和清澈生成图像G(x)的真假。判别器{DX,DY}的网络结构一样,均采用PatchGAN结构[17]。在BM-CycleGAN上路和下路的外侧,循环一致损失函数MLF通过减少输入图像与重构图像的差异来引导模型的训练。

图1 BM-CycleGAN网络结构

假定x~pdata(x),y~pdata(y) 代表X,Y两个域中数据服从的概率分布。BM-CycleGAN生成器G:X →Y的单项损失函数为

将式(1)、式(2)与多尺度循环一致损失函数MLF合并可以得到BM-CycleGAN总损失函数为

2.2 BSDK模块和BSDKNet生成器网络

BBB(Bottleneck Building Block)模块、SK模块、BSK模块和BSDK模块的关系如图2所示。图2(a)为CycleGAN采用的BBB模块,它由两个1×1 的卷积层和1个3 ×3的卷积层组成,第1个1×1卷 积层用于通道压缩,第2个1 ×1卷积层用于通道扩张。图2(b)为SK模块,它由分裂层、多尺度卷积层、融合层和选择层组成。输入特征经分裂层送入多尺度分组卷积层,得到多个尺度的输出特征;接着,在融合层对输出特征进行相加融合;最后,在选择层对多尺度特征进行筛选来提高提取特征的准确性。图2(c)是BSK模块,是SK模块的BBB形式。输入特征首先经过第1个 1 ×1的卷积层进行通道压缩,然后经过SK模块进行多尺度特征选择,最后经过第2个 1×1的卷积层进行通道扩张。图2(d)为BSDK模块,它在图2(c)结构的基础上将分裂层替换成分割层,分割层实现输入特征通道等分;另外,将大尺寸卷积核 (5×5和7×7) 替换为深度可分离空洞卷积[23],深度可分离空洞卷积首先将标准卷积分解成深度可分离卷积和点卷积[24],然后在深度可分离卷积中引入1个称作空洞率[25,26]的新参数,并利用扩张率控制卷积核处理数据时各值的间距;最后,利用拼接层实现多尺度特征通道拼接融合。

图2 BSDK特征提取单元

对于一个任意的输入特征T∈ΦH×W×M,其中H×W为输入特征的尺寸,M为输入特征的通道数。输入特征T进入BSDK模块的两个支路网络:左侧支路负责多尺度特征提取和选择;右侧支路保持输入特征T不变,并最后与左侧支路网络的输出特征相加。对于左侧支路网络,输入特征T首先经过压缩层,其输出特征的数学表达为

其中,Rrdf为该层RDF尺寸,R为该层卷积核尺寸,κ为该层空洞率大小。例如,一个卷积核尺寸为3 ×3, 空洞率2 的空洞卷积层,RDF的实际覆盖范围为Rrdf= 5。 增大空洞率κ可以扩大卷积层的感受野。因此,BSDK可以用更少的参数和计算量实现与BSK相当的特征提取能力。

接着,对K个多尺度深度可分离空洞卷积层的输出Vk在通道项进行拼接融合,其输出特征的数学表达式为

BSDKNet沿用CycleGAN原始生成器的网络架构,包括编码器、迁移器和解码器组成,其网络结构如图3所示。编码器由保持层(第1卷积层)和下采样层(第2~5卷积层)组成,迁移器由BSDK模块(第6 ~1 4 卷积层)组成,解码器由上采样层(第15~18卷积层)和输出保持层(第19卷积层)组成。本文BSDK卷积核尺寸为3×3,设置4个不同空洞率的特征层,空洞率分别为1, 2, 3和4,分别对应SK模块卷积3×3, 5×5, 7×7和9×9 4个尺度的卷积核。

图3 生成器网络BSDKNet结构

以BM-CycleGAN上路生成器G说明浑浊水体图像在BSDK网络中特征尺寸变化过程。浑浊水体图像首先经输出保持层,尺寸保持不变、通道数由3变为64。接着,经过下采样层,通道数逐层放大1倍、特征尺寸减少1倍,总共4个下采样层,最终特征尺寸变为输入图像的1/16、通道数为256。然后,经过9个由BSDK堆叠组成的生成器,每一层的尺寸和通道数保持不变。随后,经过上采样层,通道数逐层减少1倍、尺寸增大1倍,总共4个上采样层,最终输出特征尺寸与输入图像相等、通道数为64。最后,经过输出保持层,生成与输入图像通道数相同的清澈水下目标图像。

3 实验分析

为了验证生成器网络BSDKNet和循环一致损失函数MLF对CycleGAN性能的影响,实验以分类准确率、生成器网络参数大小和生成器运算时间作为模型的定量评价指标。设计实验1,以原始Cycle-GAN模型为参考,比较分析BM-CycleGAN与其它模型之间的性能差异。设计实验2,比较分析BSDKNet网络和MLF损失函数对BM-CycleGAN的影响。设计实验3,比较分析不同权重系数的MLF对BM-CycleGAN性能影响。设计实验4,比较分析不同多尺度系数的BSDKNet对BM-CycleGAN性能影响。

3.1 水下浑浊水体图像增强数据集

为了更好地检验BM-CycleGAN对浑浊水体图像的增强效果,我们搭建了一个浑浊水体和清澈水体环境,其中浑浊水体环境的光衰减系数大于0.6,清澈水体环境的光衰减系数小于0.2。通过水下摄像机对两种水体下的目标进行图像采集,并创建浑浊清澈水体数据集TC(Turbid and Clear)。数据集TC浑浊条件下的圆柱形目标和长方形目标的数量分别是72和63,清澈条件下的圆柱形目标和长方形目标的数量分别是79和65。图像的尺寸为300像素× 300像素,剪裁至256像素× 256像素送入模型训练和测试。

3.2 实验1:浑浊水体图像增强算法性能比较

本实验比较分析CycleGAN, SS-CycleGAN,BSK-CycleGAN和BM-CycleGAN之间的性能差异,其中CycleGAN表示原始循环一致生成对抗网络;SS-CycleGAN的生成器网络基于BBB模块,循环一致损失函数采用文献[22];BSK-CycleGAN的生成器网络基于BSK模块,循环一致损失函数采用文献[17];BM-CycleGAN的生成器网络为BSDKNet,循环一致损失函数为MLF。保存Cycle-GAN, SS-CycleGAN, BSK-CycleGAN和BM-Cycle-GAN迭代1000次时的生成模型,并生成清澈水下目标图像。记录4个模型的分类准确率、参数大小和运算时间,实验结果如表1所示。

表1 浑浊水体图像增强算法性能比较

从表1可以发现,BM-CycleGAN 的分类准确率高于CycleGAN, SS-CycleGAN和BSK-CycleGAN,分别高3.27%, 2.54%和1.64%;参数比Cycle-GAN, SS-CycleGAN和BSK-CycleGAN 分别减少4.15MB, 4.15MB和11.39MB;运算时间比Cycle-GAN, SS-CycleGAN和BSK-CycleGAN分别降低0.107 s, 0.107 s和0.034 s。在参数和运算时间方面,CycleGAN和SS-CycleGAN的生成器基于BBB模块(标准卷积),计算成本高;BSK-CycleGAN的生成器网络基于BSK模块(分组卷积),计算成本较低,不过BSK模块每个多尺度特征层的输入特征数量与BBB模块相同,模型参数较大;BM-CycleGAN的生成器基于BSDK模块,为深度可分离卷积,计算成本最低,同时BSDK多尺度特征层的输入特征数量之和与BBB模块相等,因此模型参数依然保持较低水平。综合考虑分类准确率、参数大小和运算时间3个评价指标,BM-CycleGAN优于其他模型。

为了更直观地说明本文算法的性能,将原始圆柱形目标浑浊图像(图4(a))和原始长方形目标浑浊图像 (图4(c))分别送入训练好的BM-CycleGAN的生成模型中,得到清澈圆柱形目标生成图像(图4(b))和清澈长方形目标生成图像(图4(d)),图4(b)和图4(d)与原始清澈目标图像特性以及背景纹理非常接近,达到了假乱真的水平。

图4 浑浊水体增强效果

3.3 实验2:BSDKNet生成器网络和MLF损失函数对BM-CycleGAN的影响

本实验比较BSDKNet生成器网络和MLF损失函数两个因素对BM-CycleGAN的影响。当两个因素都不起作用时,记做CycleGAN(原始循环一致生成对抗网络);当仅MLF损失函数起作用时,记做M-CycleGAN;当仅BSDKNet生成器网络起作用时,记做B-CycleGAN;当两个因素都起作用时,记做BM-CycleGAN(本文方法)。保存4种模型迭代1000次时的生成模型,并生成清澈水下目标图像。记录模型的分类准确率、参数大小和运算时间,实验结果如表2所示。

从表2可以发现,M-CycleGAN, B-CycleGAN和BM-CycleGAN比CycleGAN的分类准确率分别提高0.99%, 2.17%和3.27%,其中B-CycleGAN比M-CycleGAN的分类准确率提高1.18%。由此可见,BSDKNet生成器网络和MLF损失函数两个因素均能改善CycleGAN的性能。M-CycleGAN仅启用MLF损失函数,在MLF的约束下,分类准确率比CycleGAN提高0.99%,模型的参数大小和运算时间相同。B-CycleGAN仅启用BSDKNet生成器网络,在BSDKNet的作用下,分类准确率比Cycle-GAN提高2.17%,模型的参数大小减少4.15MB,运算时间降低0.107s。综合考虑分类准确率、参数大小和运算时间3个评价指标,BSDKNet生成器网络比MLF损失函数对CycleGAN的改善作用更大。此外,从表2也可以进一步发现和验证,模型的参数大小和运算时间由生成器网络决定,与循环一致损失函数无关。

表2 BSDKNet生成器网络和MLF损失函数对BM-CycleGAN性能的影响

3.4 实验3:不同权重系数MLF对BM-CycleGAN的影响

本实验比较不同权重系数MLF对BM-CycleGAN的影响,生成器为BSDKNet,通过改变MLF权重系数得到不同条件下BM_CycleGAN模型,其中多尺度循环一致损失函数MLF权重系数分别为1, 2,3, 4, 5, 6, 7, 8和9。保存9种模型迭代1000次时的生成模型,并生成清澈水下目标图像。由于改变MLF的权重系数不影响生成器的参数大小和模型的运算时间,本实验仅记录分类准确率,实验结果如表3所示。

从表3可以发现,BM-CycleGAN的分类准确率呈现先增大后减小的规律,在权重系数等于6的条件下,BM-CycleGAN的分类准确率最高等于98.37%。也就是说,合理的权重系数能提高BM-CycleGAN的性能。

表3 不同权重系数(1-9)MLF对BM-CycleGAN性能的影响

3.5 实验4:不同多尺度系数的BSDKNet对BMCycleGAN性能的影响

本实验比较不同多尺度系数BSDKNet对BMCycleGAN性能的影响。循环一致损失函数为MLF,权重系数等于6。通过改变BSDKNet多尺度系数得到不同条件下的BM-CycleGAN模型,轻量化生成器BSDKNet的多尺度系数分别为1, 2, 4和8,保存4种模型迭代1000次时的生成模型,并生成清澈水下目标图像,记录分类准确率、参数大小和运算时间,实验结果如表4所示。

从表4可以看出,BM-CycleGAN的分类准确率随 BSDKNet多尺度系数增大而增加,模型参数保持不变,运算时间逐渐增大。可见,BSDKNet模块在增大多尺度系数的条件下,模型的参数并没有增加。计算时间的增加主要是由于算法在计算多尺度卷积时,采用的是逐个操作。本文兼顾分类准确率和运算时间,本文多尺度系数等于4。

表4 不同多尺度系数(1,2,4,8)条件下的BSDKNet对BM-CycleGAN性能的影响

3.6 讨论

CycleGAN为浑浊水体图像增强提供了解决思路,实验从分类准确率、参数大小和运算时间3个方面比较了本文浑浊水体图像增强算法BM-Cycle-GAN与经典算法(CycleGAN)和最新算法(SS-Cycle-GAN和BSK-CycleGAN)性能上的差异,也进一步分析了生成器网络和循环一致损失函数两个因素及其参数选取如何影响BM-CycleGAN的性能。对于CycleGAN而言,优化生成器网络和循环一致损失函数都能改善浑浊水体图像增强效果,不过循环一致损失函数不影响生成器网络运算时间和参数大小,它只影响模型的训练复杂度,实验1和实验2的结果也验证了这一事实。BSDK模块在BSK模型的基础上,利用深度可分离卷积降低了模型参数和计算量,同时改进通融合方式提高了BSDKNet的特征提取能力,在性能上优于BSK模块。MLF通过引入多尺度结构相似性函数,增加了生成图像与原始图像在结构上的相似性,使增强后的图像与原始清澈水体图像更相似。

4 结束语

浑浊水体图像增强具有重要的理论研究和实际应用价值。在CycleGAN模型框架内,本文提出了一种新的生成器网络BSDKNet和循环一致损失函数MLF,新的生成器网络和循环损失函数有效提升了CycleGAN对浑浊水体图像增强的精度和效率,经理论分析和仿真实验证明了新方法的有效性。BM –CycleGAN可实现与低浑浊度下水下光学图像相同画质的图像增强效果,增强后水下光学图像具有更强的解释性。

对浑浊水体增强任务,下一步的研究重点包括:(1) 研究具有先验知识的浑浊水体图像增强模型;(2) 研究更多种类的浑浊水体图像增强模型。

猜你喜欢
图像增强尺度水体
一种基于轻量级深度网络的无参考光学遥感图像增强算法
农村黑臭水体治理和污水处理浅探
多源污染水体水环境质量提升技术应用
生态修复理念在河道水体治理中的应用
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
复合修复技术在城市黑臭水体治理中的应用评价
财产的五大尺度和五重应对
基于图像增强的无人机侦察图像去雾方法
宇宙的尺度