0 引 言
1 目标检测
表1 基于深度学习的水果缺陷检测主要步骤Table 1 Main steps of fruit defect detection based on deep learning |
| 主要步骤 | 详细操作 |
|---|---|
| 数据集准备 | 构建水果缺陷数据集,数据清洗,数据标注,数据集划分 |
| 模型设计 | 设计合适的深度学习模型,以适应水果缺陷检测任务的要求 |
| 模型训练 | 利用整理后的水果缺陷数据集训练模型,同时调整网络的训练参数 |
| 模型评估 | 选用合适的评估指标验证模型性能,如准确率、精确率、召回率、F 1值、平均精度均值等 |
| 缺陷检测 | 将新的缺陷水果图像输入到训练好的模型中进行检测,并输出缺陷检测结果 |
2 YOLO系列模型的发展历程
表2 YOLO各版本贡献Table 2 Contributions of YOLO versions |
| 版本 | 贡献 | 框架 | |
|---|---|---|---|
| 第一阶段 | YOLOv1 | 单阶段检测器 | Darknet |
| YOLOv2 | 多尺度训练,维度聚类 | Darknet | |
| YOLOv3 | Darknet-53网络 | Darknet | |
| 第二阶段 | YOLOv4 | 空间金字塔池化模块,基于Mish的激活函数,CSPDarknet-53网络 | Darknet |
| YOLOv5 | 基于SWISH的激活函数,路径聚合网络 | Pytorch | |
| YOLOv6 | SimOTA标签分配策略,无锚框检测头 | Pytorch | |
| YOLOv7 | E-ELAN网络,Transformers预测头,扩展高效层聚合网络重参数化 | Pytorch | |
| YOLOv8 | 分布焦点损失函数,空间金字塔快速池化层,任务对齐分配策略 | Pytorch | |
| 第三阶段 | YOLOv9 | 可编程梯度信息,广义高效层聚合网络 | Pytorch |
| YOLOv10 | 无非极大值抑制训练方法,双重标签分配,面向提升精度与效率的整体模型设计 | Pytorch | |
| YOLOv11 | 带空间注意力的跨阶段局部网络,C3k2(Cross-Stage Partial Kernel-2)模块 | Pytorch | |
| YOLOv12 | 残差高效层聚合网络,区域注意力机制 | Pytorch | |
| YOLOv13 | 基于超图的自适应相关性增强,全流程聚合与分布 | Pytorch | |
| YOLO26 | MuSGD优化器,语义分割损失模块,多尺度原型模块 | Pytorch |
2.1 第一阶段YOLOv1-YOLOv3
2.2 第二阶段YOLOv4-YOLOv8
2.3 第三阶段YOLOv9-YOLO26
3 YOLO模型在水果缺陷检测中的应用
3.1 内部与隐性缺陷的检测
表3 基于YOLO系列模型的水果内部与隐性缺陷检测相关研究成果Table3 A review of research advances in internal and latent defect detection in fruits using YOLO series models |
| 年份 | 模型 | 水果 | 改进方法 | 研究难点 | mAP0.5/% |
|---|---|---|---|---|---|
| 2024 | YOLOv7[52] | 柑橘 | 1)SIRI技术 2)坐标注意力机制 3)Mish激活函数 4)引入SPPFS(Spatial Pyramid Pooling - Fast, SPP Fand feature selection)模块 | RGB图像无法检测内部缺陷 | 95.9 |
| 2022 | YOLOv4[53] | 苹果 | 1)近红外相机图像采集系统 2)模型的通道剪枝与层剪枝 | RGB图像无法检测内部缺陷 | 92.42 |
| 2023 | YOLOv3[54] | 草莓 | 1)近红外相机图像采集系统 2)近红外与RGB图像像素融合 | RGB图像无法检测内部缺陷 | 87.18 |
| 2023 | YOLOv5[55] | 柑橘 | 1)双光源采集系统 2)广义交并比(Generalized Intersection over Union,GIoU)损失函数 3)卷积块注意力模块(Convolutional Block Attention Module,CBAM) | 自然光下缺陷不易检测 | 98.7 |
| 2026 | YOLOv11[56] | 柑橘 | 1)紫外荧光成像 | 自然光下缺陷不易检测 | 96.9 |
| 2025 | YOLOv12[57] | 苹果 | 1)滤波成像与色彩空间重建结合 | 自然光下缺陷不易检测 | 98.9 |
| 2023 | YOLOv5[58] | 草莓 | 1)引入分类模型 2)优化损失函数 | 复杂环境缺陷不易检测 | 85.4 |
| 2023 | YOLOv5[59] | 草莓 | 1)引入Deeplabv3语义分割网络 2)添加分支结构 3)引入可变形卷积 | 复杂环境缺陷不易检测 | 62.8 |
|
3.1.1 内部缺陷的跨模态感知
3.1.2 隐形缺陷与复杂背景下的检测
3.2 复杂表面形态下的缺陷检测
表4 基于YOLO系列模型的复杂表面环境下水果缺陷检测相关研究成果Table 4 A review of research advances in fruit defect detection under complex surface conditions using YOLO series models |
| 年份 | 模型 | 水果 | 改进方法 | 研究难点 | mAP0.5/% |
|---|---|---|---|---|---|
| 2022 | YOLOv8[60] | 苹果 | 1)引入空间深度卷积(Space-to-Depth Convolution, SPD-Conv) 2)引入多尺度空洞注意力机制(Multi-scale Empty Attention, MSDA) 3)引入上下文引导特征金字塔网络(Context Guided Feature Pyramid Network, CGFPN) | 表面坑凹区域与缺陷相似易误检 | 91.4 |
| 2025 | YOLOv8[61] | 苹果 | 1)引入部分卷积(Partial Convolution,PConv)模块 2)高效多尺度注意力(Efficient Multi-scale Attention,EMA)机制 3)最小点距离交并比(Minimum Point Distance Intersection over Union) 4)引入Slim-neck架构 | 表面坑凹区域与缺陷相似易误检 | 90.1 |
| 2023 | YOLOv5[62] | 苹果 | 1)引入TRANS(Transformer)模块 2)引入BiFPN 3)基于归一化的注意力模块(Normalization-based Attention Module,NAM) | 表面坑凹区域与缺陷相似易误检 | 98.9 |
| 2024 | YOLOv5[63] | 梨 | 1)BAM(Bottleneck Attention Module)注意力机制 2)设计C3-GDC(C3-GhostDynamicConv)卷积模块 3)明智交并比(Wise Intersection over Union,WIoU)损失函数 | 花萼/果梗与缺陷相似易误检 | 93.9 |
| 2025 | YOLOv5[64] | 梨 | 1)基于双层路由注意力机制的视觉 Transformer( 2)引入双向特征金字塔网络(Bidirectional Feature Pyramid Network,BiFPN) | 花萼/果梗与缺陷相似易误检 | 68.2 |
| 2023 | YOLOv10[65] | 柑橘 | 1)引入线性可变形卷积(Linear Deformable Convolution,LDConv) 2)引入广义特征金字塔网络(Generalized Feature Pyramid Network,GFPN) | 缺陷微小且复杂多变易漏检 | 98.7 |
| 2024 | YOLOv5[66] | 柑橘 | 1)三维坐标注意力(Three-dimensional Coordinate Attention,TDCA)机制 2)引入CT(Contextual Transformer)模块 3)引入BiFPN | 缺陷微小且复杂多变易漏检 | 98.7 |
| 2024 | YOLOv8[67] | 柠檬 | 1)CBAM注意力机制 2)设计C2f-SAS(Switchable Atrous Convolution)模块 | 缺陷形态复杂多变易漏检 | 90.62 |
| 2024 | YOLOv5[68] | 苹果 | 1)设计DSCS卷积模块 2)指数线性单元(Exponential Linear Unit,ELU)激活函数 3)WIoU损失函数 | 缺陷微小且复杂多变易漏检 | 90.9 |
| 2024 | YOLOv7[69] | 苹果 | 1)CBAM和ECA注意力机制 2)引入深度可分离卷积策略 3)参数化修正线性单元(Parametric Rectified Linear Unit,PReLU)损失函数 | 缺陷微小且复杂多变易漏检 | 90.7 |
| 2026 | YOLOv11[70] | 苹果 | 1)设计三视角成像系统 2)引入非局部自注意力残差多层感知机模块(Non-Local Attention Residual Multi-layer perceptron,NARM) | 缺陷微小且复杂多变易漏检 | 89.8 |
| 2024 | YOLOv8[71] | 李子 | 1)引入SPD-Conv模块 2)引入扩张式残差分割网络(Dilation-wise Residual Segmentation,DWRSeg)模块 3)高效交并比(Efficient Intersection over Union,EIoU)损失函数 | 缺陷微小且复杂多变易漏检 | 87.8 |
| 2025 | YOLOv11[72] | 番茄 | 1)引入小波深度可分离卷积 ( Wavelet Depth Separable Convolution,WDWConv) 2)设计WC3k2模块 | 不规则缺陷易漏检 | 88 |
| 2024 | YOLOv7[73] | 猕猴桃 | 1)CBAM注意力机制 2)设计C3-Ghost模块 3)优化损失函数 | 不规则缺陷易漏检 | 93 |
| 2024 | YOLOv7[74] | 红枣 | 1)简单注意力机制(Simple Attention Module,SimAM) 2)引入深度可分离卷积 (Depthwise Separable Convolution,DSConv) 3)引入ByteTrack跟踪算法 | 密集排列遮挡且不规则缺陷易漏检 | 85.3 |
| 2025 | YOLOv5[75] | 红枣 | 1)坐标注意力(Coordinate Attention,CA)机制 2)增加小目标检测头 | 密集排列遮挡且不规则缺陷易漏检 | 91.6 |
| 2025 | YOLOv7[76] | 葡萄 | 1)WIoU损失函数 2)Bi-Former注意力机制 | 果实小且密集排列遮挡易漏检 | 80.1 |
| 2023 | YOLOX[77] | 樱桃 | 1)CBAM注意力机制 2)改进损失函数 | 果实小且密集排列遮挡易漏检 | 91.84 |
| 2025 | YOLOv8[78] | 樱桃 | 1)引入DySlimNeck动态颈部层 2)引入Detect-FRM(Detect-Fourier Representation Module)检测头 3)引入FasterNet-RepMixer网络 | 果实小且密集排列遮挡易漏检 | 91.5 |
3.2.1 相似特征的精准辨别
3.2.2 微小缺陷与复杂缺陷形态的捕捉
3.2.3 不规则缺陷与密集排列
3.3 模型轻量化与边缘部署
表5 基于YOLO系列算法的水果缺陷检测模型轻量化相关研究成果Table5 A review of research advances in lightweight model design for fruit defect detection using YOLO series algorithms |
| 年份 | 模型 | 水果 | 改进方法 | 研究难点 | mAP0.5/% |
|---|---|---|---|---|---|
| 2025 | YOLOv11[79] | 梨 | 1)引入BiFPN 2)CBAM注意力机制 3)引入TR2(Two Transformer)模块 4)双层迁移学习 | 实际场景计算资源受限模型难以部署 | 92.7 |
| 2023 | YOLOv4[80] | 梨 | 1)PConv模块 2)EMA机制 3)MPDIoU损失函数 4)引入Slim-neck架构轻量化颈部网络 | 实际场景计算资源受限模型难以部署 | 85.52 |
| 2025 | YOLOv5[81] | 苹果 | 1)多尺度检测头简化为双尺度或单尺度 2)移除冗余卷积层 | 实际场景计算资源受限模型难以部署 | 99.8 |
| 2024 | YOLOv5[82] | 苹果 | 1)引入LightweightC3模块作为骨干网络的基本构建模块 2)设计EnhancedC3模块替代模型特征融合部分的C3模块 3)引入GSConv模块 | 实际场景计算资源受限模型难以部署 | 96.12 |
| 2022 | YOLOv5[83] | 芒果 | 1)引入PPLCNet网络 2)引入GhostNet网络 | 实际场景计算资源受限模型难以部署 | 94.3 |
| 2025 | YOLOv5[84] | 百香果 | 1)设计了StarC3SE模块替代C3模块 2)CBAM注意力机制 3)距离交并比(Distance Intersection over Union, DIoU)损失函数 | 实际场景计算资源受限模型难以部署 | 88.4 |
| 2024 | YOLOv5[85] | 苹果 | 1)引入EfficientNetV模块 2)EMA机制 | 实际场景计算资源受限模型难以部署 | 93.6 |
| 2023 | YOLOv4[86] | 柑橘 | 1)对网络进行剪枝优化移除冗余通道 2)去除冗余预测框 | 实际场景计算资源受限模型难以部署 | 94.56 |
| 2022 | YOLOv4[87] | 苹果 | 1)与BiSeNet V2语义网络结合构成了双模型级联检测框架 2)对网络进行剪枝优化移除冗余通道 | 实际场景计算资源受限模型难以部署 | 92.42 |
| 2025 | YOLOv12[88] | 番茄 | 1)引入RFEM模块 2)设计Dysample-Slim-Neck机制 3)引入动态卷积替代检测头中的传统卷积结构 | 实际场景计算资源受限模型难以部署 | 88.5 |
| 2024 | YOLOv8[89] | 苹果 | 知识蒸馏 | 实际场景计算资源受限模型难以部署 | 97.8 |
| 2025 | YOLOv8[90] | 百香果 | 1)设计MFSO(More Focus on Small Objects)网络结构 2)动态重参数化 (Dynamic Reparameterization, DyRep) 3)NWD(Normalized Wasserstein Distance)损失函数 4)模型剪枝 | 实际场景计算资源受限模型难以部署 | 94.6 |
| 2024 | YOLOv3[91] | 莲蓬 | 1)先验锚框尺度调整 2)引入金字塔池化层(Spatial Pyramid Pooling, SPP) 3)使用遗传算法改进网络超参数 | 实际场景计算资源受限模型难以部署 | 96.8 |





