陈雨阳
(珠海科技学院,广东深圳,519041)
随着全球农业的发展,杂草的生长和繁殖已成为影响农业生产的主要因素之一。杂草的存在不仅会占用作物的养分和水分,还会对作物的生长和产量造成严重的影响。因此,如何快速、准确地检测和识别田间的杂草已成为防治有害杂草领域的重要研究方向之一。
在国外,1996 年Yonekawa 提出了杂草形状特征模型,利用杂草植物的叶片展开角度、椭圆程度、边沿锯齿形状、粗糙度这五个特征参数,在玉米杂草数据集的检测准确率达到 了82.22%[1]。Edmund J.Sadgrove 等使用HSV、YUV、RGB 三种颜色分类标准在玉米杂草数据集上进行了训练测试[2],结果表明,基于YUV 的颜色标准表现最佳,杂草检测精度达到了84%。
尽管我国在杂草识别领域的起步相对较晚,但随着农业的现代化进程,我国的研究水平逐渐与国外接轨。袁海波等人于2008 年以玉米为研究对象,成功地利用过绿特征参数(R-B-2G)和像素位置直方图来识别杂草的类别、位置和生长面积[3]。陈丽君等人于2010 年提出了一种穴间区块杂草识别的算法[4],该方法实时检测准确率超过87.7%。
通过采用目标检测模型对杂草的图像信息进行采集与处理,可以快速精准检测玉米作物行间的杂草,实现玉米田间杂草的精准防治,有助于农民及时发现和防治田间的有害杂草,提高玉米产量和农业生产效率。YOLO 是目标检测的一种,YOLOv5 迭代发展出较高的基准精度,且其为轻量级的网络模型,具有优异的对象识别速度。基于此,本文提出基于YOLOv5s 的杂草检测方法,实现杂草种类检测来解决上述问题。
目前存在玉米田间杂草的公开数据集较少,为展开研究需要创建自己的图像数据集。株蓝草,株西蒿,莎草,藜藜四类玉米田间杂草采用数据网站公开数据集。狗尾巴草,打碗花,鸭跖草,花糖芥,鳢肠,野西瓜苗,采用爬虫代码合法爬取图像数据,因存在部分爬取的图像存在较大偏离,则进行手动筛选剔除。最后收集到来自玉米田间11 类常见杂草数据集共计8778 张图像样本,收集后的样本图像分为11 类标签,图1 给出了数据集中每种杂草样本。
图1 玉米田间数据集每种杂草样本
本文通过数据增强的方式来获取足够的训练样本来对卷积神经网络进行训练以达到最优的效果。对原始图像进行扩增共4901 张。为了更好地训练及验证卷积神经网络的性能,将扩增后的数据集按 8:2的比例划分为训练集和测试集。本文的玉米田间杂草检测数据集统计信息如表1 所示。
表1 玉米田间杂草检测数据集统计信息
为实现杂草检测网络模型的训练,本文使用LabelImg软件对采集到的所有杂草图像进行标注。具体标注过程如图2 所示。杂草标注框的位置信息标注为 xml 标准格式,所有标注之后的图片数据按照VOC2007 格式的存储标准进行存储。
图2 图像标注示意图
图3 YOLOv5s 网络结构图
YOLOv5 是深度学习网络中的一种,YOLOv5 官方代码给出了四个网络模型:YOLOv5x、YOLOv5l、YOLOv5m 和YOLOv5s。其中 YOLOv5s 网络是整个YOLOv5 系列中特征图、特征宽度和卷积深度最小的网络,其他三种不同模型都是在YOLOv5s 的基础上不断卷积加深和特征图加宽[5]。最终本文选择YOLOv5 系列的 YOLOv5s 作为本文研究玉米田间杂草检测任务的基础模型。
YOLOv5s 的网络结构主要 由Input(输入端)、BackBone(骨干网络端)、Neck(颈部端)和 Prediction(检测端)四个模块部分组成。图像输入部分,YOLOv5s 网络输入端对图像进行预处理和归一化操作,并使用Mosaic(马赛克)数据增强技术,缩小图中大目标尺度,丰富数据集的同时极大地提升了网络训练速度和小目标检测精度。
YOLOv5s 的BackBone 网络中增加Focus 和CSP(Cross Stage Partial)结构,Focus 结构对图像进行4个Slice 分片操作再重新拼接卷积,进一步提取杂草目标特征[6];CSP 结构将基础层的特征映射划分为两部分,通过跨层连接将它们合并[7],使模型轻量化,加快收敛速度。
Neck 网络包 括SPP 结 构,FPN+PAN 结 构,新 增FPN优化了特征融合过程,能进一步提升特征的多样性及鲁棒性。SPP 结构以3 种不同尺度的最大池化层代替卷积层后的常规池化层,充分融合图像特征,获取多尺度特征。PAN结构对不同层次的特征进行融合,保留更多的浅层位置特征,进一步提升整体特征提取能力。
Prediction 网络中将边界锚框的损失函数改进为GIoU(Generalized IoU,GIoU)损失,进一步优化候选框的选取和目标定位[8],采用 CIOU-Loss 作为 Bounding box回归的损失函数,从而进一步提升算法检测精度。YOLOv5s的网络结构如图 3 所示。
本文选取准确率AP((Average precision),平均准确率 mAP(Mean average precision)这两项指标作为模型检测效果评价标准。精确率Precision 表示某一种类预测目标正确占总真实标签个数的比例,召回率Recall 表示预测目标正确的数量占目标预测总数的比例,AP 指的是精确率和召回率构成的 Precision-Recall(P-R)曲线与x,y 轴所围成的面积计算得到。AP 是表示单一类别的识别器性能,mAP 从多类别维度平均AP[9]。本文采用的数据集共11 个样本种类,mAP 为11 种类别的 AP 值取平均,数值在[0,1]内,mAP 值越高表明杂草检测效果越好。计算公式为:
在上式中,TP表示正样本进行正确预测的样本量,FN表示正样本进行错误预测的样本量,FN表示负样本进行错误预测的样本量,APi表示某种杂草的单类精度,i表示研究的某种杂草,本文共研究11 种杂草。
为了在训练时可以方便标注各种杂草,实验标注和训练以其英文名称或拼音代替其中文学名。其中YOLOv5s 的分类P-R 曲线的测试结果如图4 所示。对玉米田间11 类杂草的数据集测试结果如表2 所示。YOLOv5s 模型对这11 种杂草的检测结果整体来看,杂草的整体识别率都不错,前9 类杂草的mAP 都达到了96%以上,其中株蓝草和鸭跖草的mAP 达到了99.5%,总的mAP 达到了94.1%。
表2 11类杂草的mAP测试结果
图4 分类P-R 实验结果曲线
其中,野田瓜苗幼苗和澧肠的检测效果相对较低,一开始认为这两种草检测结果的不理想,可能是由于数据量不够的问题,实验将照片扩充再次进行测试,结果准确率提升不是特别的明显,于是在查看数据集图像后,对这两类草检测结果不理想的情况进行分析。可能是在数据标注过程中通常需要将整张杂草图像进行标注,而在杂草图像中不可避免地有其他杂草的存在,这样导致模型无法充分学习杂草的特征;图像中的杂草之间的距离较近,可能会导致检测框误检,目标杂草较小,像素占比较小,不易被识别出来。
综上所述,整体来看本文采用的YOLOv5s 模型保证了较高的准确率,易于检测玉米田间杂草。
本次实验也验证了YOLOv5s 模型对杂草的实际检测效果,部分检测结果效果展示如图5 所示。
图5 YOLOv5s部分检测结果效果展示
为了解决杂草在玉米田种类多,人工识别效率低、确率不高、识别困难的问题,本研究提出采用YOLOv5s 目标检测模型检测杂草种类,主要总结如下:
(1)首先,基于部分公开的数据集和合法爬取图像数据构建玉米田间常见的11 类杂草图像数据集,并对杂草数据集进行数据增强处理与数据标记,用作卷积神经网络的输入。
(2)采用YOLOv5s 目标检测模型开展研究,实现了杂草目标检测模型的训练,在自制的杂草数据集上平均精准率mAP 达到了94.1%,实现了在一定程度上玉米田间杂草的准确快速检测,对支持精准除草技术的发展有一定意义。