APP下载

基于迁移学习的小样本农作物病害识别

2019-07-03燕斌周鹏严利

现代农业科技 2019年6期
关键词:迁移学习农作物

燕斌 周鹏 严利

摘要    随着机器学习加速应用于各行各业,卷积神经元网络在农作物病害图片识别领域展现出良好的性能。本文针对传统卷积网络所需样本量大、训练时间长、二次学习困难等问题,实现了一种基于特征的有监督迁移学习,在Inception-V3网络的基础上,使用imageNet固化特征提取层,为目标领域设置特征分类器的方法,在每种病害仅使用20张图片的小样本基础上,实现了对8种不同病害的正确识别,总体识别率达到90.6%,并给出了进一步提升模型性能的方法,以期为小样本农作物病害图片识别提供有益参考。

关键词    卷积神经元网络;迁移学习;农作物;病害识别

中图分类号    TP391.4        文献标识码    A        文章编号   1007-5739(2019)06-0087-03

农作物病虫害是指植物受到其他生物的侵染或由于不适宜的环境条件而引起的正常生理机能的破坏,是制约高产、优质、高效农业持续发展的主要因素之一。植物病虫害是中国三大自然灾害之一,其识别、监测、预警是防控工作的决策信息源头[1-4]。随着近几年深度学习网络的方法进步,国内外的研究者已经成功将以卷积神经元网络为特征提取基本手段的深度学习网络应用到各行各业,并取得了较好的实用效果。如张  帅等[5]提出的基于深度多层卷积神经元网络的植物叶片识别模型,能够实现对单一叶片90%以上的正确识别,并能够对复杂背景叶片进行有效识别;余秀丽等[6]利用支持向量机有效识别了3种小麦叶部常见病害;Sla-dojevic 等[7]、Brahimi等[8]与Amara等[9]将卷积神经网络用于植物叶片病害识别,分别在模型CaffeNet和AlexNet上使用微调方法进行改进,取得了较好的识别效果。

众多的国内外研究已经证明了深度学习网络对于农作物病害识别的有效性,但是深度学习模型参数数量十分庞大,往往达到107级[10],要取得较好的训练效果则必须使用庞大的训练样品集,才能避免训练过程梯度反向传播消失及过拟合等问题。如著名的PlantVillage工程开放数据库,仅针对14种植物26类病害叶面的特征图像就超过20 000张。高昂的样本获取成本制约了深度学习网络在作物病害智能识别中的应用,特别是一些非常见病例,样本的获取更为困难。同时,深度学习模型的扩容学习过程开销巨大,如在已训练模型中加入新的识别种类,则需要对整个网络参数重新训练,在使用专业GPU进行计算的条件下,仍需100 h以上,使模型的易用性和动态性大打折扣。

针对深度学习网络在实际应用中出现的问题,本文实现了一种基于Inception-V3模型的迁移学习方法,截取 In-ception-V3模型的卷积、池化特征提取层,添加模型尾部分类器,针对8种不同病害叶面图片,在每种病害样本仅20张图片的条件下,进行训练和测试,并对试验结果与传统方法进行分析比较,以期为作物病害小样本识别研究提供有益参考。

1    迁移学习与少样本学习

迁移学习是指将一个模型在源领域进行训练,将训练结果应用到目标领域的方法。通常情况下,源领域拥有较大的数据量,可以通过大量的带标签数据对模型进行训练。在目标领域和源领域相关或相似的情况下,可以通过模型在源领域学到的经验知识,利用少量的目标领域数据,即可完成相应任务。其数学表达式如下:给定源领域DS={XS,fS(X)}与学习任务TS,目标领域DT={XT,fT(X)}与学习任务TT,迁移学习是利用模型在DS和TS上获取的知识来改善其在DT上的预测函数fT(·)[11]。

本文使用的方法属于有监督基于特征的迁移学习,类似于多任务学习,其基本思想为训练模型在相关任务上学习一组共享低维度特征,且学习到的特征可以改善所有任务上的分类或回归任务的精度,共同特征的学习可以通过下列优化问题的求解获得[11]:

2    数据与迁移模型

2.1    数据准备

本文以主要作物常见病害为研究样本,原始图样见图1。综合考虑天气、光照等环境因素,每种病症取20张图片作为训练集,10张作为验证集,通过简单的图片预处理将每张图片裁剪为模型输入所需规定尺寸299×299像素,对训练集图片进行顺时针旋转及对称翻转等手段进行样本增强,样本标记采用One-Hot独热编码。

2.2    基于Inception-V3 的迁移模型

Inception-V3模型共有13层,包括6个卷积层、2个池化层、3个Inception层、1个全连接层和1个softmax输出层(图2)。其中,C1、C5层卷积核大小为3×3,卷积滑动值为2,C2、C3、C4、C6层卷积核大小为3×3,卷积滑动值为1;P1层池化窗口大小3×3,滑动值2;P2层在接收到Inception3层的8×8×1280的特征图像后采用8×8的池化窗口,即将每个特征图像取最大值点,进一步压缩网络参数值。Inception层的思想为将不同卷积窗口大小的卷积核堆叠在一起,一方面增加了网络的宽度,另一方面增加了网络对尺度的适应性。Inc-eption V3模型最重要的改进是分解,将7×7分解为2个一维的卷积(1×7,7×1),3×3分解为(1×3,3×1),既可以加速计算,又可以进一步增加网络深度,增强网络的非线性。

3    模型訓练

实验软件环境MacOS Sierra操作系统,采用Tensorflow深度学习开源构架,编程工具Python,后台服务采用Flask构架。实验平台内存16 GB,搭载Intel Corei7微处理器。模型训练与运行的流程见图3。

(1)采用OpenCV工具包将数据集8种病害图片进行无畸变裁剪,使其像素尺寸符合模型输入要求,即229×229像素;同时划分训练图片与测试图片,测试图片数量为训练图片数量的50%。

(2)通过ImageNet对Inception-V3模型进行预训练,固化Inception-V3模型的特征提取层。使用预训练模型计算每张图片的特征值,特征值截取位置Pool2层,输出尺寸2048为一维向量。其中,预训练模型的权重参数取值为ImageNet上的训练结果,该结果在2012ImageNet上取得了3.4%的Top-5准确率,能对1 000个类别的物体进行识别,说明预训练模型具备了提取图像特征的良好特性。

(3)切割Inception-V3模型的特征提取部分,衔接输入为1024一维向量的全连接层,并对输出进行正则化,降低少量样本可能带来的过拟合风险。输出层为8位softmax分类器,标记采用One-Hot独热编码。由于本迁移学习中新添加参数仅集中在1024全连接层与8输出层,计算量相较于Inception-V3单独训练下降超过90%,用所有训练集图片训练模型1次计为1次迭代,每50次迭代使用验证集验证当前模型的识别率。模型超参数学习率初始值为0.01,每100次迭代减半,训练中权重 Dropout为0.5,每200次迭代保存1次模型检查点。

(4)存储已训练完毕的模型,并将其封装为运行模式。操作过程如下:在程序中首先载入Inception-V3模型的特征提取部分,将接收到的图片输入并进行特征提取,然后载入训练完毕的迁移模型,将提取到的特征输入到迁移模型进行识别,然后输出识别结果。

4    结果与分析

模型训练结果使用Tensorboard进行可视化显示,模型收敛较快,在500次迭代时已经达到90%的正确率,最终1 000次迭代后模型准确度与误差值如图4所示,验证集的最终准确度为93.3%,另取每种病症20张未学习过的图片作为测试集,测试模型的泛化能力,测试准确率为90.6%,测试集识别分类结果如表1所示。

由表1可知,胡麻叶病、白粉病、条锈病和小麦麦蜘蛛由于特征纹理较为明显,识别效果较好。而玉米大斑病与水稻稻瘟病在没有前置知识的前提下,由于拍摄图片特征形状、大小、颜色等相似,容易发生混淆,模型的错误率主要来自这2种病症,见图5。

总体识别正确率可从以下2个方面进行提高:一是缩小迁移学习中的源领域与目标领域的差别,本文中的图像特征采集部分参数固化于ImageNet,而非大型植物类图片集,导致特征提取偏向自然图像中1 000种不同物体;二是优化目标领域分类器的结构,可以采用类似于RCNN的构架,添加目标框,通过回归算法调整目标框的大小,减少图片无用特征对辨别效果的干扰。

5    结论

机器学习加速应用于各行各业,传统的农作物病害诊断需要经验丰富的技术人员现场辨别,而将人工智能与物联网图像远程采集相结合,让智能算法自我判断、自我学习,反应迅速有效,能有效降低病害带来的损失,提高农作物产量和质量,增加农民收入。本文实现了一种基于迁移学习的农作物病害图像识别方法,在已有Inception网络的特征提取能力的基础上,通过固化特征提取卷积与池化层,添加定制任务分类器,降低自由参数的数量,相较其他深度学习网络如VGG16等,本文中的模型参数仅为前者的10%左右,极大地提高了网络训练的效率,增强了网络二次学习的能力。在使用每种病症20张图片的小样本集上实现了超过90%的总体识别正确率,为作物病害小样本识别研究提供了有益参考。

6    参考文献

[1] 刘阗宇,冯全,杨森.基于卷积神经网络的葡萄叶片病害检测方法[J].东北农业大學学报,2018(3):73-78.

[2] 梁万杰,曹宏鑫.基于卷积神经网络的水稻虫害识别[J].江苏农业科学,2017,45(20):241-243.

[3] 孙俊,谭文军,毛罕平,等.基于改进卷积神经网络的多种植物叶片病害识别[J].农业工程学报,2017,33(19):209-215.

[4] 曹乐平.基于机器视觉的植物病虫害实时识别方法[J].中国农学通报,2015,31(20):244-249.

[5] 张帅,淮永建.基于分层卷积深度学习系统的植物叶片识别研究[J].北京林业大学学报,2016,38(9):108-115.

[6] 余秀丽,徐超,王丹丹,等.基于SVM的小麦叶部病害识别方法研究[J].农机化研究,2014,36(11):151-155.

[7] SLADOJEVIC S,ARSENOVIC M,ANDERLA A,et al. Deep neural net-works based recognition of plant diseases by leaf image classification[J].Computational Intelligence and Neuroscience,2016(6):1-11.

[8] BRAHIMI M,BOUKHALFA K,MOUSSAOUI A.Deep learning for tomato diseases:Classification and symptoms visualization[J].Applied Artificial Intelligence,2017:1-17.

[9] AMARA J,BOUAZIZ B,ALGERGAWY A,et al.A deep learning based approach for banana leaf diseases classification[C]//Datenbanksysteme Für Business,Technologie Und Web,2017:79-88.

[10] 王献锋,张善文,王震,等.基于叶片图像和环境信息的黄瓜病害识别方法[J].农业工程学报,2014,30(14):148-153.

[11] SINNO J P,QIANG Y.A Survey on transfer learning[J].IEEE Transacti-ons on Knowledge & Data Engineering,2010,22(10):1345-1359.

猜你喜欢

迁移学习农作物
无公害农作物的栽培技术方法探析
农作物抗旱栽培技术要点分析
迁移学习研究综述
无公害农作物的栽培技术方法探析
从认知角度探讨大学英语网络教学模式
2017年浙江省主要农作物病虫草害防治药剂推荐名单
奇异值分解与移移学习在电机故障诊断中的应用
趣味象声词
一种基于迁移极速学习机的人体行为识别模型
大数据环境下基于迁移学习的人体检测性能提升方法