APP下载

基于改进条件生成对抗网络的水下图像增强方法

2022-09-01彭晏飞顾丽睿张曼婷

液晶与显示 2022年6期
关键词:滤波阈值颜色

彭晏飞,李 健,顾丽睿,张曼婷

(辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105)

1 引 言

由于陆地资源急剧消耗,对海洋资源的探索愈发刻不容缓。拍摄的水下图像在获取海洋资源信息中具有不可替代的作用,例如海洋石油勘探、海洋沉船探索[1]等。然而太阳光在水中传播时会受到水中介质的影响,会导致太阳光中的红色光的衰减最为严重,因此拍出的图像会呈现偏蓝或偏绿的颜色色差。这一现象影响了对水下图像的利用,因此对水下图像的增强必不可少。

近年来,水下图像的增强方法有很多种。对水下图像的增强大致可分为物理模型[2]、非物理模型[3]和学习[4]这3 种方法。基于物理模型的方法是对水下图像的色彩衰减过程采用数学建模,获取模型参数,并执行反转衰减过程以获得清晰的水下图像。王晓琦等人[5]采用灰度世界补偿通道矫正色偏,结合小波分解对水下图像进行增强。基于非物理模型的方法通过调整图像像素值改善视觉质量。何笑等人[6]提出了融合引导滤波与小波变换结合的算法,在保留图像细节的同时克服了光照不均匀对图像的影响。基于学习的方法近年来逐渐成为研究热点,如循环生成对抗网络[7]采用不成对的数据集训练网络模型,实现对图像的增强处理,但是,得到的图像结构信息与输入图像的差距明显。因此,Li 等[8]给出一种弱监视颜色补偿方法,通过计算输入图像和网络生成图像之间的结构相似性来补偿内容信息,但未对生成的图像进行颜色校正。Fu 等人[9]从CNN 出发,考虑远程上下文信息,提出一种基于图卷积网络(GCNs)模型,将传统的CNN 和GCN 融合为单一框架。

本文对传统条件生成对抗网络(Conditional⁃GAN)进行改进,在编码与解码过程中引入链接块,链接块由5 层残差块组成,并在编码解码的每层对应卷积处加入了跳跃连接结构。对水下图像进行处理时,先将原始图像使用动态阈值算法进行全局颜色校正,将校正后图像输入到改进后CGAN 网络模型中进行训练,之后将网络模型生成好的图像采取双边滤波处理,使处理后的图像拥有较好的视觉效果。同时使用L1与L2损失结合和焦点损失函数,用来解决图像颜色色差和样本不平衡问题。此方法可有效去除水下图像的颜色失真,消除图像模糊,获得了较好的图像增强效果。

2 相关理论

白平衡是相机领域一个非常重要的概念,可以解决一系列的颜色恢复和色调问题。白平衡是由电子图像通过再现真色而产生的。在专业成像领域,对白平衡的使用很早。能准确反映物体颜色状态的相机图像的获取有手动白平衡、自动白平衡等方法。动态阈值算法[10]归属于自动白平衡算法。与传统的算法不同,动态阈值使用图像统计而不是临时假设来估计参考白点。

生成式对抗网络(GAN)是深度学习领域研究热点之一[11]。生成对抗网络最早是由Goodfellow于2014 年提出的。GAN 可看作为一个由随机噪声z到输出图像映射的模型,而条件生成对抗网络[12]与传统GAN 相比则添加了条件信息,条件信息y作为生成网络和判别网络的输入。本方法中y为水下图像。将随机噪声z与条件信息y同时输入到生成网络中,生成网络输出增强后的水下图像。将真实图像x与条件信息y一起输入到判别网络中,判别网络输出判别概率,概率在[0,1]。CGAN 的网络模型优化可以总结为二元极小极大值的对抗过程,目标函数V(D,G)可表示为

图1 CGAN 模型Fig.1 CGAN model

残差网络(ResNet)是由Microsoft Research 4 位专家提出的卷积神经网络[14]。他们研究发现,伴随着网络层数加深,网络发生退化现象。当网络发生退化时,浅层网络能够获得比深层网络更优秀的训练结果。因此若把浅层特征传输至深层,那么效果不比浅层的网络效果差。在浅层与对应的深层之间可以采用一条直接映射获得此效果。基于使用直接映射这种方式来连接网络不同层的思想,残差网络由此被提出。

3 本文方法

本文方法首先对水下图像使用动态阈值算法进行全局的颜色初步矫正,之后将处理后图像和正常图像输入到改进的条件生成对抗网络中进行训练,最后将训练好的图像进行双边滤波去噪处理,进而使网络中生成的图像更接近正常图像,拥有更好的视觉效果。本文方法整体流程如图2 所示。

图2 本文算法流程图Fig.2 Algorithm flow chart of this paper

3.1 动态阈值算法

3.1.1 白点检测

将图像从RGB 色彩空间转换到YCrCb 色彩空间,并且对图像进行划分,各区域为100×100像素,之后计算各区域的Cb、Cr分量平均值Mb、Mr,然后使用如式(2)和式(3)计算各区域的Cb、Cr分量绝对差的累加值Db、Dr。

其中N为每个区域的像素数。

若Db、Dr的值较小,则忽略此区域,因为此区域的颜色分布平均。统计其他区域的Mb、Mr、Db、Dr的平均值作为图像的Mb、Mr、Db、Dr值。使用式(4)和式(5)初步确定白色参照点。

最后再使用公式(9)~(11)计算最终每个通道的颜色值。

其中R、G、B为在原始的颜色空间中值。

经过动态阈值算法处理后的水下图像会在全局范围内进行颜色修正,如图3 所示。

图3 图像预处理。(a)原始水下图像;(b)动态阈值预处理后的水下图像。Fig.3 Image pre-processing. (a) Original underwater image; (b) Underwater image after dynamic threshold pre-processing.

3.2 CGAN 模型

本文受传统的CGAN 模型的启发。由于随机噪声z作为生成网络输入会导致每次生成的图像有很大差异,因此本文将作为约束条件的随机噪声去除,将模型输入的条件信息y即原始的水下图像作为生成网络的唯一输入。本文的CGAN模型如图4 所示。

图4 本文CGAN 模型Fig.4 CGAN model of this paper

将正常的水下图像输入进生成网络,经过生成网络的增强输出生成图像。再将正常清晰的图像与生成的图像同时输入到判别网络中,由判别网络输出0~1 的概率值,并且计算误差,更新参数。

3.2.1 生成网络

本文使用的生成网络在不丢失图像重要信息的前提下对图像进行增强。设计生成器时采用U-Net 模型[15]。模型中包含提取图像信息的下采样过程和还原图像信息的上采样过程,即编码和解码。U-Net 模型与传统编码-解码模型不同,在网络结构中引入跳跃连接,可以缓解在解码时的信息冗余,也可以减轻梯度无法到达浅层网络而发生的梯度消失问题。同时在编码与解码之间引入链接块,链接块由5 层残差网络组成,对图像不同的相似特征进行提取和组合。本文的生成器结构如图5 所示。

图5 生成器结构Fig.5 Generator structure

生成器网络采用跳跃连接结构,将模型浅层与深层进行连接,对浅层与其对应的深层提取的特征进行融合。在编码过程中引入批处理归一化层和LeakyRelu 激活函数。批处理归一化层旨在提高网络泛化能力,防止过拟合;LeakyRelu 激活函数目的在于加速收敛。在解码过程中采用批处理归一化层和LeakyRelu 激活函数的同时,加入Dropout 操作[16],防止数据冗余,加快网络训练速度。最后将生成的结果经过Tanh 函数处理后输出,得到生成图像。

3.2.2 判别网络

判别网络用以鉴别生成网络所生成的图像和正常清晰图像,最大程度地将生成图像与真实图像区分开来,同时判别图像真假。本文所使用的判别网络是一个5 层卷积的二分类模型。在判别网络中同时引入LeakyRelu 激活函数和批处理归一化层,目的就是加速收敛,控制过拟合。在进行5 层卷积操作后通过sigmoid 函数处理[17],将结果归一化为(0,1)区间。若判别器输出在(0.5,1)区间,则判别器判别输入的图像为真;反之,则判别输入的图像为假;若输出的结果在0.5,则说明判别器无法判别生成器所生成的图像[13]。判别器结构如图6 所示。

图6 判别器结构Fig.6 Discriminator structure

3.3 损失函数

3.4 双边滤波去噪

为了获得更好的人眼视觉效果,本文对生成后的图像进行去噪操作。通过采用双边滤波算法对图像进行去噪可以获得良好的视觉体验。双边滤波是一种非线性的滤波方法,它是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保留边缘信息同时进行去噪的目的[18]。双边滤波的公式如式(18)所示:

式中:g(i,j)表示输出点,S(i,j)是指以(i,j)为圆心的(2N+1)(2N+1)大小范围,f(k,l)代表多个输出点,ω(i,j,k,l)代表经过两个高斯函数获得的值。如图7 所示,可以看出经过双边滤波算法处理过的图像消除了噪声,同时边缘信息保存良好。

图7 处理前(a)后(b)图片对比Fig.7 Image comparison before(a)and after(b)processing

4 实验与分析

4.1 实验环境及参数设置

本实验在Pycharm 仿真平台进行代码编写,CPU 为AMD R5-3600,内 存 为16 GB,GPU 为Nvidia 1 650 s。模型参数中epoch 设置为200,batchsize 值设置为1,优化算法选用Adam 算法,学习率调整为0.000 2。编程语言上选用python语言,在Tensorflow 深度学习框架下进行实验,网络训练时间约为36 h,测试时间约为5 min。

4.2 数据集使用

本实验所使用的数据集为UIEB[19],此数据集中包含890 张原始的水下图像以及相对应的高质量参考图像,同时还含有60 张用来测试的水下图像,此数据集总计含有950 张水下图像。

4.3 实验结果对比

4.3.1 消融实验

双边滤波作为无监督的增强方法,可在一定程度上提高主观效果,但会牺牲客观评价指标,因此本文增加消融实验来验证双边滤波算法对客观评价指标的提高,实验结果见表1。

表1 不同算法的客观评价对比Tab.1 Comparison of different algorithms’ objective evaluation

4.3.2 主观评价

UIEB 数据集中所包含图片是在不同的海水水压以及海水浑浊度中拍摄的。在损失函数中引入焦点损失函数是为了使处于不同水压和浑浊度中拍摄的图片在模型训练中不会发生过拟合现象。为验证本文方法的实际优化效果,我们将本文方法与Fusion-based、Retinex-based、Histogram prior、Blurriness-based、GDCP 方 法 进行比较。从UIEB 数据集中随机选取3 张真实的水下图像进行增强,从主观评价上进行对比,如图8 所示。

图8 不同算法的主观对比Fig.8 Subjective comparison of the different algorithms

从图8 可以看出Fusion-based 处理后的图像在色彩上有些偏暗;Retinex-based 方法处理后得到的图像细节丢失从第一张图可以明显看出;Histogram prior、Blurriness-based 和GDCP 这3 种方法处理后的图像都有不同程度的颜色失真。最后一列是本文方法对于这3 张图像的处理,颜色合适不存在失真现象,拥有较好的视觉效果。

4.3.3 客观评价

在客观评价中,选择均方误差(MSE)、峰值信噪比(PSNR)、结构相似度(SSIM)[13]作为指标来说明算法的性能,评价指标如表1 所示。

MSE 反映增强后的图像与原图像的差距,值越小,增强后的图像越接近原图像。PSNR 反映的是图像的失真程度,值越高,失真越少。SSIM 反映了图像的结构信息完整度,其值可以作为对比原图像与增强后的图像结构相似度的指标[20]。由表1 可以 看出,本文算法在3 个指标的数据上均优于另外5 种算法。结合主观以及客观评价得出,本文方法在视觉上效果良好,增强后的图像更接近真实图像。

5 结 论

对于水下图像的颜色失真与模糊问题,本文利用深度学习原理,采用动态阈值、改进条件生成对抗网络与双边滤波算法三者相结合的方法对水下模糊图像进行增强。网络中采用U-Net结构,编码解码中引入链接块来对图像不同的相似特征进行组合,同时采用批处理归一化层和LeakyRelu 激活函数来防止过拟合。在损失函数中加入L1与L2结合损失函数对颜色和结构进行恢复以及焦点噪声损失函数以消除类别不均衡的问题。通过对主观以及客观评价的分析,本文算法在进行水下原始图像增强的过程中,避免了颜色失真问题,同时也消除了图像的噪声影响,有效地对水下图像进行了增强。

猜你喜欢

滤波阈值颜色
土石坝坝体失稳破坏降水阈值的确定方法
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
基于EKF滤波的UWB无人机室内定位研究
一种GMPHD滤波改进算法及仿真研究
特殊颜色的水
基于迟滞比较器的双阈值稳压供电控制电路
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
一种改进的小波阈值降噪方法