2. 农业生态大数据分析与应用技术国家地方联合工程研究中心, 安徽 合肥 230601
2. National Engineering Research Center for Agro-Ecological Big Data Analysis & Application, Anhui University, Hefei 230601, China
随着社会的深化改革与科技的不断创新, 智能化、精细化逐渐成为未来农业发展的趋势[1]。如今农田受到病虫害侵扰的形势十分严峻,大规模农业病虫害时有发生[2]。病虫害的发生会直接影响我国的粮食安全,快速有效地检测农作物病虫害种类是采取防治措施的关键步骤。
近年来,随着深度学习方法的快速发展,农作物病虫害识别技术也取得了很大进步。卷积神经网络(convolutional neural network,CNN)是最常见的深度学习方法之一,能够在降维的基础上保留图像特征,进行图像分类[3]。众多的国内外研究已经证明了深度学习网络对于农作物病害识别的有效性,文献[4-6]采用卷积神经网络模型用于植物叶片病害识别,得到了较好的分类结果。但要达到较好的模型训练效果,则需要庞大的数据集作为训练样本,才能避免出现训练过程梯度反向传播消失与过拟合等问题。现实情况下数据获取难度较大,高昂的样本获取成本制约了深度学习网络在作物病害智能识别中的应用。目前小样本深度学习方式常采用迁移学习方法[7-8]使网络模型快速适应目标任务,通过数据增强[9]、参数优化[10]等方式提高训练模型精度,但仍会出现网络结构改造难度较大,以及数据增强引入无用特征对分类效果产生负面影响的问题。
为提高小样本数据情况下深度学习网络模型的识别精度,本文对比使用VGG16和ResNet原始模型与迁移学习之后的模型精度差异;同时提出分步识别方法训练并构建农作物病害识别模型,通过不同神经网络分别训练作物种类及病害种类数据,利用多个神经网络组合得到分步识别模型,以期提高作物病害种类识别精度。
1 材料与方法 1.1 数据集的获取本文选取2018年AI Challenger比赛提供的Plantvillage公开数据集中的番茄、苹果、葡萄3种农作物叶片图像作为训练数据集,识别包含健康叶片在内的共10种叶片类型,共8040张作物样本照片作为训练数据。病害种类如图 1所示。图 1中标号0为番茄健康、1为番茄叶霉病、2为番茄斑枯病、3为苹果健康、4为苹果黑星病、5为苹果黑腐病、6为苹果锈病、7为葡萄健康、8为葡萄轮斑病、9为葡萄褐斑病。
1.2 图像数据预处理训练模型前需对训练集数据按对应类别进行标签标注,将图片大小统一设置为256×256像素;将样本按照4∶1的比例设置为建模组和验证组,并添加到模型中;同时在数据集之外准备一个测试集,测试样本数量约为总样本的10%,用于后期的精度验证。
1.3 卷积神经网络卷积网络在本质上是一种输入到输出的映射,它能够自动学习大量的输入与输出之间的映射关系,只要用已知的数据对卷积网络加以训练,使网络具有输入输出对之间的映射能力[11]。卷积神经网络通过多层监督学习获得强大的特征提取和特征识别能力,由卷积层、池化层及全连接层组成[12]。本文试验基于VGG16[13]及Resnet50[14]模型进行修改并结合迁移学习方法实现了农作物病害的快速准确识别。
VGG16模型由13个卷积层、3个全连接层和5个池化层组成,网络权重集中在13个卷积层和3个全连接层中。在叶片病害识别过程中,将原VGG16的全连接层剥离,连接上含有对应病害种类神经元的全连接层。ResNet网络模型是将残差结构引入神经网络中,解决了随着深度学习网络的加深,模型训练难度增大而收敛速度变缓慢的问题[15]。ResNet模型改善了传统网络模型随深度加深反而错误率提高的情况。
1.4 迁移学习迁移学习是把在大型数据集ImageNet[16]上学到的图像分类知识成功运用到待解决的新的目标分类任务中。其优势在于:①以现有最佳网络模型为基础,通过微调网络层结构构建本文模型,比构建和训练随机初始化的新网络更快、更容易;②预训练网络模型由于已学习了丰富的特征,无需庞大的数据量再训练,即可有效缩短训练时间。
1.5 分步识别方法深度学习方法具有实现端到端目标识别的能力,但其实现的基础是需要大量训练数据,而多数情况下无法满足这种要求。分步识别方法从训练样本数量和干扰训练目标样本种类两方面进行考虑,以提高模型整体识别精度。
直接识别方法是对所有病害种类数据统一标签,一个模型训练全部样本数据,如图 2(a)所示。本文提出分步识别方法,如图 2(b)所示。分步识别模型包含种类识别和病害识别两部分。作物种类识别模型通过将作物病害训练数据进行归纳整理,按照物种这一共同特征进行种类模型训练,此过程将单一病害数据整合为按作物种类划分的数据集,相对增加了训练模型样本数量;病害识别模型是对相同物种的单一病害数据进行训练,得到病害识别模型,与直接识别训练方法相比,减少了非目标样本数据的干扰。
使用分步识别方法判别图像时,先由输入的图像确定作物种类,再分配给相应种类的病害识别模型进行判断,最后得到最终的物种病害判别结果。
1.6 试验平台及相关参数设置本试验基于Pytorch1.7.1+ CUDA11.0搭建网络进行模型搭建及训练。使用英特尔酷睿I7-10700K处理器,内存32 GB DDR4MHz、NVIDIA GeForce RTX2060独立显卡,6 GB显存。试验参数设置如下:迁移学习和微调的过程中使用SGD+0.9动量的优化方法,batch size为128,学习率为0.000 1,试验中ResNet迭代次数为50,VGG16模型迭代次数为10。
2 结果与分析本文研究属于小样本深度学习情况,因此使用迁移学习方法对模型精度进行提高,基于VGG16和ResNet神经网络模型对数据进行训练,与直接训练方法精度提升效果进行对比。在使用迁移学习神经网络的基础上,按照直接识别与分步识别的不同方式对模型进行训练,分析不同训练方式的效果优势,最终选取精度最优的模型进行作物病害种类识别。
2.1 作物种类识别模型精度对比迁移学习训练模型通过测试集数据进行模型精度对比,见表 1。由表 1可知,迁移学习可以极大地提高神经网络模型精度,两种模型识别精度提升均超过20%,迁移学习后的模型识别精度均超过90%。因此本文利用迁移学习后的神经网络模型进行后续的试验。
作物种类 | 非迁移学习 | 迁移学习 | |||
ResNet | VGG16 | ResNet | VGG16 | ||
番茄 | 0.675 | 0.850 | 0.920 | 0.977 | |
葡萄 | 0.571 | 0.702 | 0.970 | 0.913 | |
苹果 | 0.373 | 0.706 | 0.952 | 0.904 |
小样本数据情况下,图像特征信息提取具有一定难度,直接对样本进行训练模型识别精度偏低,因此提出分步识别方法进行图像分类。第1个模型用于作物种类判断,第2个模型用于病害种类判断。
作物种类判断模型训练:选取同种作物图像为训练样本,将少量的单一病害种类图像进行汇总,模型训练样本标签为苹果、葡萄和番茄。病害种类判断模型训练:根据表 1中模型精度,番茄使用VGG16模型,葡萄和苹果使用ResNet模型,对同种作物的不同病害进行训练,当训练苹果病害模型时,标签为苹果黑星病、苹果黑腐病、苹果锈病。当进行图像识别时,分步识别首先调用作物种类识别网络,再进入作物病害识别网络,输出病害识别结果。
试验使用直接识别方法与分步识别方法分别对10种叶片数据进行模型训练。VGG16模型和ResNet模型直接识别模型精度分别为81.4%和86.1%,见表 2。分步识别模型中作物种类使用VGG16和ResNet模型,病害种类识别使用迁移学习后精度高的识别模型进行组合,分步识别方法进行作物病害识别的精度分别为95.3%和92.8%。对比直接识别方法分别提高了14%和8%。
试验结果表明,分步识别方法可大大提高模型精度。单一神经网络在训练模型时将所有种类的病害图像划分为不同标签进行训练,此时非目标图像数据量占总数量比例较高,会影响目标图像的训练精度,因此会出现单一神经网络模型识别较低的情况。训练数据种类较多时,神经网络需要学习的种类特征过多或过于复杂,受限于样本数量原因不能充分学习,导致对单一类别的特征识别能力下降,将信息进行归类处理,分为多个神经网络分别学习不同信息,可以降低各种类过多造成的影响,因此分步识别方法得到较高的识别精度。
2.3 分步识别方法精度验证基于分步识别方法,利用VGG16模型对每3个物种进行区分,再将VGG16番茄模型、ResNet葡萄和ResNet苹果模型进行组合,对测试集数据进行精度评定,结果见表 3。
作物种类 | 物种精度 | 病害类别 | 单一精度 |
番茄 | 0.977 | 番茄叶霉病 | 0.885 |
番茄斑枯病 | 0.994 | ||
番茄健康 | 0.998 | ||
苹果 | 0.952 | 苹果黑星病 | 0.945 |
苹果黑腐病 | 0.924 | ||
苹果锈病 | 0.880 | ||
苹果健康 | 0.980 | ||
葡萄 | 0.970 | 葡萄轮斑病 | 0.972 |
葡萄褐斑病 | 0.956 | ||
葡萄健康 | 0.999 |
从统计结果可以看出,番茄、苹果和葡萄的识别率分别为97.7%、95.2%和97%,可以达到区分的效果。番茄叶霉病和苹果锈病识别精度较低,分别为88.5%和88%。番茄叶霉病对叶片的影响主要为病斑区域颜色变化,呈现黄色斑块;苹果锈病对叶片的影响为产生棕色的圆形病斑,可能是由于该模型对颜色信息特征的提取和区分还不够完善,从而造成了少量类别的病害图像错分的情况。
3 结语本文提出了基于迁移学习分步识别多种作物病害种类的方法,采用10种叶片图像数据进行试验。试验结果表明,迁移学习方法可极大提高原始模型精度。所提出的分步识别方法相较于传统直接训练方法可改善小样本数据情况下模型精度。分步识别方法在训练时相当于提升了目标图像的所占比例,在病害种类识别时,降低了其他物种病害对该病害的训练影响,将多个模型组合进行作物病害分类,可有效提高识别图像的精度。本文方法可在样本数量较少、训练数据种类多且可以进行汇总及归类的情况下使用,为深度学习图片智能分类应用提供了改进思路,同时为具有相似图像分类需求的情况提供了建模方法和解决方案。
[1] |
赵春江. 智慧农业发展现状及战略目标研究[J]. 智慧农业, 2019, 1(1): 1-7. |
[2] |
贾少鹏, 高红菊, 杭潇. 基于深度学习的农作物病虫害图像识别技术研究进展[J]. 农业机械学报, 2019, 50(S1): 313-317. |
[3] |
周俊宇, 赵艳明. 卷积神经网络在图像分类和目标检测应用综述[J]. 计算机工程与应用, 2017, 53(13): 34-41. DOI:10.3778/j.issn.1002-8331.1703-0362 |
[4] |
KERKECH M, HAFIANE A, CANALS R, et al. Deep learning approach with colorimetric spaces and vegetation indices for vine diseases detection in UAV images[J]. Computers and Electronics in Agriculture, 2018, 155(12): 237-243. |
[5] |
AMARA J, BOUAZIZ B, ALGERGAWY A. A deep learning-based approach for banana leaf diseases classification[C]//Datenbanksysteme für Business, Technologie und Web (BTW 2017). Stuttgart: [s. n. ], 2017.
|
[6] |
许景辉, 邵明烨, 王一琛, 等. 基于迁移学习的卷积神经网络玉米病害图像识别[J]. 农业机械学报, 2020, 51(2): 230-236. |
[7] |
ZHAO Y, ZHENG Y L, SHI H L, et al. Transfer learning-based convolutional neural network image recognition method for plant leaves[J]. International Journal of Circuits, Systems and Signal Processing, 2020, 14: 56-62. |
[8] |
张瑞青, 李张威, 郝建军, 等. 基于迁移学习的卷积神经网络花生荚果等级图像识别[J]. 农业工程学报, 2020, 36(23): 171-180. DOI:10.11975/j.issn.1002-6819.2020.23.020 |
[9] |
赵立新, 侯发东, 吕正超, 等. 基于迁移学习的棉花叶部病虫害图像识别[J]. 农业工程学报, 2020, 36(7): 184-191. |
[10] |
张善文, 黄文准, 尤著宏. 基于物联网和深度卷积神经网络的冬枣病害识别方法[J]. 浙江农业学报, 2017, 29(11): 1868-1874. DOI:10.3969/j.issn.1004-1524.2017.11.13 |
[11] |
FERENTINOS K P. Deep learning models for plant disease detection and diagnosis[J]. Computers and Electronics in Agriculture, 2018, 145: 311-318. DOI:10.1016/j.compag.2018.01.009 |
[12] |
李炳臻, 刘克, 顾佼佼, 等. 卷积神经网络研究综述[J]. 计算机时代, 2021(4): 8-12. |
[13] |
TÜRKOǦLU M, HANBAY D. Plant disease and pest detection using deep learning-based features[J]. Turkish Journal of Electrical Engineering and Computer Science, 2019(3): 1636-1651. |
[14] |
LEONG K K, TZE L L. Plant leaf diseases identification using convolutional neural network with treatment handling system[C]//IEEE International Conference on Automatic Control and Intelligent Systems (I2CACIS). [S. l. ]: IEEE, 2020.
|
[15] |
MOHANTY S P, HUGHES D P, SALATHE M. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7: 1-10. |
[16] |
ELSKEN T, METZEN J H, HUTTER F, et al. Neural architecture search: a survey[J]. Journal of Machine Learning Research, 2019, 20(55): 1-21. |