基于条件生成对抗网络的水下图像增强 下载: 1534次
1 引言
水下图像在获取海洋信息方面发挥着巨大的作用[1],例如海底石油勘探、沉船打捞等。但水对不同波长光的衰减速度不同,使得水下图像产生颜色失真;水中悬浮物的散射使得水下图像会出现“雾化”现象;水下光照弱会使得水下图像对比度低,这严重影响了水下图像的进一步利用。因此,需要对水下图像进行增强、复原等处理。
水下图像增强方法一般分为基于物理模型的方法、基于非物理模型的方法和基于学习的方法等。基于物理模型的方法[2-4]对水下图像成像模型的相关参数进行估计,通过反演退化过程重构清晰图像。基于非物理模型的方法[5-7]不考虑水下退化原理,通过调整图像的像素值来提高图像的清晰度。上述两种方法需考虑水下图像的先验信息,对于不同的水下图像的泛化能力较差,有一定的局限性。
基于学习的方法是采用数据驱动的方式估计水下模型参数,逆求解成像模型得到清晰的水下图像[8],或直接通过端到端的网络重构清晰的水下图像[9],但需要采集较多用于网络训练的成对水下数据,为解决该问题,可利用非成对的图像作为训练数据集。循环一致性生成对抗网络(CycleGAN)[10]利用非成对图像训练模型,实现两种图像风格的相互转换,但生成图像的结构信息与输入图像差距较大。在此基础上,Li等[11]提出一种基于弱监督的颜色校正方法,通过计算输入图像和生成图像的结构相似性来限定校正图像的内容信息,但没有针对生成图像的颜色进行判断,导致某些校正后的水下图像存在颜色不自然的现象。StarGAN[12]是一种条件生成对抗网络,可利用不同图像域的信息实现多域图像之间的转换。将StarGAN应用于水下增强任务中,将不同水下图像的颜色信息作为输入条件,可增强网络处理不同退化类型水下图像的能力,但由于其生成模型层数较少,难以在多种条件信息中得到不同图像的深层次信息,因此生成图像易丢失内容和结构信息。
针对基于学习的水下图像增强算法引入色偏、鲁棒性低的缺点,本文在StarGAN的基础上,提出一种基于条件生成对抗网络的图像增强方法。该网络在生成模型中加入多个残差密集块中的残差模块(RRDB),使得网络能更有效地学习图像的深层次特征;在损失函数中加入感知和结构相似性损失函数,分别限定增强后图像的高维特征信息和结构信息,提高增强图像和原图像的内容和结构的一致性,并加快网络的收敛速度。此外,在条件生成对抗网络中利用不同程度颜色衰减的图像作为条件信息,以增强网络修正水下图像颜色的能力。实验结果表明,该算法能有效地增强水下图像,去除颜色失真,提高对比度,提升图像的视觉效果。
2 相关工作
在水下图像增强的任务中,颜色失真、对比度低一直是研究人员重点关注的问题。为了修正水下图像颜色、提高图像对比度,本研究基于StarGAN可进行域间图像风格转换的特性,提升网络修正多种水下图像颜色的能力,并在生成模型中加入RRDB[13],以提取图像的更高层语义信息,从而提升网络模型对水下图像的增强效果。
2.1 StarGAN
StarGAN将图像风格从原本的“一对一”转换方式[10]转变成为“多对多”的方式,从而提高了图像风格转换的效率,其通过将图像的域信息(domain information)作为一维条件信息,实现生成模型对多域图像的转化,在解决网络训练效率低问题的同时,提升了网络的泛化能力,其框架如
2.2 RRDB
RRDB是将3个稠密块(dense block)进行残差连接得到的,其结构如
式中:H(x)为输出;x为输入;F(x)为经过卷积激活后的输出。RRDB模块中的残差结构使得模块无须直接学习完整的特征映射,只须拟合目标函数与输入之间的差,使得该映射对于输出的变化更敏感,缓解深层网络的梯度消失问题,有助于增加网络层数,提取图像的更多特征,从而有助于图像的重构。
图 2. RRDB网络结构。(a) RRDB模块;(b)稠密块结构
Fig. 2. RRDB network structure. (a) RRDB module; (b) dense block structure
RRDB模块中每一个稠密块[14]都具有
3 本文方法
本研究提出一种基于条件生成对抗网络的水下图像增强方法。该方法通过非成对的水下图像样本实现网络模型的训练,同时构造新的损失函数来约束网络输出的结果,从而得到颜色校正、细节增强的清晰图像。
3.1 方法框架
本文方法的框架如
为得到更好的图像增强效果,通过以下损失对生成模型G加以约束。
1)重构损失Lrec。通过重构损失,限定输入图像z和重构图像G(
2)感知损失LVGG和结构相似性损失[15]LSSIM。在StarGAN中,只通过判别模型区分图像真假和分类信息,未限制增强图像细节,因此容易使增强图像丢失内容结构信息。本研究通过加入感知损失LVGG和结构相似性损失LSSIM来限定输入图像z和增强图像
3.2 生成模型的构建
生成模型的网络结构如
如
3.3 判别模型的构建
所提出的判别模型网络结构如
3.4 损失函数的构建
本文网络通过生成模型和判别模型的相互对抗训练获得较好的水下图像增强效果,网络的训练过程就是对损失函数的优化过程,损失函数包括生成模型损失函数和判别模型损失函数。
3.4.1 生成模型损失函数
生成模型的损失函数可表示为
式中:L1为生成模型损失函数;Ladv_G为对抗损失函数;LTV为总变分损失函数[17];Lcolor_G为颜色损失。依据文献[ 11-12,17],各约束项的权重系数设置为λ1=7,λ2=3,λ3=10-4,λ4=10。各损失函数的作用如下:
1)对抗损失函数Ladv_G的作用是使生成模型学习目标样本的数据分布,其具体形式为
式中:
2)感知损失函数LVGG的作用是增强图像的视觉效果,使得图像更加真实,其具体形式为
式中:ϕj为第j个卷积层的激活值;N为图像经过VGG19[18]后得到的特征图数量。由于缺少成对的水下图像数据集,因此加入感知损失函数,以约束增强图像和输入图像的高维特征相似性,使图像更符合人眼视觉特性。
3)结构相似性损失函数LSSIM的作用是约束生成模型训练,使训练过程更加稳定,其具体形式为
式中:M为图像中像素数;p为像素块的中间像素值;aSSIM(p)=
4)总变分损失函数LTV的作用是降低生成图像的块效应现象,其具体形式为
式中:
5)颜色损失Lcolor_G的作用是确保增强图像的颜色与目标图像的颜色一致,其具体形式为
式中:Dcolor(c|
6)重构损失Lrec的作用是约束重构的图像,使重构图像与输入图像一致,其具体形式为
式中:G(
3.4.2 判别模型损失函数
本文判别模型的损失函数可表示为
式中:L2为判别模型损失函数;Ladv_D为对抗损失函数;Lcolor_D为颜色损失函数。
引入对抗损失函数Ladv_D的目的是使得判别模型能够准确地对生成数据和真实数据进行区分,其具体形式为
式中:DG(x)表示判别模型DG判断输入图像x为真实数据的概率;λgpEx^
颜色损失函数Lcolor_D的作用是使颜色判别模型将3种类型的水下图像匹配对应的颜色条件信息,其具体形式为
式中:Dcolor(c'|z)表示颜色判别模型Dcolor判断输出图像z的颜色信息与目标颜色条件信息c'一致的概率。
4 分析与讨论
本实验在Linux操作系统下,基于Pytorch深度学习框架实现。计算机的配置为NVIDIA 1080Ti GPU。采用Adam[20]优化器,β1为0.5,β2为0.999,将生成模型和判别模型的学习率设置成0.0001,批大小(batch size)为4。训练过程中每更新1次生成模型,更新5次判别模型。
4.1 数据集制作
本实验使用的图像中室内图像来自NYU[21]数据集,原始的水下图像来自YouTube中水下视频[22-24]。标签图像的制作方法如下:首先将水下视频进行截取,得到水下图像,并根据5位具有水下图像处理或计算机视觉背景的参与者的意见,将水下图像分为偏蓝、偏绿、偏黄3种类型,作为3种退化的水下图像;然后将室内图像作为清晰的图像;最后将4种类型的图像通过随机裁剪,得到大小为256 pixel×256 pixel的图像,作为本实验的4类标签图像。
图 6. 4类标签图像示例。(a)室内图像;(b)偏蓝的水下图像;(c)偏绿的水下图像;(d)偏黄的水下图像
Fig. 6. Four categories of label images. (a)Indoor image; (b) bluish underwater image; (c) greenish underwater image; (d) yellowish underwater image
表 1. 用于训练和测试的数据集图像数量
Table 1. Number of images used for training and testing
|
4.2 实验与分析
为验证所提方法的有效性,将其与CLAHE[25]、RED[26]、CycleGAN[10]、UWGAN[11]、StarGAN[12]等方法进行对比。为实验公平,CycleGAN、StarGAN方法中采用本实验的训练集、原网络结构和参数进行网络优化,最后将测试集输入到网络中,得到增强的图像;UWGAN方法直接在该训练好的网络上进行测试,得到增强的图像。
4.2.1 合成水下图像数据集的比较实验
将本文网络合成的不同颜色水下图像作为测试数据集,各种方法在该数据集上的处理结果如
由
图 7. 合成水下图像清晰化结果。(a)水下图像;(b) CLAHE算法结果;(c) RED算法结果;(d) CycleGAN算法结果;(e) UWGAN算法结果;(f) StarGAN算法结果;(g)本文方法结果;(h)原始图像
Fig. 7. Sharpness results of synthesized underwater images. (a) Underwater images; (b) results of CLAHE algorithm; (c) results of RED algorithm; (d) results of CycleGAN algorithm; (e) results of UWGAN algorithm; (f) results of StarGAN algorithm; (g) results of proposed method; (h) original images
为客观验证本文方法处理合成水下图像的有效性,使用4种图像质量评价指标——UCIQE[27]、信息熵、结构相似性(SSIM)和均方误差(MSE)进行定量比较实验。UCIQE是一种量化水下图像的非均匀颜色偏差、亮度、对比度的质量评价指标。信息熵用于评价图像所包含的信息量,在一定程度上反映了图像信息的丰富程度。SSIM用于评价两幅图像的亮度、对比度和结构信息的相似性。MSE用于评估图像像素值之间的差距。对比结果如
从
4.2.2 真实水下图像数据集的比较实验
为进一步验证所提方法的有效性,利用不同方法对各类水下图像进行处理,结果如
由
表 2. 合成图像中不同方法的UCIQE、信息熵的比较
Table 2. Comparison of UCIQE and information entropy using different methods in the synthesized image
|
表 3. 合成图像中不同方法的SSIM、MSE的比较
Table 3. Comparison of SSIM and MSE using different methods in the synthesized image
|
图 8. 蓝色图像清晰化结果。(a)水下图像;(b) CLAHE算法结果;(c) RED算法结果;(d) CycleGAN算法结果;(e) UWGAN算法结果;(f) StarGAN算法结果;(g)本文方法结果
Fig. 8. Sharpness results of the bluish underwater images. (a) Underwater images; (b) results of CLAHE algorithm; (c) results of RED algorithm; (d) results of CycleGAN algorithm; (e) results of UWGAN algorithm; (f) results of StarGAN algorithm; (g) results of proposed method
图 9. 绿色图像清晰化结果。(a)水下图像;(b) CLAHE算法结果;(c) RED算法结果;(d) CycleGAN算法结果;(e) UWGAN算法结果;(f) StarGAN算法结果;(g)本文方法结果
Fig. 9. Sharpness results of the greenish underwater images. (a) Underwater images; (b) results of CLAHE algorithm; (c) results of RED algorithm; (d) results of CycleGAN algorithm; (e) results of UWGAN algorithm; (f) results of StarGAN algorithm; (g) results of proposed method
图 10. 黄色图像清晰化结果。(a)水下图像;(b) CLAHE算法结果;(c) RED算法结果;(d) CycleGAN算法结果;(e) UWGAN算法结果;(f) StarGAN算法结果;(g)本文方法结果
Fig. 10. Sharpness results of the yellowish underwater images. (a) Underwater images; (b) results of CLAHE algorithm; (c) results of RED algorithm; (d) results of CycleGAN algorithm; (e) results of UWGAN algorithm; (f) results of StarGAN algorithm; (g) results of proposed method
为客观验证所提方法的有效性,本实验采用无参考图像评价指标UCIQE和信息熵进行定量比较,对比结果如
从
4.2.3 RRDB模块的分析实验
为进一步证明在生成模型中加入的RRDB模块的有效性,本实验在相同训练集和参数设置下,将网络中的RRDB模块替换为原始StarGAN的residual block作为对比网络。在对比实验中,使用相同数量的residual block和RRDB模块,最终实验结果的主观效果如
表 4. 真实图像中不同方法的UCIQE、信息熵的比较
Table 4. Comparison of UCIQE and information entropy using different methods in the real image
|
图 11. 不同模块的对比实验结果。(a)水下图像;(b) residual block结果;(c)本文方法结果
Fig. 11. Comparison of experimental results with different modules. (a) Underwater images; (b) results with residual block; (c) results of proposed method
从
为客观验证RRDB模块的效果,本实验对不同网络的UCIQE和信息熵进行比较,对比结果如
从
表 5. 不同网络的UCIQE、信息熵的对比结果
Table 5. Comparison results of UCIQE and information entropy of different networks
|
5 结论
水下图像受特殊成像环境的影响,存在颜色失真、对比度低等问题,因此本研究提出一种基于条件生成对抗网络的水下图像增强方法。该方法加入颜色条件信息,通过颜色判别模型对图像的颜色信息进行分辨,提高网络修正图像颜色的能力;并在生成模型中加入多个基于残差连接的残差稠密块,提高网络学习图像深层次特征的能力;同时引入感知损失和结构相似性损失,提高了增强图像与输入图像的内容相似度,避免了建立成对的水下图像数据库。实验结果表明,本文方法可以有效去除颜色失真,提高对比度,提升图像的视觉效果。
[1] 杜雪, 廖泓舟, 张勋. 基于深度卷积特征的水下目标智能识别方法[J]. 水下无人系统学报, 2019, 27(3): 260-265.
Du X, Liao H Z, Zhang X. Underwater target recognition method based on deep convolution feature[J]. Journal of Unmanned Undersea Systems, 2019, 27(3): 260-265.
[2] Berman D, Treibitz T, Avidan S. Diving into haze-lines: color restoration of underwater images[J]. Proceedings of British Machine Vision Conference, 2017, 1(2): 1-12.
[3] 王国霖, 田建东, 李鹏越. 基于双透射率水下成像模型的图像颜色校正[J]. 光学学报, 2019, 39(9): 0901002.
[4] 蔡晨东, 霍冠英, 周妍, 等. 基于场景深度估计和白平衡的水下图像复原[J]. 激光与光电子学进展, 2019, 56(3): 031008.
[5] HenkeB, VahlM, Zhou ZL. Removing color cast of underwater images through non-constant color constancy hypothesis[C]∥2013 8th International Symposium on Image and Signal Processing and Analysis (ISPA), September 4-6, 2013, Trieste, Italy. New York: IEEE, 2013: 20- 24.
[6] 代成刚, 林明星, 王震, 等. 基于亮通道色彩补偿与融合的水下图像增强[J]. 光学学报, 2018, 38(11): 1110003.
[7] Serikawa S, Lu H M. Underwater image dehazing using joint trilateral filter[J]. Computers & Electrical Engineering, 2014, 40(1): 41-50.
[8] Hou MJ, Liu RS, FanX, et al. Joint residual learning for underwater image enhancement[C]∥2018 25th IEEE International Conference on Image Processing (ICIP), October 7-10, 2018, Athens, Greece. New York: IEEE, 2018: 4043- 4047.
[9] Li J, Skinner K A, Eustice R M, et al. WaterGAN: unsupervised generative network to enable real-time color correction of monocular underwater images[J]. IEEE Robotics and Automation Letters, 2018, 3(1): 387-394.
[10] Zhu JY, ParkT, IsolaP, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 2242- 2251.
[11] Li C Y, Guo J C, Guo C L. Emerging from water: underwater image color correction based on weakly supervised color transfer[J]. IEEE Signal Processing Letters, 2018, 25(3): 323-327.
[12] ChoiY, ChoiM, KimM, et al. StarGAN: unified generative adversarial networks for multi-domain image-to-image translation[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 8789- 8797.
[13] Wang XT, YuK, Wu SX, et al.ESRGAN: enhanced super-resolution generative adversarial networks[M] ∥Lecture Notes in Computer Science. Cham: Springer International Publishing, 2019: 63- 79.
[14] HuangG, Liu Z, van der Maaten L, et al. Densely connected convolutional networks[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 2261- 2269.
[15] Zhao H, Gallo O, Frosio I, et al. Loss functions for image restoration with neural networks[J]. IEEE Transactions on Computational Imaging, 2017, 3(1): 47-57.
[16] Wang S H, Phillips P, Sui Y X, et al. Classification of Alzheimer's disease based on eight-layer convolutional neural network with leaky rectified linear unit and max pooling[J]. Journal of Medical Systems, 2018, 42(5): 85.
[17] JohnsonJ, AlahiA, Li FF. Perceptual losses for real-time style transfer and super-resolution[M] ∥Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 694- 711.
[18] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. ( 2015-04-10)[2019-08-28]. https: ∥arxiv.org/abs/1409. 1556.
[19] GulrajaniI, AhmedF, ArjovskyM, et al. Improved Training of Wasserstein GANs[EB/OL].[2019-08-28].https: ∥arxiv.org/abs/1704. 00028.
[20] Kingma DP, Ba J. Adam: a method for stochastic optimization[EB/OL]. ( 2017-01-30)[2019-08-28]. https: ∥arxiv.org/abs/1412. 6980.
[21] SilbermanN, HoiemD, KohliP, et al. Indoor segmentation and support inference from RGBD images[M] ∥Computer Vision-ECCV 2012. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012: 746- 760.
[22] WildCreatures. Mexico's magical underwater world[EB/OL]. ( 2015-10-21)[2019-08-28]. https: ∥www. youtube. com/watch?v=lGczvSMlMcs.
[23] DALLMYD. Found jewelry underwater in river while scuba diving for lost valuables![EB/OL]. ( 2018-04-07)[2019-08-28]. https: ∥www. youtube. com/watch?v=-jSirHV QAOk.
[24] Ocean+TV. Underwater images at Twelve Apostles.[EB/OL]. ( 2014-05-26)[2019-08-28]. https: ∥www. youtube. com/watch?v=UpwG8C1m2es.
[25] ZuiderveldK. Contrast limited adaptive histogram equalization[M] ∥Graphics Gems. Amsterdam: Elsevier, 1994: 474- 485.
[26] Galdran A, Pardo D, Picón A, et al. Automatic Red-Channel underwater image restoration[J]. Journal of Visual Communication and Image Representation, 2015, 26: 132-145.
[27] Yang M, Sowmya A. An underwater color image quality evaluation metric[J]. IEEE Transactions on Image Processing, 2015, 24(12): 6062-6071.
Article Outline
晋玮佩, 郭继昌, 祁清. 基于条件生成对抗网络的水下图像增强[J]. 激光与光电子学进展, 2020, 57(14): 141002. Weipei Jin, Jichang Guo, Qing Qi. Underwater Image Enhancement Based on Conditional Generative Adversarial Network[J]. Laser & Optoelectronics Progress, 2020, 57(14): 141002.