基于循环一致对抗网络的玉米灰斑病图像迁移方法研究*

2023-03-04 03:45韩烨侯睿峥陈霄
中国农机化学报 2023年2期
关键词:灰斑鉴别器病害

韩烨,侯睿峥,陈霄

(1. 吉林农业大学信息技术学院,长春市,130118; 2. 吉林农业大学智慧农业研究院,长春市,130118)

0 引言

近年来,深度学习取得了很大的进展,深度学习是机器学习研究中的一个分支,其通过组合低层特征实现对高层特征的抽象表示,从而更加高效的描述和表示结构化数据的特征分布[1],以此发现数据中有用的宏观信息。随着计算机视觉在农业病害图像上的应用,病害图像一系列的处理逐渐也变得成熟起来,伴随着图像处理的工具和技术的发展[2-3],在作物病害监测和识别中发挥着越来越重要的作用。对玉米灰斑病图像的迁移在一定程度上可以推进深度学习在玉米病害图像识别领域的应用,并且病害图像迁移也是图像风格迁移[4]的一个重要的分支,同时对于玉米灰斑病图像的数据量可以起到扩容作用。目前,数据缺乏仍然是阻碍深度学习技术发展的重要原因之一,且完备的数据集应具有大规模性、多样性[5],因为在深度学习中,大多数任务都是源于基础数据进行驱动的,数据的多少对模型的质量有着决定性的作用。当面临新的应用时,高质量、大批量的数据往往是第一需求,但是构造所需要的数据集需要经过一段时间积累才可以实现。现如今,玉米灰斑病在我国的分布已经越来越普遍,对我国东北、华北和西南等地区的玉米生产威胁越来越大,成为玉米生产中继大斑病、小斑病之后的又一重要叶部病害玉米[6]。灰斑病作为玉米病害中最严重的病害之一,前期病害特征存在不明显、不突出的问题,获取图像具有一定的难度。在数据量较少的情况下,深度学习的应用难以推进。

传统的图像风格迁移是非参数的,主要基于物理、数学模型的绘制和图像纹理的合成[7]。Efros等[8]提出了一种简单的纹理算法,通过对样本纹理进行拼接和重组以合成新的纹理;Hertzmann等[9]在2001年发表的Image Analogies中提出了一种基于类推思想的方法,通过图像特征映射关系合成具有新纹理的图像;张海嵩等[10]运用多层纹理阵列、国画光照模型、提取轮廓线等模块实时绘3D中国画效果的山峦场景;钱小燕等[11]提出了一种邻域一致性度量方法,通过把统计特性引入相似性度量中来提高图像匹配点搜索的效率。虽然此类方法在一定程度上取得了不错的效果,但是基于是通过单一的配对模型对模型进行训练,只能提取图像的低层特征[12],结合依附的数学或物理模型对模型进行构造,较为复杂以及耗费大量时间,且对于复杂图像的构成较为粗糙,难以符合实际的需求,因此传统的非参数的风格迁移近年来发展缓慢[13]。

随着深度学习[14]的兴起,由于非参数的图像风格迁移方法存在一定的局限性,Gatys等[15]提出了基于神经网络的图像风格迁移算法,通过神经网络不同层次提取不同特征来分离图像的内容与风格。然而这种方法生成的图像存在噪声、不清晰、需要大量成对的训练图像、需要反复迭代、训练速度慢、占用极大的内存可能导致程序崩溃的问题[16]。2017年,Zhu等[17]结合GAN和对偶学习的思想提出了CycleGAN (Cycle Generative Adversarial Network),其思想是使用两个生成器和两个判别器完成两种风格域之间环形转换,通过添加循环一致性损失来保留图像的内容信息。

相对于经典生成模型VAE(变分自编码)来说,它是由Kingma等[18]于2014年提出的基于变分贝叶斯(Variational Bayes,VB)推断的生成式网络结构。VAE旨在通过对样本分布的学习,采用估计分布近似逼近样本真实分布,进而由估计分布生成原始样本的类似样本[19]。其通过加入随机噪声,经过编码解码的过程生成对应的图像,它是直接对真实图片和生成图片进行像素级别的监督,无法更好的关注全局信息,导致生成的图片整体模糊。对于另外一个生成模型GAN(生成对抗网络)来说,它是Goodfellow等[20]在2014年提出的。GAN中的博弈方[21]是一个生成器和一个判别器,生成器的目标是生成逼真的伪样本让判别器无法判别出真伪,判别器的目标是正确区分数据是真实样本还是来自生成器的伪样本。当前GAN博弈对抗[22]过程中,生成器通过判别器与真实数据间接地建立关系,判别器未利用输入数据一半为真一半为假的先验知识,导致训练过程稳定性不足,翻译图像质量不佳,且易出现model collapse问题,模式坍塌可以总结为生成器结果为真,但是生成的图像多样性不足。并且传统的生成模型VAE、GAN需要一一配对的数据集进行模型的训练,数据前期的处理需要耗费大量的时间。

因此本文选用CycleGAN网络对玉米灰斑病图像进行迁移,在不需要一对一配对数据的前提下,通过加入残差网络使得在图像信息进行传递时对原图像的部分特征也进行了传递,使得图像特征提取时更加合理。基于玉米灰斑病的程度分为轻微和严重,因此本文对患病程度不同的灰斑病图像进行了迁移,不仅可以生成病害特征符合与原始灰斑病的图像,也可以满足对玉米灰斑病数据集的扩容。

1 试验数据

1.1 图像数据选取

试验数据来源于2018 AI challenger植物病害程度图片数据集,该数据是通过官方发布的两次数据进行一个整合,在整合过程中处理了标签交叉的问题,数据大致可以分为,训练图像总数为31 718张,验证图像总数为4 540张,测试集A图像总数为4 514张,测试集B图像总数为4 513张。总共包括61个类别(按“物种—病害—程度”分),10个物种,27种病害(其中24个病害有分一般和严重两种程度),10个健康分类。

在本试验中,主要是研究玉米灰斑病图像迁移问题,因此,选取玉米灰斑病作为训练对象,对中间不清晰或者不易分辨的图像人为进行剔除,得到的训练集里健康的玉米图像370轻微灰斑病的玉米图像191张,严重灰斑病的玉米图像167张,所选取的样本数据中包含不同光照强度、背景、拍摄角度下不同玉米病害的图像,部分玉米图像如图1所示。

(a) 健康玉米图像

1.2 数据预处理

神经网络模型的精准度对于样本的数据量有着很高的要求,828张训练集不足以满足网络的训练,采用顺时针旋转45°、逆时针旋转45°、垂直翻转、水平翻转的传统方法对三个数据集均扩容到1 000张采用7∶2∶1的比例将数据划分为训练集、验证集、测试集。由于公共数据集中图像分辨率大小不同,而本模型需要输入固定维度,因此对图像进行归一化处理,将图像大小统一转化为256像素×256像素,然后才能输入网络中进行训练。增强后部分玉米图像如图2所示。

(a) 玉米原始图像

(b) 顺时针旋转45°

(c) 逆时针旋转45°

(d) 水平翻转

(e) 垂直翻转

2 基于循环一致对抗网络的玉米灰斑病图像迁移算法

2.1 基于玉米灰斑病迁移的循环一致对抗模型

2.1.1 玉米灰斑病的迁移算法

病害迁移是利用迁移学习对病害图像特征进行迁移的一个过程,健康玉米图像数据集称之为源域,玉米灰斑病数据集称之为目标域,本文要实现的就是将健康玉米图像通过循环一致对抗模型转化为患有不同程度玉米灰斑病的图像,在此过程中,会涉及两个特征分布不相同的域,本文采用重建的领域自适应方法,实现不同域之间的转化,并且循环一致对抗网络是基于对抗的不同域之间的对抗过程,并且加入了循环重建作为约束性条件,对于图像转化的质量有较好的效果,因此选择使用CycleGAN算法实现不同域之间图像的转化。

2.1.2 玉米灰斑病迁移的网络结构图

在图3的网络结构中,首先,对健康图像h1和玉米灰斑病图像s1的特征进行提取;然后,将两种图像的特征输入到生成器Gs中,得到所需要的风格迁移图像Generated_hs;最后通过判别器Dh和Ds分别判别所生成的病害迁移图像的风格和内容是否与要求一致,在进行训练时,加入了循环一致性损失函数对生成器Gs进行补充,使得两个对抗网络达到一个循环的训练状态。

图3 灰斑病病害迁移的CycleGAN结构图

2.2 循环一致网络结构

CycleGAN是GAN网络的一种变体网络,它可以学习两个域之间的两个数据转换函数,核心思想是两个转换器F和G。CycleGAN使用了两个传统GAN网络,该网络学习如何根据需要转换数据,每个GAN内部都有一个生成器网络,GAN的第一生成器学习计算F,GAN的第二生成器学习计算G。此外,每个生成器都与一个鉴别器相关联,该鉴别器学习将实际数据y与合成数据G(x)区分开。

图4 两组对抗网络结构图

此时对于图4的两组对抗来说,其循环一致损失满足

(1)

(2)

模型中循环一致结构的目的在与输入的健康玉米图像和经过对抗重建后生成的健康图像,两者尽可能地保持一致,在对抗的过程中加入了约束条件,对图像特征的迁移起到了约束性的作用。

2.3 循环生成对抗网络结构

CycleGAN的整体结构主要是由生成器和判断器组成,分别是GeneratorA/B, GeneratorB/A,DiscriminatorA,DiscriminatorB四个部分。其中生成器是由编码器、转化器和解码器构成。

2.3.1 生成器结构分析

如图5所示,首先输入图像经过编码器中的卷积神经网络对输入图像中提取特征,将具有高维信息的图像压缩为低维特征向量。然后转换器通过组合两类训练集图像域中的不相近特征,将健康图像域中的特征向量分布转换为患病域中的特征向量分布。生成器中各层的参数如表1所示。

图5 循环一致对抗网络生成器结构图

表1 循环一致对抗网络生成器结构参数Tab. 1 Cyclic consistent adversarial network generator structure parameters

如图6所示,转换器中使用了多层残差网络ResNet模块。每个 ResNet模块都是一个由两个卷积层组成的神经网络层,可以实现在转换特征的同时保留原始域中图像数据集的特征的目的。一个残差块用式(3)表示。

xL+1=xL+F(xL,WL)

(3)

式中:xL——L层输入的数据;

WL——在L层时的权重参数;

xL+1——在L层的输出,即L+1层的输入。

图6 ResNet残差块结构

在转化器中使用了残差网络,可以避免层数过多对于梯度的影响,利用残差网络可以使得在参数跳跃传输时,信息中包含了一部分为病害迁移的原始图像信息,对于生成图像信息的准度有了一部分的提升。

编码器利用三层卷积层级实现从图像中提取出特征向量,解码器利用三层反卷积层实现从特征向量中还原出低级特征的功能,最后得到变换后的近似符合目标域数据分布的图像。编码器的第一层和解码器最后一层都采用7×7的卷积核,其他层均采用3×3的卷积核,转换器中的残差网络使用Relu作为激活函数,且都采用IN方法归一化处理,解码器的最后一层解码器的最后一层不做归一化处理,且采用Tanh作为激活函数。

2.3.2 鉴别器结构分析

与生成器相对应的是鉴别器模块,网络结构如图7所示,它是将生成的患病图像和真实的患病像作为输入,对输入图像判断其为原始真实图像还是生成的虚假图像。鉴别器采用五层卷积层,卷积层卷积核的大小均为4×4,CycleGAN网络的鉴别器模型能够将一个图像经过卷积后生成1个一维向量,加上1个偏置向量后,通过Sigmod函数根据概率值完成二分类任务。CycleGAN网络的鉴别器结构的各层参数如表6所示。

图7 鉴别器网络结构

表2 循环一致对抗网络生鉴别器结构参数Tab. 2 Circular consistent adversarial network raw discriminant structure parameters

2.4 模型损失函数

CycleGAN的损失函数(L)由两部分组成:两个对抗损失(Lgan)和两个平均绝对误差(L1),整个CycleGAN框架采用end-to-end方式训练,其公式如式(4)所示。

L(G、F、DX、DY)=Lgan(G、DY、X、Y)+

Lgan(F、DX、Y、X)+λLcyc(G、F)

(4)

式中:Lcyc(G、F)——循环一致网络损失;

λ——权重系数。

对抗损失Lgan使用KL散度计算两个不同域之间分布的差异,计算公式如式(5)和式(6)所示。

1)G:X→Y的对抗

Lgan(G、DY、X、Y)=Ey-pdata(y)[logDY(y)]+

Ex-pdata(x)[log(1-DY(G(x)))]

(5)

式中:y——真实玉米灰斑病图像;

x——生成玉米灰斑病图像;

DY(y)——鉴别器判断输入为真实玉米病害叶片图像的概率;

DY(G(x))——鉴别器判断输入为生成玉米病害叶片图像的概率;

Ey-pdata(y)[logDY(y)]——玉米灰斑病图像样本集Y域分布中的样本y的logDY(y)的期望;

Ex-pdata(x)[log(1-DY(G(x)))]——健康玉米图像样本集X域分布中样本x的log(1-DY(G(x)))的期望。

水土流失量以径流含沙数据反映。根据1965~2010年资料分析,潜山和石牌站多年平均含沙量分别为0.28 kg/m3和0.13 kg/m3。石牌站多年平均输沙量6.0×104 t,年际变化、月际变化都很大。含沙量的年内和年际波动如图2和图3所示。

2)F:Y→X的对抗

Lgan(F、DX、X、Y)=Ed-pdata(d)[logDX(d)]+

Ee-pdata(e)[log(1-DX(F(e)))]

(6)

式中:d——真实健康玉米叶片图像;

e——生成健康玉米叶片图像;

DX(d)——鉴别器判断输入为真实健康玉米叶片图像的概率;

DX(F(e))——鉴别器判断输入为生成健康玉米叶片图像的概率;

Ed-pdata(d)[logDX(d)]——健康玉米图像样本集X域分布中的样本d的logDX(d)的期望值;

Ee-pdata(e)[log(1-DX(F(e)))]——玉米灰斑病图像样本集Y域分布中样本e的log(1-DX(F(e)))期望。

G的目标是讲这个目标最小化,而D的目标是最大化,因此满足minGmaxDyLgan(G、DY、X、Y);F的目标是将这个目标最小化,而D的目标是最大化,因此满足minFmaxDxLgan(F、DX、X、Y)。

循环一致损失Lcyc采用了L1loss计算预测值与真实值之间距离的均值,计算如式(7)所示。

Lcyc(G、F)=Ex-pdata(x)[‖F(G(x))-x‖1]+

Ey-pdata(y)[‖G(F(y))-y‖1]

(7)

式中:G(x)——X→Y的一个映射;

2.5 模型训练与超参数设计

CycleGAN模型的训练在Tensorflow深度学习框架下进行,采用GPU进行加速。在转换器上使用了残差块,解决了深度神经网络的退化问题,也对神经的收敛速度有一定的提升。模型的整个训练分为两个阶段。首先利用小部分自制玉米灰斑病数据集进行预训练权重初始化网络参数,然后采用大量的自制玉米灰斑病数据集对模型进行训练,并结合Tensorboard模块对训练过程进行实时监测。试验中输入和输出的玉米图像均为256像素×256像素。批量处理batch_size为50,训练次数为90 000 轮,每1 000轮保存一次权重,学习率初始为0.002,之后每100 000次线性衰减到0。模型采用非线性修正线性单元Relu作为激活函数,梯度下降采用Adam算法进行优化。用户感知评价指标0.2a1+0.3a2+0.5a3,其中a1判断迁移后的图片质量是否清晰;a2判断迁移后的病害图像其他区域是否出现病害溢出的现象;a3判断迁移后的病害图像特点是否明显。用户评价指标中A为10,B为20,患病程度轻微、严重的情况各自进行200组的对比试验,均方误差MSE权重值为0.5,样本总数为400。

3 结果与分析

3.1 主客观评价指标

由于玉米灰斑病病害迁移的效果具有主观性,只使用客观的量化指标来评测图像比较困难。试验中结合主观评价指标和客观评价指标,采用三种测评指标:结构相似、均方误差、用户感知评价对CycleGAN模型得到的玉米灰斑病图像的效果与其他方法进行比较。

1) 结构相似SSIM是评估源健康玉米图像X与进行风格迁移后的患病图像Y数据分布相似度的指标,如式(8)所示。SSIM的范围为-1~1,SSIM的数值越大表示两幅图像的分布结构越相似,图像的质量越高。

(8)

式中:μx、μy——X图像、Y图像的均值;

σx、σy——X图像、Y图像的方差;

σxy——x和y的协方差。

2) 均方误差MSE是参数估计值与参数真实值之间差异程度的一种度量,如式(9)所示。MSE越小表示与原图像的差距越小。

(9)

w——图像的权重值;

θ——图像的预期值;

n——样本的总数。

3) 用户评价UE是对病害迁移效果的主观评价指标。首先,选择A个学生,从数据集中随机选择B张测试图像;然后将B张测试图像在不同模型输出的病害图像提供给用户进行比较;最后统计学生对各个模型输出图像为最佳效果图的数量M,得到学生对不同模型进行图像迁移效果的感知评价,如式(10)所示。

(10)

3.2 基于图像生成质量的对比试验

为了验证本文提出的方法在玉米灰斑病迁移效果上的有效性和优越性,进行了一系列的对比试验,与VAE、GAN图像生成方法进行比较。比较在相同数据上不同方法输出图像效果的距离相似SSIM、均方误差MSE、用户感知评价UE。主观试验如图8、图9,客观试验数据如图10、图11所示,算法性能分析图如图12所示。

主观上,通过用户感知评价的方法对3种方法进行玉米灰斑病迁移效果的感知评价(UE),如图8所示,相同的图像在生成不同患病程度图像的情况下,视觉效果CycleGAN生成的玉米灰斑病图像效果更优。从图9可以看出,在不同患病程度的情况下,分析进行200组试验,CycleGAN方法迁移生成的轻微、严重玉米灰斑病效果最佳的图像数量分别为152张、147张,图像数量远高于其他两种方法,证明CycleGAN与其他两种方法作比较,有效地提升了病害图像迁移的直观感受。

(a) 健康 (b) 患病 (c) VAE (d) GAN (e) CycleGAN

图9 最佳效果图数量对比图

图10 玉米灰斑病迁移图像的MSE值

客观上,从图10中的MSE数据可以得到,通过CycleGAN、VAE、GAN三个方法得到的均方误差值分别为3 674.6、4 218.4、4 063.7,可以看出CycleGAN方法迁移后玉米灰斑病图像均方误差值最小,说明用此方法生成的玉米灰斑病图像与输入的健康玉米图像差异程度更小,更可以说明CycleGAN迁移生成的玉米灰斑病患病图像质量是最好的。

在结构相似SSIM的比较下,在各自进行400组试验中,VAE、GAN、CycleGAN每张图像对应的SSIM值大小如图11所示,可以看出,通过CycleGAN方法得到的折线图整体高于GAN方法和VAE方法,即CycleGAN网络迁移后的玉米灰斑病图像与原图像的分布结构更相似,可以说明通过CycleGAN迁移后的图像质量较好。

对比于图12(a)来说,迁移后的玉米灰斑病图12(b)的直观效果好于图12(c)、图12(d),说明VAE生成玉米灰斑病图像效果高于GAN和CycleGAN。原因在于VAE模型找到输入的健康玉米图像与玉米灰斑病图像之间的潜向量,会更加规律的生成与原图像更加相近的图片,虽然VAE是基于局部图像之间存在规律性,但是由于两张图像的拍摄角度、叶片的大致形状一致,导致通过VAE生成的玉米灰斑病图像质量较高。此时的GAN模型发生了模式坍塌,输入健康玉米图片时,生成的却是另外一张玉米灰斑病图像,即是不相关的图像。相对于图12(e)来说,迁移后的玉米灰斑病图12(f)的直观效果好于图12(g)、图12(h),说明GAN生成玉米灰斑病图像效果高于VAE和CycleGAN。GAN生成玉米灰斑病图像效果高于VAE和CycleGAN。GAN利用模型中判断对整体图像质量的判断,图片连续性加强,未发生模式坍塌,导致通过GAN生成的患病图像质量较高。通过VAE模型生成的图像注重图像的局部特征,到最后生成图像不清晰。对两排图像进行对比,可以看出通过CycleGAN迁移后的玉米灰斑病图像都较差,原因在于是因为图片中过多的不相关信息,除了主叶片以外还有许多干扰信息,导致迁移后的玉米灰斑病其他部位也有生成,在视觉上造成迁移后的玉米灰斑病图像与原图像差别较大。

图11 玉米灰斑病迁移图像的SSIM值

(a) 原图像

(b) VAE

(c) GAN

(d) CycleGAN

(e) 原图像

(f) VAE

(g) GAN

(h) CycleGAN

综合来说,通过主观、客观方法以及差异性分析的对比下,CycleGAN网络在SSIM、MSE、UE三项评价指标上的数据质量都优于其他两种方法,在不同的条件下都能表现较好的特性,进而得到的图像质量也高于其他两种方法。

4 结论

本文使用领重建的领域自适应方法,实现不同域之间的转化,去满足健康玉米图像到不同患病程度玉米灰斑病转化,并且使用含有残差网络的CycleGAN网络对玉米灰斑病图像的特征进行迁移,在保证生成图像的速度和质量的情况下,也实现对现有少量玉米灰斑病数据集的有效扩容,进而解决玉米灰斑病图像样本采集困难的问题。

1) 在试验中,对患病程度轻微、严重两种状态的病害图像各自进行200组试验,通过直观效果图、客观评价指标以及差异性分析三个方面,迁移后轻微、严重灰斑病图像的可以达到152张和147张,对于玉米灰斑病数据转化率分别可以达到76%和73.5%,验证出CycleGAN网络在玉米灰斑病图像迁移上具有优势。

2) 试验中统计了CycleGAN、VAE、GAN在输入800张健康玉米图像情况下,对应生成800张患有轻微和严重玉米灰斑病图像所需的时间,CycleGAN模型在图像生成时间上较快,可以节省一定的时间成本。

3) 输入800张健康玉米图像,通过CycleGAN模型可以得到有效的患有轻微灰斑病图像612张、患有严重灰斑病图像591张,有效的扩充了原始数据集,转换后的图像分别占扩充后数据集的76.21%和77.96%,达到一种以健康玉米图像生成大量且高质量的患病玉米图像数据的作用,有效解决了农业领域玉米灰斑病样本不足的问题。

猜你喜欢
灰斑鉴别器病害
基于多鉴别器生成对抗网络的时间序列生成模型
早春养羊需防六大病害
小麦常见三种病害咋防治
葡萄病害周年防治历
钢轨闪光焊灰斑缺陷的形成过程
果树休眠期咋防病害
卫星导航信号无模糊抗多径码相关参考波形设计技术*
GAAS80/580焊机工艺参数设置对U71Mn钢轨焊接质量的影响
钢轨闪光焊灰斑缺陷形成原因及预防方法
阵列天线DOA跟踪环路鉴别器性能分析