李健宁,路 阳(通讯作者),陶贤鹏,林立媛,孙 桐
(1黑龙江八一农垦大学信息与电气工程学院 黑龙江 大庆 163319)
(2鸡西市公安局 黑龙江 鸡西 158100)
(3东北石油大学黑龙江省网络化与智能控制重点实验室 黑龙江 大庆 163318)
基于图像的水稻病害识别是当前植物保护领域的一个研究热点[1]。从水稻病害特征来看,单个样本可能同时出现多种病症,不同病症可能具有相似的症状。而且由于获取图像时图像背景的干扰及光照强度的变化,使得获取清晰的病害特征明显的样本图像变得复杂和困难,在实际应用中面临各种各样的挑战[2]。本研究中,寻找一种新的方法生成水稻病害图像样本,解决训练样本不足问题,增加样本多样性。
Goodfellow等[3]人受博弈论中的零和博弈启发于2014年提出生成对抗网络(Generative Adversarial Networks,GAN)模型,其图像生成效果好。目前,GAN已成功应用于动画头像生成、图像还原与修复、超分辨率图像生成[4]等领域。GAN主要由生成器和鉴别器两部分构成,通过不断地对抗训练,生成器生成真实的样本数据,鉴别器是区分真实的样本和生成的样本,从而达到最佳生成效果。
由于WGAN在真实的图像生成过程中依旧存在着训练困难、收敛速度慢的问题,相比较传统GAN效果提升不是很明显。于是,Ishaan Gulrajani等[5]人提出了带梯度惩罚的Wasserstein生成对抗网络(WGAN-GP),能使WGAN的训练变得更加稳定,并且取得更高质量的生成效果。
本文研究基于生成对抗网络理论的水稻病害图像数据集增强[6]的关键技术,研究目标是应用WGAN-GP对水稻病害样本集进行数据增强,具体研究过程包括WGAN-GP模型构建及算法验证及性能分析等。
生成对抗网络由生成模型(Generative Model,G)和判别模型(Discriminative Model,D)组成。生成模型负责将接收到的噪声z输出生成样本,模型在训练过程中通过捕捉真实图像中的概率分布来生成接近真实的样本。判别模型负责估计接收的样本是真实样本还是生成样本的概率。在两个模型相互博弈过程中,生成模型生成的样本尽可能地欺骗判别模型,判别模型尽可能避免这种欺骗。最终,生成模型和判别模型会处于一种纳什平衡[7]。生成对抗网络的目标函数如公式(1)所示。
pz表示噪声输入的概论分布,pg表示生成样本x的概论分布,pr表示真实图像的概论分布。为了确保判别模型能准确鉴别真实图像,需要最大化当判别器接收生成样本,最大化会接近0。训练生成模型是为了让判别模型给出高概率的数值,因此需要最小化
经过近年来研究,原GAN存在难以实现纳什均衡、梯度消失、模式崩塌以及缺少适合的模型评估方法。这些问题在WGAN(Wasserstein Generative Adversarial Networks)中得到改进,采用Wasserstein距离[5]作为网络的距离衡量方式代替JS散度或KL散度衡量方式。Wasserstein距离计算如公式(2)所示:
尽管WGAN的训练相比原GAN的训练稳定性进一步增强,WGAN在训练时采用权重修剪(weight clipping)方式将模型内的参数限制在一定的范围内,由此来达到满足Lipschitz限制条件,但往往在最优策略下,参数通常会趋向不合理的极端情况。这不仅仅会影响模型的训练速度,当修剪范围逼近于极限时,还会导致梯度爆炸的情况发生。而WGAN-GP提出了另一种截断修剪的策略——Gradient Penalty,能有效避免上述问题,并且能提高模型训练的稳定性。WGAN-GP的损失函数如公式(3)所示:WGAN-GP网络结构见图1。
图1 WGAN-GP网络结构
卷积神经网络[8]被用于WGAN-GP模型对数据集增强后的验证。CNN广泛应用于图像分类的应用领域,CNN模型由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用最大池化层分开,所有隐层的激活单元都采用ReLU函数。卷积层提取输入的图像特征,通过最大池化层降低输入图像的维数,全连接的层放置在模型输出附近,最终通过softmax输出层进行数值预测。CNN模型见图2。
图2 CNN模型示意图
本文中,水稻病害图像是从黑龙江省齐齐哈尔市梅里斯达斡尔族自治区哈拉海农场水稻种植区的真实农田采集而来。使用具有16.0百万像素的佳能PowerShot SX530HS数码相机,具有12.0百万像素相机的小米6手机来捕获这些水稻病害图像,病害类型包括水稻稻瘟病、水稻褐斑病和水稻白叶枯病。该数据集是在不同天气条件下捕获,分别在水稻生长的前期、中期以及晚期3个时间段采集水稻病害图像,并对采集的图像进行人工标注。共采集3种水稻病害总计5872幅图像作为研究对象。每幅图像采用jpg格式存储,尺寸裁剪至64×64像素。采集的原始水稻病害图像见图3。
图3 水稻病害图像
传统的图像增强是将收集到的图片进行水平翻转、高斯模糊、添加噪点,以实现图像数据集的扩充增强。见图4。
图4 水平翻转、高斯模糊、添加噪点处理图像
本文实验环境为ubuntu 18.04系统,CPU型号为Intel Core(TM)i7-7 820HK,内存为32 GB。深度学习框架采用pytorch1.6+cuda10.1,NVIDIA 1 080加速运算。模型采用mini-batch 训练,WGAN-GP网络模型的batchsize设置为128。使用Adam优化器,初始学习率设置为0.0 002,迭代12 000轮。
定义好WGAN-GP网络后,从收集到的水稻病害数据集中随机划分70%的样本用来训练WGAN-GP生成对抗网络。通过WGAN-GP生成的水稻病害图像见图5。
图5 WGAN-GP生成的样本图像
将生成器生成的样本以及传统图像增强与剩余的30%样本分别扩充并混合达到1万个样本数量,然后用经典的卷积神经网络模型来进行模型验证测试。水稻病病害识别结果见表1。
表1 水稻病害识别结果 单位:%
从表中可以看出,使用VGG16网络模型进行测试,只用原始数据集进行训练的模型平均识别准确率为80.2%,使用传统图像增强技术对水稻病害图像数据进行扩充后的平均准确率达到91.2%,用WGAN-GP对水稻病害图像数据进行扩充后的平均准确率达到96.4%,且相比只用未扩充的原始图像数据集的模型平均识别准确率提高了16.2%,比采用传统图像增强的方法平均识别准确率提高了5.2%。
本文在水稻病害数据集有限的情况下,采用WGAN-GP模型对水稻病害图像小样本数据集进行扩充。通过VGG16网络模型下的验证,平均识别准确率达到96.4%,结果表明使用文中设计的WGAN-GP模型生成的水稻病害图像数据集能显著提升水稻病害识别的准确率。