点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
Column of Computer Vision Institute
基于AI技术帮助中国农业快速发展,智慧农业也是最近几年的热门话题。
01
前景概要
在茶树生长过程中,茶树病害对茶叶产量和品质有着重要影响。茶叶病害的形态和规模各不相同,病害靶标通常较小,茶叶病害的智能检测过程也容易受到生长区域复杂背景的干扰。此外,一些茶叶病害集中在整个茶叶区域,需要从全局信息中推断。常见的目标检测模型很难解决这些问题。
因此,我们提出了一种改进的茶叶病害检测模型。我们使用在中国茅山茶厂收集的茶叶病害数据集。利用自注意机制增强了模型获取全局茶叶病害信息的能力。利用BiFPN特征融合网络和自适应空间特征融合(ASFF)技术改进了茶病的多尺度特征融合,增强了模型抵抗复杂背景干扰的能力。我们集成了Shuffle Attention机制来解决小目标茶病难以识别的问题。此外,我们使用数据增强方法和迁移学习来扩展数据集,并重新定位从其他植物病害数据集学习到的参数,以增强茶叶病害的检测。最后,使用SIoU进一步提高了回归的准确性。实验结果表明,该模型很好地解决了茶叶病害智能识别中遇到的一系列问题。检测精度领先于主流目标检测模型,检测速度达到实时水平。
02
项目背景
中国是世界上茶树种植面积最大的国家,也是世界上最大的茶叶生产国。据国际茶叶委员会统计,2020年全球茶叶产量626.9万吨,其中中国茶叶产量高达298.6万吨,占全球茶叶总产量的47.6%。在茶叶种植和生长过程中,茶叶病害(包括病虫害)是影响产量和品质的重要因素,严重的茶叶病害会造成巨大的经济损失。例如,安溪县是中国最大的乌龙茶产区,茶园总面积60万亩,每年因茶病造成的经济损失高达6000万元。常见的茶病害主要有茶叶枯萎病、紫背病和茶藻斑病。上述茶病也是对茶树危害最大的常见病,每年可反复感染茶树一次以上。它们大多发生在温暖潮湿的季节。茶树感染病害后,往往伴随着茶叶早落和芽枯萎,导致整个茶树衰退,甚至茶园整体病害,呈现衰退现象,给广大茶农带来巨大损失。当茶树感染了这种疾病时,有必要在疾病的早期清除患病的枝条或喷洒杀虫剂。鉴定茶叶病害的传统智慧在很大程度上依赖于人类的专业知识和检查(如现场观察和诊断)。然而,茶叶病害种类繁多,发生区域广,人工检测方法主观性强,一致性差,错误率高。
随着机器学习的快速发展,图像处理和机器学习在作物病害识别中得到了广泛的应用。有些研究将自适应神经模糊推理系统和颜色小波特征用于茶叶病害识别。利用人工神经网络提高了茶叶病害的识别精度。对随机森林分类器进行了改进。通过结合属性评估方法和实例滤波器对花生病害进行分类。使用Haar和AdaBoost分类器设计了一个水稻叶病图像处理系统进行识别,识别准确率为83.33%。此外,他们还使用K近邻和支持向量机(SVM)对水稻叶病进行分类,准确率分别为91%和93%。有研究者使用SVM分类器检测葡萄叶片病害。在k-means聚类之后,他们使用SVM进行特征提取和分类,并获得85%的准确率。有将SVM与线性迭代聚类相结合,从复杂背景中提取茶叶病害图谱,有助于进一步识别茶叶病害。对葡萄叶片病害进行了分割和鉴定。在特征提取过程中,采用了局部对比度雾度降低和增强技术来提高图像质量。在特征融合过程中,采用邻域分量分析方法去除冗余特征。基于实验,葡萄叶病的分割和分类准确率分别为90%和92%。然而,传统的机器学习方法需要大量的图像来进行疾病特征提取,并且特征提取依赖于手动设计而不是自动学习。
我们的研究致力于解决一般目标检测模型难以有效识别茶病目标的问题。为了解决茶叶病害智能识别过程中遇到的一系列问题,设计了一种改进的茶病害智能识别模型。所提出的模型改进了不同尺度茶叶病害特征的融合,更加关注茶叶病害区域,对小目标茶叶病害具有更好的检测效果,能够更好地利用全局信息推断茶叶病害。在检测过程中,抵抗复杂背景干扰的效果也更高。我们利用一系列技术提高了茶叶病害智能检测的准确性,检测速度达到了实时水平。该模型的大规模部署可以及时准确地检测茶树病害,取代传统低效的人工检测,从而采取有针对性的措施来控制和提高茶叶的生产效率和质量。
03
框架简单介绍
混合使用数据增强方法不仅可以扩展数据集,还可以避免过拟合,提高模型的鲁棒性,包括在线和离线增强方法。
左边是输入图像,右边是随机抹除
训练样本的数量与在线增强期间训练集中的图像数量相同。除了基本的图像增强操作外,在训练过程中还使用了马赛克数据增强方法来处理数据样本;即,将多个图片随机剪切并拼接成一个图片用作训练样本。在随机拼接的过程中,同一张图片可能有不同种类的茶病。更丰富的图片背景可以带来更高的模型训练效率。马赛克数据增强的一个示例如下图所示。
新检测框架
下图就展示了我们改进模型的网络结构。根据上述方法,我们对原始YOLOv5算法进行了一系列改进。首先,将Transformer模块插入YOLOv5的主干中。Transformer的自注意机制能够增强模型的全局感受野,获得更多的上下文信息,并为原始卷积层带来互补优势,更有利于捕捉茶叶病害的全局特征。
改进的损失函数
我们分析了YOLOv5原有损失函数的不足,并采用了优化的损失函数。对于未改进的YOLOv5,使用CIoU损失作为边界框的损失函数,使用Logits损失函数和二元交叉熵分别计算目标分数和类别概率的损失。
CIoU方案如上图所示。CIoU Loss综合考虑了覆盖面积、纵横比和中心距离,可以很好地测量其相对位置,解决了优化预测框的水平和垂直方向的问题,但这种方法没有考虑目标框和预测框之间的方向匹配,导致收敛速度慢。因此,我们采用了SIoU损失。如下图所示,SIoU引入了目标框和预测框之间的矢量角进行优化。
迁移学习
训练需要大量的样本来保证训练性能。由于数据样本数量有限,直接从头开始训练很难获得良好的检测结果。迁移学习是一种将已知领域的知识应用于目标领域的技术,它可以将训练好的网络模型从大型数据集转移到新的数据集,并实现网络模型参数和权重在新数据集上的重用。
由于缺乏大规模的茶叶病害图像样本,且茶叶病害特征与其他植物病害特征相似,引入了一种迁移学习方法来提高模型的性能。Plant Village是一个非常大的植物叶片病害数据集,由54306张植物叶片图像组成,包括14种植物,根据物种和病害分为38类。我们使用从互联网上收集的植物村数据集和其他植物病害数据集进行预训练。
04
实验及实际应用
用不同算法进行了测试,并在实际应用的效果如下。
yolov5的效果
新模型的效果
yolov5的效果
新模型的效果
实际应用的截图:
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~