基于改进DCGAN 的水下图像生成方法研究
DOI :10.ki.1001-9944.2021.02.009
任盼飞,宋晓茹,陈超波,高愿望的英文
嵩
(西安工业大学电子信息工程学院,西安710021)
摘要:针对传统深度卷积生成对抗网络(DCGAN )在小样本数据输入时生成的水下图像存在细节模糊和相似度较高的问题,提出一种改进的生成器网络,以提高生成水下图像质量。利用卷积神经网络特征融合方法改进了DCGAN 生成器结构,提出模型训练策略加速网络收敛速度;设计生成目标与背景融合中心点函数,采用泊松融合方法生成训练数据。试验表明,改进后的模型能够丰富生成的图像,突出纹理、形状等细节信息,扩增后的数据使识别精度有效提升了2.5%。
关键词:图像生成;深度卷积生成对抗网络;特征融合;泊松融合;水下图像中图分类号:TP391.4
文献标志码:A
文章编号:1001⁃9944(2021)02⁃0044⁃06
Rearch on Underwater Image Generation Method Bad on Improved DCGAN
REN Pan ⁃fei ,SONG Xiao ⁃ru ,CHEN Chao ⁃bo ,GAO Song
(School of Electronic Information Engineering ,Xi ’an Technological University ,Xi ’an 710021,China )
Abstract :Aiming at the problem of blurry details and high similarity of images in the underwater images generated by the traditional deep convolutions generative adversarial network (DCGAN )method when small sample data is input ,an improved generator network is propod to improve the generation of underwater images the quality of.The DC ⁃
GAN generator model is improved by using the convolutional neural network feature fusion method ,and a model training strategy is propod to accelerate the network convergence speed ;it is designed to generate the target image and the background fusion center point function ,and the Poisson fusion method is ud to amlessly merge the training data.Experiments show that the improved mode can enrich the generated images ,highlight the details of tex ⁃ture and shape lights ,and the amplified data effectively improves the recognition accuracy by 2.5%.Key words :image gen
eration ;deep convolutions generative adversarial network (DCGAN );feature fusion ;Poisson fusion ;
underwater image
收稿日期:2020-11-20;修订日期:2020-12-29
基金项目:陕西省重点研发计划项目(2019GY ⁃072);陕西省教育厅专项科研计划项目(17JK0369)
作者简介:任盼飞(1995—),男,在读硕士研究生,研究方向为深度学习和目标检测;宋晓茹(通讯作者)(1978—),女,博士,
研究方向为智能控制和目标识别;陈超波(1978—),男,博士,教授,研究方向为智能控制和机器学习;高嵩(1964—),男,博士,研究方向为目标探测与识别、自主系统及机器人、工业控制与自动化。
深度学习凭借强大的数据表征能力,在水下图像识别检测领域表现出优异的能力,然而深度网络模型较强的识别能力依赖于大规模带标签的数
据[1]。水下图像采集比较困难,获得的数据质量不
高,小样本数据严重限制了水下目标检测识别技术
的发展。
为解决水下数据匮乏的问题,数据增强技术成
关于国庆的诗句为人们的重要研究方向[2]。目前,数据增强的方法主
要是:①几何变换类方法
包括旋转、平移、翻转、
裁剪(ROI ,region of interest )、旋转、缩放变形等[3]。
此类方法并没有对数据集的目标特性进行实质性的改变,且生成的数据带有很多的冗余信息,模型的预测能力受限于这种扩充方式。②图像生成型模式
文献[4]提出的生成对抗网络GAN 是一种
生成式模型,从本质上分离传统图像增强时带来的生成样本相关性,实现数据增强,但该模型容易出现训练不稳定的问题;文献[5]将卷积神经网络CNN (convolutional neural networks )与GAN 结合在一
起提出DCGAN ,该网络能够有效缓解GAN 训练不稳定的问题,但对于低质量水下图像数据该模型的鲁棒性较差。故在此,提出了改进的深度卷积生成对抗网络,以改善水下生成图像的质量。
1图像生成模型
1.1DCGAN 模型
GAN 的灵感来源于博弈论中的零和博弈[6],其
模型结构如图1所示。生成器捕获真实数据样本的内在分布生成新的数据;鉴别器是一个分类器,它决定输入是真实的还是生成的。这2个网络不断优化自己的生成及辨别能力,直到两者之间找到纳什均衡。
DCGAN 是在GAN 的基础上引入了卷积神经
网络来替换生成器和鉴别器结构,还采用部分技巧来提高网络的收敛速度。其主要改进具体如下:①鉴别器使用卷积结构,生成器使用反卷积结构,删除了网络中的池化层;②网络引入批量归一化BN (batch normalization ),防止梯度消失或爆炸,加快训
练速度;③生成器除了最后一层使用tanh 激活函数,其他层均使用ReLU 激活函数;④鉴别器的所有层使用LeakyReLU 激活函数。
在此,提取出水下图像感兴趣目标作为真实数据输入到DCGAN 网络。通过试验可知,传统的DCGAN 生成图像质量较差,主要表现为每个批次生成的图像较为相似,仅能勾勒出目标物的大致轮廓,缺少细节信息等。因此,需要根据数据特性来优化模型,提高生成的水下图像质量。1.2基于水下图像的DCGAN 模型优化
1.2.1
改进生成器结构
改进生成器结构如图2所示。图中“?”表示该
值不固定。
随机噪声
生成器G
真实图像
行军蚁吃大象图片鉴别器D
True
Fal
反向传播
x
z
G (z )
图1GAN 模型结构Fig.1GAN model structure
由图可见,在传统DCGAN 生成器上加入了特征融合部分,将生成网络的h3层输出的特征图(数据分布)进行下采样操作,改变形状大小与h1层特征图大小相同,再将其与h1层的输出在最后一个维度上进行连接,组成新的特征图一并输入到h2层。为避免4倍下采样造成过多有效数据丢失,先对h3输出特征图进行一次卷积操作,然后再进行
一次下采样。下采样使用双线性插值法,可以起到数据平滑作用,有效地保留原始数据的信息。
在生成网络中,越靠近输出侧的隐层,其数据分布越接近真实数据分布,而前边层的分布就离真实数据分布较远,但前边层也越具有更多的多样性的可能。将靠后特征层与前边特征层相融合,即将后层的相似性与前层的多样性相结合到一起,使得
图2改进生成器的结构
Fig.2Structure of improved generator
h0
h1
h2
h3
G (z )
deconv (5×5)
S =2BN1+ReLU
×3×3×512
64×6×6×256
Concat
64×6×6×384
4×6×6×128
subsample
h6
64×12×12×128
conv (5×5)S =2
64×12×12×128
64×24×24×6464×48×48×3deconv (5×5)
S =2BN2+ReLU
deconv (5×5)
S =2BN3+ReLU
deconv (5×5)
S =2
Tanh
生成的图像在相似性和多样性上都具有良好表现。1.2.2
网络训练策略设计
DCGAN 的训练实质上是一个交替进行的过程。生成网络训时,固定鉴别网络D 的参数,更新生成网络G 的参数。生成器的任务就是希望G (z )通过网络D 判别为真实数据,所以其目标函数是最大化D (G (z )),即
min G
V (D ,G )=E z~P z (z )[log (1-D (G (z )))]
(1)
鉴别网络在训练时,固定生成网络G 的参数,更新鉴别网络D 的参数。网络D 的任务是较好地区分真假输入———G (z )输入数据判别为假,真实数据输入判别为真。所以目标函数是最大化D (x )和最小化D (G (z )),即
m ax D
V (D ,G )=E x~P
data
(x )
[log D (x )]+
E z~P z
(z )[log (1-D (G (z )))]
(2)
生成器的能力往往受到鉴别器的影响,所以在训练过程中,每训练3次生成网络,训练1次鉴别网络。这样,可以使生成器拥有足够多的训练次数,不断更新损失函数,更快地将损失函数降低到合理值。生成器和鉴别器的交替训练结构如图3所示。
鉴别网络是一个二分类网络。在此,将标签平滑技术引入该分类器,以提升网络的鲁棒性。具体做法如下:在迭代时,并不直接将训练样本(x i ,y i )放
入训练集,而是设置一个错误率ε,以1-ε的概率将(x i ,y i )带入训练,以ε的概率将(x i ,1-y i )带入训
练。即
L i ′=-y i ′P (y
^i =1⏐x i )-(1-y i ′)P (y ^i =0⏐x i )(3)y i ′=
ε,y i =0
1-ε,y i =1
{
(4)
在此对鉴别器D 的标签进行平滑操作,即使用
0.7~1.0之间的随机值替代标签1,用0~0.3之间的
随机值替代标签0。这虽然减弱了DCGAN 中判别网络的分类能力,但增强了2个网络的训练稳定性。
2图像融合方法
DCGAN 生成的图像仅为单个目标图像,需要
与背景图像融合后才能作为有效训练样本。为符合实际的数据目标特性,目标与背景图像融合的时候需要两者尽量平滑,边界值像素需要保持一致,同时融合的新目标不能覆盖原始目标。食品简笔画
在此将背景图像内随机生成点作为生成图像的中心融合点。为了避免生成目标与原始目标的重叠和近邻边界截断问题,该中心融合点遵从以下约束条件:
max (h ′,w ′)<x <[W -max (h ′,w ′)]max (h ′,w ′)<y <[H -max (h ′,w ′)]
{
(5)x >i+w+w ′/2i-w ′/2<x <i+w+w ′/2,
y >j+h+w ′/2x <j-w ′/2{
x <i-w ′/2
⎧⎩⏐⏐⏐
⎨⏐
⏐⏐
(6)
式中:h ,w 分别为原始目标图像的高、宽;h ′,w ′分别为生成目标图像的高、宽;H ,W 分别为背景图像的高、宽;i ,j 为原始目标图像左上角像素点的位置;x ,y 为生成图像的中心像素点位置,即随机生成的中心融合位置点。其具体生成流程如图4所示。
为满足目标图像与背景图像的平滑融合,采用泊松融合进行无缝融合。相比于传统的融合方法,
图3D 和G 网络交替训练结构
Fig.3Interval training structure of D and G networks
Input_batch
生成网络×3
G_W 更新D_W 固定
鉴别网络×1G_W 固定
D_W 更新
重用重用Next_batch
图4中心融合点生成流程
Fig.4Center fusion point generates flow chart
开始
计算生成图像和背景图像宽高,什么毛什么角
释放激情以及原始目标宽高和左上角像素点
计算融合点范围(非背景边界区域)在范围内随机生成融合点
rand (x ,y )
根据式(6)判断融合点满足要求?
Y
N
确定融合中心点
结束
泊松融合不仅能够使边界自然融合,而且可以通过局部的图像编辑得到全局的融合效果,使目标整体适应背景图像[7]。两种方法生成图像的对比如图5
所示。
由图可见,传统融合方法所生成的图像中,目标图像与背景明显区分;泊松融合的图像中,融合后生成目标图像能够很好地适应背景图像,可以作为真实水下数据集进行模型的训练。
3试验与分析
3.1水下图像数据及预处理
在此所使用的数据集来自2019年水下机器人
抓取大赛官方的水下海产品数据集。该数据集提供了4755张真实海洋环境下拍摄的图像,其中包含海参、海胆、扇贝和海星四类目标,部分图像如图6所示。
通过对该数据集的统计分析,发现存在严重的类不平衡问题,其各类目标数量比,如海胆∶海参∶扇贝∶海星,近似为3∶1∶1∶1。这一类不平衡问题势必大大降低网络对数量较少类别的识别精度,故在此使
用DCGAN 来扩增数据,提高数据集质量。
为使DCGAN 网络能够学习到更多目标物体的特征,生成更好的伪目标图像,可以根据标签文件提取原始数据中感兴趣的目标图像。在此以扇贝为例,通过人工筛选后,得到1335张质量较好的图像,作为此次DCGAN 网络的真实数据输入。所提取的部分扇贝图像如图7所示。
3.2试验环境及网络参数配置
试验的软硬件环境配置见表1。
对于DCGAN 网络模型的参数配置,在此经过多次试验并微调之后,具体参数设定如下:输入图像大小为96×96×3,截取图像大小不一时输入后会截掉部分信息,为了不损失图像信息故提前采用resize 进行尺寸调整;输出图像大小为48×48×3;批处理大小为64;输入的z 采用均匀分布生成的噪声;优化器采用Adam ,网络D 和G 学习率均为0.0002,动量为0.5;训练epoch 设定为5000。
3.3试验结果与分析3.3.1
灰度化生成图像对比试验
为消除水下图像色偏现象(绿色和蓝色)对生
成图像质量的影响,通过去色将目标图像变成灰度图,使得输入图像整体基调色一致。扇贝去色之后的灰度化图像如图8所示
。
图5两种方法生成图像的对比
Fig.5Comparison of two methods to generate images
哪个航空公司好图6水下海产品数据集的部分图像
Fig.6Partial image of suba afood data t
图7部分提取的扇贝目标数据Fig.7Part of scallop target data extracted
表1软硬件配置环境
Tab.1Hardware/software configuration environment
计算平台PC
CPU
Intel Core i9⁃9900K CPU @3.60GHz
GPU NVIDIA RTX2080Ti Turing 架构、4352个CUDA 核心
内存64GB 显存11GB GDDR6
软件环境
Windows 10专业版,Python 3.6.2,Keras 2.3.1,
TensorFlow ⁃gpu 1.13.2,CUDA 10.0
图10改进生成器训练损失曲线
Fig.10Loss curves of improved generator training
传统生成器生成的图像如图9所示。由图可见,所生成的彩色图像(如图9a 所示)基本符合两种基调色
的特性,但是生成的扇贝形状、纹理等细节信息不够突出;生成的灰度图像(如图9b 所示),相比于图9a ,所生成的扇贝图像具有更多的形状和纹理,生成器将更多的注意力集中在细节信息方面,但仍存在生成图像相似较多的情形。
3.3.2
改进生成器生成图像对比试验
为研究改进生成器结构对生成高质量图像的
有效性,使用其对灰度化之后的扇贝图像进行生成试验。模型训练过程中损失函数的变化如图10所示。其中,图10a ,10b 是鉴别器判断样本分别为假的、真的损失函数;图10c 为鉴别器总的损失函数,其值等于判别为假的损失和判别为真的损失之和;生成器损失函数的变化情况如图10d 所示。
由图10可见,在前5000次迭代中,生成器损失一直处于较低的水平,此时生成器能够快速生成与真实数据分布相近的图像;在迭代约4000次所生成的图像已经可以勾勒出扇贝的轮廓;在5000次迭代后,鉴别器损失下降,生成器损失略微上升,在5~6之间波动,此时随着迭代次数的增加,生成的图
像也越来越清晰。总体来看,2个函数震荡变化,生成器与鉴别器这2个网络结构在相互制约、平衡。
改进生成器生成灰度图像的结果如图11所示。在训练迭代20000次之后基本上满足了生成图像的要求,相比于图9b 可见,改进后的生成图像在同批次中形状较为丰富,纹理、轮廓等信息较为清晰,而且生成的图像较为自然,可以用作目标图像来进行识别。
在此,将生成的目标图像经过筛选后与背景图像融合生成2000张可用训练的数据,然后基于
YOLOv3目标检测算法,分别对未扩增和使用改进DCGAN 扩增之后的数据集进行训练,其性能测试结
果见表2
。
图8扇贝去色后图像
Fig.8Image of scallop
最帅的男人decolorized
图9传统生成器生成的图像
Fig.9Image generated by traditional
generators
0.90.80.70.60.50.40.30.20.100
51015
2025303540迭代次数
×103
(a )D_fake_loss 损失曲线
1.21.00.80.60.40.200
51015
2025303540迭代次数
×103
(b )D_real_loss 损失曲线
2.42.01.61.20.80.400
51015
2025303540迭代次数
×103
(c )D_loss 损失曲线
1210864200
51015
2025303540迭代次数
×103
(d )G_loss 损失曲线