基于改进DCGAN的水下图像生成方法研究

2021-03-02 10:56
自动化与仪表 2021年2期
关键词:鉴别器扇贝函数

(西安工业大学 电子信息工程学院,西安710021)

深度学习凭借强大的数据表征能力,在水下图像识别检测领域表现出优异的能力,然而深度网络模型较强的识别能力依赖于大规模带标签的数据[1]。水下图像采集比较困难,获得的数据质量不高,小样本数据严重限制了水下目标检测识别技术的发展。

为解决水下数据匮乏的问题,数据增强技术成为人们的重要研究方向[2]。目前,数据增强的方法主要是:①几何变换类方法 包括旋转、平移、翻转、裁剪(ROI,region of interest)、旋转、缩放变形等[3]。此类方法并没有对数据集的目标特性进行实质性的改变,且生成的数据带有很多的冗余信息,模型的预测能力受限于这种扩充方式。②图像生成型模式 文献[4]提出的生成对抗网络GAN是一种生成式模型,从本质上分离传统图像增强时带来的生成样本相关性,实现数据增强,但该模型容易出现训练不稳定的问题;文献[5]将卷积神经网络CNN(convolutional neural networks)与GAN 结合在一起提出DCGAN,该网络能够有效缓解GAN 训练不稳定的问题,但对于低质量水下图像数据该模型的鲁棒性较差。故在此,提出了改进的深度卷积生成对抗网络,以改善水下生成图像的质量。

1 图像生成模型

1.1 DCGAN模型

GAN的灵感来源于博弈论中的零和博弈[6],其模型结构如图1所示。生成器捕获真实数据样本的内在分布生成新的数据;鉴别器是一个分类器,它决定输入是真实的还是生成的。这2个网络不断优化自己的生成及辨别能力,直到两者之间找到纳什均衡。

图1 GAN模型结构Fig.1 GAN model structure

DCGAN是在GAN的基础上引入了卷积神经网络来替换生成器和鉴别器结构,还采用部分技巧来提高网络的收敛速度。其主要改进具体如下:①鉴别器使用卷积结构,生成器使用反卷积结构,删除了网络中的池化层;②网络引入批量归一化BN(batch normalization),防止梯度消失或爆炸,加快训练速度;③生成器除了最后一层使用tanh 激活函数,其他层均使用ReLU 激活函数;④鉴别器的所有层使用LeakyReLU 激活函数。

在此,提取出水下图像感兴趣目标作为真实数据输入到DCGAN 网络。通过试验可知,传统的DCGAN 生成图像质量较差,主要表现为每个批次生成的图像较为相似,仅能勾勒出目标物的大致轮廓,缺少细节信息等。因此,需要根据数据特性来优化模型,提高生成的水下图像质量。

1.2 基于水下图像的DCGAN模型优化

1.2.1 改进生成器结构

改进生成器结构如图2所示。图中“?”表示该值不固定。

图2 改进生成器的结构Fig.2 Structure of improved generator

由图可见,在传统DCGAN 生成器上加入了特征融合部分,将生成网络的h3层输出的特征图(数据分布)进行下采样操作,改变形状大小与h1层特征图大小相同,再将其与h1层的输出在最后一个维度上进行连接,组成新的特征图一并输入到h2层。为避免4倍下采样造成过多有效数据丢失,先对h3 输出特征图进行一次卷积操作,然后再进行一次下采样。下采样使用双线性插值法,可以起到数据平滑作用,有效地保留原始数据的信息。

在生成网络中,越靠近输出侧的隐层,其数据分布越接近真实数据分布,而前边层的分布就离真实数据分布较远,但前边层也越具有更多的多样性的可能。将靠后特征层与前边特征层相融合,即将后层的相似性与前层的多样性相结合到一起,使得生成的图像在相似性和多样性上都具有良好表现。

1.2.2 网络训练策略设计

DCGAN的训练实质上是一个交替进行的过程。生成网络训时,固定鉴别网络D的参数,更新生成网络G的参数。生成器的任务就是希望G(z)通过网络D 判别为真实数据,所以其目标函数是最大化D(G(z)),即

鉴别网络在训练时,固定生成网络G的参数,更新鉴别网络D的参数。网络D的任务是较好地区分真假输入——G(z)输入数据判别为假,真实数据输入判别为真。所以目标函数是最大化D(x)和最小化D(G(z)),即

生成器的能力往往受到鉴别器的影响,所以在训练过程中,每训练3次生成网络,训练1次鉴别网络。这样,可以使生成器拥有足够多的训练次数,不断更新损失函数,更快地将损失函数降低到合理值。生成器和鉴别器的交替训练结构如图3所示。

图3 D 和G 网络交替训练结构Fig.3 Interval training structure of D and G networks

鉴别网络是一个二分类网络。在此,将标签平滑技术引入该分类器,以提升网络的鲁棒性。具体做法如下:在迭代时,并不直接将训练样本(xi,yi)放入训练集,而是设置一个错误率ε,以1-ε的概率将(xi,yi)带入训练,以ε的概率将(xi,1-yi)带入训练。即

在此对鉴别器D的标签进行平滑操作,即使用0.7~1.0之间的随机值替代标签1,用0~0.3之间的随机值替代标签0。这虽然减弱了DCGAN 中判别网络的分类能力,但增强了2个网络的训练稳定性。

2 图像融合方法

DCGAN 生成的图像仅为单个目标图像,需要与背景图像融合后才能作为有效训练样本。为符合实际的数据目标特性,目标与背景图像融合的时候需要两者尽量平滑,边界值像素需要保持一致,同时融合的新目标不能覆盖原始目标。

在此将背景图像内随机生成点作为生成图像的中心融合点。为了避免生成目标与原始目标的重叠和近邻边界截断问题,该中心融合点遵从以下约束条件:

式中:h,w分别为原始目标图像的高、宽;h′,w′分别为生成目标图像的高、宽;H,W分别为背景图像的高、宽;i,j为原始目标图像左上角像素点的位置;x,y为生成图像的中心像素点位置,即随机生成的中心融合位置点。其具体生成流程如图4所示。

图4 中心融合点生成流程Fig.4 Center fusion point generates flow chart

为满足目标图像与背景图像的平滑融合,采用泊松融合进行无缝融合。相比于传统的融合方法,泊松融合不仅能够使边界自然融合,而且可以通过局部的图像编辑得到全局的融合效果,使目标整体适应背景图像[7]。两种方法生成图像的对比如图5所示。

图5 两种方法生成图像的对比Fig.5 Comparison of two methods to generate images

由图可见,传统融合方法所生成的图像中,目标图像与背景明显区分;泊松融合的图像中,融合后生成目标图像能够很好地适应背景图像,可以作为真实水下数据集进行模型的训练。

3 试验与分析

3.1 水下图像数据及预处理

在此所使用的数据集来自2019年水下机器人抓取大赛官方的水下海产品数据集。该数据集提供了4755 张真实海洋环境下拍摄的图像,其中包含海参、海胆、扇贝和海星四类目标,部分图像如图6所示。

图6 水下海产品数据集的部分图像Fig.6 Partial image of subsea seafood data set

通过对该数据集的统计分析,发现存在严重的类不平衡问题,其各类目标数量比,如海胆∶海参∶扇贝∶海星,近似为3∶1∶1∶1。这一类不平衡问题势必大大降低网络对数量较少类别的识别精度,故在此使用DCGAN 来扩增数据,提高数据集质量。

为使DCGAN 网络能够学习到更多目标物体的特征,生成更好的伪目标图像,可以根据标签文件提取原始数据中感兴趣的目标图像。在此以扇贝为例,通过人工筛选后,得到1335 张质量较好的图像,作为此次DCGAN 网络的真实数据输入。所提取的部分扇贝图像如图7所示。

图7 部分提取的扇贝目标数据Fig.7 Part of scallop target data extracted

3.2 试验环境及网络参数配置

试验的软硬件环境配置见表1。

表1 软硬件配置环境Tab.1 Hardware/software configuration environment

对于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所示。

图8 扇贝去色后图像Fig.8 Image of scallop decolorized

传统生成器生成的图像如图9所示。由图可见,所生成的彩色图像(如图9a所示)基本符合两种基调色的特性,但是生成的扇贝形状、纹理等细节信息不够突出;生成的灰度图像(如图9b所示),相比于图9a,所生成的扇贝图像具有更多的形状和纹理,生成器将更多的注意力集中在细节信息方面,但仍存在生成图像相似较多的情形。

图9 传统生成器生成的图像Fig.9 Image generated by traditional generators

3.3.2 改进生成器生成图像对比试验

为研究改进生成器结构对生成高质量图像的有效性,使用其对灰度化之后的扇贝图像进行生成试验。模型训练过程中损失函数的变化如图10所示。其中,图10a,10b是鉴别器判断样本分别为假的、真的损失函数;图10c为鉴别器总的损失函数,其值等于判别为假的损失和判别为真的损失之和;生成器损失函数的变化情况如图10d所示。

由图10可见,在前5000次迭代中,生成器损失一直处于较低的水平,此时生成器能够快速生成与真实数据分布相近的图像;在迭代约4000次所生成的图像已经可以勾勒出扇贝的轮廓;在5000次迭代后,鉴别器损失下降,生成器损失略微上升,在5~6之间波动,此时随着迭代次数的增加,生成的图像也越来越清晰。总体来看,2个函数震荡变化,生成器与鉴别器这2个网络结构在相互制约、平衡。

图10 改进生成器训练损失曲线Fig.10 Loss curves of improved generator training

改进生成器生成灰度图像的结果如图11所示。在训练迭代20000次之后基本上满足了生成图像的要求,相比于图9b可见,改进后的生成图像在同批次中形状较为丰富,纹理、轮廓等信息较为清晰,而且生成的图像较为自然,可以用作目标图像来进行识别。

在此,将生成的目标图像经过筛选后与背景图像融合生成2000 张可用训练的数据,然后基于YOLOv3 目标检测算法,分别对未扩增和使用改进DCGAN 扩增之后的数据集进行训练,其性能测试结果见表2。

图11 改进生成器生成的灰度图像Fig.11 Grayscale image generated by improved generator

表2 不同数据集的检测结果Tab.2 Detection results of different data sets

由表可知,扩充之后的检测精度较之前提升了2.5%,其中目标数量较少的类别提升较大,海参和扇贝分别提升了4.57%,4.53%。

4 结语

为解决水下图像数据不足、类不平衡问题,深入研究了图像生成方法以实现数据扩增。对传统DCGAN模型的生成器网络进行了改进,同时设计了网络的训练策略,不仅改善了传统DCGAN模型生成水下图像的质量,也提高了网络模型训练的稳定性。此外还设计了图像融合点函数来进行训练样本的制作。对比试验表明,扩增后的数据使得水下目标检测的准确度提高了2.5%,该方法能够有效改善水下图像生成质量,提高目标识别精度。

猜你喜欢
鉴别器扇贝函数
基于多鉴别器生成对抗网络的时间序列生成模型
二次函数
第3讲 “函数”复习精讲
二次函数
函数备考精讲
扇贝的眼睛在哪里
扇贝的眼睛在哪里
卫星导航信号无模糊抗多径码相关参考波形设计技术*
烤扇贝:贝壳反复利用,壳比肉还贵
阵列天线DOA跟踪环路鉴别器性能分析