• 《中国科学引文数据库(CSCD)》来源期刊
  • 中国科技期刊引证报告(核心版)期刊
  • 《中文核心期刊要目总览》核心期刊
  • RCCSE中国核心学术期刊

基于BiFPN和Triplet注意力机制的YOLOv5s缺陷苹果识别算法

惠永永, 赵春雨, 宋昭漾, 赵小强

惠永永, 赵春雨, 宋昭漾, 等. 基于BiFPN和Triplet注意力机制的YOLOv5s缺陷苹果识别算法[J]. 华南农业大学学报, 2025, 46(3): 419-428. DOI: 10.7671/j.issn.1001-411X.202407012
引用本文: 惠永永, 赵春雨, 宋昭漾, 等. 基于BiFPN和Triplet注意力机制的YOLOv5s缺陷苹果识别算法[J]. 华南农业大学学报, 2025, 46(3): 419-428. DOI: 10.7671/j.issn.1001-411X.202407012
HUI Yongyong, ZHAO Chunyu, SONG Zhaoyang, et al. A YOLOv5s algorithm based on BiFPN and Triplet attention mechanism for identifing defective apple[J]. Journal of South China Agricultural University, 2025, 46(3): 419-428. DOI: 10.7671/j.issn.1001-411X.202407012
Citation: HUI Yongyong, ZHAO Chunyu, SONG Zhaoyang, et al. A YOLOv5s algorithm based on BiFPN and Triplet attention mechanism for identifing defective apple[J]. Journal of South China Agricultural University, 2025, 46(3): 419-428. DOI: 10.7671/j.issn.1001-411X.202407012

基于BiFPN和Triplet注意力机制的YOLOv5s缺陷苹果识别算法

基金项目: 

国家自然科学基金(62263021);兰州市青年科技人才创新项目(2023-QN-36)

详细信息
    作者简介:

    惠永永,主要从事间歇过程故障诊断研究,E-mail: huiyy@lut.edu.cn

  • 中图分类号: TP391.4;S225.93

A YOLOv5s algorithm based on BiFPN and Triplet attention mechanism for identifing defective apple

  • 摘要:
    目的 

    为了充分利用上下文信息和融合多尺度特征,提出基于BiFPN和Triplet注意力机制的YOLOv5s (BTF-YOLOv5s)缺陷苹果识别算法。

    方法 

    首先,加权双向特征金字塔网络(BiFPN)引入额外的权重学习不同输入特征的重要性,模型通过自顶向下和自底向上的双向路径,实现多尺度特征的反复融合,提高多尺度的检测能力;其次,将Triplet注意力机制应用到Neck层以增强模型对目标之间的关联和上下文信息的表示能力,使模型更专注于苹果特征的学习;最后,采用Focal-CIoU损失函数调整损失权重,使模型更关注缺陷苹果的识别,提升模型的感知能力。通过消融试验对比不同损失函数,改变注意力机制在YOLOv5s结构中的位置,并与主流算法进行比较。

    结果 

    BTF-YOLOv5s在初始YOLOv5s模型基础上,准确率、召回率和mAP方面分别提高了5.7、2.2和3.5个百分点,模型内存使用量为14.7 MB;平均精度比SSD、YOLOv3、YOLOv4、YOLOv5s、YOLOv7、YOLOv8n、YOLOv8s和YOLOv9的分别提升了5.7、3.5、13.3、3.5、2.9、2.6、2.8和0.3个百分点。

    结论 

    模型在缺陷苹果识别中表现出显著的优越性,为采摘机器人在采摘过程中实现优质苹果与缺陷苹果的自动分拣提供了一定的技术支持。

    Abstract:
    Objective 

    In order to make full use of context information and integrate multi-scale features, a YOLOv5s algorithm based on BiFPN and Triplet attention mechanism (BTF-YOLOv5s) for identifing defective apple was proposed.

    Method 

    Firstly, the additional weights were introduced to the weighted bidirectional feature pyramid network ( BiFPN ) to learn the importance of different input features. The model realized the repeated fusion of multi-scale features through the top-down and bottom-up bidirectional paths, and improved the multi-scale detection ability. Secondly, the Triplet attention mechanism was applied to the Neck layer to enhance the model's ability to represent the correlation between target and contextual information, so that the model could focus more on the learning of apple features. Finally, the Focal-CIoU loss function was used to adjust the loss weight, so that the model payed more attention to defective apple recognition, and improved the perception ability of the model. Different loss functions were compared through ablation experiments. The position of attention mechanism in YOLOv5 structure was changed, and compared with the mainstream algorithms.

    Result 

    On the basis of the initial YOLOv5s model, BTF-YOLOv5s improved the accuracy, recall and mAP by 5.7, 2.2 and 3.5 percentage points respectively, and the memory usage of the model was 14.7 MB. The average accuracy of BTF-YOLOv5s was 5.7, 3.5, 13.3, 3.5, 2.9, 2.6, 2.8 and 0.3 percentage points higher than those of SSD, YOLOv3, YOLOv4, YOLOv5s, YOLOv7, YOLOv8n, YOLOv8s and YOLOv9, respectively.

    Conclusion 

    The model of BTF-YOLOv5s shows significant superiority in identifing defective apples, which provides certain technical support for the picking robot to realize the automatic sorting of high-quality apples and defective apples in the picking process.

  • 苹果作为一种常见的水果,其质量问题直接关系到消费者的健康和生产者的经济利益。我国是苹果种植大国,苹果采摘、运送、储藏与加工处理是不可忽视的关键环节[1]。然而,由于人工质检的主观性和效率低下,传统的苹果质检方式已经无法满足现代农产品质量的需求[2]。基于机器学习的苹果识别技术应运而生,该方法可以对苹果进行自动识别和分类。李大华等[3]针对自然复杂环境下的苹果重叠问题,利用谱聚类算法进行分割,然后使用随机霍夫变换实现果实的识别和定位,尽管改进后的谱聚类算法在计算量上有所优化,但仍然涉及多步骤的处理,包括均值漂移预分割、稀疏矩阵构建、K-means分类和随机霍夫变换,整体流程较为复杂,对硬件性能要求较高,不适合实时性要求较高的应用场景。王迎超等[4]为了准确快速实现多特征融合的苹果分级,提出了一种基于K-means聚类和改进多层感知器(Multilayer perception, MLP)的苹果分级方法,但特征权重的确定存在主观性,且在不同的应用场景或苹果品种中特征的重要性会有所不同,导致分级准确性下降。宋怡焕等[5]提出基于最小二乘支持向量机(LS-SVM)检测苹果果梗/花萼缺陷,试验中仅使用了 180 幅苹果图像,而训练数据的不足会导致模型的泛化能力受限,对不同环境或苹果品种的误判率较高。上述传统的机器学习算法试验设计过于繁琐,对复杂的特征提取和分类能力不佳,易受外界因素的干扰,难以获得较好的检测结果。随着深度学习技术突飞猛进,以深度学习为基础的目标检测技术在苹果果实检测[6]、病虫害监测[7]、果实成熟度[8]和农业自动化[9-10]等领域发挥着重要的作用。目前,基于深度学习的苹果检测算法依据检测的阶段划分主要有2大类:一类是要先用特征提取器生成一系列可能包含待检物体的预选框,然后利用算法对生成的候选区域进行更精细的检测和分类的两阶段算法,主要有Faster-RCNN[11]和Mask-RCNN[12]算法;另一类为直接预测物体类别和位置的一阶段检测算法,主要有RetinaNet[13]、SSD[14]和YOLO系列[15-17]。两阶段算法计算复杂度高、检测速度较慢,一阶段算法在精度上有所欠缺。两阶段算法由于包含多个阶段和较多的候选框处理,推理速度通常比单阶段算法慢,不适合实时应用。为了进一步提升模型的检测速度和准确度,Tian等[18]提出了一种名为VMF-SSD(基于V空间的多尺度特征融合SSD)的新型苹果叶片病害检测方法;Wang等[19]通过迁移学习构建YOLOv5s检测模型的同时,采用通道修剪算法对模型进行修剪及微调,以实现对苹果果实的快速准确检测。

    目前,国内外目标检测领域对苹果的研究主要集中在自然环境下的苹果识别、苹果采摘机器人以及叶片病虫害识别方面。虽然已有部分研究针对缺陷苹果的检测[20-21],但仍存在上下文信息和多尺度特征融合不充分的问题。针对缺陷苹果识别,本文提出一种基于BiFPN[22]和Triplet注意力机制的YOLOv5s (BTF-YOLOv5s)缺陷苹果识别算法,通过BiFPN结合特征的上采样和下采样路径,联合跨尺度的特征交互,能够更好地传递和融合来自不同尺度的特征信息,提升目标检测性能;同时,学习动态的特征融合权重,根据不同目标的重要性进行灵活调整,增强模型的鲁棒性;在Neck层应用Triplet注意力机制,模型能更好地捕捉图像中的细节和上下文信息,提升目标检测的精度;采用Focal-CIoU调整正负样本之间的损失权重,让模型对难以分类的样本给予更多关注,提升模型的分类性能。

    本研究以YOLOv5s (版本6.2,包含4种不同大小的模型)为基础,网络结构由输入端、骨干网络、颈部网络和输出端4个部分组成。在输入端引入了Mosaic数据增强方法,随机选取4张图像,对它们进行随机放大、缩小等操作后,拼接成一张新的图像,使模型可以在更小的范围内识别目标;骨干网络主要使用了Focus和CSP1_X结构;颈部网络采用FPN+PAN和CSP2_X结构进一步进行特征融合和上采样操作,以提供更高级的语义信息和适应不同尺度图片的能力;输出端采用CIoU_Loss(Complete intersection over union loss)作为损失函数,并使用了非极大值抑制(Non-maximum suppression,NMS)进行后处理。本文提出了一种改进的YOLOv5s算法(BTF-YOLOv5s)用于缺陷苹果识别,首先,加权双向特征金字塔网络(Bidirectional feature pyramid network,BiFPN)替代YOLOv5中的FPN+PAN结构,通过引入可学习的权重学习不同输入特征的重要性;然后,将Triplet注意力机制应用到模型的最后一层,确保在最终输出前对特征进行充分的处理和优化;最后,采用Focal-CIoU损失函数调整损失权重给予缺陷苹果更多的关注,BTF-YOLOv5s算法结构整体框图如图1所示。

    图  1  BTF-YOLOv5s算法结构框图
    Figure  1.  The structure block diagram of BTF-YOLOv5s algorithm

    在目标检测任务中,有效地获取并处理不同尺度的特征信息是一个主要的挑战。传统的特征金字塔网络(FPN)[23]通过自上而下的方式聚合多尺度特征,如图2a所示,但容易受到单向信息流的限制;路径聚合网络(PANet)[24]在此基础上额外添加了一个自下向上的路径聚合网络,如图2b所示。在YOLOv5的Neck结构中,借鉴PANet的思想,高层的特征信息通过FPN+PAN结构进行传递融合。FPN+PAN结构虽然提高了特征传递的效率,但也增加了计算复杂度,尤其是在处理高分辨率输入时,可能导致较高的计算成本和较差的实时性;此外,固定结构导致对不同任务和数据缺乏自适应的能力。

    图  2  特征网络
    Figure  2.  Feature network

    为了解决上述信息流动单一、精度高但参数较多、计算量较大以及简单拼接导致的信息丢失和冗余等问题,本文提出了采用BiFPN替代YOLOv5s中的FPN+PAN结构。BiFPN在PANet和NAS-FPN(图2c)基础上优化了多尺度特征融合方式,结构如图2d所示。

    传统方法在融合具有不同分辨率的特征时,平等地对待所有输入特征,并将它们简单相加。但不同分辨率的输入特征对输出特征的贡献通常是不等的。为了解决这一问题,BiFPN为每个输入特征增加了一个额外的权重,并让网络学习每个输入特征的重要性,具体见式(1)和式(2):

    $$ P_6^{{\mathrm{td}}} = {\mathrm{Conv}}\left[ {\frac{{{w_1}P_6^{{\mathrm{in}}} + {w_2}{\mathrm{Reseize}}\left( {P_7^{{\mathrm{in}}}} \right)}}{{{w_1} + {w_1} + \varepsilon }}} \right], $$ (1)
    $$ P_6^{{\mathrm{out}}} = {\mathrm{Conv}}\left[ {\frac{{w_1^{'}P_6^{{\mathrm{in}}} + w_2^{'}P_6^{{\mathrm{td}}} + w_3^{'}{\mathrm{Reseize}}\left( {P_5^{{\mathrm{out}}}} \right)}}{{w_1^{'} + w_2^{'} + w_3^{'} + \varepsilon }}} \right], $$ (2)

    式中,$ P_6^{{\mathrm{td}}}$为自顶向下路径第6层的中间特征;$ P_6^{{\mathrm{in}}}$为第6层的输入特征; Resize用于分辨率匹配的上采样或下采样运算;$ P_6^{{\mathrm{out}}}$为自底向上路径第6层的输出特征。

    这一改进使得网络能够自适应地调整每个特征图的重要性,从而实现更有效的特征融合。引入BiFPN的YOLOv5s模型通过多尺度特征融合和简化的计算过程,有效地提升了对缺陷苹果检测的准确率;BiFPN通过引入可学习的融合权重优化了不同分辨率特征的重要性,增强了特征复用和多级特征融合路径,使得YOLOv5能够有效地检测出不同大小和形状的苹果缺陷。

    在缺陷苹果检测任务中,模型需要准确地识别和定位图像中的目标(苹果)。图像中存在大量的背景信息以及不同大小的苹果会分散模型的注意力,使得模型难以准确地区分缺陷苹果和背景,引入注意力机制旨在提升模型对关键目标的感知能力。SENet通过简单的操作(全局平均池化和全连接层)自适应地调整特征图中每个通道的重要性,使网络更加集中地关注重要的特征信息,在低计算成本的条件下通过通道注意力机制显著提升网络的表示能力[25];CBAM将通道注意力和空间注意力相结合,能够同时关注重要的通道特征和空间位置;CBAM中的通道注意力方法虽然提供了一定的性能改进,但通道注意力和空间注意力是相互分离和计算的[26]

    Triplet 注意力机制(简称“Triplet”)以一种有效的方式解释了CBAM未考虑到的跨维度的相互作用[27]。如图3所示,Triplet由3个平行的分支构成,其中2个分支分别用来捕获通道$C$维度和空间维度$ W/H $之间的跨通道交互,最后的一个分支用于捕获$ H $$W$的空间依赖关系。在第1个分支中,输入张量C×H×W(通道数$C$、高度$H$和宽度$W$)沿$H$轴逆时针旋转90°,形状变为$W$×$H$×$C$,输入特征先后经过$ Z - {\mathrm{Pool}} $$ K \times K $的标准卷积层、批量归一化层、通过Sigmod激活函数生成空间注意力权重后、再沿H轴顺时针旋转90°保持与输入的形状一致。其中$ Z - {\mathrm{Pool}} $表示为:

    图  3  Triplet注意力结构
    Figure  3.  Triplet attention structure
    $$ Z - {\mathrm{Pool}}(\chi ) = \left[{\mathrm{Max}}{{\mathrm{Pool}}_{0{\mathrm{d}}}}(\chi ),{\mathrm{Avg}}{{\mathrm{Pool}}_{0{\mathrm{d}}}}(\chi )\right]{\text{,}} $$ (3)

    式中,$ 0{\mathrm{d}}$表示发生最大池化和平均池化操作的第0维度。

    第2、第3个分支同理,最后对3个分支输出特征进行平均后聚合在一起,最终输出的张量:

    $$\begin{split} y =& \frac{1}{3}\Biggr\{ \overline {\mathop {{\chi _1}}\limits^ \wedge \sigma \left[ {{\psi _1}\left( {\mathop {\chi _1^*}\limits^ \wedge } \right)} \right]} + \overline {{{\mathop \chi \limits^ \wedge }_2}\sigma \left[ {{\psi _2}\left( {\mathop {\chi _2^*}\limits^ \wedge } \right)} \right]} + \Biggr.\\&\Biggr.\chi \sigma \left[ {{\psi _3}\left( {\mathop {{\chi _3}}\limits^ \wedge } \right)} \right] \Biggr\}{\text{,}} \end{split} $$ (4)

    式中,$ \sigma $代表Sigmod激活函数;$ \psi _1$$ \psi _2$$ \psi _3$表示由核大小$K$定义的标准二维卷积层。

    Triplet通过旋转操作构建各维度间的相关性,再对其进行残差变换,并以极小的计算成本对信息进行编码,在不需要太多可学习参数的前提下建立通道之间的相互依赖关系,有效地捕捉苹果图像中的关键特征。

    在机器学习任务中,常常面临数据集中不同类别的样本数量差异较大的问题,传统的交叉熵损失函数在处理样本不均衡问题时表现不佳,因为它将所有样本的重要性视为相等,继而导致模型在训练过程中更容易偏向于数量多的类别,公式如下:

    $$ {\mathrm{CE}}(p,y) = {\mathrm{CE}}({P_t}) = - \ln ({P_t}) {\text{,}}$$ (5)

    式中,CE是交叉熵(Cross entropy),$p$代表模型预测样本属于类别1的概率(取值范围0~1),$y$表示样本的标签(取值为−1和1)。定义

    $$P_t=\left\{ \begin{array}{ll} {p}, &{{\text{当}} \; y=1{\text{时}}}\\ {1-p},& {{\text{其他}}} \end{array}\right. {\text{。}}$$ (6)

    数据集中正常苹果和缺陷苹果图片数量均为1 600张左右,但标注数量略有差异,分别为4 624和2 039张。为了进一步加强模型对缺陷苹果的检测能力,引入Focal-CIoU损失函数。Focal Loss(FL)在交叉熵损失的基础上进行了改进,引入了平衡因子和聚焦因子,平衡因子用于调整正负样本之间的权重,聚焦因子用于调整难易样本间的损失权重;这样,既能调整正负样本的权重,又能控制难易分类样本的权重。FL表达式[28]为:

    $$ {\mathrm{FL}}({P_t}) = - {\alpha _t}{(1 - {P_t})^\gamma }\ln ({P_t}), $$ (7)

    式中,${\alpha _t}$是超参数(取0.25);$ {(1 - {P_t})^\gamma } $是调节因子,$\gamma $$ \geqslant $0的可调节聚焦参数(取2)。

    CIoU损失函数(LossCIoU)考虑边界框宽高比的尺度信息,在DIoU的基础上进行优化,计算公式[29]如下:

    $$ {\mathrm{DI}}{\text{o}}{\mathrm{U}} = {\mathrm{IoU}} - \frac{{{d^2}}}{{{c^2}}}{\text{,}} $$ (8)
    $$ {\mathrm{Loss}}_{\mathrm{CIoU}} = {\mathrm{IoU}} - {\frac{{{\rho ^2}\left( {b,{b^{gt}}} \right)}}{{{c^2}}}^{}} - \alpha V{\text{,}} $$ (9)

    式中,IoU为交并比(Intersection over Union),即“预测的边框”和“真实的边框”的交集和并集的比值;$ d$为预测框与真实框中心点的长度,$ c$为最小外接矩形的对角线距离,$\rho $代表的是2个中心点之间的欧式距离,$ b、{b^{gt}} $分别代表了预测框和真实框的中心点,$\alpha $是权重函数,$V$用来衡量长宽比的相似度。

    Focal-CIoU损失函数(${\mathrm{L}}{\text{os}}{{\text{s}}_{{\mathrm{Focal}} - {\mathrm{CIoU}}}} $)为:

    $$ {\mathrm{L}}{\text{os}}{{\text{s}}_{{\mathrm{Focal}} - {\mathrm{CIoU}}}} = {\mathrm{Io}}{{\mathrm{U}}^\gamma } \times {\mathrm{Los}}{{\mathrm{s}}_{{\mathrm{CIoU}}}} {\text{。}}$$ (10)

    Focal-CIoU通过调整正负样本的权重和提升边界框回归精度,减少了训练过程中梯度的不稳定性,使模型更关注缺陷苹果,提高了检测性能。

    本研究所用数据集从百度网站和飞桨AI Studio网站上获取,这2个网站提供了丰富的图像资源,包含虫蛀、腐烂、机械损伤和褶皱共4类苹果缺陷图像(图4),数量分别为414、750、148和280张,以确保对于苹果目标的全面覆盖。数据集共3213张(正常苹果1621张、缺陷苹果1592张),训练集和验证集按照9∶1的比例划分,其中,训练集图片2 891张、验证集图片322张。为了增加数据的多样性,通过Python程序对部分数据集进行水平、垂直方向的翻转以及旋转45º操作。构建和处理数据集,确保模型在训练和验证过程中能够充分学习和适应苹果目标的多样性特征,为后续的目标检测提供数据保障。

    图  4  苹果表面缺陷类型
    Figure  4.  Type of apple surface defect

    本试验平台基于Ubuntu 18.04.6的64位操作系统,显卡为GPU(NVIDIA GeForce RTX2080Ti),显存为12 G,使用PyTorch框架构建模型,编程语言为Python,Torch版本为1.10.1。在训练过程中,设置初始学习率为0.01、周期学习率为0.20、动量为0.937、权重衰减系数为0.000 5、批量大小为16。模型评估指标包括准确率(Precision,P)、召回率(Recall,R)、平均精确率均值(Mean average precision,mAP)和F1。TP (True positive)表示模型正确地检测出缺陷苹果的数量;TN (True negative)表示模型正确地排除正常苹果的数量;FP (False positive)表示模型错误地将正常苹果判定为缺陷苹果的数量; R指模型正确检测出的缺陷苹果(TP)占所有真正的缺陷苹果(TP + FN)的比例,表示模型对于真实缺陷苹果的检测能力;AP(Average precision)是衡量目标检测模型在不同召回率下准确性的指标,mAP是所有类别AP的平均,用来评估模型整体性能; F1综合了PR这2个指标,能够更全面地评估模型的性能。

    训练过程中损失值参数的动态变化如图5所示,随着训练轮次递增,损失值经历了急剧下降的阶段,最终趋向于0.025左右的平稳水平。训练损失和验证损失逐渐趋于拟合,意味着模型所学习的训练数据中的模式能够有效泛化到验证数据,表明该模型在面对新数据时具有优异的泛化性能。

    图  5  损失曲线
    Figure  5.  Loss curve

    Triplet插入YOLOv5s结构中的位置(A表示YOLOv5s-BiFPN-Triplet)主要有以下4种方式:1)在网络结构SPPF前面添加,即第9层[A+CIoU+Focal (9)];2)在网络结构最后一层添加,即第24层[A+ CIoU+Focal(24)];3)在网络结构SPPF前面和最后一层添加,即A+CIoU+Focal(9+25);4)替换Backbone中的C3模块,即A+CIoU+Focal。不同插入位置对比试验结果见表1。由表1可见,A+CIoU+Focal(24)比其他4种模型在各个方面均有不错的提升,准确率比YOLOv5s的提高了5.7个百分点,综合分析表明A+ CIoU+Focal(24)是最优的模型。

    表  1  Triplet注意力机制不同插入位置的模型试验结果对比
    Table  1.  Result comparison of Triplet attention mechanism with different insertion position %
    模型1)Model P R mAP F1
    YOLOv5s 75.4 83.6 86.5 79.29
    A+ CIoU+Focal(9) 77.3 81 85.6 79.11
    A+CIoU+Focal(9+25) 80.8 79.9 86.2 80.35
    A+CIoU+Focal 75.9 85.2 87.1 80.28
    A+CIoU+Focal(24) 81.1 85.8 90.0 83.38
     1) A:YOLOv5s-BiFPN-Triplet,括号内数字表示Triplet插入位置。
     1) The number in parentheses indicated the insertion position of Triplet.
    下载: 导出CSV 
    | 显示表格

    以YOLOv5s-BiFPN为基础,逐步添加SE,CBAM、CA和Triplet注意力机制。SE仅考虑通道间的信息,忽略了位置信息;CBAM通过学习的方式自动获取每个特征通道和特征空间的重要程度;而CA不仅考虑通道间的关系,而且考虑方向相关的位置信息。试验结果见表2,由表2可见,BiFPN+CA在准确率和mAP方面优于BiFPN+SE和BiFPN+CBAM;Triplet注意力机制利用三分支结构能够捕获更多的关键信息,建立通道之间的相互依赖关系,试验结果也验证了BiFPN+Triplet是最优模型。

    表  2  BiFPN添加不同注意力机制的模型试验结果对比
    Table  2.  Result comparison of BiFPN with different attention mechanism %
    模型ModelPRmAP
    BiFPN+SE76.183.187.0
    BiFPN+CBAM77.581.587.6
    BiFPN+CA78.681.388.1
    BiFPN+Triplet79.383.288.4
    下载: 导出CSV 
    | 显示表格

    为了验证各个模块的作用,以YOLOv5s为基础,进行逐步添加和替换,结果见表3。从表3中可以看出,与初始的YOLOv5s模型相比,单独添加BiFPN、Triplet或Focal-CIoU模块的模型准确率、召回率和mAP均有一定的提升。同时添加2种模块时,取得的效果更佳,添加BiFPN+Triplet的模型mPA比单独添加BiFPN的提高了0.4个百分点、准确率比单独添加Triplet的提高2.9个百分点;添加Triplet+Focal-CIoU的模型准确率和mAP比单独添加Triplet的分别提高1.1和0.3个百分点;添加BiFPN+Focal-CIoU的模型准确率和mAP比单独添加Focal-CIoU的分别提高1.7和1.0个百分点。当三者同时添加时,提高了模型对缺陷苹果的感知能力,与YOLOv5s模型相比,准确率、召回率和mAP分别提高5.7、2.2和3.5个百分点。

    表  3  消融试验结果
    Table  3.  The result of ablation test %
    BiFPNTripletFocal-CIoUPRmAP
    75.483.686.5
    80.384.388.0
    76.486.189.3
    78.483.089.8
    79.383.288.4
    77.584.589.6
    80.184.088.9
    81.185.890.0
    下载: 导出CSV 
    | 显示表格

    为了验证Focal-CIoU损失函数的优越性,本文设计了YOLOv5s-BiFPN-Triplet+损失函数的消融试验,结果见表4。由表4可知,A+ CIoU+Focal与次优模型A+ SIoU相比,准确率提高了1个百分点、召回率和mAP提高0.2个百分点、F1提高0.62个百分点;虽然A+ WIoU的准确率与A+ CIoU+Focal相同,但召回率、mAP和F1均低于A+ CIoU+Focal。综合准确率、召回率、mAP和F1等指标, A+ CIoU+Focal是最优模型。

    表  4  Focal-CIoU与其他损失函数对比
    Table  4.  Comparison of Focal-CIoU with other loss functions %
    模型1)Model P R mAP F1
    A 79.3 83.2 88.4 81.20
    A+ DIoU 79.1 84.8 89.2 81.85
    A+ DIoU+Focal 79.4 84.3 89.6 81.78
    A+ SIoU 80.1 85.6 89.8 82.76
    A+ SIoU+Focal 77.9 85.3 88.5 81.43
    A+ EIoU 78.7 84.3 88.7 81.40
    A+ EIoU+Focal 80.7 80.0 88.1 80.35
    A+ WIoU 81.1 79.4 88.2 80.24
    A+CIoU+Focal 81.1 85.8 90.0 83.38
     1) A:YOLOv5s-BiFPN-Triplet.
    下载: 导出CSV 
    | 显示表格

    为了证明本文提出模型(BTF-YOLOv5s)的有效性,与当前主流的目标检测模型进行对比(表5)。由表5可见,与SSD相比,BTF-YOLOv5s的准确率提高了4.8个百分点、召回率和mAP分别提高了4.1和5.7个百分点,模型大小大幅度减小;与YOLOv3相比,BTF-YOLOv5s的准确率提高近10个百分点,模型小了近8倍;与YOLOv4相比,BTF-YOLOv5s虽然准确率低了3.1个百分点,但召回率和mAP分别提升近20和13个百分点,模型大小减少了17倍;与YOLOv5s、YOLOv7和YOLOv8s相比,BTF-YOLOv5s在准确率、召回率和mAP方面均有提升;YOLOv8n和YOLOv9的准确率相较于BTF-YOLOv5s各提高0.6和4.9个百分点,但二者召回率过低; F1显示BTF-YOLOv5s是最优的。综合分析,BTF-YOLOv5s显著优于大多数目标检测模型,更具有优势。图6直观地展示了SSD、YOLOv3、YOLOv5s等模型与BTF-YOLOv5s的mAP比较,在训练轮次逐步增加的过程中,BTF-YOLOv5s的mAP最终稳定在90%左右,明显优于其他模型。

    表  5  BTF-YOLOv5与其他模型的对比
    Table  5.  Comparison of BTF-YOLOv5 with other models
    模型
    Model
    P/% R/% mAP/% 模型大小/MB
    Model size
    F1/% 参数
    Parameter
    GFLOPs1)
    SSD 76.3 81.7 84.3 95.5 78.91 2.49×107 31.4
    YOLOv3 71.8 83.8 86.5 123.5 77.34 3.30×107 78.1
    YOLOv4 84.2 65.6 76.6 256.3 73.75 6.50×107 142.3
    YOLOv5s 75.4 83.6 86.5 14.4 79.29 7.03×106 16.0
    YOLOv7 79.6 83.1 87.1 142.1 81.31 3.72×107 105.1
    YOLOv8n 81.7 76.6 87.4 6.2 79.07 3.01×106 8.2
    YOLOv8s 73.6 83.0 87.2 22.5 78.02 1.11×107 28.6
    YOLOv9 86.0 78.8 89.7 102.8 82.24 5.10×107 238.9
    BTF-YOLOv5s 81.1 85.8 90.0 14.7 83.38 7.17×106 16.7
     1) GFLOPs:每秒10亿次的浮点运算数。
     1) GFLOPs: Giga floating-point operations per second.
    下载: 导出CSV 
    | 显示表格
    图  6  不同模型的mAP值对比
    Figure  6.  The comparison of mAP values of different models

    本模型的应用场景之一即苹果采摘机器人在采摘过程中的分拣,故选择缺陷苹果所处的自然环境下的场景以及摆放不规整的场景。如图7所示,其中,第1行图像为原始图像、第2行图像为YOLOv5s检测图、第3行图像为BTF-YOLOv5s检测图;在图7的第1列中,BTF-YOLOv5s能够有效检测出正常苹果与缺陷苹果,准确率比YOLOv5s有显著提升;在第2列中对于像素更少的瑕疵斑点,YOLOv5s模型不仅出现了误检,而且准确率也低于BTF-YOLOv5s;在第3列中,BTF-YOLOv5s模型的检测效果明显优于YOLOv5s模型。

    图  7  不同模型的检测结果对比
    Figure  7.  Comparison of test results of different models

    为了实现对瑕疵苹果的快速准确检测,本文提出基于BiFPN和Triplet注意力机制的YOLOv5s缺陷苹果识别算法。通过加权双向特征金字塔网络(BiFPN)来学习不同的输入特征;采用Triplet注意力机增强模型对目标之间的关联和上下文信息的表示能力;采用Focal-CIoU损失函数,在计算损失时调整损失权重,给予目标物体更多的关注。注意力机制的应用使模型更加关注目标,在4种位置的插入对比中,YOLOv5s网络结构最后一层的插入位置表现最为优越,与在网络结构SPPF前面和最后一层添加相比,准确率、召回率和mAP分别提高了0.3、5.9和3.8个百分点;BiFPN与SE、CBAM、CA、Triplet注意力机制两两组合,验证了BiFPN+Triplet的优越性;相较于BiFPN+CA,准确率、召回率和mAP分别提升了0.7、1.9和0.3个百分点。消融试验表明,以YOLOv5s为基础,同时添加3种模块的准确率、召回率和mAP分别提高了5.7、2.2和3.5个百分点,提升效果显著。以YOLOv5s-BiFPN-Triplet为基础,Focal-CIoU的准确率比次优损失函数SIoU高1个百分点;准确率、召回率和mAP比主流的YOLOv7算法提高了1.5、2.7和2.9个百分点,同时,模型大小从142.1 MB减小到14.7 MB,显著降低了内存占用,在计算资源受限的环境中,为部署目标检测系统提供了有力支持。YOLOv8n和YOLOv9的准确率虽略高于BTF-YOLOv5s,但均面临召回率过低的问题,而YOLOv8s的准确率只有73.6%。在应用场景的对比试验中,BTF-YOLOv5s也表现出较好的优越性。

  • 图  1   BTF-YOLOv5s算法结构框图

    Figure  1.   The structure block diagram of BTF-YOLOv5s algorithm

    图  2   特征网络

    Figure  2.   Feature network

    图  3   Triplet注意力结构

    Figure  3.   Triplet attention structure

    图  4   苹果表面缺陷类型

    Figure  4.   Type of apple surface defect

    图  5   损失曲线

    Figure  5.   Loss curve

    图  6   不同模型的mAP值对比

    Figure  6.   The comparison of mAP values of different models

    图  7   不同模型的检测结果对比

    Figure  7.   Comparison of test results of different models

    表  1   Triplet注意力机制不同插入位置的模型试验结果对比

    Table  1   Result comparison of Triplet attention mechanism with different insertion position %

    模型1)Model P R mAP F1
    YOLOv5s 75.4 83.6 86.5 79.29
    A+ CIoU+Focal(9) 77.3 81 85.6 79.11
    A+CIoU+Focal(9+25) 80.8 79.9 86.2 80.35
    A+CIoU+Focal 75.9 85.2 87.1 80.28
    A+CIoU+Focal(24) 81.1 85.8 90.0 83.38
     1) A:YOLOv5s-BiFPN-Triplet,括号内数字表示Triplet插入位置。
     1) The number in parentheses indicated the insertion position of Triplet.
    下载: 导出CSV

    表  2   BiFPN添加不同注意力机制的模型试验结果对比

    Table  2   Result comparison of BiFPN with different attention mechanism %

    模型ModelPRmAP
    BiFPN+SE76.183.187.0
    BiFPN+CBAM77.581.587.6
    BiFPN+CA78.681.388.1
    BiFPN+Triplet79.383.288.4
    下载: 导出CSV

    表  3   消融试验结果

    Table  3   The result of ablation test %

    BiFPNTripletFocal-CIoUPRmAP
    75.483.686.5
    80.384.388.0
    76.486.189.3
    78.483.089.8
    79.383.288.4
    77.584.589.6
    80.184.088.9
    81.185.890.0
    下载: 导出CSV

    表  4   Focal-CIoU与其他损失函数对比

    Table  4   Comparison of Focal-CIoU with other loss functions %

    模型1)Model P R mAP F1
    A 79.3 83.2 88.4 81.20
    A+ DIoU 79.1 84.8 89.2 81.85
    A+ DIoU+Focal 79.4 84.3 89.6 81.78
    A+ SIoU 80.1 85.6 89.8 82.76
    A+ SIoU+Focal 77.9 85.3 88.5 81.43
    A+ EIoU 78.7 84.3 88.7 81.40
    A+ EIoU+Focal 80.7 80.0 88.1 80.35
    A+ WIoU 81.1 79.4 88.2 80.24
    A+CIoU+Focal 81.1 85.8 90.0 83.38
     1) A:YOLOv5s-BiFPN-Triplet.
    下载: 导出CSV

    表  5   BTF-YOLOv5与其他模型的对比

    Table  5   Comparison of BTF-YOLOv5 with other models

    模型
    Model
    P/% R/% mAP/% 模型大小/MB
    Model size
    F1/% 参数
    Parameter
    GFLOPs1)
    SSD 76.3 81.7 84.3 95.5 78.91 2.49×107 31.4
    YOLOv3 71.8 83.8 86.5 123.5 77.34 3.30×107 78.1
    YOLOv4 84.2 65.6 76.6 256.3 73.75 6.50×107 142.3
    YOLOv5s 75.4 83.6 86.5 14.4 79.29 7.03×106 16.0
    YOLOv7 79.6 83.1 87.1 142.1 81.31 3.72×107 105.1
    YOLOv8n 81.7 76.6 87.4 6.2 79.07 3.01×106 8.2
    YOLOv8s 73.6 83.0 87.2 22.5 78.02 1.11×107 28.6
    YOLOv9 86.0 78.8 89.7 102.8 82.24 5.10×107 238.9
    BTF-YOLOv5s 81.1 85.8 90.0 14.7 83.38 7.17×106 16.7
     1) GFLOPs:每秒10亿次的浮点运算数。
     1) GFLOPs: Giga floating-point operations per second.
    下载: 导出CSV
  • [1] 牛桂草, 宋卓展, 刘畅, 等. 中国苹果贸易竞争力评价与分析[J]. 河北农业科学, 2022, 26(3): 97-100.
    [2] 李大华, 孔舒, 李栋, 等. 基于改进YOLOv7的苹果表面缺陷轻量化检测算法[J]. 河南农业科学, 2024, 53(3): 141-150.
    [3] 李大华, 赵辉, 于晓. 基于改进谱聚类的重叠绿苹果识别方法(英文)[J]. 光谱学与光谱分析, 2019, 39(9): 2974-2981.
    [4] 王迎超, 张婧婧, 贾东霖, 等. 基于K-means聚类和改进MLP的苹果分级研究[J]. 河南农业科学, 2023, 52(1): 161-171.
    [5] 宋怡焕, 饶秀勤, 应义斌. 基于DT-CWT和LS-SVM的苹果果梗/花萼和缺陷识别[J]. 农业工程学报, 2012, 28(9): 114-118.
    [6] 张震, 周俊, 江自真, 等. 基于改进YOLO v7轻量化模型的自然果园环境下苹果识别方法[J]. 农业机械学报, 2024, 55(3): 231-242. doi: 10.6041/j.issn.1000-1298.2024.03.023
    [7] 袁杰, 谢霖伟, 郭旭, 等. 基于改进YOLO v7的苹果叶片病害检测方法[J]. 农业机械学报, 2024, 55(11): 68-74.
    [8] 张莉, 王晓格, 鲍春, 等. 轻量级多任务的苹果成熟度分类模型(特邀)[J]. 激光与光电子学进展, 2024, 61(20): 141-149.
    [9] 闫彬, 樊攀, 王美茸, 等. 基于改进YOLOv5m的采摘机器人苹果采摘方式实时识别[J]. 农业机械学报, 2022, 53(9): 28-38.
    [10] 张阳婷, 黄德启, 王东伟, 等. 基于深度学习的目标检测算法研究与应用综述[J]. 计算机工程与应用, 2023, 59(18): 1-13.
    [11]

    REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. doi: 10.1109/TPAMI.2016.2577031

    [12]

    HE K, GKIOXARI G, DOIIAR P, et al. Mask R-CNN [C]//Proceedings of the IEEE International Conference on Computer Vision(ICCV). Venice: IEEE, 2017: 2961-2969.

    [13]

    LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]// Proceedings of the IEEE International Conference on Computer Vision (ICCV). Venice: IEEE, 2017: 2999-3007.

    [14]

    LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot MultiBox detector[C]// Computer Vision – ECCV 2016. Cham: Springer International Publishing, 2016: 21-37.

    [15]

    LIU X D, GONG W Y, SHANG L L, et al. Remote sensing image target detection and recognition based on YOLOv5[J]. Remote Sensing, 2023, 15(18): 4459. doi: 10.3390/rs15184459

    [16]

    LI C, LI L, JIANG H, et al. YOLOv6: A single-stage object detection framework for industrial applications[EB/OL]. arXiv: 2209.02976. (2022-09-07)[2024-06-18]. https://doi.org/10.48550/arXiv.2209.02976.

    [17]

    WANG C Y, BOCHKOVSKIY A, LIAO H M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]//2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Vancouver: IEEE, 2023: 7464-7475.

    [18]

    TIAN L L, ZHANG H X, LIU B, et al. VMF-SSD: A novel V-space based multi-scale feature fusion SSD for apple leaf disease detection[J]. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 2023, 20(3): 2016-2028. doi: 10.1109/TCBB.2022.3229114

    [19]

    WANG D D, HE D J. Channel pruned YOLO V5s-based deep learning approach for rapid and accurate apple fruitlet detection before fruit thinning[J]. Biosystems Engineering, 2021, 210: 271-281. doi: 10.1016/j.biosystemseng.2021.08.015

    [20] 化春键, 孙明春, 蒋毅, 等. 基于改进YOLOv7-tiny的多光谱苹果表层缺陷检测[J]. 激光与光电子学进展, 2024, 61(10): 236-244.
    [21] 朱琦, 周德强, 盛卫锋, 等. 基于DSCS-YOLO的苹果表面缺陷检测方法[J]. 南京农业大学学报, 2024, 47(3): 592-601.
    [22]

    LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017: 936-944.

    [23]

    LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 8759-8768.

    [24]

    TAN M X, PANG R M, LE Q V. EfficientDet: Scalable and efficient object detection[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Seattle: IEEE, 2020: 10778-10787.

    [25]

    HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132-7141.

    [26]

    WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional block attention module[C]// Computer Vision – ECCV 2018. Cham: Springer International Publishing, 2018: 3-19.

    [27]

    MISRA D, NALAMADA T, ARASANIPALAI A U, et al. Rotate to attend: Convolutional triplet attention module[C]//2021 IEEE Winter Conference on Applications of Computer Vision (WACV). Waikoloa: IEEE, 2021: 3138-3147.

    [28]

    LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327. doi: 10.1109/TPAMI.2018.2858826

    [29]

    ZHENG Z H, WANG P, LIU W, et al. Distance-IoU loss: Faster and better learning for bounding box regression[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(7): 12993-13000. doi: 10.1609/aaai.v34i07.6999

图(7)  /  表(5)
计量
  • 文章访问数:  50
  • HTML全文浏览量:  9
  • PDF下载量:  10
  • 被引次数: 0
出版历程
  • 收稿日期:  2024-07-09
  • 网络出版日期:  2025-03-02
  • 发布日期:  2025-03-05
  • 刊出日期:  2025-05-09

目录

/

返回文章
返回