基于改进YOLOv5 的新疆棉花幼苗与杂草识别方法研究*

2023-08-31 08:39冯向萍李永可张世豪赵昀杰
计算机与数字工程 2023年5期
关键词:杂草棉花卷积

杜 晨 冯向萍 李永可 张世豪 舒 芹 赵昀杰

(1.新疆农业大学计算机与信息工程学院 乌鲁木齐 830052)

(2.新疆农业大学经济管理学院 乌鲁木齐 830052)

1 引言

新疆作为全国第一大棉花种植中心,2021 年棉花产量便已超过500 万吨,占全国总产量的89.5%[1]。目前,推动新疆棉花“由量向质”转型,是增强新疆棉花竞争力、确保有效供给率以及带动相关产业可持续发展的必由之路。杂草作为棉花生产中的主要威胁要素之一,虽然大面积喷洒除草剂可以抑制杂草生长,但若一味墨守成规的使用此种效率低且成本高的人工除草方式,将严重影响生态环境,同时也会降低土壤肥力,致使棉花品质下降[2~4]。为避免此类问题发生,本文将深度学习同农业发展相连结,通过图像处理与分析,精准辨别棉花生长中产生的杂草类型及其定位,高效智能除草,以此增进棉花产量与品质[5]。

就数字图像处理的杂草识别现状来看,关键在于运用颜色、叶片形状和叶面纹理等多个特点的差异进行杂草识别[6~8]。就卷积神经网络的杂草识别现状来看,学者们利用深度学习中关键的网络模型——CNN,对图像特征进行研究[9~11],从而达到杂草特征自动提取的目的,增加识别准确率。对深度目标检测的杂草识别现状来看,部分学者运用YOLO算法将目标检测任务转换成一个回归问题,利用单阶段检测来提升检测速度[12~14]。上述有关图像识别的研究为我国农业智能化发展提供了有力的学术与技术支持,但这些方法多以农作物为研究对象,特点单一,识别对象多为单独个体,事实上棉花幼苗和杂草的生长往往呈现出纵横交错的态势。综上所述,为解决交叉生长环境下棉花幼苗和杂草的识别难题,本文以新疆棉花田间典型杂草为主要研究对象,构建深度卷积神经网络,针对复杂植株特征,采用当下热门的目标检测算法,设计构建出一个可实现大田环境下棉花幼苗和杂草识别的网络识别模型,提高对杂草植株的识别率。

2 杂草检测算法原理

2.1 YOLOv5目标检测模型

YOLOv5 模型是一种端到端的单步目标检测模型,它的推理速度较快且模型部署成本较低。模型中囊括Input、Backbone、Neck 以及Prediction 这四大板块。从图1可见新版本的YOLOv5模型结构图,多数的激活函数皆应用了SiLU,其特征为无上界、有下界、平滑以及非单调。它是处于线性函数与ReLU 函数之间的平滑函数。由于Conv 层相较于普通卷积能够降低采样所导致的信息缺失,所以此版本用Conv 替代了第一层的Focus,但是其计算速度则相对较慢。除此之外,还运用SPPF(简化的空间金字塔池化)替换了SPP 结构,SPPF 将输入特征串行利用多个5*5 大小的MaxPool 层进行替换,从而提高计算速度。

2.2 改进YOLOv5目标检测算法

本文在前人研究的基础上,提出基于YOLOv5模型的改进网络,让模型即能够增强检测精度还可以减少参数量,让在高通量表型平台上操纵困难的问题得以缓解。第一,引进Ghost 模块减轻网络复杂度;第二,利用BiFPN(加权双向特征金字塔网络)增强检测率;第三,运用α—IoU loss 替换CIoU Loss,以此提升收敛速度;第四,对预测头YOLO Head 进行解耦,从而增加精度。具体改进如下所示。

1)Ghost模块

从图2 可见,Ghost 模块中囊括了1 个少量卷积、1 个总体恒等映射以及m ×(s- 1)个线性运算。在堆叠卷积层中能够获取充裕的特征信息,冗余信息也被收纳其中。虽然便于网络对特征信息有着更加详细的认识,但是计算量也会相应增加。所以运用一般卷积生成少量的特征图,接下来对上述所得的特征图展开廉价线性操作,从而生成Ghost特征图,最后把二者按照通道进行凭拼接,以此生成充沛的特征图来匹配既定的输出通道数。

图2 Ghost模块

2)α-IoU loss

早期的研究多数选取Ln-norm 进行BBox 的回归,但是,研究发现IoU 损失对BBox 存在尺度不变性,对于检测器的训练有着一定的帮助,然而,当预测框和Ground Truth 不重叠时出现了几种特殊情况导致无法准确判断预测框和Ground Truth 的真实位置情况引发梯度消失的问题,这会导致模型收敛速度慢并影响检测器的准确度。为了更准确地描述两者的位置关系以缓解梯度消失问题,启发了几种基于IoU 损失的改进设计。经过前人的实验发现,当α的取值为3时,在大多数情况下可取得较好的表现,且优于现有的IOU 损失。当α的取值大于1 时,会在训练过程中增加对高IOU 目标的权重,使得网络的预测结果更加精准。

3)BiFPN(加权双向特征金字塔网络)

由于在网络训练时,各类目标的尺寸大小皆不统一,使得卷积过程中,大目标的特征能够伴随卷积的深入从而保留,小目标的特征则有可能被隐没,所以把具有相同目标的不同深度的特征层融合则势在必行。从图3 可见,BiFPN 分别对FPN 和PANet 进行改善。第一,在FPN 模块中添加一条自底向上的通道,让底部的信息可以更加便捷地上传至顶部,从而生成路径聚合网络;第二,删除仅有1个输入或输出的节点;第三,如果输入和输出的结点在同一层,那么在输入/输出特征图间增加1个跳跃连接。由此则可以在同等计算成本的条件下,将更多的特征融合进来。同时让每个输入增加一个额外的权重,并让网络学习每个输入特性的重要性。

图3 加权双向特征金字塔网络

4)YOLOv5解耦头

在进行目标检测的过程中,分类任务与回归问题间始终有着巨大的冲突。所以,在诸多的单阶段以及两阶段检测器中,包含着用于分类与定位的解耦头。GE.,et al.[16]把检测头解耦,使得网络收敛速度大幅提升,同时提高了网络检测精度。由于分类任务与回归问题间具有一定的冲突,所以本文把YOLOv5 的检测头由原来的耦合变更为解耦,其结构图如图4 所示。首先,本文运用1*1 卷积层把原先YOLOv5的输出通道数量缩减至256,然后增加2个平行的分支,利用2 层3*3 卷积层分别运用在分类和回归任务中,最后采用1*1 卷积层来调节最终通道数。

图4 DecoupleHead 结构图

3 实验结果及分析

3.1 实验环境与参数设置

本研究使用的处理器为11th Gen Intel(R)Core(TM)i7-11800H @ 2.30GHz,显卡为NVIDIA GeForce RTX 3060 Laptop,内存为16GB,Python 版本为3.7,图像尺寸为1024,批次大小设置为10,深度学习框架使用Pytorch1.8.0 版本、CUDA 版本为11.0。

3.2 数据集及预处理

本文以棉花幼苗和田间的杂草作为识别对象。2022 年5 月至7 月在新疆沙雅县海楼镇乔格铁热克村试验田和昌吉市华兴农厂试验田,分18个阶段(每阶段相差3~5天),总共拍摄16384张样本图像。

实验中把数据集依照8∶1∶1 的比例进行划分,分为训练集、验证集以及测试集,然后把划分后的数据集用于本实验,保证每种模型的训练皆选用一模一样的数据。数据集中共有5 类数据,分别为棉花幼苗、龙葵、小藜、反枝苋与其他杂草,具体样本数量详见表1。

表1 样本数量

在实验过程中利用随机翻转、随机缩放、随机擦除、随机裁减等方式以及Mosaic、Mixup 方法展开数据增强操作。图5 可见数据增强后的效果。Mosaic 数据增强选择4 张图片,按照上述方法处理完毕后开始随机编排与拼接,增加BatchSize 的同时有效降低了显存占用率,还可以扩大原始数据集。Mixup 算法把各类图片相融合,在丰富了重叠杂草样本数量的同时,又让网络可以在测试阶段更为强大。

图5 Mosaic和Mixup数据增强

3.3 评价指标

本实验中目标检测模型的衡量标准为mAP@0.5、mAP@0.5:0.95、参 数 量、浮 点 运 算 次 数(GFLOPs)、模型大小以及FPS,重叠阈值为0.5。具体含义如下:1)mAP@0.5—IOU 阈值为0.5 时的平均AP,展现模型的识别能力;2).mAP@0.5:0.95—IOU 阈值为从0.5 到0.95,步长为0.05 时各个mAP的平均值,展现模型的定位效果、边界回归能力;3)参数量、浮点运算次数(GFLOPs)—分别从时间和空间上衡量模型的复杂度;4)FPS—代表每秒检测图像的数目,值越大检测速度越快。

当IoU 高于重叠阈值时,则代表产生了一个真阳性(TP);当IoU 低于阈值或者没有生成相关的真实框时,则代表产生了一个假阳性(FP)。被准确辨别的目标和测试集中目标个数的比值则被定义为召回率。

3.4 消融实验

为了进一步考证本文在实验中所提模型的检测性能,推敲各种改进方法对网络整体性能的影响,在YOLOv5l 的基础上进行10 组消融实验,选择逐渐增加的方法一步步开始优化,观测各类改进方法对网络性能的影响,并对比参数量与复杂度更高YOLOv5x官方模型。具体实验过程如表2所示。

表2 消融实验过程

实证研究表明,上述改进策略均有成效之后,本文采用所有的改进策略,然后把模型命名为:YOLOv5l_D。本实验还策划在不改变BackBone 以及Neck的情况下,对YOLO Head展开解耦的实验,研究预测头解耦对模型性能的影响程度。每组实验使用相同的训练技巧,基本采用YOLOv5 官方推荐的参数设置,实验结果如表3所示。

表3 不同模型性能对比

3.5 实验分析

Ghost 模块引入后,mAP 值降低了3.06%,但模型参数量降低了59.2%,计算量降低了66.9%,模型轻量化效果明显;加入Bifpn 特征金字塔后mAP 值提高了0.94%;使用α-IoU 替换yolov5 默认的CIoU损失函数可在不提高计算量和参数量的情况下将mAP 提高0.89%。综合使用上述改进策略后的模型YOLOv5l_D 可实现参数量降低56.8%、计算量降低65.8%的情况下mAP 值仅降低1.61%。改进后的YOLOv5l 模型检测结果和未改进的模型对比如图6所示,对于部分遮挡的杂草检测效果有所下降,但检测速度由1268ms/张提高至1072ms/张,检测速度显著提升,证明了以上模型改进方法的有效性。

图6 改进的YOLOv5l与原始YOLOv5l对比

使用解耦头DecoupleHead 替换YOLO Head 后检测结果如图7 所示,高亮部分显示出只有改进后的模型才可检测出部分重叠和遮挡较严重的杂草,检测效果相较改进前有较明显的提升,比原始版本YOLOv5l 的mAP 提高了1.76%;替换Ghost 模块后的模型mAP也可提高1.97%,而模型复杂度更高的YOLOv5x 模型并不能有效提高mAP 值,证明了对YOLO Head解耦后可以有效提升模型精确度。

图7 YOLO Head解耦前后对比

4 结语

本文以新疆棉花田间典型杂草为主要研究对象,由于传统杂草检测方法的缺陷,无法对杂草种类进行精准识别,检测难度大。基于此,为提高杂草植株的识别率,本文将深度学习与图像处理相结合,基于YOLOv5 提出改进的目标检测算法YOLOv5l_D 与YOLOv5l_DHead 模型。在原YOLOv5算法的基础上,引入Ghost 模块对网络进行轻量化处理;然后,将CIoU loss 替换为α-IoU loss,以此提高模型前期收敛速度;最后在网络中加入加权双向特征金字塔(BiFPN),从而更好的融合模型的多尺度特征,提升模型检测率。相比原YOLOv5 模型来说,改进的模型在参数量与浮点运算次数分别下降了56.8%和65.8%的基础上,mAP 仅下降了1.61%,可满足实际应用与移动端部署的要求。本研究还提出使用解耦头(Decouple Head)替换默认YOLO Head,相比原YOLOv5 的mAP 增加了1.76%,由此可见,解耦头可以提升模型精度。改进后的YOLOv5 模型对杂草目标的检测准确率明显提高,通过图像处理与分析,精准辨别棉花生长中产生的杂草类型及其定位,高效智能除草,以此增进棉花产量与品质,实现大田环境下棉花幼苗和杂草准确检测,在智慧农业发展等方面具有潜在实用价值。

猜你喜欢
杂草棉花卷积
拔杂草
棉花是花吗?
基于3D-Winograd的快速卷积算法设计及FPGA实现
棉花
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
水稻田几种难防杂草的防治
心中的“棉花糖”
一种基于卷积神经网络的性别识别方法
第三讲 棉花肥害诊断及其防治