行业技术方案👉「AI安防、AI医疗、AI自动驾驶」
AI模型部署落地实战👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。
这篇论文全面回顾了YOLO(You Only Look Once)目标检测算法的发展历程,重点关注了YOLOv5、YOLOv8和YOLOv10。 作者分析了这些版本在架构改进、性能提升以及适用于边缘部署方面的进展。YOLOv5引入了重要的创新,如CSPDarknet Backbone 网和Mosaic增强,平衡了速度和精度。YOLOv8在此基础上加强了特征提取和 Anchor-Free 点检测,提高了灵活性和性能。 YOLOv10代表了向前的一大步,无需NMS训练、空间通道解耦下采样和大核卷积,在减少计算开销的同时取得了最先进的性能。 作者的发现突出了在准确度、效率和实时性能方面的逐步提升,特别是强调它们在资源受限环境中的应用性。 这篇综述提供了模型复杂度与检测精度之间权衡的见解,为选择最适合特定边缘计算应用的YOLO版本提供了指导。
YOLO(You Only Look Once)[1]系列彻底改变了实时目标检测,从其诞生以来,几乎推出了十几个变体。尽管YOLO有十多个版本,但YOLOv5[2],YOLOv8[3]和YOLOv10[4]在边缘部署场景中尤其突出。这三种变体因其速度、准确性和效率的最佳平衡而受到关注,特别适合资源受限的环境。
由Ultralytics于2020年推出的YOLOv5在性能和易用性方面取得了重大飞跃,成为许多边缘计算应用的首选解决方案[2]。其人气的持续上升得益于其模块化设计,便于定制,并且能够将训练后的模型导出为ONNX、CoreML和TFLite等多种格式,便于在不同平台部署[2]。
YOLOv8在2023年发布,基于YOLOv5的成功,提供了更高的准确性和用于各种计算机视觉任务的统一框架[3]。它引入了 Anchor-Free 点检测,简化了模型架构,并提高了对小物体的性能,这在许多边缘部署场景中是一个关键因素。
最新的迭代YOLOv10进一步推动了边界,采用了减少计算开销的创新方法,同时保持了高准确性[4]。它融合了如无需NMS训练和整体模型设计等先进技术,特别适合计算资源有限的边缘设备。
这三个YOLO变体在受限制的边缘部署中变得普遍存在,主要原因有:
本评论专注于YOLOv5、YOLOv8和YOLOv10,强调它们的关键进步,比较它们的性能指标,并讨论它们为何特别适合于各种实际应用的边缘部署。
Glenn Jocher在YOLOv4[5]发布后不久推出了YOLOv5。YOLOv5在目标检测方面取得了重大进步,以其易用性、稳健的性能和灵活性而著称。这个版本引入了几项关键创新,使其在边缘部署场景中得到了广泛采用。
几项创新增强了YOLOv5在目标检测任务中的有效性。其核心是,YOLOv5嵌入了跨阶段部分(CSP)网络[6],这是ResNet架构的一个变种。这种整合包括了CSP连接,提高了网络的效率并减少了计算需求。通过多个空间金字塔池化(SPP)块进一步优化了CSPNet,允许在不同尺度上进行特征提取。
架构的 Neck 特征采用了路径聚合网络(PAN)模块,并增加了上采样层以改善特征图的分辨率[7]。YOLOv5的 Head 是一系列卷积层,用于生成边界框和类别标签的预测。YOLOv5使用基于 Anchor 点的预测,将每个边界框与一组特定形状和大小的预定义 Anchor 框相连接。
损失函数计算涉及两个主要部分[8]。二进制交叉熵用于计算类别和目标性损失,而完整交并比(CIoU)用于衡量定位准确性。
模型变体:YOLOv5有几种尺寸(n、s、m、l、x),以适应不同的计算需求:
增强的训练和部署:YOLOv5在其训练和部署 Pipeline 中引入了几项改进:
自动增强和马赛克增强: YOLOv5融入了先进的数据增强技术:
表1展示了在COCO数据集上各种YOLOv5模型的性能指标。YOLOv5模型用不同的字母(n、s、m、l和x)表示,代表它们的大小和复杂度。提供的指标包括输入大小、在不同IoU阈值下的平均精度(AP)、在CPU上的延迟、参数数量以及每秒浮点运算数(FLOPs)。
指标摘要
架构改进: YOLOv8融合了先进架构特性以增强特征提取和融合:
增强后处理:YOLOv8在提高预测准确性和效率的后处理技术方面进行了改进:* 改进的非最大值抑制(NMS):YOLOv8采用了一种增强的NMS算法[18],减少了假阳性数量并提高了目标检测的精确度。这是通过对重叠边界框的更好处理和最相关检测的选择优化来实现的。
训练效率:YOLOv8采用先进的训练技术提高效率和减少资源消耗:
附加特性:
表2展示了在COCO数据集上各种YOLOv8模型的性能指标。YOLOv8模型用不同的字母(n、s、m、l和x)表示,代表它们的大小和复杂性。提供的指标包括输入大小、在不同IoU阈值下的平均精度(AP)、使用ONNX在CPU上的延迟、使用TensorRT在NVIDIA A100上的延迟以及每秒浮点运算(FLOPs)。
指标总结
YOLOv10,由Wang等人于2024年提出[22],在YOLO系列中代表了重要的进展,解决了先前版本的关键限制,同时引入了创新特性以提升性能和效率。这个最新迭代在目标检测中通过一系列架构和训练协议的优化,重点平衡了效率和准确度。
无需NMS的训练和推理: YOLOv10引入了一种新颖的方法,称为一致的双重分配,用于无需NMS的训练:
整体效率-准确度驱动的模型设计: YOLOv10优化了模型架构[22]的各个组成部分,以最小化计算开销同时提升性能:
提升模型能力: YOLOv10融合了多种先进技术以提升整体性能:
表3全面比较了各种YOLOv10变体与其他最先进的检测器,突显了它们在多个关键指标上的性能。YOLOv10变体在速度、效率和准确性方面一致显示出显著优势,非常适合实时应用。
YOLOv10-N作为一个非常高效的模型,仅有230万个参数和6.7 GFLOPs,实现了39.5%的AP值。其延迟令人印象深刻地低至1.84毫秒,是所比较模型中速度最快的之一。
YOLOv10-S具有720万个参数和21.6 GFLOPs,实现了46.8%的AP值和2.49毫秒的延迟。它在模型复杂性和性能之间提供了平衡,保持了低延迟同时实现了高准确性。
YOLOv10-M拥有1540万个参数和59.1 GFLOPs,实现了51.3%的AP值。其延迟为4.74毫秒,与较小模型相比在准确性上有显著提升,同时仍确保相对较低的推理时间。
YOLOv10-L和YOLOv10-X在YOLOv10变体中表现出最高的性能。YOLOv10-L拥有2440万个参数和120.3 GFLOPs,实现了53.4%的AP值和7.28毫秒的延迟。YOLOv10-X拥有2950万个参数和160.4 GFLOPs,实现了54.4%的AP值和10.70毫秒的延迟。这些模型提供了最佳的准确性,使它们适用于对精确度要求严格的任务。
相比之下,YOLOv10变体在延迟和准确度方面都超过了YOLOv8对应版本。例如,YOLOv10-L在7.28毫秒的延迟下达到53.4%的AP,而YOLOv8-L在12.39毫秒的延迟下达到52.9%的AP。YOLOv10变体在计算效率和准确度指标方面优于其他领先检测器。它们的表现使它们成为现代计算机视觉应用中的尖端解决方案,尤其是在需要实时处理和高准确度的地方。
第五部分:YOLOv5、YOLOv8和YOLOv10的对比分析开始。
从YOLOv5到YOLOv10的架构演变展示了目标检测网络设计方面的重大进步。表4对这些版本的关键架构特性进行了全面比较。
YOLOv5: 引入了CSPDarknet,将跨阶段部分网络整合以平衡计算成本和准确度。YOLOv8: 对CSPDarknet进行了增强,改进了特征提取能力,可能融入了更高效的卷积操作和优化的通道配置。YOLOv10: 进一步优化了CSPDarknet,可能融入了如排序引导的块设计等技术以实现更高效的特征提取。
YOLOv5: 利用PANet(路径聚合网络)进行有效的多尺度特征融合。YOLOv8: 改进了PANet,可能增强了跳跃连接或特征聚合方法。YOLOv10: 在PANet中引入了效率优化,可能融合了空间-通道解耦操作,以实现更有效的特征传播。
YOLOv5: 采用了一种基于 Anchor 点的方法,预定义 Anchor 框进行目标检测。YOLOv8: 转变为 Anchor-Free 点设计,简化了检测过程,并可能提高对小目标的性能。YOLOv10: 进步到具有双重分配的 Anchor-Free 点设计,实现了无需NMS的训练和推理。
YOLOv5和YOLOv8:需要使用NMS作为后处理步骤来过滤冗余的检测。 YOLOv10:引入了无需NMS的训练和推理,大幅减少了部署过程中的计算开销和延迟。
YOLOv5:使用了Leaky ReLU,这是深度学习模型中的一个常见选择。 YOLOv8:采用了SiLU(Swish)激活函数,以其平滑的梯度以及可能的性能优势而闻名。
YOLOv5:采用标准FPN进行多尺度特征表示。 YOLOv8:修改了FPN,可能改进了侧向连接或特征融合策略。 YOLOv10:通过空间通道解耦增强了FPN,可能使得多尺度特征处理更加高效和有效。
YOLOv5: 使用了CIoU(完全交并比)损失,平衡了边界框回归和分类。YOLOv8: 引入了针对特定任务损失的优化,针对不同的计算机视觉任务提升性能。YOLOv10: 开发了Consistent Dual Assignment损失,与其无需NMS的训练方法保持一致,并可能提高整体检测准确度。
YOLOv5:实施了Mosaic和Cutout增强技术,提高了模型的鲁棒性。 YOLOv8:将Mixup添加到增强流程中,进一步提升了泛化能力。
YOLOv5和YOLOv8:采用了单阶段训练,这是YOLO模型的典型特点。 YOLOv10:采用了两阶段训练方法,具有双重分配,可能允许更精细的特征学习和提高检测性能。
从YOLOv5到YOLOv10的架构演变显示出明确的发展趋势,即更高效、更准确和更适合部署的设计。特别是YOLOv10引入了多项创新功能,如无需NMS的训练和空间通道解耦,这对于边缘部署场景尤为有益。这些进步共同提高了准确性,减少了计算开销,并在各种部署环境中增强了实时性能。
YOLO(You Only Look Once)系列从YOLOv5发展到YOLOv10的演变代表了实时目标检测领域创新和改进的非凡历程。每个版本都在架构、性能和部署能力上引入了重大进步,使YOLO系列成为计算机视觉领域的一个重要基石,特别是在边缘部署场景中。
YOLOv5、YOLOv8和YOLOv10的性能指标展现出准确性及效率不断提高的清晰趋势。YOLOv5以其CSPDarknet主干网络和PANet Neck 结构,为速度与准确性的平衡奠定了坚实基础。YOLOv8在此基础之上,通过增强CSPDarknet主干网络并引入了 Anchor-Free 点检测Head,简化了检测过程并提高了对小物体的检测性能。YOLOv10进一步采用了无需NMS(非极大值抑制)的训练和推理,显著降低了延迟并提升了实时性能。YOLOv10中引入的空间-通道解耦降采样和排序引导的块设计优化了特征提取过程,使得在参数和计算开销较少的情况下获得更高的准确度。性能指标清楚地表明,YOLOv10在其前代基础上实现了超越,特别是在较小模型上,使其非常适合边缘部署,在这种场景下准确性和效率都至关重要。
YOLO系列一直在推动实时目标检测的边界,每个版本都在其前作的基础上进行构建,同时引入创新特性以解决其局限性。然而,本文回顾的三个变体在边缘聚焦实现目标检测架构方面取得了显著进步。
YOLOv5以其高效的架构和稳健的性能奠定了坚实的基础。YOLOv8在此基础上通过架构改进和向 Anchor-Free 点检测的转变,提高了灵活性和性能。YOLOv10代表了显著的飞跃,其无需NMS的训练方法、先进的设计架构和在小模型上的性能大幅提升。
对于边缘部署,这三个变体都提供了有前景的选择,与其他检测器相比,它们在准确性、效率和硬件兼容性方面具有优势。
它们能够在低功耗设备上表现出色,同时不牺牲性能,这对于各种实时任务和适应边缘计算环境至关重要。然而,在选择变体时,应考虑具体的应用需求、目标硬件以及性能与资源限制之间的平衡。
总之,YOLO系列仍然是实时目标检测的首选,每个新变体都为性能、效率和部署灵活性设定了更高的标准。从YOLOv5到YOLOv10的进步体现了对创新和卓越的追求,确保YOLO系列保持在计算机视觉技术的前沿。