翟肇裕 曹益飞 徐焕良 袁培森 王浩云
(南京农业大学人工智能学院, 南京 210095)
农作物病虫害是制约我国农业生产的主要灾害之一[1],严重影响农作物的产量和质量,灾难性农作物病虫害的发生加剧了粮食供应的短缺。综合农作物病虫害发生基数、作物布局、种植制度和气候条件等因素,2020年我国农作物重大病虫害发生程度总体上比2019年严重[2],灾害累计发生面积高达3亿hm2。预计2021年,我国农作物病虫害仍会维持重发态势[3]。刘万才等[4]统计了2006—2015年我国农作物主要病虫害的发生情况,我国农作物病虫害总体处于严重发生状态,发生面积为4.603 5~5.075 3亿hm2,年均实际损失水稻、小麦、玉米、马铃薯等约2 000万t,占全国粮食总产量的3.53%。近年来,随着我国植物保护能力的明显提高,通过采取各种病虫害预防与治理手段,我国每年可减少粮食损失8 700~11 000万t,占全国粮食总产量的16.00%~19.55%。由此可见,农作物病虫害的预防与治理对农业生产具有十分重要的作用。
在农作物病虫害预防与治理工作中,其首要问题是如何在农作物的生长过程中,快速、有效、精准地识别农作物病虫害种类,并确定病虫害发生的位置和范围,评估病虫害的严重程度,从而采取相关防治措施及时止损。在早期,农作物病虫害识别主要通过人工进行现场检查、测量、统计和辨识[5],导致农业技术人员和农业专家面临大量的重复工作,不仅费时费力,而且效率低下。随着“3S”技术(遥感技术、地理信息系统和全球定位系统)、计算机技术、图像处理技术的发展,农作物病虫害识别方法有了很大的改进,运用机器学习技术识别农作物病虫害已成为可能[6-8],例如采用支持向量机、多层感知器、随机森林等算法,通过识别农作物病虫害图像中病状的形状、颜色、区域等来判断农作物病害的种类和严重程度。
在农业生产过程中,对农作物病虫害进行精准识别并提出合理的防治措施、尽量减少用药剂量、保障农作物的产量和质量具有重要的研究意义和研究价值[9]。基于此,本文通过总结与归纳国内外农作物病虫害识别方法的研究现状,阐述农作物病虫害识别所涉及的关键技术,并针对存在的问题与面临的挑战,对农作物病虫害识别的未来研究趋势进行展望。
在农作物病虫害的预防与治理中,首先需要精准识别农作物所遭受的病虫害,并对这些病虫害的种类加以区分,对病虫害的严重程度进行评估。以水稻为例,常见的水稻病害(图1)包括细菌性病害[10]、真菌性病害[11]、病毒性病害[12]、生理性病害[13]等;常见的水稻虫害(图2)包括二化螟、稻纵卷叶螟、稻飞虱等[14]。只有准确识别和区分农作物病虫害,才可以制定相应的防治策略,从而最大程度保障农作物的产量与质量。
农作物病虫害发生的特点主要包括[15]:
(1)复杂性:针对不同的农作物,在不同生长时期、不同的环境条件下,容易爆发各类农作物病虫害。
(2)传染性:由生物因素引起的病害可在农作物个体间互相传染,通常是由发病中心向四周扩展蔓延,患病株、健康株会交错出现,离发病中心较远的植株病情有减轻现象,相邻病株间的病情也存在差异。
(3)积累性:大部分农作物病虫害并不是即刻发生的,根据发生的时期,可以分为早、中、晚期,且农作物在患病的不同时期均有特定病症,如早、中期细菌性病害在病部有脓状物,早、中期真菌性病害在病部有锈状物、粉状物、霉状物等。
(4)突发性:农作物病虫害的发生常与温度、湿度、光照、土质、水、肥等特殊条件有关,存在突然发生的现象。
农作物病虫害的识别、预防与治理是农作物保护、农作物医学学科的重要研究内容之一。农作物医学是研究农作物的生命运动,通过增进健康、防治疾病以保障农作物正常生长或提高农作物产量及质量的知识体系和实践活动[16]。随着科学技术的发展以及人们对农作物、生态环境的进一步认知,农作物病害的识别方法也有了极大改进。
1.2.1基于人工的识别方法
早期,农作物病虫害的识别主要是通过人工现场检查、测量、统计、辨识。依据经验[17],真菌性病虫害的主要特征比较明显,患有该类病虫害的农作物在患病处通常伴随锈状物、粉状物、霉状物等,根据不同的发病特征即可确定病虫害的种类;细菌性病虫害的主要特征是农作物患病处出现“菌脓”现象,用手触摸患病处感觉到黏液类物质,即说明农作物可能患有细菌性病虫害;病毒性病虫害会造成传染,一旦发生就面临大规模感染的风险,一般呈现矮化、畸形等特征。除了依据经验辨别农作物病虫害,还可以对农作物患病处做切片观察。
人工辨别农作物病虫害的局限性在于:①主观性强,即辨识结果通常受到观测人员个人因素的影响,观测人员经验不同,辨识的结果可能产生偏差,尤其是评估病虫害严重程度这一项,会存在较大误差。②效率低,观测人员需在田间环境或实验室环境下逐株、逐片检查样本的患病情况,费时费力,且持续时间长。③识别准确率低,由于田间环境具有复杂性的特点,植株之间的相互遮挡、患病处隐蔽、患病特征不明显、患病株与健康株相互交错等现象会导致观测人员漏检、错检。
1.2.2基于仪器的识别方法
随着各类便携式农作物病虫害检测仪的发明与普及,农作物病虫害的识别已从实验室走入实际应用中[18]。李震等[19]研制了柑橘全爪螨虫害快速检测仪,采用光反射法,测量果树冠层叶片对红光和近红外光的反射率,再根据反射率计算全爪螨为害程度指数作为仪器的输出结果,进而按照无、轻度和重度3个级别判定柑橘全爪螨虫害程度。殷宪同等[20]设计了一种便携式农作物病虫害检测仪,可实时采集农作物病虫害图像,并与存储在仪器内部的图像进行对比识别,从而辨识出虫害的种类。
新型便携式检测仪器的使用便利了农业工作者对农作物病虫害发生情况的掌握、评估,但是,检测仪器仍需人工进行操作,自动化和智能化程度普遍偏低。同时,检测结果还容易受外界环境(例如温度、光照)、硬件设备(例如光谱相机、传感器)、软件系统(例如数据处理系统、识别系统)等因素的影响,例如基于光反射法的检测仪器对外界光照条件比较敏感,不同的光照条件对检测结果会产生影响。
1.2.3基于数理统计的识别方法
数理统计在农业科学由经验型向精准型的转化中起到了不可忽视的作用,其应用已延伸至农作物病虫害的田间实验、诊断、预测预报等[21-22]。
石明旺等[23]通过分析小麦纹枯病在不同阶段的流行特点,利用多年定点系统调查数据,采取统计学和流行学相结合的方法,组建了动态预测的回归模型和预测模型,对小麦纹枯病的识别与预测进行了初步验证。田有文等[24]利用统计模式识别的监督分类方法和基于Fisher准则的线性判别函数对农作物病害图像进行真彩色二值化分割,从而满足对病害图像进一步处理的需要。NAYAK等[25]总结了数理统计模型在水稻病虫害识别中的应用,这些统计模型不仅包括传统的单分子、指数、对数等,还涵盖关联性分析、多元分析、贝叶斯统计、决策论等统计模型。
基于数理统计的识别方法在应用中存在以下的限制:①该识别方法在具体应用上需要大量、完整的历史数据,往往需要几年,甚至数十年的数据才能挖掘出农作物病虫害发生的规律。②该识别方法的适用范围较小,即某一地区的农作物病虫害发生规律只适用于该地区,且往往只能识别某一作物的某一种病虫害。③基于数理统计的识别方法需要专业的统计学知识,对农业技术人员提出了更高要求。
1.2.4基于模式识别和机器学习的识别方法
模式识别是在一定量度或观测基础上将待识别模式划分到各自的模式类中,主要是通过计算机技术来研究模式的自动处理和判读[26]。图像识别是模式识别的一个重要应用领域,近年来,国内外专家学者将图像处理与模式识别相结合,并广泛地应用于农作物的病虫害识别中[27],将提取的颜色、形态、纹理等不同参数进行筛选与优化组合,再利用线性分类器[28]、贝叶斯决策理论[29-31]、模糊识别[32-33]等模式识别技术对各种农作物病虫害进行识别、分类,提高了识别准确率,进一步推动了农业信息化与精准化的发展。
机器学习理论主要是设计和分析一些可使计算机自动“学习”的算法,这类算法能从数据中自动分析获得规律,并利用规律对数据进行预测[34-35]。例如,郑建华等[36]以葡萄黑腐病、轮斑病和褐斑病为研究对象,通过提取RGB颜色矩、HSV颜色直方图特征、GLCM纹理特征和HOG特征,采用级联融合方式获得多维葡萄病害特征,并利用支持向量机算法进行识别训练和测试,平均识别准确率达93.41%。王佳[37]以香芋病害检测为研究目标,通过提取香芋叶片的颜色特征和纹理特征,建立香芋病害数据库,并利用支持向量机对香芋病害进行识别,试验结果表明,该方法对香芋黑斑病、轮斑病和病毒病的平均识别准确率达93.00%。NETTLETON等[38]以水稻为研究对象,提出了两种基于机器学习的稻瘟病识别方法:M5Rules和递归神经网络,分别与基于过程的预测模型(Yoshino和水文模型)进行对比,在数据样本充足的情况下,基于机器学习的稻瘟病识别方法具有更高的识别准确率和更好的泛化能力。DUARTE-CARVAJALINO等[39]以识别马铃薯晚疫病为研究目标,通过无人机搭载的相机拍摄高光谱图像构建数据集,收集到的数据作为输入,用于多层感知器、卷积神经网络、支持向量机、随机森林等机器学习算法的训练,试验结果表明,可以精准预测晚疫病对马铃薯的影响程度,其中,卷积神经网络的性能稍优于多层感知器、支持向量机和随机森林算法。
基于模式识别和机器学习的识别方法能够识别某一农作物的某些特定图像特征,进而判断农作物的受害情况。但是,模式识别和机器学习在农业领域的应用仍然面临一些问题:
(1)特征提取难[39-42]:受光照条件、图像拍摄角度、田间复杂背景等因素的影响,经典图像处理方法很难准确检测出图像特征,从而使得农作物病虫害目标识别失败。与此同时,农作物病虫害的发展是动态变化的过程,不同时间段、不同地区的气候条件、种植条件等因素都会对病虫害目标大小、特征颜色、区域分布产生影响,导致病虫害目标很难采用一定范围内的某一特征或多个特征进行表述。因此,预先训练好的模型并不能直接使用,而是需要根据实际情况逐渐修正。
(2)训练样本少[43-46]:模式识别和机器学习都需要大量的图像数据,在此前提下训练的模型才能取得更高的识别准确率和更好的分类效果,若训练样本数量过小,可能会导致模型出现过拟合现象。但是,采集农作物病虫害图像十分困难,尤其是在大田环境中,存在叶片遮挡、受害区域隐蔽等问题,同时,可供模型训练的带有标签的大型农作物病虫害数据集很少。
1.2.5基于深度学习的识别方法
作为机器学习的一个重要分支,近年来,深度学习已经成为图像处理、自然语言处理、推荐系统等各领域的热门技术[47]。传统的机器学习方法,例如最小二乘法[48]、K-means聚类算法[49]、支持向量机算法[49]等,通常仅包含一两层隐藏层的神经网络,往往直接根据预设特征对样本进行分类,不进行特征变换或者只进行1次特征变换,通常称作浅层模型或浅层学习方法,深度学习网络可包含成百上千层的隐藏层,且会对特征进行多次变换。
深度学习的基础是机器学习中的分散表示,即假定观测值是由不同因子相互作用生成。在此基础上,深度学习进一步假定这一相互作用的过程可分为多个层次,代表对观测值的多层抽象。以像素矩阵表示的图像作为输入为例,深度学习网络将这种复杂映射分解为一系列嵌套的简单映射,每个简单映射由网络的不同层描述。图3中,输入层展示了图像的原始像素,在提取特征的步骤中,深度学习网络必须确定哪些概念有利于观察数据中的关系,例如在“隐藏层1”中,网络可以通过比较相邻像素的亮度来识别边缘特征,基于这些边缘的描述,“隐藏层2”可以更加容易地识别角和扩展轮廓的边集合,接着,“隐藏层3”可以根据轮廓和角的特定集合来识别特定对象的整体部分,最后,输出层针对图像描述中包含的对象部分,输出目标识别的结果。
由此可见,深度学习可以应用于识别农作物病虫害目标[50-53],其核心思想是以数据为驱动,通过各种线性和非线性转换,从大量数据中自动提取多层特征表示,利用有监督和无监督的组合训练方式完成特征提取和转换任务,实现复杂样本数据的关系拟合。得益于深度神经网络的结构,前一层网络所提取的错误特征能在一定程度上被弱化,且复杂函数可以用较少的参数表示,使得深度神经网络结构更加紧凑,进而提高了网络的效率和性能表现。
1.2.6识别方法分析
随着科技的进步,农作物病虫害识别方法由传统的人工辨识、仪器辨识,发展至基于数理统计的辨识和基于学习的识别方法,且新一代的方法在不断地克服原有方法的缺陷。例如,相较于传统的人工辨识,使用便携式仪器识别农作物病虫害的优势是客观性,避免了农业技术人员的主观臆断,但其局限性在于没有帮助农业技术人员摆脱繁重的工作,即自动化和智能化程度较低。随后基于数理统计和基于机器学习的农作物病虫害识别方法充分利用了数据的优势,能够从大量数据中挖掘出农作物病虫害的各类信息,包括病害部位、颜色、形状等关键信息,但是基于机器学习的农作物病虫害识别方法仍受制于特征提取难、训练样本少等因素。所以,越来越多的国内外学者开始借助深度学习技术进行农作物病虫害的识别。深度学习技术可以自动、高效、准确地从大量农作物病虫害图像中提取病虫害目标特征,从而代替传统依赖手工提取特征的识别方法。
上述多种农作物病虫害分类和识别的过程大致遵从以下步骤:
(1)获取病虫害数据:在早期的人工辨识方法中,病虫害数据的获取主要是通过农业技术人员、农业专家在田间环境通过肉眼观察农作物的患病、受害情况。随后,影像技术的发展使得彩色数码相机逐渐被应用于收集农作物病虫害数据,取代了肉眼观察的方法,该技术的应用使得大量农作物病虫害图像、视频数据的获取成为可能。如今,随着遥感技术的日趋成熟,高光谱、多光谱、近红外、激光雷达等相机相继被用于获取农作物病虫害数据,通过周期性地采集,即可获得农作物生长全周期的时序数据。
(2)处理病虫害数据:该步骤是提取所获取数据中的农作物病虫害目标。在早期的人工辨识、仪器辨识方法中,病虫害目标的提取主要是依赖农业专家和农业技术人员的个人经验积累。但是,人工提取病虫害特征的数据处理手段不仅效率低下,而且存在主观性判断失误的问题。因此,基于数理统计和模式识别的数据分析方法被广泛采用,使得研究多源农作物病虫害数据的信息处理过程成为可能。然而,农作物病虫害数据具有复杂性的特点,例如图像数据中存在田间背景复杂的现象、光谱数据中存在特征波段不显著的现象等,亟需引入更加高效、智能的手段处理病虫害数据,例如基于机器学习的数据处理方法。
(3)应用病虫害识别结果:准确的识别结果能够为农作物病虫害的预防与治理提供指导意见与理论依据。一方面,在准确识别目标的基础上,可以进一步评估农作物患病、受害的严重情况,根据评估结果,制定相应的治理方案;另一方面,结合不同时期的农作物病虫害识别结果所构成的时序数据,可以为农作物病虫害的发生提供预报、预测服务。除此以外,还需特别注意对农作物病虫害识别结果的可视化和可解释性工作,为农业技术人员、农业专家提供更多的便利。
近年来,基于深度学习的农作物病虫害识别方法受到了国内外学者的广泛关注,且涌现出了许多成熟的深度学习网络[54],包括限制性玻尔兹曼机(Restrictive Boltzmann machine,RMB)、深度玻尔兹曼机(Deep Boltzmann machine,DBM)、深度置信网络(Deep belief networks,DBN)、卷积神经网络(Convolutional neural networks,CNN)、循环神经网络(Recurrent neural networks,RNN)、胶囊网络(Capsule network,CapsNet)等。考虑到深度学习技术的流行性和活跃程度,本文以基于深度学习的识别方法为例,简要介绍其在农作物病虫害识别中的应用流程。
相较于传统的图像处理手段,深度学习的建模方法节省了大量的预处理过程,仅需要将输入图像剪裁成合适的尺寸即可进行目标识别,在大幅提升识别准确率的前提下,还缩短了识别目标的时间[55]。利用深度学习强大的图像分类和目标识别能力,患病作物、受害部位都能直接从图像中分离出来,而且,深度学习网络对外界环境条件不敏感,可以应用到实际的农业生产活动中。以CNN为例,其应用于农作物病虫害识别任务的具体流程如图4所示[56]。
在图4中,基于CNN的农作物病虫害识别可以分为以下步骤:
(1)收集农作物病虫害图像,创建一个数据集。数据是网络的基础,任何网络都不能脱离数据或者应用场景来评判网络性能。不同的数据集有不同的特征分布,CNN的最终目的是拟合数据中的趋势或者分布,所以找到合适的数据并做好适当的预处理,能更好体现网络效果。
(2)对数据集进行分割,将数据集分割为训练集和测试集。训练集的数据用于训练网络,测试集的数据用于验证网络的最终效果。数据集分割方式和比例的不同会使得数据特征的分布存在差异。一般情况下,原始数据集的80%被用于创建训练集,剩余的20%被用于创建测试集[57-59]。在有验证集的情况下,训练集、测试集和验证集的分割比例一般为6∶2∶2。
(3)选取合适的CNN并搭建网络,例如AlexNet、ZFNet、GoogLeNet等。常用的CNN有很多种,且各自具有独特的优势[60]。例如VGG,该网络在多个迁移学习任务中的表现优于GoogLeNet,但其缺点在于网络的参数量非常高,所以需要更大的存储空间;ResNet的优势在于可以处理梯度消失和梯度爆炸的问题;DenseNet的特色在于能够通过特征在通道上的连接实现特征重用。
(4)训练搭建的网络并验证网络对于农作物病虫害的识别能力。在训练网络之前,回调函数、损失函数和优化器必须提前被定义。回调函数用于收集两类信息:训练过程中步长(step)和损失(loss)之间的关系信息,以及固定步长和对应网络精度的信息。损失函数又称作目标函数,用于衡量预测值和实际值差异的程度。在训练过程中,网络通过不断地迭代来缩小损失函数的值。优化器用于最小化损失函数,常用的优化算法包括Adam算法、梯度下降法、遗传算法等。
(5)分析网络的性能表现。在深度学习中,常用的评价指标是准确率(accuracy)、精确度(precision)、召回率(recall)和F1值。这些评价指标源自二分类的混淆矩阵[61],即True Positive(TP)、False Positive(FP)、True Negative(TN)和False Negative(FN)。
(6)可视化网络的输出结果[56,62]。使用CNN进行农作物病虫害识别的用户主要分为两类:网络开发者和普通用户(农民、农业专家、农业技术人员等)。前者具备完善的计算机理论知识但缺乏病虫害识别领域的专业知识,后者则相反。开发者在提出网络构想后,需要通过实际生产中的农作物病虫害识别应用来验证网络的综合性能,用户友好的可视化界面有助于开发者更好地理解网络的输出结果,再根据结果的优劣调整网络的深度、层级连接方式、参数等,达到优化网络的目的。普通用户不关心网络的卷积、池化计算过程,而更关注网络的输出结果,可视化网络的输出结果有助于隐藏网络的复杂运算过程,帮助普通用户合理、高效地使用基于CNN的农作物病虫害识别应用。
(7)解释网络的输出结果[63-64]。当下的CNN可被看作是一个黑盒模型,即站在人类的角度,网络的输出结果是不能被完全理解的,所以具备可解释能力的人工智能逐渐受到了研究人员的广泛关注。针对一个农作物病虫害识别任务,网络给出的错误识别结果也会造成灾难性的结果,例如错误识别了农作物受害的严重程度,导致过度使用农药,造成土壤污染、环境破坏等恶性循环的结果。因此,网络的可解释性是将CNN部署至农作物病虫害识别应用中的重要一环。
农作物病虫害的识别过程遵从数据获取、数据处理和数据应用3个基本步骤,因此,这3个基本步骤中所涉及的关键技术,分别是病虫害数据获取、病虫害数据处理和病虫害数据应用关键技术。相较于传统的人工识别、仪器识别、基于数理统计和模式识别的农作物病虫害识别方法,基于深度学习的农作物病虫害识别方法在识别效率、识别准确率和应用场景等方面都展现了其独特的优势,因此,下面以基于深度学习的农作物病虫害识别方法为主要研究对象。
当前,成熟的深度学习技术已广泛地应用于国内外的农业生产活动中,研究的对象包括但不限于水稻、玉米、木薯、甜菜、番茄、茶树等,且应用的范围十分广泛,包括但不限于农作物目标检测、农作物病虫害识别、农作物受害程度评估、农作物产量预测等[27,34,55]。
随着对深度学习技术在农作物病虫害识别任务中应用的深入研究,有不少学者指出了深度学习技术在农业领域应用的局限性,例如,郭祥云等[65]认为,当前的基础设施仍不足以支撑深度学习技术的全场景部署,同时,基于深度学习技术的农作物病虫害识别应用需要巨量的计算资源,网络参数过多而引起的时间复杂度是需要关注的问题,而且,在农业领域,缺乏相应的大量标签数据以及人工标注数据的主观性也是值得思考的问题。康飞龙等[66]指出当前很多学者和团队都是在实验室理想条件下采集并处理了农作物病虫害图像数据,但真正用于实际项目的并不多见。在农作物病虫害识别应用中,数据的采集与预处理往往是最耗时的,由于农药的大量使用,在真实田间或温室环境下难以采集到规模足够的农作物病虫害图像,且一个种植园区不可能同时具有多种病虫害。同时,农作物目标及病虫害的识别还受限于图像中的复杂背景、光照条件、叶片重叠及遮挡、前景目标与背景颜色极为相近等因素,因此,优化和改进网络就显得尤为重要。HASAN等[60]也总结了当前深度学习技术在农作物病虫害识别应用中的一些问题,包括缺乏带有标签的训练数据、网络训练过程中存在的梯度消失和梯度爆炸现象、预测结果的过拟合问题、网络的计算量问题等。
为了克服上述挑战与困难,本文通过对国内外病虫害识别方法研究现状的调研,分别从基于田间/室内移动和固定的数据获取技术、手持式数据获取技术、基于无人机的数据获取技术等方面阐述如何获取农作物病虫害数据;再从数据预处理、数据增强和深度学习网络优化等方面介绍农作物病虫害数据的关键处理技术;最后从可视化、可解释性和预测预报方面概述如何运用农作物病虫害识别结果。
深度学习网络的性能十分依赖于数据集,高质量、高相关性、具备完整标注、大规模的数据集对网络的训练很有帮助[67-68]。在农作物病虫害识别应用中,最为常见的数据是由专业相机、手机所拍摄的彩色图像,随着传感器技术及高光谱技术的发展,农业领域的数据变得更加丰富,多源农业数据的概念随之衍生,高光谱、近红外、红外图像等数据的获取与使用,为网络的训练提供了极大的帮助。
从获取方法上,农作物病虫害数据的来源主要有以下两种:利用现有的公开数据集训练网络;根据实际应用需求,自行采集病虫害数据。
2.1.1利用公开数据集
当前,农业领域的公开数据集比较少,具体见表1。
表1 公开的农业领域数据集
由表1可知,在农业领域,可供网络训练的公开数据集并不多,与其他领域(如人脸识别、目标检测)的数据集相比,每个数据集中所包含的类别数量、图像数量也并不占优势。其中,包含类别最多、图像数量最多的是IP102数据集,分别有102个类别,75 000幅图像。文献[73]对一些小型的公开数据集进行了总结。
2.1.2自定义数据集
随着研究的深入,当前的公开农作物病虫害数据集不足以满足国内外学者的需要,尤其是缺失包含不同地区、不同作物、不同生长周期、不同种类,以及早、中、晚期病虫害等元素的多源农业数据集。因此,越来越多的学者会根据自己的需求,定制自定义的农作物病虫害数据集。LIU等[74]在自然光环境下,利用数码相机采集了966幅番茄图像,包含了3 465个番茄。WU等[75]利用搭载在无人机上的数码相机采集了6 267幅玉米图像,其中患病图像3 741幅,健康图像2 526幅。LI等[76]利用智能手机和数码相机采集了水稻鞘枯病、胡麻斑病等病虫害图像5 320幅和4 290帧视频。XIAO等[77]利用数码相机采集了2 385幅草莓叶片病害图像,构建了自定义数据集。
随着高光谱技术、激光雷达技术、遥感技术的发展,可采集的农作物病虫害数据不仅限于图像数据、地理位置、作物信息、气象数据、田间调查数据等,还包括高光谱图像、近红外图像、声谱信息等[78-80]。
目前,国内外农作物高通量数据获取平台有十多种,各平台都搭载了多种农作物数据获取设备,按照搭载的方式,这些数据获取平台可以分为台式、传送带式、车载式、自走式、门架式、悬索式以及无人机式等,表2对比了这些数据获取平台的使用环境和功能特点。
表2 农作物数据获取平台对比
由表2可知,当前,农作物病虫害数据的获取技术可分为3大类:
(1)基于田间/室内移动或固定的数据获取技术
该类数据获取技术通常指将成像组件加装到现有农用车辆上后所构建的数据采集系统,例如,在农用拖拉机上装载摄像机、激光雷达、高光谱相机等数据采集设备后,拖拉机可以改装为移动式车载数据获取平台[88]。使用车载式数据获取平台的最大问题是传感器校准,由于不同传感器组在不同试验环境下存在较大差异,在采集数据前,需要校准传感器组以保障不同区域数据的可靠性和可比性。同时,车载式数据获取平台往往需要加装复杂的控制系统,且须由专业的技术人员进行操控,使用代价相对高昂,因此,在实际应用中,该类数据获取平台有诸多限制。
为了解决车载式数据获取平台的局限性,近几年,有学者指出可以搭建在田间或室内搭建轨道式数据获取平台[89]。该类平台不仅可以带动沉重的高精度监测设备,同时还可以长时间、高频次的进行数据获取工作,例如英国洛桑实验室(Rothamsted Research)、苏黎世联邦理工学院、南京农业大学植物表型组学研究中心等都筹建了该类数据获取平台。但是,该平台的多个技术难关仍不容忽视,尤其是数据采集设备在风雨条件下的工作情况、传感器组的校准、植物表型精确重建等。
(2)手持式数据获取技术
小型便携式设备不仅具有制造成本低的优势,同时还具有较好的采集灵活性。张超等[90]设计并实现了一种便携式农业病虫害图像采集仪,如图5a所示。该采集仪由WiFi镜头相机、Android手机或平板、可伸缩手持杆组成,农业技术人员可以通过手持杆将相机镜头推送至采集部位,再通过手机端实时预览相机端视频流,调整相机位置,控制相机的拍照。MULLER-LINOW等[91]使用立体相机装置对三维冠层和叶片空间结构进行分析,该数据获取装置如图5b所示。LAMPSON等[92]开发了一种便携式设备,通过炭黑聚合物复合传感器从病害区域提取挥发物,并测量每个传感器的电阻变化,从而检测农作物的受害情况,如图5c所示。
手持式数据获取设备的局限性在于较高的人工和软件成本,即需要通过手动方式选择合适的采集区域,且需要使用分析软件来标准化数据。同时,手持式数据获取设备的效率并不能满足高频率、多地点的数据采集需求。因此,当前迫切需要开发集成多个低成本传感器的分布式全生长季病虫害数据获取平台,例如可以独立运行的小型田间工作站,通过分组无线业务或者无线通讯技术,完成多地点的数据互联和获取,实现对农作物病虫害的实时监测与观察[93]。
(3)基于无人机的数据获取技术
基于无人机的数据获取技术[94]指在无人飞行设备上装载近远程光学遥感成像仪(例如数码相机、高光谱相机、多光谱相机、红外热成像仪、激光雷达成像仪等)在大规模田间进行数据采集。该数据获取技术的优势体现在可以在短时间内对多片区域进行取样,所以尤其适用于大规模田间环境。随着无人机和硬件成本的下降、技术可靠性和传感设备性能的提升,基于无人机的数据获取技术在近几年迅猛发展[95]。贾鹏宇等[96]指出农业无人机不仅可以完成病虫害监测的任务,其在土壤分析及规划、植被覆盖度监测、农田喷洒等农业生产活动中也大有可为。裴文斌[97]研究了植保无人机在玉米病虫害防治中的应用,利用导航飞控或地面遥控的方式对受害区域的玉米进行药剂、粉剂飞洒,实现了精准施药。马书英等[98]通过无人机跟踪飞行、图像传输、图像处理和支持向量机算法,实现了农作物病虫害的实时视频监控和识别。
由以上的研究成果可知,虽然基于无人机的数据获取技术具有高通量、大规模的优势,但是该技术需要在相对稳定的天气条件下才能得以施用,例如无人机只能在风速小于10 m/s的天气条件下飞行,且不能在大雨、浓雾等情况下飞行[99]。此外,无人机所搭载的光学数据采集设备对光照强度、拍摄角度要求较高,不同时间段、不同拍摄角度获取的数据可能会出现较大偏差。这些因素大大影响了该技术在应用中的数据质量、使用频率、使用时长的不稳定性。
除了上述的农作物病虫害数据获取关键技术,建设农作物病虫害共享数据资源平台也迫在眉睫[100-101]。应当鼓励网络开发者、农业专家、农业技术人员上传各自在研究工作中所采集到的病虫害数据,利用多源数据融合技术,整合全球各地的数据集资源,为农作物病虫害识别方法的应用研究提供有利基础,为大规模复杂网络的训练提供数据支撑。
在多源农作物病虫害数据中,蕴藏着农作物病虫害发生的基本规律和主要特征,然而这些知识并不能直接通过浏览农作物病虫害数据获得,而是需要通过数据预处理、数据增强等技术对病虫害数据进行进一步处理,为深度学习网络的训练做好准备,并通过网络优化技术提高深度学习网络对病虫害数据处理的效率和识别准确性。
2.2.1数据预处理
从广义上说,数据预处理可以被认为是在正式输入数据至网络之前的一切操作,包括对数据的直接处理,如归一化、白化等操作,也包括数据扩充、不平衡样本的处理等其他操作。本文区分了数据预处理和数据增强这两个概念,即从狭义的角度来分析数据预处理的问题,有关数据增强的问题将单独表述。
数据预处理的原则是使原始数据更适于网络的计算,在本文选取的国内外文献中,有些学者并未明确指出数据预处理的方法,但是根据网络的需求,通常需要对原始数据进行归一化处理,即调整数据每一个维度的值,使处理后的数据向量落在[0,1]或[-1,1]的区间内。除此以外,常用的数据预处理方法包括标签标注、显著图标注、灰度处理等。
一方面,大部分病虫害识别应用的数据预处理环节都涉及到标签标注、显著图标注[102]。GANESH等[103]手工标注了橘子的数量、形状,以帮助网络准确识别图像中的橘子目标。SELVARAJ等[104]邀请多位农业专家为30 952幅香蕉病虫害图像标注了不同生长时期、不同受害情况、不同拍摄环境等关键信息。LIU等[105]在获取15 000幅番茄病虫害图像后,分别标注了每幅图像中的番茄数量和受害情况。为农作物病虫害数据添加标注是深度学习技术中数据预处理过程中的关键手段,因为网络可以学习、识别标注数据中重复出现的模式,当一个网络处理过大量的标注数据后,即可在新的、未标注数据出现时,识别出相同的模式。但是,当前的标签标注通常都是采用人工标注的方式,这种方式不仅费时、费力,而且主观性强,常常会出现错误的标注。虽然有的学者提出可以引入校准机制用以监督标注数据的可靠性,或者采用多人标注的方式,但这些方法并没有完全解决人工标注标签的根本问题。所以有学者指出,为了摆脱网络对数据标签的依赖,可以在深度学习中引入无监督学习[106-107]和弱监督学习[108-109]的方法。尽管深度学习基本都是基于强监督学习的,但是其极强的非线性映射能力可以较好地描述向量的空间特征,这些基于网络学习到的特征可以迁移到其他的目标检测、识别任务中,因此,无监督学习和弱监督学习同样适用于基于深度学习的网络中。
另一方面,在数据预处理阶段,去除病虫害数据中的无关内容与噪声也是研究的方向[110]。MOHANTY等[111]利用灰度处理、图片分割、背景移除等手段对获取到的农作物病害图像进行数据预处理,大大提高了图像数据的质量与可用性。BRAHIMI等[112]对获取到的14 828幅番茄叶片病虫害图像进行了颜色变换、背景移除、尺寸调整等数据预处理操作,以此助力AlexNet和GoogLeNet的训练任务。ZHANG等[113]在小麦枯萎病检测及感染程度评估的研究中,对采集的1 680幅光谱图像进行了光谱提取和灰度处理,结果表明,预处理后的数据有助于提升深度学习网络的识别准确率。通常情况下,农作物病虫害图像存在背景复杂、受害区域与健康区域无明显边界、受害区域面积较小不易识别等特点,这为农作物病虫害的精准识别带来了极大挑战。因此,需要重视农作物病虫害数据的预处理工作,包括但不仅限于标签标注、显著图标注、灰度处理,同时还需考虑处理数据缺失值、数据编码等问题。
2.2.2数据增强
数据增强是使有限的数据产生更多的等价数据,从而增加训练样本的数量及多样性,最终提升深度学习网络的性能。一个网络具有百万计的参数,为了使这些参数能够正常运转网络,需要大量的数据进行训练,但是在农作物识别应用中,通常难以找到充足的数据来支撑网络的训练。
常用的数据增强方法包括空间几何变换法[74-75,114-119](翻转、裁剪、旋转、缩放等)和添加噪声法[118,120-123](高斯噪声、模糊、对比度变换、颜色扰动、随机擦除、锐化等),数据增强方法示例见图6[124]。
图6中,以第1行苹果的原始图像及其变换后的图像为例,一个欠训练的深度学习网络会认为这些苹果图像是不同、独特的图像。但是这些基于空间几何变换法和添加噪声法的数据增强手段也具有一定的局限性,例如在随机裁剪图像时,选到的区域有时并不包含真实目标的区域,这就意味着,有时会使用带有错误标签的数据去训练网络。
虽然传统的数据增强方法可以在原始数据集的基础上生成更多的训练样本,但是,当原始数据集的质量不佳,或原始数据集中的数据并不具备代表性时,通过空间几何变换法和添加噪声法所生成的新数据并不能有效满足网络训练过程中对训练样本的需求。因此,如何利用有限的原始数据生成新的、高质量的训练样本成为亟需解决的技术问题。有学者指出,对抗式生成网络[125-126]、样本匹配[127]、反事实推理[128-129]、自动增强[130]等方法的引入有望解决训练样本数量不足的问题。例如,自动增强(AutoAugment)方法是由Google提出的自动选择最优数据增强方案,其基本思路是使用增强学习从数据本身寻找最优的图像变换策略,通过从常规的数据增强操作中选取若干个操作并将其结合,随机生成使用特定操作的概率和相应的幅度,并评估网络的泛化能力来反馈新生成训练样本的质量。随着新训练样本的加入,网络可以有效提升识别准确率,同时,有效缓解识别结果的过拟合现象。
2.2.3深度学习网络优化
在使用基于深度学习技术的农作物病虫害识别方法时,需要对网络中成千上万的参数进行调整,以达到最优的病虫害目标识别准确率,因此,网络的复杂度及网络优化是学者们普遍关注的问题。
网络的复杂度可以从以下方面考虑[131]:首先是网络每层的时间复杂度,以一个大小为k×d的卷积核为例,该卷积核做n次运算的复杂度为O(nkd2),其中d为维度,k为卷积核的尺寸。其次是考虑序列操作数,从计算方式上看,卷积的n次序列操作均可以并行完成,故模型复杂度为O(1)。最后考虑序列中两个元素进行交互所需经过的最大路径长度,深度学习网络通过卷积层来捕捉局部依赖,扩大层数从而扩大视野,对每个节点来说,能够感知到的局部内容取决于卷积核的层数和大小,所以,交互所经过的最大路径长度的复杂度可求解得O(logkn)。
为了完成大规模复杂网络的训练任务,大多数国内外学者都充分利用了GPU的加速运算能力[119-120,132-134]。然而,该方法是通过硬件的方式解决网络复杂度的问题,以软件方面为切入点,优化网络结构、提升网络性能的思路在本文所检索的文献中还少有涉及。
随着农作物病虫害识别研究的深入,可以利用以下技术来优化深度学习网络[135]:
(1)网络剪枝[136-137]:在网络的训练过程中引入评判机制,剔除不重要的连接、节点甚至卷积核,以达到精简网络结构的目的。网络剪枝的优点在于可以减少网络的参数,可以有效缓解过拟合现象的发生,同时,随着网络参数的减少,可以大幅降低内存开销,且可以缩短网络训练的时间。
(2)张量分解[138-139]:该方法对于深度学习网络的压缩与加速具有直接作用,可以作为网络结构优化的重要补充。需要注意的是,目前大多数的张量分解方法都是逐层分解网络,缺乏对网络整体性的考虑,有可能会导致不同隐含层之间的信息损失。此外,由于张量分解涉及相关矩阵的分解操作,需要增加额外的计算资源开销。
(3)知识迁移[140]:该方法是基于迁移学习的一种网络结构优化方法,即将源领域的相关知识迁移到目标领域中,完成网络的压缩与加速。但是,该优化方法通常只是将源领域的网络输出值作为知识进行迁移,而未考虑到源领域网络结构对目标领域网络结构的影响。未来,需要充分考虑源领域网络的内部结构知识,从而更好地优化目标领域的网络结构。
在获得准确的农作物病虫害识别结果后,需要将该结果展示给用户,包括深度学习网络的开发者和普通用户(农业技术人员、农业专家等)。农作物病虫害识别结果的可视化、可解释性对实时、科学地指导农作物病虫害的预测预报起着至关重要的作用。
2.3.1可视化界面
可视化工作分为两大类:通过前向计算的方法直接可视化深度学习网络每一层的卷积核及提取的特征图,然后观察其数值的变化;通过反向计算,将低维度的特征图反向传播至原图像像素空间,观察特征图被原图的哪一部分激活,从而理解特征图从原图像中学习到了何种特征。例如KRIZHEVSKY等[141]直接可视化了第1个卷积层的卷积核,如图7所示。
有部分学者借鉴了KRIZHEVSKY在AlexNet中的可视化示范,采用了目标区域显示、分区显示、可信度显示等方法来达到结果可视化的目的。例如,SELVARAJ等[104]和LIU等[121]分别采用目标区域显示和卷积层激活像素显示的方法可视化了病害识别结果,如图8所示。
学界目前并没有统一、标准的可视化工具对深度学习网络识别结果进行可视化,所以学者在进行可视化工作时,需从网络中手动读取所需的特征图、权重等参数。不仅如此,目前的可视化结果大多是面向网络开发者的,仅有少数的工作[120,133,142]考虑了图形化界面的设计,但可视化结果的可阅读性较差,并不能为使用农作物病虫害应用的普通用户提供便利与解释。
可视化技术将是深度学习未来研究的重点之一,尤其是农作物病虫害识别结果的可视化,对实时、科学地指导农作物病虫害的预防与治理具有重要意义。
目前,越来越多的深度学习框架也逐渐重视网络可视化的相关研究,例如Tensorflow为网络开发者提供了TensorBoard可视化工具,通过该工具,网络开发者可以轻松查看网络结构、损失、准确率等指标的变化情况;华为MindSpore深度学习框架也为用户提供了类似的可视化工具MindInsight,该工具提供了丰富的功能,包括标量可视化、参数分布图可视化、计算图可视化、数据图可视化、图像可视化、张量可视化等,网络开发者可以在训练列表里选择指定的训练,进入MindInsight。但是需要注意的是,MindInsight目前仅支持导出在华为昇腾910 AI处理器上训练所得的可视化结果,而且,受可视化工作的影响,网络训练的性能会有所下降,对计算机的内存控制也提出了更高的要求。
由此可见,针对网络结果及识别过程的可视化还有待深入的研究[56],一方面,需要改进现有的面向网络开发者的可视化工具,均衡可视化工作、网络训练和内存控制等方面的侧重点;另一方面,迫切需要研发出面向普通用户(农业专家、农业技术人员)的可视化工具,为他们在制定农作物病虫害预防与治理工作中提供更多便利。
2.3.2可解释性
以卷积神经网络为代表的深度学习技术在信息领域的应用极大地提高了信息的利用效率和挖掘价值,深刻地影响了各领域的业态,同时,也引发了监管部门和用户对这一新技术在运用过程中出现的“黑盒问题”有所顾忌和疑虑。在农业领域,深度学习技术的不透明性和不稳定性也同样是一个值得关注的问题,如何对网络给出的病虫害识别结果进行合理解释成为亟需解决的问题。一方面,针对网络识别结果的解释可以为网络开发者带来便利,通过验证支撑识别结果的关键特征,能够有效为网络开发者确认网络的识别机理是否正确,并为网络的优化、改进提供新的方向;另一方面,伴随识别结果所给出的解释可以解决普通用户的疑虑,增强用户对识别结果的信心,从而更好地部署后续防治工作,同时,所给出的解释有助于用户认识尚未发现的新规律,为未来的研究指明潜在方向。
当下,对农作物病虫害识别结果可解释性的研究尚处于起步阶段,在FERENTINOS[115]所提出的作物病害检测和诊断系统中,系统在输出识别结果的同时,也给出了与识别结果最为相似的图像作为解释。余小东等[120]在设计基于CNN的农作物病虫害检测方法中,不仅告知了用户作物所患病害的名称,同时评估了作物受害的严重程度,并针对作物的病状进行了文字描述,这样的解释有助于用户更加确信网络输出的病虫害识别结果。
深度学习技术虽然可以精准、快速地识别农作物病虫害,并对病虫害的流行趋势做出预测,但是深度学习网络通常是一个“黑盒”。网络虽然可以识别出与农作物病虫害强相关的特征,但是网络无法将因果性和相关性解耦,导致次优甚至错误的病虫害识别结果,最终导致错用、滥用农药的严重后果,所以研究具备解释能力的网络是农作物病虫害识别应用研究的一个必然趋势,也是迫切需要克服的困难。针对网络的可解释性,本文建议可以借鉴以下技术:
(1)反事实推理[143]:反事实推理能力是人类智力的一个重要标志,该方法是基于因果推理理论的,通过对过去已经发生的事实进行否定而重新表征,构建一种可能性假设的思维活动。该解释方法可以结合网络对反事实问题的推理、反馈,从而验证网络的解耦合能力。
(2)基于事例的推理[144-145]:该方法主要是通过一些具有代表性的样本来解释网络的识别结果,例如可以为每一个聚类簇选取若干个代表性样例和重要的子空间。基于事例推理的解释方法尤其适用于为普通用户解释网络的输出结果。
(3)反向传播[146]:该方法主要是依据微积分中的链式法则,沿着从输出层到输入层的顺序,依次计算并存储目标函数有关网络各层的中间变量以及参数的梯度。常见的反向传播方法包括敏感性分析、泰勒分解、逐层相关性传播、DeepLIFT等。
2.3.3预测预报
有效的农作物病虫害预测预报是提高农作物植保综合防控水平的关键[147]。总结与归纳已识别出的农作物病虫害、受害严重程度、受害区域、受害时间等信息,为后续的农作物病虫害预测预报工作提供有效经验与借鉴。被广泛采用的病虫害预测预报技术包括:
(1)静态预测预报技术
该技术针对某一特定时期病虫害发生的状况进行短期或年际预测预报,思路较为简单,所以能够提供的预测、预报信息量较少。王秀美等[148]利用深度信念网络,建立了基于深度学习的小麦蚜虫短期预测模型,并利用有监督微调对网络参数进一步优化,预测准确率达到82.14%。纪思琪等[149]采用决策树算法构建了蔬菜病害静态预警模型,并以黄瓜黑星病为例,对模型进行分析评价,实验结果表明,模型预测准确率为90%。
(2)时序动态预测预报技术
该技术针对病虫害发生过程进行预测预报,具有动态预测预报、灵活度高的优点。它的输入数据通常是时序数据,或者输出的数据是基于时序序列的。KIM等[150]结合长时间序列气象数据和病害流行学模型EPIRICE,建立了水稻稻瘟病和纹枯病的动态预测模型,模型结果通过地理信息系统输出,展示了这两种水稻病害在特定区域的未来发展趋势。QIN等[151]通过长期监测天气情况和森林环境数据,将监测数据与森林病虫害发生情况建立相关性联系,从而动态预测、预警病虫害的发生。
(3)空间传播预测预报技术
该技术充分考虑了农作物病虫害的空间传播,例如孢子传播、害虫迁飞等现象。王海光等[152]应用HYSPLIT-4模式分析了小麦条锈病的发生与病原菌远程传播的相关性,在充分考虑着落区孢子浓度时间序列与监测区域降雨情况,得出小麦条锈病的远程传播与发生时间可通过计算大气环流运动来预测的结论。ARIAS等[153]建立了一种流行病预测模型,研究病原体在农作物之间的扩散机理,该预测模型可以根据已感染病害农作物的区域和严重程度,预测以感染区域为中心的病害传播路径。
目前,预测预报技术还存在一定的局限性,具体表现在:①预测预报模型大多数基于单一的数据源来构造。②只能对局部小区域的尺度范围进行预测预报。③缺少描述复杂过程的机制。因此,本文建议从以下方面考虑农作物病虫害预测预报技术的改进:①将农业多源数据与病虫害发生机理模型充分结合,由传统、单一的气象、农作物数据,拓展至高光谱、激光雷达等多源数据,建立全面、综合的预测预报模型。②优化农作物病虫害预测预报算法,随着高时间分辨率气象数据和高分辨率遥感影像数据的获取,如何有效地对这些数据进行分析和挖掘,设计相应的由大数据驱动的预测预报算法是亟需研究的问题。
快速、有效、精准地识别农作物病虫害是病虫害预防与治理工作的第1步。农作物病虫害识别方法从最初的人工识别、仪器识别发展至基于模式识别、机器学习技术的识别方法,如今,随着人工智能技术的发展以及计算机数据处理能力的提升,结合图像处理的深度学习技术在农作物病虫害识别上的应用愈加广泛,且取得了丰硕成果。
通过归纳国内外病虫害识别方法的研究现状,总结了当前基于深度学习技术的农作物病虫害识别方法所涉及的数据获取、数据处理和数据应用等关键技术,挖掘出当前深度学习在农作物病虫害识别领域所遭遇的问题与挑战,并进一步阐述了潜在的解决方法,为未来深度学习技术在农作物病虫害识别应用中的研究指明了新方向,提供了新思路。
深度学习是机器学习领域的热门技术,其在农作物病虫害识别领域的研究应用,从文献数量、应用成果、社会影响等方面看,尚处于起步阶段。未来,针对基于深度学习的农作物病虫害识别应用的优化与改进可以从以下方面着手。
(1)数据获取方面:使用多种数据采集设备,包括各类传感器、彩色数码相机、高光谱相机、近红外相机、激光雷达相机等,创建包含不同地区、不同作物、不同生长周期、不同种类早中晚病虫害等元素的多源农业数据集。同时,积极打造农作物病虫害数据共享资源平台,鼓励网络开发者、农业专家、农业技术人员上传各自在研究工作中获取的农作物病虫害数据,利用多源数据融合技术,整合全球各地的数据集资源,为日后农作物病虫害识别方法的应用研究提供有利基础,为大规模复杂深度学习网络的训练提供数据支撑。
(2)数据处理方面:为了摆脱对数据标注的依赖,可以引入无监督学习和弱监督学习的方法,并结合迁移学习算法,将学习到的特征迁移到农作物病虫害目标识别任务中。同时,使用对抗式生成网络、样本匹配、反事实推理等新式数据增强方法增加训练样本的数量,从而提高模型的识别准确率。最后,还需要考虑深度学习网络的复杂度问题,以网络剪枝、张量分解等手段压缩、加速网络,提升网络的综合性能。
(3)数据应用方面:针对农作物病虫害目标的识别结果,尤其是要重视其可视化和可解释性的工作,为深度学习网络开发者和普通用户带来便利。同时,利用以时间为序列的长期目标识别结果,建立农作物病虫害发生预测、预报模型,充分利用多源农业数据和农作物病虫害发生机理模型的优势,对农作物病虫害的复杂发生情况进行详尽描述,并通过由农业大数据驱动的预测预报算法为农作物病虫害的预防与治理提供科学指导和可信依据。