刘君 王学伟
摘 要:番茄植株在生长过程中感染各种病虫害,从而导致番茄的产量降低和种植户的利润损失。当前番茄病虫害检测主要通过农业专家人工进行,这种人工检测方法既昂贵又耗时。目前利用计算机视觉和深度学习达到病虫害自动分类识别的方法大多都是在受控环境下进行的,对病虫害所处背景环境的要求较高,同时不能实现病虫害的定位。针对这些问题,基于深度学习的思想,提出了一种基于YOLO卷积神经网络的番茄病虫害检测算法,同时建立了一个专家标注病虫害信息的真实自然环境下的番茄病虫害图像数据库,将本试验的番茄病虫害检测算法在此数据库上进行测试,对8类番茄病虫害的检测平均精度高达85.09%。结果表明,该算法能够有效地提升番茄病虫害检测的精度和速度,得到番茄病虫害的精准定位,优于Faster R-CNN和SSD等农业病虫害检测方法。
关键词:番茄;图像处理;病虫害检测;YOLO;目标检测
中图分类号:S641.2 文献标志码:A 文章编号:1673-2871(2020)09-018-06
Abstract: Tomato plants are infected with a variety of diseases and pests as they grow, resulting in reduced production and lost profits for growers. At present, the detection of tomato pests and diseases is mainly conducted manually by agricultural experts, which is expensive and time-consuming. Most of the methods that have been studied to achieve the automatic classification and identification of diseases and insect pests by using computer vision and deep learning are carried out in a controlled environment, which has high requirements on the background environment of diseases and insect pests and cannot realize the location of diseases and insect pests. To solve these problems, a detection algorithm of tomato pests and diseases based on YOLO convolutional neural network was proposed based on the idea of deep learning. At the same time, an image database of tomato diseases and pests marked by experts in real natural environment was established, and the detection algorithm of tomato diseases and pests in this database was tested. The average detection accuracy of 8 kinds of tomato diseases and pests reached 85.09%. The experimental results show that the algorithm in this paper can effectively improve the detection accuracy and speed of tomato diseases and insect pests, and obtain the precise location of tomato diseases and insect pests, which is better than the previous detection methods of agricultural diseases and insect pests.
Key words: Tomato; Image processing; Disease and pest detection; YOLO; Object detection
农业病虫害是已知的造成农业经济损害的主要因素之一[1],农业病虫害带来的经济影响遍及全世界,欧洲农业经济损失每年达到28.2%,北美达到31.2%,亚洲和非洲在50%以上[2]。自20世纪60年代以来,病虫害综合防治(Integrated Pest Management,IPM)[3]已成为主要的防治模式,根据对不同种类病虫害进行的压力检测结果,制定有利于经济发展、生态维护,以及具有社会学意义的最佳农药建议。近年来,研究学者们提出了许多病虫害识别系统。基于视觉词袋框架(Bag of words,BoW)[4],Venugoban等[5]将方向梯度直方图(Histograms of oriented gradients,HOG)[6]与加速鲁棒特征(Speeded up robust features)[7]相結合,对稻田病虫害的图像进行分类。Xie等[8]使用稀疏编码的空间金字塔模型来识别农田病虫害图像。与早期支持向量机和神经网络方法相比,带有背景的病虫害图像识别精度已经得到了提高。为了进一步提高病虫害的识别能力,Xie等[9]提出了基于多任务稀疏表示和多核学习的病虫害识别方法。Ebrahimi等[10]利用支持向量机分类方法对草莓冠层图像中的蓟马进行检测,结果表明,采用带区域指数的支持向量机方法,并以颜色指数强化,可使分类效果最佳,平均误差小于2.25%。
Yang等[11]提出了一种基于深度学习和图像显著性分析的昆虫识别模型,在茶园图像的测试集上达到了0.915的平均精度,运行时间减少到0.7 ms,所需内存为6 MB。Shen等[12]应用深度神经网络技术建立了储粮病虫害的检测与识别方法,使用Faster R-CNN提取图像中可能包含昆虫的区域,并对这些区域中的昆虫进行分类,平均精度达到88%。Mique等[13]利用基于CNN的模型,对采集到的图像与现有的水稻病虫害图像进行了检索和比较,该模型能够达到90.9%的最终训练精度。Zhong等[14]设计并实现了一个基于视觉的飞虫计数分类系统:首先在监控区域设置黄色粘性诱捕器诱捕飞虫,并设置摄像机实时采集图像,然后设计了基于YOLO的目标检测和粗计数方法,利用全局特征设计了基于支持向量机(SVM)的分类方法和精计数方法,最后选择蜜蜂、苍蝇、蚊子、飞蛾、金龟子、果蝇等6种飞虫对该系统进行有效性评价。试验结果表明,该方法与常规方法相比具有良好的性能,平均分类精度为90.18%。Barbedo等[15]研究了图像质量对利用CNN识别木虱的影响,试验共使用了1 276张图像,一半使用平板扫描仪采集,另一半使用2个不同品牌的智能手机采集,精度分别为70%和90%,这表明更真实的环境对于保证经过训练的网络的健壮性至关重要。
笔者主要基于YOLOv3[16]框架进行番茄病虫害的识别,YOLOv3的模型比之前的模型复杂不少,不同的图像分辨率对模型性能也有一定影响,可以通过改变模型结构的大小以及图像分辨率来权衡速度与精度。在使用真实数据进行病虫害检测时,本试验方法较前人的方法在病虫害检测准确率上有很大提升,同时能实现图像中病虫害位置的精准定位。
1 基于YOLO的病虫害检测系统架构
相对于深度学习图像分类来说,目标检测不仅能够对于图片中目标的类别进行识别,而且能够定位出目标的具体坐标位置,因此,目标检测应用到农业病虫害检测领域有利于病虫害的精准定位,从而方便后续的农药靶向喷施。YOLO的全称为You Only Look Once,由Redmon等[17]提出,能够单次对于整幅图像内容进行训练、识别和定位,具有识别速度快、准确率高、适合小目标检测等优势。图1和图2显示了YOLOv3与其他流行方法的速度对比以及基于YOLO的病虫害检测系统架构。
基于YOLO的病虫害检测系统架构,其主干网络是Darknet-53,有53个卷积层,和残差网络类似,在一些层之间建立了快捷连接,降低了梯度爆炸的概率,提高了检测的速度和精度。根据图2,输入为416×416,输出为3个尺度,适合不同尺寸的病虫害目标检测,能够方便地检测到不同大小的病斑和害虫。
2 病虫害检测算法
本试验提出的病虫害检测算法首先通过特征提取网络进行病虫害特征提取,其次,根据特征提取得到的特征图进行网格的划分,再次,判断病虫害区域中心坐标所在的网格,利用该网格进行目标检测。因为各网格进行目标检测的边框数量是一定的,同时不同边框的尺寸各不相同,因此,仅选择与实际边框的IOU值最大的边框。输出特征图有2个维度:一个是特征图大小,即为13×13;另外一个就是深度,即B×(5+C),其中B为各网格进行目标检测的边框数量,C为病虫害分类数量,5包括病虫害目标的4个位置(Ix,Iy,Iw,Ih)和1个置信度(Credibility)。置信度如下。
考虑到在真实自然环境下病虫害的发生概率并不是很大,因此,大多数网格预测边框的置信度都是0。因此,加大其中存在病虫害目标的网格的权重,将权重更改为λcoord=5, λnoobj=0.5。
在进行病虫害类别预测时,考虑到同一张输入图像上可能存在多种不同类型的病虫害,因此,采用多标签分类方法。具体来说,通过逻辑回归层对不同的病虫害进行二分类。同时,通过融合多个尺度进行预测,以此提升对尺寸较小的病斑和害虫的识别准确率。在所输出的特征图的数量和尺度持续发生改变的情况下,随之改变先验框的尺寸。
3 番茄病虫害识别试验
3.1 病虫害样本数量信息
因为当前还没有针对番茄病虫害检测的公共数据可以使用,所以笔者所使用的数据集为在潍坊科技学院设施园艺实验室基地(寿光寒桥寨里模块化日光温室)采集到的‘潍科红1号番茄品种的病虫害图像,采集时间为2019年3月1日到2019年6月26日。通过翻转、平移、缩放等操作对采集的图像进行了数据增强。同时,争取农业专家帮助,利用LabelImg软件进行了病虫害信息的人工标注,生成包含病蟲害目标的类型和位置的xml文件,并将其转换成适合YOLO的Label文件,从而为试验做好数据准备。病虫害样本数量信息如表1所示。
3.2 评价指标
3.2.1 PR曲线 PR曲线的英文全称为Precision/Recall曲线,即查准率/查全率曲线。本试验的番茄病虫害检测结果通过查准率与查全率曲线来描述。其中,查准率和查全率定义如下。
查准率=成功检测到的病虫害图片数量/(成功检测到的病虫害图片数量+检测错误的病虫害图片数量);
查全率=成功检测到的病虫害图片数量/(成功检测到的病虫害图片数量+没有检测到的病虫害图片数量)。
根据PR曲线,可以计算出检测精度。
3.2.2 检测速度 检测速度的评价依据为FPS(Frames Per Second,每秒检测帧数)。
3.3 番茄病虫害检测精度
对检测的8类病虫害分别进行统计,其PR曲线如图4所示。
根据上述检测结果,本算法对8类番茄病虫害均具备良好的检测效果(表2)。番茄病虫害检测结果示例如图5。其中,本算法对番茄煤污病与番茄灰霉病的检测精度在90%以上,分别为91.2%与94.5%,对番茄早疫病、番茄晚疫病、番茄黄化曲叶病毒病、番茄棒孢褐斑病、番茄斑潜蝇、温室白粉虱的检测精度也在80%以上,分别为83.6%、84.7%、81.2%、81.7%、82.5%、81.3%,对8类番茄病虫害检测的总体检测精度为85.09%。与此同时,本算法的检测速度更快,提高了检测效率。
3.4 番茄病蟲害检测速度
各算法对各类病虫害的检测速度(FPS)如表3所示。
3.5 番茄病虫害检测损失函数对比
番茄病虫害检测损失函数对比如图6所示。
根据上图损失函数的变化趋势,可以看出本算法的收敛速度最快。
4 讨论与结论
近年来,相对于传统人工识别病虫害的方法,由于图像识别法具有容易操作、识别率高、节省人力和物力等特点,该方法已成为农业病虫害识别的主要技术。与此同时,由于深度学习技术的发展,基于深度学习的图像识别技术已成为国内外研究的热点。笔者基于深度学习和图像识别技术,以深度学习目标检测的典型算法YOLO为基础,建立了番茄病虫害识别算法。笔者建立了一个温室番茄病害数据库,利用YOLO卷积神经网络实现番茄病虫害识别完成病虫害识别与定位,并与几个主流深度学习目标检测算法做了对比,本试验方法较前人的方法在病虫害检测准确率上有很大提升,同时能实现图像中病虫害位置的精准定位,适合番茄病虫害图像的实时检测。
就目前而言,深度学习技术仍然是机器学习、计算机视觉等多个交叉领域研究的一大热点。有以下几个方面还待解决:
(1)在番茄病虫害数据集方面,真实自然环境下采集的数据集容易受到光照、遮挡等因素的影响。下一步研究中,需要采集更多的番茄病虫害样本,同时需要使用图像增强等技术来增强图像的对比度,尽量保证数据集的有效性,采用图像增强之后的图片库来训练新的模型,可以使模型的性能达到最优,从而提高真实自然环境下的番茄病虫害识别效果。
(2)在算法方面,近年计算机视觉一直是人工智能研究的热点领域,每一年各大计算机视觉比赛都会有新的模型和算法。将来需要使用目前最新的基准网络和算法,不断加深农业病虫害识别领域的研究。并在此基础上,结合实际农业应用情况,进一步探索农业病虫害识别APP和智能病虫害巡检机器人的研发示范。
参考文献
[1] ESTRUCH J J,CAROZZI N B,DESAI N,et al.Transgenic plants:An emerging approach to pest control[J].Nature Biotechnology,1997,15(2):137-141.
[2] BARBEDO J G A.Factors influencing the use of deep learning for plant disease recognition[J].Biosystems Engineering,2018,172:84-91.
[3] PARSA S,MORSE S,BONIFACIO A,et al.Obstacles to integrated pest management adoption in developing countries[J].Proceedings of the National Academy of Sciences of the United States of America,2014,111(10):3889-3894.
[4] SIVIC J,ZISSERMAN A.Video google:a text retrieval approach to object matching in videos[C]// IEEE Computer Society.IEEE International Conference on Computer Vision,2003:1470-1477.
[5] VENUGOBAN K,RAMANAN A.Image classification of paddy field insect pests using gradient-based features[J].International Journal of Machine Learning & Computing,2014,4(1):1-3.
[6] DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[C]// IEEE Computer Society.IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2005:886-893.
[7] BAY H,TUYTELAARS T,GOOL L V.SURF: speeded up robust features[C]// European Conference on Computer Vision.Springer-Verlag,2006:404-417.
[8] XIE C,LI R,DONG W,et al.Recognition for insects via spatial pyramid model using sparse coding[J].Transactions of the Chinese Society of Agricultural Engineering,2016,32(17):144-151.
[9] XIE C,ZHANG J,LI R,et al.Automatic classification for field crop insects via multiple-task sparse representation and multiple-kernel learning [J].Computers & Electronics in Agriculture,2015,119:123-132.
[10] EBRAHIMI M A,KHOSHTAGHAZA M H,MINAEI S,et al.Vision-based pest detection based on SVM classification method[J].Computers and Electronics in Agriculture,2017,137:52-58.
[11] YANG G,BAO Y,LIU Z.Localization and recognition of pests in tea plantation based on image saliency analysis and convolutional neural network[J].Transactions of the Chinese Society of Agricultural Engineering,2017,33(6):156-162.
[12] SHEN Y,ZHOU H,LI J,et al.Detection of stored-grain insects using deep learning[J].Computers and Electronics in Agriculture,2018,145:319-325.
[13] MIQUE E L,PALAOAG T D.Rice pest and disease detection using convolutional neural network[C]// the 2018 International Conference.ACM,2018.
[14] ZHONG Y,GAO J,LEI Q,et al.A vision-based counting and recognition system for flying insects in intelligent agriculture[J].Sensors,2018,18(5):1489-1501.
[15] BARBEDO J G A,CASTRO G B.Influence of image quality on the identification of psyllids using convolutional neural networks[J].Biosystems Engineering,2019,182:151-158.
[16] REDMON J,FARHADI A.YOLOv3: An incremental improvement[A].arXiv e-prints,2018.
[17] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detection[C]//Computer Vision & Pattern Recognition,2016.