李伟豪,詹 炜,周 婉,韩 涛,王佩文,刘 虎,熊梦园,孙 泳,2
(1.长江大学 计算机科学学院,湖北 荆州 434023;2.荆州市鹰拓科技有限公司,湖北 荆州 434023)
茶叶是我国重要的经济农作物之一。然而,随着茶叶种植面积不断扩大,茶叶病害问题日益突出,导致茶叶产量和质量下降。如何准确快速地检测和识别各种茶叶病害,并针对性地进行防治,是茶农最为关注的问题。因此,茶叶病害的检测、识别和防治尤为重要。目前,茶农依据个人种植经验实地观察茶树,采用人工方法进行病害检测和诊断[1‐2],这种方法耗时费力。此外,由于不同个体种植经验不同,易发生误判,进而采取错误的防治措施,影响茶叶的产量和品质,造成严重的经济损失。
随着图像处理与机器学习技术的不断发展,基于传统图像特征的病害识别方法已被尝试运用在病害识别领域[3‐4]。例如,林彬彬等[5]提出一种基于图像特征的分割方法,该方法使用最大类间方差法提取病害区域,HSV 色彩空间法提取和筛选病害颜色特征,并使用K 近邻算法对3 种茶叶病害分类。这种传统图像处理的方法难以适应更多茶叶病害种类的情况,同时,需要人工干预的方式筛选病害特征。此外,对复杂环境的鲁棒性较差,难以投入实际的应用中。
近年来,深度学习和计算机视觉技术飞速发展,开始进入智慧农业时代。基于深度学习技术的方法被广泛用于农作物病害识别研究中[6‐8]。熊梦园等[9]提出一种基于ResNet的玉米叶片病害识别方法,通过添加CBAM 注意力机制[10],对3 种玉米病害类别的识别准确率达到了97.5%。李子茂等[11]提出一种基于DenseNet 的茶叶病害识别方法,通过在DenseNet 中添加SE 注意力机制[12],对5 种茶叶病害类别的识别准确率达到92.66%。这些方法甚至包括其他现有的方法[13‐14],仅对农作物病害进行分类,缺乏对病害检测的功能。在实际应用中,这不利于相关农业人员精准地定位病害发生的区域。此外,DenseNet 网络[15]的参数量和显存占用大、运行速度较慢,不适合于边缘设备上的部署,难以投入实际的应用。并且,其茶叶病害的种类以及识别准确率仍有可提升的空间。
鉴于此,使用Yolov7 目标检测网络,同时实现对茶叶病害的检测和分类功能。为了保证检测识别的准确性与实时性,提出一种改进的轻量型Yolov7-TSA 网络架构,具体是在Yolov7-T 网络[16]的基础上,重新设计新的激活函数,以提高网络的检测精度,防止过拟合问题;在Yolov7 网络中融合新的轻量型坐标注意力机制(Coordinate attention,CA),提升对茶叶病害的局部特征感知能力,以提高网络的识别准确率。
试验数据为1 578 张茶叶图片,经过专业研究人员识别辨认,将其分为赤叶斑病、藻斑病、鸟眼斑病、灰疫病、白斑病、炭疽病、叶枯病以及健康8个类别,每个类别的图像平均数量为197张,图像分辨率为3 120×4 160,数据集示例见图1。
图1 数据集示例Fig.1 Example of dataset
由于数据集样本仅有1 578 张,为了使网络模型具有较高的准确性和鲁棒性,采用以下数据增强方法:1)随机旋转:以50%的概率对茶叶图像进行90°、180°和270°随机旋转,模拟相机不同角度的拍摄位置,扩充样本;2)高斯噪声:对图像添加高斯噪声,得到不同清晰度的图像,模拟不同场景下的拍摄质量;3)高斯模糊:对图像添加高斯模糊,得到模糊的图像,模拟拍摄抖动的情形。通过这3 种数据增强方法扩充数据集的大小,使得数据集扩充到3 156张图像。数据增强后的图像示例见图2。
图2 图像数据增强示例Fig.2 Example of image data enhance ment
1.3.1 网络模型 基于Yolo 系列[17‐21]目标检测网络中的Yolov7网络架构,提出一种全新的Yolov7-TSA网络架构。为了保证网络的准确率与实时性,通过在Yolov7 网络架构上优化网络设计,减少卷积模块的数量及其输入输出参数大小得到Yolov7-T 网络。在轻量型的Yolov7-T 网络的基础上做了如下改进:1)将Yolov7-T 网络中的激活函数替换为SiLU 激活函数[22],可避免网络过拟合,同时SiLU 函数曲线平滑,易于网络训练;2)在Yolov7-T 网络中融合CA 注意力机制[23],能够提升网络对茶叶病害局部特征的感知能力,从而提高网络检测识别的准确率。
在Yolov7-T 网 络 的ELAN(Efficient layer aggregation network)模块以及特征融合模块中添加CA 注意力机制。ELAN 模块由多个CBS(Conv batchnorm silu)模块构成,其输入输出特征大小保持不变。具体融合如下:1)将Backbone 中的ELAN 模块替换为CELAN(Coordinate efficient layer aggregation network)模块,CELAN 模块即在ELAN 模块侧路分支的CBS 模块中添加CA 注意力机制;2)在Backbone 与Head 部分特征融合前添加CA 注意力机制,以增强对不同尺度特征信息的表征能力。具体的改进网络结构见图3。
图3 Yolov7-TSA网络结构Fig.3 Yolov7‑TSA network structure
1.3.2 SiLU 激活函数 Yolov7-T 网络中的激活函数为LeakReLU[24],该激活函数是ReLU 激活函数[25]的变体,其缓解了ReLU 导致无效神经元的问题。然而,该函数存在负数值,导致其非线性程度较差,网络的分类效果不稳定。
为了保证网络检测和分类的效果,将LeakReLU 激活函数替换为SiLU 激活函数,其具有无上界、有下界和平滑的优点,正则化效果更强,可以在一定程度上避免网络过拟合,同时其函数曲线平滑,易于网络训练。SiLU 激活函数见公式(1)和图4。
图4 SiLU激活函数Fig.4 SiLU activation function
1.3.3 坐标注意力 坐标注意力简称CA,是一种将图像的位置信息嵌入到通道注意力机制中的全新的移动网络注意力机制。CA 注意力机制将通道注意力分解为2 个一维特征编码过程,分别沿2 个空间方向聚合特征,可以沿一个空间方向捕获远程依赖关系,同时沿另一空间方向保留精确的位置信息。将生成的聚合特征图分别编码为方向感知和位置敏感的注意力特征图(Attention map),可以将其互补地应用于输入特征图,以增强对目标的表征能力。CA 注意力机制可以被视作一种计算单元,旨在增强网络的特征表达能力。它可以将任何中间特征张量作为输入,并输出具有增强表征能力的注意力特征图。CA 注意力机制的详细架构见图5。CA 注意力机制是一种高效轻量的模块,将其融合到Yolov7-T 网络中,在增加少量参数的同时,可以更加关注茶叶病害的局部特征信息,稳定提升网络模型的识别准确率。
图5 CA注意力机制Fig.5 CA mechanism
1.4.1 试验环境与参数设置 硬件试验环境:CPU Intel Core i9-12900k;内存32 GB;显卡RTX 4090,显存24 GB。软件试验环境:Ubuntu 22.04;Python 3.8;Pycharm 2022.3;Pytorch 1.13.0,CUDA 11.7。
在进行模型训练时,为了保证训练集、验证集和测试集中的类别均衡,使网络的训练效果和泛化性能更好,从每种茶叶病害种类中随机抽出平均10%作为测试集,20%作为验证集,剩下的即为训练集,最终得到训练集2 208 张图像,验证集632 张图像,测试集316 张图像。将训练集输入到网络中训练,图片输入尺寸为640×640,优化器采用SGD[26],初始学习率为0.01,动量因子(Moment)为0.937,批样本大小(Batch size)为32,总的迭代次数(Epoch)为500 次,每迭代1 次在验证集上验证模型的准确率,每迭代25次保存并更新最优模型。
1.4.2 评价指标 利用参数量(Parameters)、浮点运算数(FLOPs)、模型大小(Model size)、平均精度均值(mAP)和推理时间(Inference time)5 个指标来评价网络模型的效果。参数量体现了模型的空间复杂度;浮点运算体现了模型的计算量,可以衡量网络模型的复杂度;模型大小反映了模型所占用的磁盘空间大小;平均精度均值是平均精度(Average precision,AP)的平均值,其描述了网络模型的平均检 测 精 度,见 公 式(2);AP 是 对P-R(Precision‐recall)曲线上的精度值求均值,见公式(3),P-R 曲线中的精度和召回率计算公式见(4)、(5);推理时间体现了模型推理1 张图片所需的平均时间,反映了模型的实时性能。
其中,c为数据集类别数量。
其中,Psmooth(r)代表平滑后的P-R曲线。
其中,TP是实际正类预测为正类的数量;FP是实际负类预测为正类的数量;FN是实际正类预测为负类的数量。
为了验证不同网络架构的效果,设置了对比试验,在控制训练参数恒定的情况下,分别对比Yolov7、Yolov7-T、Yolov7-TS 以及Yolov7-TSA 网络架构的效果。
Yolov7-T、Yolov7-TS 和Yolov7-TSA 网络训练过程中的mAP 和总损失值变化见图6、图7。随着迭代次数的增加,3 条总损失值和mAP 曲线分别不断下降和上升,最后趋于平缓,当迭代次数达到500时收敛,训练结束;Yolov7-TSA 网络的损失值比Yolov7-T、Yolov7-TS 网络更低且下降更稳定,其mAP 值也比Yolov7-T、Yolov7-TS 网络更高,模型效果最好。
图6 mAP变化曲线Fig.6 The curve of mAP
图7 总损失值变化曲线Fig.7 The curve of total loss
不同网络试验结果对比如表1 所示,Yolov7-T、Yolov7-TS 和Yolov7-TSA 网络 的mAP 在不断提升,其中,Yolov7-TSA 网络的mAP(94.2%)较Yolov7-T网络、Yolov7-TS 网络、Yolov7 网络分别提升了3.2、1.5、1.2 个百分点,在保证轻量型的同时,网络检测识别的准确率提升。此外,Yolov7-TSA 网络在参数量、浮点运算数、模型大小和推理时间方面表现出显著的效果,与Yolov7 网络相比,其分别降低83%、87%、83%和34%;与Yolov7-T 网络相比,仅有微小的增加。Yolov7-TSA 网络以微小的时间空间代价,获得更高的识别准确率,并兼顾了准确性和实时性。可将该模型部署在搭载高清相机的植保无人机上实时监测茶园,以便捷高效地监测识别茶园遭受的病害信息。
表1 不同网络对比试验结果Tab.1 Results of comparison experiments with different networks
如图8所示,Yolov7-T网络对于炭疽病、鸟眼斑病和灰疫病3 种类别的识别准确率较低。改进的Yolov7-T 网络,即Yolov7-TSA 网络,在保持其他类别识别准确率的基础上,提高了对这3 种类别的识别准确率,炭疽病、鸟眼斑病、灰疫病的mAP分别由74.4%、76.1%、82.1%提升到85.7%、86.8%、85.0%,提高了11.3、10.7、2.9个百分点。
图8 Yolov7-T(a)与Yolov7-TSA(b)网络的P-R曲线和每个类别的mAPFig.8 The P‑R curves of Yolov7‑T(a)and Yolov7‑TSA(b)networks and mAP of each class
如图9 所示,Yolov7-TSA 网络对这3 种病害有着显著的检测识别效果,但其识别精度仍没有达到较高的水平。通过对数据集检查分析,炭疽病、鸟眼斑病和灰疫病的病害特征比较相似,不易区分。此外,数据集中存在同时具有多种病害甚至多种病害重叠的茶叶图像。这可能是导致网络对炭疽病、鸟眼斑病和灰疫病识别准确率不高的原因。
图9 Yolov7-TSA网络对茶叶病害的识别精度示例Fig.9 The examples of identification precision of Yolov7‑TSA network for tea diseases
针对现有茶叶病害识别方法准确率低、运行速度慢以及缺乏检测功能等问题,本研究提出一种精准的轻量型Yolov7-TSA网络来检测识别茶叶病害,对8种(含健康茶叶)常见且难以检测识别的茶叶病害进行研究,比较了改进前后4 种网络对茶叶病害的识别准确率,得出以下结论。通过在Yolov7-T 网络上改进激活函数和融合注意力机制,进一步平衡了网络的平均精度均值和推理时间。与Yolov7-T和Yolov7 网络相比,Yolov7-TSA 网络的mAP 分 别提升了3.2、1.2 个百分点,达到了94.2%;与Yolov7网络相比,其在参数量、浮点运算数和模型大小方面分别降低了83%、87%和83%,同时单张图片推理时间降低了34%。这表明本研究取得了较好的效果,证明了改进的有效性。该Yolov7-TSA网络不仅可以对茶叶病害识别分类,而且可以对发生病害的茶叶进行检测定位。在实际应用中,这可以协助茶农等农业工作人员精准定位茶叶病害的发生位置,从而采取针对性的防治措施。本研究针对现有的茶叶病害问题取得了良好的效果,但尚未探索同时存在多种病害的情形。因此,未来的研究将重点关注茶叶的多病害问题,尝试对同时具有多种病害特征的茶叶图像进行更加细致的多标签标注,并探索完善有效的诊断和识别方法,以提供更加全面的茶叶病害信息。
此外,本研究将持续优化模型,通过增加茶叶图像数量以及涵盖更多茶叶病害种类,提高模型的泛化性和鲁棒性。轻量型的Yolov7-TSA 网络模型可部署在植保无人机上,以实现茶园病害的实时监测,为茶农等农业工作人员提供精准的病害信息,促进智慧农业现代化发展。