基于迁移学习的苹果树叶片病虫害识别方法研究*

2021-12-06 06:17周宏威沈恒宇袁新佩李晓冬
中国农机化学报 2021年11期
关键词:苹果树卷积准确率

周宏威,沈恒宇,袁新佩,李晓冬

(1.东北林业大学机电工程学院,哈尔滨市,150000;2.国家林业和草原局森林和草原病虫害防治总站,沈阳市,110034)

0 引言

中国是世界上最大的苹果生产国和消费国,苹果种植面积和产量均占世界总量的40%以上,在世界苹果产业中占有重要地位[1]。苹果树病虫害对苹果的产量有重要影响,如果能快速准确地识别病虫害就能有针对性的对病虫害进行及时控制,将病虫害对苹果树的影响降到最低[2]。目前苹果树病虫害识别主要是靠专家识别和种植户的经验,这种方法效率低下,不适合大面积快速识别,不能够满足现实需求。

随着深度学习和计算机视觉技术的不断发展,神经网络模型在各个领域都得到了广泛运用,包括人脸识别、语音识别、自动驾驶等[3-5]。在农林业方面,学者也对此进行了深入的研究[6-9]。牛冲等[10]通过提取直方图的8个特征(平均灰度、标准偏差、三阶中心矩、平滑度、均匀性、平均信息量、最大概率灰度级、灰度范围)并进行归一化处理利用支持向量机等方法对草莓病虫害识别,平均准确率达到90%以上。苏鸿等[11]利用区域卷积神经网络模型对广西柑橘病虫害识别进行研究,对几种典型的柑橘病虫害的识别准确率较高。孙鹏等[12]利用注意力神经网络对大豆害虫图像进行特征提取,识别准确率达到96.85%。山东农业大学赵立新等[13]在CNN算法的基础上,利用各种优化逐步提升6种棉花叶片病虫害图像的分类准确率,重点从网络结构择优、面对识别模型进行逐步研究分析和改进,取得不错的效果。

早期的识别分类方法识别率很低,需要对农作物病害图像进行分割、边缘检测等预处理,然后手工特征提取后分类,费时费力,得到的分类准确率却不高[14]。与传统图像识别分类方法相比,使用神经网络可以大大降低前期对于图像处理的工作,降低工作量,提升准确度[15]。迁移学习是一种机器学习技术,将一个任务上训练好的卷积神经网络模型通过简单的调整使其适用于一个新的任务[16]。神经网络需要从数据中获得信息来进行训练并将数据转换成相应的权重,这些权重能够被提取出来迁移到其他的神经网络中,通过迁移这些学来的特征不需要从0开始训练一个神经网络。本文采用迁移学习的方法,通过将已经在ImageNet上训练好的模型权重迁移到重新设计了输出层的新模型上,再使用苹果树叶片病虫害样本数据训练新模型。

1 试验数据与方法

1.1 试验数据

本研究以苹果黑星病叶片,苹果黑腐病叶片,苹果锈病叶片以及健康苹果叶片4种不同的苹果叶片作为研究对象。因为农林业类图片数据较少且不易获取。因此本试验所需要的数据均由Plant Village公开数据集上获取,所有图片标签由农林类专家标注。本次试验共有图片860张,其中苹果黑星病叶片180张,苹果黑腐病叶片270张,苹果锈病叶片130以及健康苹果叶片280张(图1)。将4类图片放在4个不同的文件夹内,每个文件夹的名称为该类别图片的标签。

苹果树叶片病虫害数据集分为训练集(Train Set),验证集(Validation Set)和测试集(Test Set),比例为8∶1∶1。其中训练集是用于训练模型以及确定模型权重的数据集;验证集是训练模型过程中单独留出的样本集,验证集的结果可以用于调整模型的超参数以及确定网络的结构并对模型的效果进行初步评估;测试集用于检验最终模型的泛化能力,结果不能用于调参等算法相关的依据。

(a)苹果黑星病

1.2 基于迁移学习的卷积神经网络模型

卷积神经网络(Convolutional Neural Networks,CNN)是传统神经网络的一种改进形式,它和传统神经网络一样依然是层级网络结构,只是在层的功能和形式上有改变,常用来分析视觉图像[17]。与传统神经网络相比,在CNN上新出现了卷积层和池化层。通常卷积神经网络由输入层(Input Layer)、卷积层(Conv Layer)、池化层(Pooling Layer)、全连接层(FC Layer)以及输出层(Output Layer)这5部分组成。

ImageNet视觉识别比赛,这个图片分类比赛是训练一个能够将输入图片正确分类到1 000个类别中的某个类别的模型。训练集120万,验证集5万,测试集10万。用于训练分类的1 000个类别都是我们日常生活中常见的包括动物、家电、车辆等等。在过去几年的ImageNet比赛中,有几个表现最好的卷积神经网络模型包括VGG16、ResNet50和InceptionV3等。

深度学习的基本思路是利用已有的数据集训练出一个神经网络模型,且该模型能够尽量拟合所需要的预测结果。在数据量不是很大的情况下可以通过预训练模型进行训练,这就是迁移学习[18]。迁移学习的特点:(1)复用现有知识域数据,已有的大量工作不至于完全丢弃;(2)不需要再去花费巨大代价去重新采集和标定庞大的新数据集,也有可能数据根本无法获取;(3)对于出现的新领域,能够快速迁移和应用,体现时效性优势。

本文分别以这三种模型通过迁移学习技术(特征提取)构建苹果树叶片病虫害识别模型,实现对苹果树病虫害的快速识别。

1.2.1 VGG16网络结构

VGG16模型结构如表1所示。

表1 VGG16模型结构Tab.1 Model instruction of VGG16

在2014年,VGG模型架构由Simonyan和Zisserman[19]提出,VGG模型结构简单有效,前几层仅使用3×3卷积核来增加网络深度,通过Max pooling(最大池化)依次减少每层的神经元数量,最后几层分别是两个有4 096个神经元的全连接层,一个1 000个神经元的全连接层和一个Softmax层。VGG16共包含13个卷积层(Conv Layer),3个全连接层(FC Layer),5个池化层(Pooling layer),其中,卷积层和全连接层具有权重系数,因此也被称为权重层,总数目为13+3=16(池化层不涉及权重,不计数)。

1.2.2 ResNet50网络结构

在2015年He等[20]发现随着网络结构越来越深,导致的梯度消失问题会使模型的学习愈加艰难,提出ResNet网络模型。ResNet网络模型利用残差模块和常规SGD(随机梯度下降)可以训练极深的神经网络。使用Global Average Pooling(全局平均水平池)代替全连接层。ResNet50模型结构如表2所示。

表2 ResNet50模型结构Tab.2 Model instruction of ResNet50

1.2.3 Inception V3网络结构

“Inception”微架构由Szegedy等[21]在2014年首次提出。Inception V3架构实现基于Szegedy等[22]后来写的论文《计算机视觉的初始架构反思》(Rethinking the Inception Architecture for Computer Vision),其中提出了对Inception模块的更新,进一步提高了ImageNet分类效果。Inception v3模型结构如表3所示。模型中使用的3×Inception,5×Inception和2×Inception模块如图2~图4所示。

图2 3×Inception结构图Fig.2 3×Inception

图3 5×Inception结构图Fig.3 5×Inception

图4 2×Inception结构图Fig.4 2×Inception

表3 Inception模型结构Tab.3 Model instruction of Inception

VGG16、ResNet50以及Inception V3是近年来在图像领域取得良好成绩的经典卷积网络模型。因此本文分别以VGG 16、ResNet50和Inception V3这三种模型为基础构建苹果树叶片病虫害识别模型。

1.3 模型训练

1.3.1 试验环境

本试验的软件环境为Python3.6.7,通过Tensorflow-GPU调用Keras库构建模型,使用cuda加速运算。CPU为Intel Xeon E5-2660 v2 2.2 GHz 4核,内存为32 GB,显卡为两张Nvidia P102-100,显存为20 GB。

1.3.2 数据预处理

在利用不同的神经网络进行迁移学习时,根据模型结构的不同需要对输入数据进行预处理[23]。VGG16和ResNet50要求输入图片的大小为224×224×3,而Inception V3所需要的输入图片大小为299×299×3。因此在进行试验前要对输入数据进行预处理,调整图片的尺寸。

1.3.3 模型结构的调整

改进后的模型结构如图5所示。

图5 重新设计后的模型结构Fig.5 Redesigned model structure

本次迁移学习所使用的3种模型结构均是为ImageNet(1 000种不同物体识别)所设计,利用上述模型进行迁移学习来训练苹果树叶片病虫害识别的网络时势必要对原来的模型进行调整。本次试验一共要对4种不同的叶片进行识别分类,因此全连接层的个数应该为4。在重新设计的模型结构中对原模型的最后一层进行改进:增加一层256维的全连接层,一层ReLU激活层,一层Dropout层,一层4维的全连接层以及一层Softmax层。

1.3.4 超参数的设计

参数(parameters)是指由模型通过学习得到的变量,不需要手动设定,比如权重w和偏置b。超参数(hyperparameters)通常根据模型设计者的经验进行设定,比如迭代次数、隐藏层的个数、每层神经元的个数、学习速率、每个batch中训练样本的数量等,超参数的设定将会影响到权重w和偏置b在迭代过程中的值。在1.3.3小节中已经设定了隐含层的个数和每层神经元的个数。学习率是一个很重要的参数,如果学习率设定的太大学习速度会加快,但是损失函数会在极小值点不停震荡甚至偏离。而如果学习率设定的太小网络收敛将会很慢。为了平衡学习速率和准确率这两点,本试验设置初始学习率为0.1,每隔10个epoch,学习率减小为原来的1/10,这样可以动态调整学习率让预测结果达到最佳。Batch size设置为10,一般来说如果运算平台的内存越大,这个值可以设置得越高。Epoch为运行的轮次,一个epoch代表一个完整的数据集经过神经网络并返回。Epoch值越大代表训练次数越多,这里统一设定为30次。模型优化器选择Adam优化器。Adam优化器是Kingma和Ba[24]两位学者在2014年提出,结合AdaGrad和RMSProp两种优化算法的优点。对梯度的一阶矩估计(First Moment Estimation,即梯度的均值)和二阶矩估计(Second Moment Estimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。

Adam优化器更新规则

gt=∇θJ(θt-1)

(1)

式中:gt——第t步时梯度;

J(θt-1)——使用随机目标函数对上一时刻的参数θt-1进行计算。

mt=β1mt-1+(1-β1)gt

(2)

式中:mt——一阶矩估计;

β1——指数衰减率,用于控制梯度动量和当前梯度的权重分配,一般取值为0.9。

vt=β2vt-1+(1-β2)gt2

(3)

式中:vt——二阶矩估计;

β2——指数衰减率,控制之前的梯度平方的影响情况,默认为0.999。

(4)

因为m0初始化为0,会导致mt偏向于0,尤其是在训练初期,所以要对mt进行偏差纠正,降低偏差对训练初期的影响。

(5)

与m0类似,v0初始化为0会导致训练初期vt偏向于0,对其进行纠正。

(6)

式中:θt——更新参数;

α——学习率;

ε——10-8。

1.4 试验流程

使用已有的4类苹果树叶片图像,将图像分为训练集、验证集和测试集后,用新设计的全连接层代替VGG16,ResNet50和Inception V3的全连接层模块构成一个新的网络模型。之后利用已经在ImageNet上训练好的3个网络的卷积层权重迁移到新构建模型的卷积层中,最后用图像的训练集训练新模型并用测试集对模型的准确度进行检验。训练完成后的模型就可以对苹果树叶片病虫害进行识别。试验流程如图6所示。

图6 迁移学习实验流程图Fig.6 Flow chart of the experiment on transfer learning

2 试验结果与分析

本次试验选择VGG16,ResNet50和InceptionV3这3种卷积网络神经结构。直接搭建VGG16,ResNet50和InceptionV3模型病虫害识别准确率曲线变化如图7、图9、图11所示;使用VGG16,ResNet50和InceptionV3模型迁移学习后病虫害识别准确率曲线变化如图8、图10、图12所示。模型训练集,验证集和测试集准确率如表4所示。

图7 VGG16模型运行结果Fig.7 Results of VGG16 model

图8 VGG16模型迁移学习运行结果Fig.8 Results of VGG16 model on transfer learning

图9 ResNet50模型运行结果Fig.9 Results of ResNet50 model

图10 ResNet50模型迁移学习运行结果Fig.10 Results of ResNet50 model on transfer learning

图11 Inception V3模型运行结果Fig.11 Results of Inception V3 model

图12 Inception V3模型迁移学习运行结果Fig.12 Results of Inception V3 model on transfer learning

由表4可知,迁移学习模型具有很强的鲁棒性和泛化能力,这三种模型在使用迁移学习方法的情况下对苹果树叶片病虫害识别的准确率均达到了95%以上。相较于未使用迁移学习,在训练相同轮次的情况下,准确度有较大提升,试验效果较为理想。VGG16网络因为网络层数较浅,训练时需要占用的内存空间较小,其训练速度很快,在使用迁移学习方法后在测试集上的准确度由72.09%提升到97.67%。ResNet50网络层数很深,训练时需要占用大量内存,训练速度较慢,在使用迁移学习方法后在测试集上的准确度由48.83%提升到95.34%。

表4 3种模型准确率对比Tab.4 Comparison of accuracy of three models

Inception V3结构最为复杂,运算消耗的时间最长但分类效果也最好且在测试集上准确度最高。使用迁移学习后模型相较于未使用的模型收敛速度明显加快,三种模型均在训练20轮左右达到稳定且分类准确度明显提高,这表明利用经典卷积神经网络进行迁移学习在保证准确率和快速性的情况下对病虫害识别的可行性,在识别前期不需要对图像进行过多的预处理,大大降低了训练时间和操作成本。

3 结论

本次试验使用迁移学习的方法,通过改进原模型全连接层的结构,将VGG16,ResNet50和Inception V3这3种卷积神经网络模型应用到苹果树叶片病虫害识别问题上。证明迁移学习在苹果树病虫害识别上的有效性。

1)使用卷积神经网络的迁移学习对苹果病害识别具有较好的应用效果,丰富了现有的识别手段,为苹果树病虫害识别提供了全新的思路。

2)和重新训练一个CNN网络相比,利用迁移学习的方法能够在训练20轮左右时精度就达到90%以上并趋于稳定,而重新训练相同的卷积神经网络训练次数在30轮的情况下验证集结果仍在反复波动,且平均准确率只有70%左右。这说明使用迁移学习能大大缩短训练时间,提升识别精度,在苹果树叶片病虫害识别的方面效果更好。

3)通过迁移学习识别模型训练的试验结果,可以看出使用迁移学习能够在训练集样本量偏少的情况下仍然达到较好的识别效果。说明迁移学习弱化了使用大数据集样本的必要性,一定程度上能解决小数据集在复杂模型上产生的过拟合问题。

猜你喜欢
苹果树卷积准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
做一颗永远成长的苹果树
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
苹果树
一种基于卷积神经网络的性别识别方法