基于机器视觉的农作物病害识别研究进展
2023-12-07麻剑钧刘晓慈金龙新易森林封春芳夏先亮
麻剑钧,刘晓慈,金龙新,熊 伟,易森林,封春芳,刘 阳,夏先亮
(1.湖南省农业农村信息中心,湖南 长沙 410005;2.衡阳县优质农产品开发中心,湖南 衡阳 421200;3.湖南省农业信息与工程研究所,湖南 长沙 410125;4.常宁市洋泉镇农业综合服务中心,湖南 衡阳 421524;5.衡南县三塘镇农业综合服务中心,湖南 衡阳 421100;6.常宁市农业技术推广中心,湖南 衡阳 421500)
农作物病害是影响农业生产的主要问题之一。农作物一旦感病,不可避免的会出现减产降质等现象,导致农民收入受损,并对粮食安全构成威胁[1-3]。传统的病害识别通常依赖于肉眼观察和经验判断,这种方法既费时费力又容易受主观因素的影响。随着计算机视觉技术的迅速发展,采用计算机进行农作物病害识别成为研究热点,为人工识别效率低下、存在误差等问题提供了新的解决方案[4-6]。基于机器视觉的农作物病害识别是利用计算机图像处理和模式识别的技术,实现对农作物病害的自动检测和准确识别。该技术的发展对于提高农作物产量、减少农药使用、增加农民收入以及保障全球粮食安全均具有重要意义。
1 传统病虫害识别的机器学习方法
机器学习方法是一种基于数据的人工智能技术,通过从数据中自动学习,发现数据背后的规律和结构,并用这些知识来做出预测、分类、聚类、决策等任务。常用于农作物病害识别的机器学习算法主要有支持向量机(SVM)、K 近邻算法(KNN)、随机森林(Random Forest)和BP 神经网络(BNN)等,需要分割图像,提取病害区域的颜色、纹理、形状和光谱等特征信息,然后输入上述算法训练并构建出病害识别模型[7-11]。
国内外对于机器学习算法在农作物病害识别方向的应用进行了广泛的研究。Hossain 等[12]采用K-means 对叶片病斑进行分割,将提取的颜色和纹理特征输入到KNN 中进行分类,获得了96.76%的识别准确率。张铄等[13]使用K-means 分割病害图像的纹理特征,然后使用SVM 进行分类,最高识别精度到达了90.67%。郭小清等[14]提取番茄叶病害的颜色和纹理特征,传入到SVM 中构建分类模型,识别准确率达到了90%。陈丽等[15]采用遗传算法从图像中筛选色调I、颜色矩、形状因子和病斑面积4 类特征,再采用概率神经网络(PNN)法进行分类,最终识别准确率达到了90.4%。张建华等[16]采用颜色矩和灰度共生矩阵提取病害的颜色和纹理特征,并结合粗糙集理论和BP 神经网络构建分类模型,识别精度达到了92.72%。马素萍等[17]从图像的CIELAB 颜色空间中分割,提取纹理和RGB、HSV 空间中的颜色特征,然后使用主成分分析(PCA)和KNN 方法进行分类,获得了92.6%的识别准确率。
虽然以上基于机器学习的病害识别方法已经取得了一定的成效,但这些方法的实现需要繁琐的图像预处理,往往会因为手工设计和提取的特征不充足,导致训练模型的识别效果不佳[18]。其次,构建的模型大多是基于特定的数据集,泛化性较低。
2 自动特征提取的深度学习方法
近年来,深度学习技术被广泛用于农作物病害识别研究。该技术不需要人工提取病害特征,而是通过自动学习,从而更加客观地获得样本内部细节信息,更加便捷地构建识别模型。当前在农作物病害识别领域中使用最多是卷积神经网络(CNN)。卷积神经网络是受生物视觉系统启发而设计的,主要由卷积层、池化层、激活函数和全连接层构成,这些层级结构使得网络能够从输入数据中自动提取有意义的特征,从而在图像分类、目标检测、语义分割等任务上取得优秀的性能。常用的卷积神经网络框架有AlexNet、VGGNet、GoogLeNet、ResNet、DenseNet 和MobileNet 等。深度学习方法不仅可以识别农作物病害的种类,还可以定位到病害的具体区域并将该区域从背景中分离出来。深度学习方法无需手动提取特征,但对数据量的要求较高,为了降低数据量不充足导致的问题,预处理阶段常通过数据增强方法扩充数据集。该文将从病害分类、病害检测和病害分割3 个方面介绍深度学习方法在农作物病害识别中的应用。
2.1 病害分类
病害分类是利用计算机技术对农作物的图像进行分析,从而判断其否患上了病害,以及判断病害的类型和严重程度。该方式主要是通过将患病的农作物病害图像信息输入到CNN 网络中,通过训练让网络学习到不同病害的具有辨别性的特征,然后构建识别模型。构建好的模型可以布置在种植现场,直接通过摄像头远程判断农作物是否患病及患病的类型。与传统人工肉眼识别相比,该方式的识别效率和精度更好,有助于实现更精准、更自动化的农作物病害监测和防治。
苏仕芳等[18]改进了VGG-16 网络的全连接层,然后以迁移学习的方式训练改进模型并部署到移动端,实现了田间葡萄叶片病害的识别。牛学德等[19]通过迁移学习构建了一种基于DenseNet 的番茄叶片图像识别模型,识别准确率达到了97.76%,高于VGG、AlexNet 和MobileNet 模型。张文静等[20]通过加权平均融合MSRCR 和Gamma 算法对图像进行预处理,然后训练InceptionV3 模型对5 种病害进行识别,与未预处理后训练的模型相比,其识别率提升了29.71%。贾鹤鸣等[21]通过深度可分离卷积、全局平均池化和批归一化改进 VGG 网络,改进后的网络模型在PlantVillage 上的识别精度达到了99.43%,内存占用空间为6.47 MB。李好等[22]通过H-Swish和ECA 模块改进了ShuffleNet V2,构建了一种轻量级病害识别模型,该模型的参数量约为0.295 M,在PlantVillage 上的平均识别准确率达到了99.24%。孟亮等[23]以深度卷积为基本单元构建了轻量级农作物病害识别模型,对辣椒、番茄和马铃薯病害的识别精度达到了98.32%。
2.2 病害检测
病害检测是通过计算机视觉技术,识别和定位农作物病害的位置和范围的过程。与病害分类不同,病害检测不仅可以判断图像中是否存在病害,还能够精确定位病害在图像中的具体位置。病害检测可以帮助农业专家对病害进行更准确地分析,并进行量化,同时识别多个病害,从而提供全面的病害信息。
李伟豪等[24]将Yolov7-T 网络中的LeakReLU激活函数替换为SiLU 激活函数,同时通过融合坐标注意力机制进一步提升对目标轮廓和空间位置的特征感知能力,构建了一种轻量型的茶叶病害检测模型,准确率达到了94.2%。李康顺等[25]使用卷积注意力模块CBAM 改进YOLOX-Nano 网络的特征金字塔结构,并将二分类交叉熵损失函数 (Binary cross entropy loss,BCE Loss)和回归损失函数分别替换为焦点损失函数(Focal Loss)和CenterIOU Loss 函数,构建了一种农作物病害检测模型,平均识别精度达到99.56%。孙丰刚等[26]通过采用迁移学习、卷积注意力模块和加权双向特征金字塔网络改进YOLOv5s 模型,构建了苹果果实病害检测模型,该模型在IoU 阈值为0.5 下的平均精度均值(mAP0.5)达到了0.916,较原始模型提升了8.5%,可以实现果实病害的快速检测。Liu 等[27]使用加入特征金字塔的 YOLOv3 对常见番茄病害进行识别,平均精度达到 92.39%。储鑫等[28]提出一种基于改进YOLOv4 算法的轻量化番茄叶部病害识别方法,相较于原YOLOv4 模型,模型参数量减少80%,每秒传输帧数比原始YOLOv4 模型提高了130%。邱菊等[29]使用YOLOv5s 构建了草莓病害识别系统,结果显示系统识别精度接近80%,相较于传统草莓病害识别技术更便捷且识别效率更高。王超学等[30]提出了一个基于YOLOv3 的葡萄病害智能识别系统,该系统由微信小程序、云服务器和葡萄病害识别模型构成,不仅识别准确率达98.60%,识别结果、病害特征、发病原因、病害地理分布和防治建议还可以立刻反馈给用户。
2.3 病害分割
病害分割是对农作物或植物图像进行分割,将图像中的病害部分从背景和其他区域中准确挑选出来,从而帮助人类更精细地理解病害在植物上的分布和范围,提供更详细的病害信息,便于科学研究、病害监测和防治。
张善文等[31]提出一种基于多尺度融合卷积神经网络(MSF-CNNs)的黄瓜病害叶片分割方法,该方法采用多尺度卷积神经网络和基于九点双线性插值算法构建了集编码和解码为一体的模型结构,该模型对黄瓜叶病害的像素分类精度、平均分割准确率和平均交并比分别为92.38%、93.12%和91.36%,能够满足复杂环境下的黄瓜病害叶片图像分割需求。曹晓丽等[32]针对复杂背景下作物病害叶片分割问题,提出一种改进模糊C 均值聚类(Fuzzy C Means,FCM)的作物病害图像分割方法,对黄瓜病害叶片图像的分割正确率达到了97.81%。王振等[33]针对传统卷积神经网络在作物病害叶片图像中分割精度低的问题,提出一种基于级联卷积神经网络(CascadeConvolutional Neural Network,CCNN)的作物病害叶片图像分割方法,该网络基于传统的VGG16 模型和多尺度卷积核构建区域病斑检测网络和区域病斑分割网络,分割精度和召回率分别为87.04%和78.31%,单幅图像分割速度达到了0.23 s。
3 基于机器视觉的农作物病害识别技术目前面临的挑战
尽管机器视觉在农作物病害识别方面具有高效、准确和自动化等优势,但模型的推广仍存在诸多挑战。深度学习模型训练对数据量的要求较高,但采集大规模农作物病害图像数据集是一项挑战性工作,特别是在现场实际农田环境下采集难度更大。而且,对大规模数据集进行准确标注也需要专业知识和经验。其次,农作物病害的种类繁多,而且不同病害可能在不同的生长阶段表现出不同的症状。同时,受环境、光照等因素的影响,农作物图像可能存在噪声和变化,增加了病害识别的难度。此外,农作物病害数据集通常存在类别不平衡的问题,某些病害样本数量可能较少,导致模型在少数类别上表现不佳。对于一些罕见的或新出现的农作物病害,缺乏充足的样本数据,这会影响模型的泛化能力。模型训练需要大量的计算资源,如何降低成本并将训练好的模型嵌入到微型设备并部署到实际场景,仍具有一定难度。
4 总结与展望
基于机器视觉的农作物病害识别是近年来广受关注的研究领域,该技术旨在帮助农民及时发现作物病害,以便采取有效的防治措施,从而有效提高农作物的产量和品质。在这个领域,以深度学习为代表的方法已经取得了显著成效,可以实现病害的自动化识别、检测和精度定位,但也存在部分待优化的地方,只有更好地解决这些问题才能真正为农户生产提供更便捷有效的帮助。
4.1 数据集和标注
当前农作物病害数据集较少,未来可继续努力收集和构建更大规模、多样化的农作物病害数据集。为了解决数据标准费时费力、专业要求较高的问题,可进一步研究自动标注模型,以解决样本不充足的问题。
4.2 识别与部署
开发轻量级模型或模型压缩技术,降低模型的部署要求,提高实时性以及其在边缘设备上的应用能力,以便将模型部署到实际种植场景,实现病害的实时监测,有助于农户及早采取防治措施,减少病害对农作物产质量的影响。
4.3 多样性应用
近年来,多模态信息在农作物病害识别领域中发挥了重要作用,如红外图像、遥感数据等。可使用多种模态信息融合的数据进一步优化深度学习方法,以提升基于机器视觉的农作物病害识别的性能和效率。
4.4 系统整合
农作物病害识别是一种辅助农户种植农产品的科学方法,为了进一步推动农业发展,可将农作物病害识别技术与预测、预警等技术相结合,为农业生产提供全面的决策支持。