1. 引言
冬虫夏草(以下简称“虫草”)作为中国传统名贵中药材,具有极高的药用价值[1]。其生长环境特殊,主要分布于高海拔地区,且人工培育难度大,导致野生虫草资源稀缺。目前,虫草采集主要依赖人工搜寻,随着市场需求持续增长,亟需一种高效、精准的自动化检测技术[2]辅助虫草采集。计算机视觉技术[3]的快速发展为这一需求提供了可能,通过智能检测设备,结合深度学习算法实现虫草目标的快速识别与定位,已成为智慧农业和中药材资源管理的重要研究方向[4] [5]。
近年来,不断涌现出多种基于深度学习的目标检测模型,如RetinaNet [6]、SSD系列[7]、YOLO系列[8]、EfficientDet [9]、DETR [10]、Faster R-CNN [11]、Mask-RCNN [12]等,已在农业领域取得显著进展,尤其是YOLO系列逐渐显现出在目标检测领域的重要地位[13]-[16]。陈等人[17]提出了一种基于多尺度特征提取的YOLO-SSAR目标检测算法,该方法可以提高模型对多尺度信息的提取能力,解决了红花智能采摘中尺度变化大、遮挡情况复杂的问题。李等人[18]提出了一种基于YOLOv8的无核白葡萄果梗识别模型Small-YOLO,该模型能够提升对无核白葡萄果梗的识别效果,实现新疆吐鲁番市小棚架下鲜食无核白葡萄果梗的良好识别。毕等人[19]提出一种改进的轻量级YOLOv5 (EDH-YOLO)算法,该算法优化了网络结构和参数体量,优化番茄采摘机器人识别算法。李等人[20]开展了基于YC-YOLOv7模型的油菜幼苗株数识别研究,此研究利用该模型应对油菜幼苗尺度不一、分布密集、识别难度大的情况,完成大田环境下油菜幼苗的识别任务。黄等人[21]提出了基于改进YOLO v8n的甜菜杂草检测算法,该算法提高甜菜杂草检测精度,改善当前甜菜杂草检测现状。刘等人[22]结合先进的智能手机硬件和便捷的微信小程序,设计了一个基于云架构的小麦病害检测系统。该系统不仅实现了现有小麦病害检测算法精度的提升和处理速度的加快,还能够精准地检测目标病害。虽然上述研究在农业领域取得很多成果,但提升检测精度和保持轻量化依然是一个挑战。比如,虫草大小、形状不固定,易受复杂高原背景干扰和遮挡等导致的虫草检测模型检测精度低和漏检的问题。
为应对上述挑战,本文以YOLOv8为基础框架,提出一种改进的小目标检测算法YOLOv8-DSEAM。首先,提出双层可变卷积,通过两层动态调整机制,使卷积核的大小和形状均可变,从而更好地适应虫草的复杂形状和分布规律,提高特征提取的灵活度和准确性,缓解下采样带来的信息丢失。然后,引入空间增强注意力模块SEAM,优化特征图中被遮挡区域的语义信息权重。SEAM通过通道–空间双路注意力机制,强化虫草主体轮廓并抑制土壤、石块等遮挡物的干扰。最后,针对复杂背景干扰,在原有检测层基础上新增小目标专用检测层,并在head结构中添加ASFF结构,通过跨层级特征融合增强微小虫草的定位能力。
2. YOLOv8模型改进
Figure 1. Improved YOLOv8-DSEAM model structure
图1. 改进后的YOLOv8-DSEAM模型结构
YOLOv8的设计具有出色的模块化特性,能够轻松地进行优化和定制。例如,C2f模块可以根据具体需求进行替换或增强,从而适应不同的任务场景。此外,YOLOv8能够便捷地集成其他注意力机制或特征融合模块,从而提升目标检测的精度。同时,YOLOv8添加了动态锚框机制,增强了其对小目标的检测能力。在安防监控和智能交通等传统场景中,YOLOv8算法表现出色,其检测速度快、精度高,整体性能优于前代模型。然而,在高原复杂环境下,面对虫草这种小目标,其检测效果不尽如人意。根据以上YOLOv8模型的特性,本文提出针对YOLOv8的改进,改进后YOLOv8的网络结构图如图1所示。
首先,为避免底层特征冗余,设计双层可变卷积,并替换骨干网络中第五层和第七层的传统卷积,然后对neck网络输出的每层特征图加入SEAM注意力机制,从而增强未遮挡区域的特征响应,来弥补遮挡区域的特征损失。最后,在head部分引入FASFF模块,实现空间特征的有效融合,以确保不同尺度之间的一致性,并在下采样阶段增加对小目标检测的特征输出层。通过上述改进措施,显著提升了模型在高密度草丛背景下小目标虫草的检测精度。
2.1. 改进双层可变卷积
传统卷积采用固定大小的卷积核,无法根据特征的复杂性和分布自适应调整形状,此外,在深度下采样阶段缺乏灵活性,可能丢失虫草的细节特征,传统卷积如图2所示。
Figure 2. Ordinary convolutional model
图2. 普通卷积模型
而可变卷积通过引入形状可变的卷积核及特征点偏移量计算,使卷积核能够自适应地调整形状和大小。但可变卷积的卷积核大小通常是固定的,导致在需要更大感受野时,难以有效扩大卷积核的范围。此外,在深度下采样阶段,可变卷积难以保持对目标特征的有效捕捉,可变卷积如图3所示。为了解决上述问题,本文设计了双层可变卷积结构,双层可变卷积模型如图4所示。
Figure 3. Variable convolutional model
图3. 可变卷积模型
Figure 4. Double variable convolution
图4. 双层可变卷积
第一层动态感知模块采用三维卷积核构建偏移量预测网络,输出通道数为采样点数量的两倍以分别表征位移方向。通过多粒度网格划分策略,将特征图分解为预设尺寸单元并计算偏移矢量和指标,并运用独立的卷积核来确定特征点的偏移量,并以此来改变卷积核的形状。输入特征图I经过第一层可变卷积核W1处理,生成输出特征图O1,其计算为公式(1):
(1)
其中,
和
是偏移量矢量场,表示卷积核在当前位置的移动方向和距离。然后通过计算多个子区域的偏移量矢量和,偏移量矢量和其计算为公式(2):
(2)
当偏移量矢量和绝对值小于阈值时,表示当前卷积核形状和大小不足以有效捕捉更广区域的虫草特征,触发大小调整机制,动态触发机制设置经验阈值并引入插值算法实现核扩展,新增参数采用空间相关性保持策略进行初始化。大小调整机制被触发后,大小调整模块通过函数f调整卷积核的大小,函数f的表达式为公式(3):
(3)
其中,k表示卷积核的大小变化参数。当第一层检测到需要扩大卷积核时,大小调整模块被激活,通过上采样或插值等方法提高卷积核的尺寸。但是,第一层可变卷积DSS卷积的形状和大小均可变化,其调整受偏移量卷积核的影响,导致输出特征图大小与其他同级别特征图不一致,为此构建双向自适应补偿策略:空间维度采用动态填充算法维持分辨率,通道维度建立反比例步长调节机制,引入了第二层可变形卷积核。第二层可变卷积使用调整后的卷积核大小k,进一步调整卷积核的形状和大小。输入特征图I经过第二层可变卷积核W2处理,生成输出特征图O2,其计算公式为公式(4):
(4)
其中,
是第二层可变卷积核的权重,与卷积核大小k有关。该层采用级联偏移量融合技术,将粗粒度偏移场与轻量化网络预测的精细偏移量叠加,并通过空间变换网络实现共享基矩阵的动态参数映射。接着运用BatchNorm2d模块对特征图进行归一化处理,归一化层引入尺度感知因子动态调整仿射参数,缓解核尺寸变化导致的分布偏移问题,以确保特征图的分布稳定性。随后,借助SiLU激活函数实施非线性变换,使神经网络具备学习复杂模式和特征的能力。激活函数改进为自门控结构,其非线性强度与核扩展倍数呈对数关系,通过动态泄漏机制增强特征分辨能力。训练过程中采用可微分采样与梯度直通估计技术保障优化稳定性,硬件实现层面设置最大核尺寸约束与延迟更新策略控制计算开销。
2.2. 改进空间增强注意力机制
传统注意力机制通常采用固定的形式和参数配置,无法根据输入特征的复杂性和动态变化自适应地调整其关注的范围和强度,在处理多尺度特征时缺乏灵活性,导致对细节特征的关注不足或过度聚焦于局部区域,从而丢失全局上下文信息。因此,本文引入了空间增强注意力机制SEAM。该机制聚焦于注意力网络模块SEAM和排斥损失两个关键部分,对虫草检测过程中的遮挡问题进行针对性优化。SEAM 注意力网络模块的核心目标是补偿被遮挡区域在检测时的响应损失,其实现途径是增强未遮挡区域的响应。该模块基于深度可分离卷积和残差连接相融合的架构。深度可分离卷积按通道分别处理数据,虽能有效学习不同通道的重要程度,减少模型参数量,但会忽略通道间的信息交互。为此,通过点对点(
)卷积对不同深度卷积的输出进行组合,之后利用两层全连接网络融合各通道信息,强化通道间的联系,以此学习遮挡与未遮挡虫草区域的关系,降低遮挡对检测精度的负面影响。
Figure 5. The structures of SEAM and CSMM
图5. SEAM的结构以及CSMM的结构
SEAM网络结构图如图5所示,从backbone输出的特征通过6*6,7*7,8*8的CSMM模块进行不同尺度特征的提取,并对输出的特征进行平均池化操作,同时进行通道扩展,以满足不同频率特征的融合需求。CSMM结构如图5所示,该模块旨在对不同尺寸的patch获取多尺度特征进行独立卷积,有效捕捉通道内的特征信息,利用
的卷积核,对深度可分离卷积的特征进行融合,实现跨通道的信息整合,挖掘空间维度与通道间的相关性,提高了特征提取的准确性。
排斥损失是专为解决虫草检测中的遮挡问题而设计的损失函数,主要由RepGT和RepBox两部分构成。
RepGT的功能是使当前预测的虫草边界框与周围真实边界框保持距离。此处的“周围真实边界框”是指与当前预测边界框之外的虫草标签对应的最大交并比的真实边界框。
RepGT损失的计算过程如公式(5):
(5)
其中,P代表面部预测框,GRep是周围具有最大loU的真实边界框。这里的IoG (Intersection over Ground truth)定义为且其值范围在0到1之间。
RepBox的主要功能是使不同的预测框相互远离,降低它们之间的交并比,避免某个预测框因非最大抑制操作被错误地判定为属于多个虫草。对于不同组之间的预测框和,希望它们之间的重叠面积尽量小一些。RepBox也使用SmoothLn作为优化函数,优化函数如公式(6):
(6)
排斥损失通过使边界框之间保持距离,减少预测框之间的重叠,从而提高虫草检测在遮挡情况下的准确性。
2.3. 检测头优化
在YOLOv8架构中,头部承担着识别目标与预测边框的任务。原始YOLOv8头部使用自带的Detect结构,在人脸识别、车牌识别等特定场景检测效果较好。而在虫草检测这类目标像素占比低、特征信息稀疏且易受背景干扰的情况下,误报率较高,检测效果不理想。为解决这个问题,本文引入新的检测头 FASFF-head。在head结构中添加ASFF结构,同时在下采样阶段增加专门针对小目标的检测头,通过多级目标筛选增强小目标捕获,结合深层语义挖掘提升检测精度,并设计特征自适应空间融合模块。该模块基于动态权重分配机制,在空间维度实现跨尺度特征的自适应融合,有效解决特征丢失问题,保障多尺度特征一致性,显著增强模型鲁棒性。其网络结构如图6所示,工作原理是生成多个不同分辨率和语义信息的尺度特征层,并自适应调整特征权重。计算过程为公式(7):
(7)
为FASFF_Head网络输出的特征向量;
为经第l层特征融合前,第n层特征图中(x, y)处的特征向量输入值;
、
、
、
为各自对应位置的输入特征向量;
、
、
、
为4个不同级别到第l层特征图的可学习权重参数,是Level 1、Level 2、Level 3和Level 4的特征图在训练中经过(1 × 1)的反向传播卷积而得,通过归一化之后控制权重参数的值在[0, 1]。
借助FASFF自适应调整特征权重的方式,模型可以在每个空间区域内自主选取最有价值的特征,规避因特征多级堆叠引发的特征表达不足问题,提高模型对异常样本的检测准确性,增强模型的多尺度特征融合能力。
Figure 6. The FASFF network architecture diagram
图6. FASFF网络结构图
3. 实验设置
3.1. 数据集
本研究构建自建数据集,由研究者在甘孜州贡嘎山乡拍摄的3020张虫草照片构成。拍摄过程中,考虑到虫草生长环境的复杂性,涵盖了晴天、雨天、雪天等不同天气条件下的虫草图像。并且通过几何变换、光度畸变及噪声注入等方法增强数据结构,最终数据达到6200张,图7为自建藏区虫草数据集示例。
Figure 7. Self-built Cordyceps dataset
图7. 自建虫草数据集
3.2. 实验环境与参数配置
实验环境搭建于Ubuntu 22.04 LTS环境,硬件配置为双路Xeon Gold 5418Y处理器与DDR4-3200 ECC内存。加速架构采用NVIDIA RTX 4090,软件生态基于PyTorch 2.2.2框架与Python 3.10科学计算环境。训练策略设置:批次规模16、输入张量640 × 640@16bit、迭代周期300 epoch。
3.3. 模型评价指标
针对小目标检测中普遍存在的误检、漏检双重挑战,本研究构建多维评估体系:采用平均精度均值(mAP)@0.5 (IoU = 0.5阈值)与mAP@0.5:0.95 (多阈值积分)双标准联合验证机制。
(1) 平均精度均值(mAP)
mAP@0.5表征基础检测置信度,而mAP@0.5:0.95通过积分运算量化模型鲁棒性。该指标基于检测框与真值框的几何重叠度量,实现从宽松到严格的多维度性能评估。其计算公式过程如公式(8):
(8)
其中,n代表类别数量,APi表示第i类的平均精度。
(2) 精确率(Precision)
正确检测到的目标数量与检测目标总数的比例就是精确率。其计算过程如公式(9):
(9)
其中,TP代表真正例,FP表示假正例。
(3) 召回率(Recall)
召回率表示模型能够检测到的目标数量与总真实目标数量的比例。其计算过程为公式(10):
(10)
FN表示假反例。
4. 实验结果
4.1. 对比实验
为深入验证YOLOv8-DSEAM模型在虫草检测任务中的有效性与准确性,本研究选取了SSD、Faster-RCNN、YOLOv5s、YOLOv6、YOLOv7-tiny、YOLOv8等最新对比模型,在自建数据集上展开检测效果对比,具体对比结果如表1所示。
Table 1. Comparison experimental results on self-built datasets
表1. 自建数据集对比实验结果
模型 |
mAP@0.5 |
mAP@0.5:0.95 |
参数量(MB) |
FPS |
SSD |
0.655 |
0.405 |
100.2 |
21 |
Faster-RCNN |
0.702 |
0.443 |
136.7 |
26 |
YOLOv5s |
0.817 |
0.527 |
7.02 |
76 |
YOLOv6 |
0.821 |
0.506 |
15 |
80 |
YOLOv7-tiny |
0.828 |
0.514 |
6.11 |
82 |
YOLOv8 |
0.854 |
0.634 |
8.77 |
78 |
YOLOv8-DSEAM |
0.896 |
0.663 |
6.83 |
81 |
YOLOv8-DSEAM在复杂场景检测中,相较基准模型实现显著优化:mAP@0.5提升4.2%、mAP@0.5:0.95增长2.9%,同时保持实时性。横向对比显示,YOLOv7-tiny虽具轻量优势,但检测精度存在显著差距。以上对比实验证明,改进的模型能够很好地协调模型性能、参数规模和计算量之间的关系,在对比中胜过大部分常见算法,具备较高的设计价值。
为进一步验证YOLOv8-DSEAM模型的泛化能力,研究选用SSD、Faster-RCNN、YOLOv8n、v9t、v10n 等先进方法,在Flavia Dataset [23]数据集上进行检测效果对比,检测对比如表2所示。
通过对比YOLOv8-DSEAM与其他先进模型在 Flavia Dataset数据集上的实验结果可以发现,YOLOv8-DSEAM除了参数量略高于YOLOv10n和YOLOv11n,在mAP@0.5上比YOLOv10n提高了1.3%,比YOLOv11n提高了1.7%。在mAP@0.5:0.95上比YOLOv10n提高了0.8%,比YOLOv11n提高了0.9%。以上实验结果表明改进模型在异源数据分布条件下仍保持稳定域适应特性。
Table 2. Comparison experimental results on public datasets
表2. 公开数据集对比实验结果
模型 |
mAP@0.5 |
mAP@0.5:0.95 |
参数量(MB) |
SSD |
0.751 |
0.510 |
100.2 |
Faster RCNN |
0.806 |
0.512 |
136.7 |
YOLOv8n |
0.87 |
0.568 |
8.74 |
YOLOv9t |
0.867 |
0.570 |
8.1 |
YOLOv10n |
0.872 |
0.577 |
6.7 |
YOLOv11n |
0.868 |
0.576 |
6.5 |
YOLOv8 DSEAM |
0.885 |
0.585 |
6.83 |
4.2. 消融实验
为了切实验证改进算法的实际效果,本研究设计了一系列消融实验。实验涵盖的主要方法包括:YOLOv8、YOLOv8-DSS、YOLOv8-SEAM、YOLOv8-FA以及YOLOv8-DSEAM。其中,YOLOv8-DSS意味着采用DSS双层可变卷积网络替换掉YOLOv8的卷积网络;而YOLOv8-SE则表示在原有的注意力机制基础上,引入了空间增强注意力模块(SEAM)。YOLOv8-FA指的是将检测头改进为FASFF-head。整个实验基于自建数据集展开测试,具体的消融实验对比如表3所示。
Table 3. Ablation study comparison results
表3. 消融实验对比结果
模型 |
DSS |
SEAM |
FASFF |
mAP@0.5 |
mAP@0.5:0.95 |
YOLOv8 |
|
|
|
0.854 |
0.634 |
YOLOv8-DSS |
√ |
|
|
0.867 |
0.641 |
YOLOv8-SE |
|
√ |
|
0.884 |
0.648 |
YOLOv8-FA |
|
|
√ |
0.873 |
0.652 |
YOLOv8-DSS-SE |
√ |
√ |
|
0.879 |
0.645 |
YOLOv8-DSS-FA |
√ |
|
√ |
0.871 |
0.642 |
YOLOv8-SE-FA |
|
√ |
√ |
0.889 |
0.658 |
YOLOv8-DSEAM |
√ |
√ |
√ |
0.892 |
0.663 |
经实验,用DSS网络替换YOLOv8原卷积网络后,YOLOv8 -DSS较原模型mAP@0.5提升1.3%。引入SEAM后,较原模型mAP@0.5提升3%,mAP@0.5:0.95提升1.4%,证明通过引入SEAM模块,使得预测框更快速准确接近真实框,损失函数收敛速度加快。引入FASFF后,较原模型mAP@0.5提升1.9%,mAP@0.5:0.95提升1.8%,证明FASFF模块可以有效提高模型对小目标的检测精度。不同排列组合加入各模块到YOLOv8模型中,mAP@0.5和mAP@0.5:0.95均提升,三模块同时替换时提升最高,分别达3.8%和2.9%。
消融实验有力验证了YOLOv8-DSEAM算法各改进部分在复杂场景下对模型性能提升的有效性和重要性,为后续优化和应用提供了理论和实践依据。
4.3. 可视化实验分析
为了直观地评估不同算法在虫草检测任务中的性能,本研究选取Faster-RCNN、YOLOv5s、YOLOv8n、YOLOv10n以及改进算法模型开展可视化实验分析。检测效果图如图8所示。
Figure 8. Visualization comparison chart
图8. 可视化对比图
第一排图像显示,在高密度草丛遮挡场景中,Faster-RCNN和YOLOv5s出现漏检(蓝框标识),YOLOv8n、YOLOv10n均存在误检现象。在本文改进算法中通过优化特征提取机制,有效捕捉到了遮挡目标的部分特征,实现了精准检测。
第二排图像显示,在虫草断裂场景中,Faster-RCNN和YOLOv5s因形态变化导致特征提取困难而漏检;YOLOv8n、YOLOv10n则误将形态相似干扰物识别为目标。而本文改进算法通过针对性特征学习模块,有效区分出了不同形态虫草特征,准确检测出了断裂目标。
第三排图像显示,在背景高度相似场景中,Faster-RCNN和YOLOv5s因类间特征混淆导致漏检,YOLOv8n和YOLOv10n也存在不同程度的误检。本文算法通过空间融合注意力机制,精准捕捉到了虫草形态的细微差异,在背景相似场景下依然可以保证较高的检测精度。
5. 结论
本文提出一种改进YOLOv8的虫草小目标检测算法,针对高原复杂背景下虫草易被混淆,创新性地提出了双层可变卷积,通过两层动态调整机制,使卷积核的大小和形状均可变,从而更好地适应虫草的复杂形状和分布规律,提高特征提取的灵活度和准确性。然后,引入SEAM注意力机制,替换原有的注意力机制,对虫草检测过程中的遮挡问题进行针对性优化。最后,针对YOLOv8在小目标特征提取中的不足,引入了FASFF检测头,有效地提升了本模型对虫草这种小目标的检测精度。实验证明,改进的YOLOv8模型可以保证对虫草的平均检测精度保持在0.892的水平,能够满足挖虫草时对目标检测的需求。
展望未来,将继续优化模型结构,以进一步提高模型的检测速度和轻量化,争取能够以更快地速度和更方便的设备进行虫草的检测。
NOTES
*通讯作者。