发布时间:2026/7/9 13:36:44
什么是 YOLOV5:深入了解这款热门物体检测器的内部特性 摘要本研究对 YOLOv5 目标检测模型进行了全面分析考察了其架构、训练方法和性能。重点探讨了关键组件包括跨阶段部分骨干网和路径聚合网络。本文回顾了该模型在各种指标和硬件平台上的性能。此外本研究还讨论了从 Darknet 到 PyTorch 的过渡及其对模型开发的影响。总而言之本研究深入分析了 YOLOv5 的功能及其在目标检测领域中的地位并阐述了它为何是资源受限边缘部署场景的热门选择。关键词自动化计算机视觉YOLOYOLOv5目标检测实时图像处理卷积神经网络CNNYOLO 版本比较1 引言计算机视觉是一个快速发展的领域它使机器[1]能够解释和理解视觉信息[2]。该学科的一个关键组成部分是目标检测[3]它涉及在图像或视频序列中准确识别和定位目标[4]。为了应对这一挑战人们开发了各种算法方法近年来取得了显著进展[5]。其中一项突破性技术是You Only Look Once (YOLO)算法由Redmon等人于2015年提出[6]。该名称反映了其独特的方法即仅检查整幅图像一次以识别目标及其位置。与采用两阶段检测过程的传统方法不同YOLO将目标检测视为一个回归问题[6]。在YOLO范式中使用单个卷积神经网络来预测整幅图像的边界框和类别概率[7]。这种简化的方法与具有更复杂流程的传统方法不同。本文在YOLO奠定的基础上深入探讨了YOLOv5架构这是一种最先进的目标检测模型因其卓越的性能和效率而备受关注。研究目标本研究旨在评估 YOLOv5 目标检测模型与现有最先进模型的性能对比。研究重点在于评估不同 YOLOv5 变体n、s、m、l、x的模型精度和推理速度之间的权衡。通过考察这些不同规模的模型本研究旨在确定满足不同应用需求的性能指标之间的最佳平衡点。本研究将探索 YOLOv5 性能提升的因素尤其关注以下几个方面1. PyTorch 训练方法的作用2. 架构创新例如 CSP 主干网和 PA-Net 颈部的影响3. 数据增强技术包括马赛克增强的有效性4. 损失计算方法和边界框锚框生成的影响此外本研究还将分析 YOLOv5 从 Darknet 框架过渡到 PyTorch 的影响并考虑模型开发、部署以及自定义目标检测任务的可访问性等因素。通过对YOLOv5的功能和创新进行全面考察本研究旨在为以下方面做出贡献加深对高级目标检测算法及其在计算机视觉中实际应用的理解。2 YOLOv5 的演进YOLOv5 [8] 代码库是 Glenn Jocher 于 2020 年开发的 YOLOv3 [9] PyTorch 实现的演进版本。它是在 YOLOv4 [10] 发布之后发布的。YOLOv5 因其能够将 YOLOv3 模型从 Darknet 迁移到 PyTorch 以进行生产部署而广受欢迎。Ultralytics 认识到这种基于 PyTorch 的方法的实用性启动了一项开发计划旨在增强 PyTorch 框架内的 YOLOv3 架构和训练方法。这项工作旨在赋能更广泛的开发者社区以便他们能够创建和部署自定义目标检测器。以下是 YOLOv5 的开发时间表• 2020 年 4 月 1 日启动基于 YOLOv3/YOLOv4 架构的一系列复合规模 PyTorch 模型的开发。• 2020年5月27日YOLOv5 代码库公开发布展现了现有 YOLO 实现中最先进的性能。2020年6月9日集成 CSP跨阶段部分模块有助于提升模型速度、减小模型大小并提高精度。2020年6月19日默认采用 FP16 精度从而减少检查点数量并加快推理速度。2020年6月22日实施 PANet 更新包括新的检测头、减少参数以及提高 mAP平均精度均值。最初包含这些改进的模型被命名为 YOLOv4与 Darknet 框架中同时发布的 YOLOv4 架构保持一致。但为了避免潜在的混淆和不一致随后将其修订为 YOLOv5。尽管这一变化在研究界引发了一些争论但为了便于客观评估研究人员对YOLOv4和YOLOv5进行了比较分析[11]。本研究主要关注YOLOv5框架中引入的新技术和性能指标这些内容详见GitHub代码库。必须指出的是YOLOv5模型自诞生以来发展迅速这表明该领域仍在持续进行研究和开发。因此YOLOv5应被视为一个动态演进的系统而非静态模型。3 YOLOv5 的架构概览目标检测是 YOLOv5 的主要应用之一它需要从输入图像中提取显著特征。这些特征随后由预测模型进行处理以定位和分类图像中的目标。YOLO 架构通过将边界框回归和目标分类的任务整合到一个神经网络中引入了端到端、可微分的目标检测方法 [12]。YOLO 网络主要由三个核心组件构成。主干网是一个卷积神经网络负责将图像信息编码为不同尺度的特征图。这些特征图随后由颈部模块进行处理该模块由一系列旨在整合和细化特征表示的层组成。最后头部模块基于处理后的特征生成目标边界框和类别标签的预测。虽然每个组件的架构设计都具有相当大的灵活性但 YOLOv4 和 YOLOv5 通过融合其他计算机视觉领域的技术显著推动了该领域的发展。这种协同方法已证明YOLO框架内的目标检测性能得到了显著提升。3.1 YOLOv5 训练方法目标检测系统的有效性不仅取决于其底层架构还取决于所采用的训练方法。虽然架构创新往往备受关注但训练过程在实现最佳性能方面的作用同样至关重要。YOLOv5 采用了两种主要的训练技术数据增强是 YOLOv5 训练流程的关键组成部分。通过对训练数据集进行各种变换该技术可以增强模型的鲁棒性和泛化能力。因此模型能够更好地适应真实世界图像条件的变化。损失函数是一个综合指标由三个主要部分组成广义交并比 (GIoU)、目标性损失和分类损失。这些损失部分经过精心设计旨在优化平均精度均值 (mAP)mAP 是目标检测模型广泛采用的评估指标。3.2 过渡到 PyTorchYOLOv5 通过将 YOLO 架构从 Darknet 框架过渡到 PyTorch [14] 而取得了重大进展。Darknet 框架主要用 C 语言实现使研究人员能够对网络操作进行精细控制。虽然这种控制级别有利于实验但由于每次新的实现都需要自定义梯度计算因此常常阻碍了新研究成果的快速集成。将 Darknet 的训练流程移植到 PyTorch如 YOLOv3 中所述本身就是一项复杂的工作。YOLOv5 通过在 PyTorch 生态系统中进一步优化和改进这些流程扩展了这项工作。3.3 数据增强YOLOv5 在其训练流程中集成了数据增强技术以增强模型的鲁棒性和泛化能力。在每个训练周期中图像会通过在线数据加载器进行一系列增强包括缩放调整图像大小。色彩空间操作对颜色通道进行修改。马赛克增强一种将四张图像合并成四个随机大小图块的新技术。马赛克数据增强技术最初在 YOLOv3 PyTorch 代码库中引入随后集成到 YOLOv5 中。该技术已被证明在解决小目标检测难题方面尤为有效而小目标检测是 COCOCommon Objects in Context目标检测基准数据集中常见的局限性。通过将多张图像合并成一个训练样本该技术使模型能够接触到更广泛的目标尺度和空间排列方式从而增强其准确检测小目标的能力。3.4 边界框锚点YOLOv3 PyTorch 代码库引入了一种新颖的锚框生成方法它采用 K-means 聚类和遗传算法直接从给定数据集中边界框的分布中提取锚框尺寸。这种方法对于自定义目标检测任务尤为重要因为目标的尺度和宽高比通常与 COCO 等标准数据集中常见的值存在显著差异。YOLOv5 架构将边界框坐标预测为相对于预定义锚框尺寸集的偏移量。这些锚框尺寸对于初始化预测过程至关重要并且会显著影响模型的性能。3.5 损失函数计算YOLOv5 损失函数由三个部分组成用于类别预测和目标性的二元交叉熵 (BCE)以及用于定位的完全交并比 (CIoU)。各项损失的加权总和Lobj、Lloc 分别代表类别预测的 BCE 损失、目标性 BCE 损失和定位 CIoU 损失。系数 λ1、λ2 和 λ3 是超参数用于平衡各损失分量对整体优化过程的贡献。3.6 16 位浮点精度PyTorch 框架允许在训练和推理过程中将计算精度从 32 位浮点数降低到 16 位浮点数。当应用于 YOLOv5 时该技术已展现出显著提升推理速度的潜力。然而必须注意的是这些性能提升仅取决于特定的 GPU 架构特别是 YOLOv5 的 V100 和 T4 型号。虽然目前存在硬件兼容性方面的限制但 NVIDIA 的持续开发表明这种效率提升有望扩展到更广泛的硬件平台。3.7 CSP 主干网YOLOv4 和 YOLOv5 都集成了 CSP跨阶段部分瓶颈模块用于特征提取。这项由 WongKinYiu 等人提出的架构创新解决了大型卷积神经网络主干网中普遍存在的梯度信息冗余问题。通过将特征图解耦为两个主要部分并重新组合CSP 模块有效地降低了计算成本和模型复杂度同时又不影响性能。这种效率提升对于 YOLO 系列网络尤为有利因为快速推理和紧凑的模型尺寸对它们至关重要。如图 3 所示CSP 模型借鉴了 DenseNet 架构旨在解决深度 CNN 固有的挑战包括梯度消失问题。DenseNet 通过促进层间直接连接旨在增强特征传播、促进特征重用并减少网络参数的总数。CSPResNext50 和 CSPDarknet53 架构对 DenseNet 结构进行了改进如图 4 所示。具体来说基础层生成的特征图被分为两个分支。一个分支经过密集块处理而另一个分支则直接传递到后续阶段。这种架构改进旨在缓解 DenseNet 固有的计算瓶颈并通过保留原始特征图的未更改表示来增强学习效果。3.8 PA-Net 颈部YOLOv4 和 YOLOv5 都采用了 PA-Net 架构进行特征聚合 [18]。如图 5 所示每个 P_i 代表从 CSP 主干网络中提取的一个独立特征层。这种架构选择受到了 EfficientDet 目标检测框架的启发该框架中 BiFPN 模块被认为是特征集成的最佳选择。虽然 BiFPN 方法可以作为基准但 YOLO 框架内的其他实现方式也可能带来进一步的性能提升。显然YOLOv5 在 YOLOv4 的基础研究基础上选择了最合适的颈部架构。YOLOv4 全面评估了一系列选项包括 FPN、PAN、NAS-FPN、BiFPN、ASFF 和 SFAM。4 YOLOv5 架构模型YOLOv5 架构包含五个不同的模型从计算效率高的 YOLOv5n 到高精度的 YOLOv5x。• YOLOv5nYOLOv5n 专为资源受限环境设计是该系列中最小、最快的模型。其体积小巧INT8 格式小于 2.5 MBFP32 格式约为 4 MB非常适合部署在边缘设备和物联网平台上。与 OpenCV DNN 的兼容性进一步增强了其在移动应用中的实用性。• YOLOv5sYOLOv5s 代表基准模型包含约 720 万个参数。其性能特点使其适用于基于 CPU 的推理任务。YOLOv5mYOLOv5m 定位为中等规模模型拥有 2120 万个参数在速度和精度之间实现了平衡。该模型通常被认为是适用于各种目标检测应用和数据集的通用选择。• YOLOv5lYOLOv5l 拥有 4650 万个参数专为需要更高精度的场景而设计尤其适用于检测图像中的小型目标。• YOLOv5x作为该系列中最大、最复杂的模型YOLOv5x 实现了同类模型中最高的 mAP。然而由于其 8670 万个参数这种高性能是以更高的计算需求为代价的。表 1 全面概述了模型变体包括其在 CPU 和 GPU 平台上的推理速度以及 640 像素图像大小的参数数量。5 YOLOv5 标注格式YOLOv5 采用 PyTorch TXT 标注格式该格式与 YOLO Darknet TXT 标准非常相似但增加了一个 YAML 文件用于指定模型配置和类标签。为了与 YOLOv5 兼容各种工具生成的标注数据可能需要转换。Roboflow 等平台支持多种标注格式并可将数据直接导出为 YOLOv5 兼容格式。常用的标注工具包括 VOTT、LabelImg 和 CVAT也可以使用但需要进行适当的数据转换步骤。6 YOLOv5 标注工具为了高效地进行数据管理和标注YOLOv5 的开发商 Ultralytics 推荐使用 Roboflow 作为兼容的标注工具 [20]。表 2 概述了与 YOLOv5 兼容的第三方集成平台。表中列出了每个平台与 YOLOv5 集成后的主要功能。7 讨论YOLOv5 代表了目标检测领域的一项重大进步它建立在其前代产品奠定的基础之上并引入了以下创新改进1. 架构改进YOLOv5 代表了目标检测领域的一项重大进步它建立在之前的 YOLO 迭代之上。CSP 骨干网和 PA-Net 颈部的引入提高了计算效率同时又不影响精度。CSP 模块有效地处理了冗余梯度信息而 PA-Net 架构则优化了特征聚合。2. 模型通用性YOLOv5 模型n、s、m、l、x的多样性使其能够灵活满足各种硬件和应用需求。最小的模型 YOLOv5n 将目标检测能力扩展到了边缘设备和物联网平台。3. 训练方法创新YOLOv5 强调数据增强特别是马赛克增强这提高了小目标检测的性能并降低了对数据集大小的要求。采用 16 位浮点精度体现了前瞻性的优化方法。4. 性能与影响YOLOv5 的高 mAP 分数和低推理时间使其成为实时目标检测的有力竞争者。向 PyTorch 的过渡使模型的访问更加普及促进了更广泛的研究和开发。8 结论YOLOv5 已成为目标检测领域的一项重大进步在速度、准确性和用户友好性之间实现了令人信服的平衡。虽然其核心架构建立在既有原则之上但该模型在 PyTorch 框架内的实现代表着一次巨大的飞跃提高了开发效率和部署能力。针对不同计算约束定制的多个模型变体的可用性扩展了 YOLOv5 在各个领域的应用从可再生能源 [24] 到制造业的质量检测 [25]。该模型的易用性以及与现有工具和平台的兼容性使 YOLOv5 成为研究和实际应用的多功能解决方案。随着计算机视觉领域的快速发展YOLOv5 为未来实时目标检测及相关任务的进步奠定了坚实的基础。参考文献[1] M. A. Ansari, A. Crampton, and S. Parkinson. A layer-wise surface deformation defect detection by convolutionalneural networks in laser powder-bed fusion images. Materials, 15(20):7166, Oct. 2022.[2] Muhammad Hussain. Yolov1 to v8: Unveiling each variant–a comprehensive review of yolo. IEEE Access,12:42816–42833, 2024.[3] Arsalan Zahid, Muhammad Hussain, Richard Hill, and Hussain Al-Aqrabi. Lightweight convolutional networkfor automated photovoltaic defect detection. In 2023 9th International Conference on Information TechnologyTrends (ITT), pages 133–138. IEEE, 2023.[4] Muhammad Hussain. When, where, and which?: Navigating the intersection of computer vision and generative aifor strategic business integration. IEEE Access, 11:127202–127215, 2023.[5] Muhammad Hussain and Rahima Khanam. In-depth review of yolov1 to yolov10 variants for enhanced photovoltaic defect detection. In Solar, volume 4, pages 351–386. MDPI, 2024[6] Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You only look once: Unified, real-time objectdetection. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 779–788,2016.[7] MuhammadHussain. Yolo-v5 variant selection algorithm coupled with representative augmentations for modellingproduction-based variance in automated lightweight pallet racking inspection. Big Data and Cognitive Computing,7(2):120, 2023.[8] Ultralytics. Yolov5, 2024. Accessed: 2024-07-23.[9] Glenn Jocher. ultralytics/yolov3: Yolov3 implementation in pytorch, 2024. Accessed: 2024-07-23.[10] Z. Yao, Y. Cao, S. Zheng, G. Huang, and S. Lin. Cross-iteration batch normalization. In openaccess.thecvf.com,2021.[11] Roboflow Blog. Yolov4 vs. yolov5: Which one should you use?, 2023. Accessed: 2024-07-24.[12] Rahima Khanam, Muhammad Hussain, Richard Hill, and Paul Allen. A comprehensive review of convolutionalneural networks for defect detection in industrial applications. IEEE Access, 2024.[13] Alexey Bochkovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. Yolov4: Optimal speed and accuracy ofobject detection. arXiv preprint arXiv:2004.10934, 2020.[14] PyTorch. Pytorch brand guidelines. Accessed: 2024-07-25.[15] Roboflow Blog. What is an anchor box? https://blog.roboflow.com/what-is-an-anchor-box/. Accessed: 2024-07-25.[16] Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convolutionalnetworks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4700–4708,2017.[17] Chien-Yao Wang, Hong-Yuan Mark Liao, Yueh-Hua Wu, Ping-Yang Chen, Jun-Wei Hsieh, and I-Hau Yeh. Cspnet:A new backbone that can enhance learning capability of cnn. In Proceedings of the IEEE/CVF conference oncomputer vision and pattern recognition workshops, pages 390–391, 2020.[18] J. Solawetz. YOLOv5 New Version- Improvements and Evaluation. Roboflow Blog, Jun. 2020.[19] Mingxing Tan, RuomingPang, andQuocVLe. Efficientdet: Scalable and efficient object detection. In Proceedingsof the IEEE/CVF conference on computer vision and pattern recognition, pages 10781–10790, 2020.[20] Brad Dwyer. Roboflow and ultralytics partner to streamline yolov5 mlops, 2021. Accessed: 2024-07-29.[21] Deci AI. Deci ai documentation, 2024. Accessed: 2024-07-29.[22] ClearML. Yolov5 clearml integration documentation, 2021. Accessed: 2024-07-29.[23] Weights and Biases. Yolov5 weights and biases integration guide, 2021. Accessed: 2024-07-29.[24] Muhammad Hussain, Mahmoud Dhimish, Violeta Holmes, and Peter Mather. Deployment of ai-based rbf networkfor photovoltaics fault detection procedure. AIMS Electronics and Electrical Engineering, 4(1):1–18, 2019.[25] Tahir Hussain, Muhammad Hussain, Hussain Al-Aqrabi, Tariq Alsboui, and Richard Hill. A review on defectdetection of electroluminescence-based photovoltaic cell surface images using computer vision. Energies,16(10):4012, 2023.

相关新闻

2026/7/9 13:36:44

基于STM32的智能警报系统设计与实现

1. 项目背景与核心需求 警报系统在现代工业、安防和智能家居领域扮演着关键角色。这次我们要构建的是一个基于STM32F207ZG微控制器和EPT-14A4005P音频模块的通用警报解决方案,它需要满足几个硬性指标:在不同环境噪声条件下保持清晰可辨、支持多种触发模式…

2026/7/9 13:31:43

锂电池组平衡管理:BQ25887与STM32L432KC实现方案

1. 电池管理系统中的平衡挑战在锂离子电池组应用中,单体电池之间的不一致性是工程师面临的主要挑战之一。这种不一致性可能源于制造公差、温度分布差异或使用历史不同,最终导致电池组整体容量受限于最弱单体。以常见的2串锂电池组为例,当其中…

2026/7/9 13:31:43

TB9051FTG与PIC18F4550实现直流电机静音驱动方案

1. 项目背景与核心需求解析 直流电机因其结构简单、控制方便等优势,在工业自动化、消费电子和医疗设备等领域广泛应用。但在实际应用中,传统驱动方案常面临两大痛点:一是电磁噪声明显,特别是在低速运行时;二是机械振动…

2026/7/9 15:42:31

香橙派5 PWM风扇调速:3种硬件方案对比与MOSFET选型指南

香橙派5 PWM风扇调速:3种硬件方案对比与MOSFET选型指南 香橙派5作为一款高性能单板计算机,在长时间高负载运行时难免会遇到散热问题。虽然市面上有现成的PWM调速风扇,但很多用户手头只有普通的两线风扇。本文将深入探讨三种不同的硬件方案&am…

2026/7/9 15:42:31

Trae AI编程实践:面向Java+Vue全栈开发者的智能协作工作台

1. 项目概述:Trae AI编程实践到底是什么,它解决的是哪类真实开发痛点?Trae AI编程实践,不是又一个“AI写代码”的概念炒作,而是面向中高级开发者、技术负责人和全栈工程师的一套可落地的智能协作开发方法论。它聚焦在如…

2026/7/9 15:42:31

STM32L073RZ GPIO上拉下拉配置与DTH-08传感器应用

1. 项目背景与硬件选型解析 在嵌入式系统设计中,信号的上拉和下拉状态切换是一个基础但至关重要的操作。这个项目选择了DTH-08模块和STM32L073RZ微控制器组合来实现这一功能,这个搭配在低功耗物联网设备中非常典型。 DTH-08是一款数字温湿度传感器模块&…

2026/7/9 15:37:30

DSP280049C性能优化:将关键函数转移至RAM运行,实测执行速度提升5倍

DSP280049C性能优化实战:关键函数RAM化提速5倍全解析 在实时控制系统中,每一微秒的延迟都可能引发连锁反应。当我们在DSP280049C上运行电机控制算法时,发现FLASH存储器的访问延迟成为了性能瓶颈。本文将揭示如何通过将关键函数迁移至RAM运行&…

2026/7/9 1:39:10

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/9 1:25:56

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/9 0:37:00

高精度ADC与STM32L4在工业测量中的优化设计

1. 项目背景与核心器件选型在工业测量和精密仪器领域,模拟信号与数字系统的无缝衔接一直是设计难点。ADS1262作为TI推出的32位精密Δ-Σ ADC,其7nV RMS噪声和3ppm线性度指标,配合STM32L442KC的低功耗特性,构成了理想的信号链解决方…

2026/7/9 0:37:00

ADS1262与STM32F446ZE的高精度数据采集系统设计

1. 为什么需要弥合模拟与数字领域的鸿沟?在嵌入式系统开发中,模拟信号与数字信号的处理一直是个经典难题。我最近在一个工业传感器项目中,就深刻体会到了这种"跨界"处理的挑战。当时需要测量多路微伏级电压信号,同时还要…

2026/7/9 0:37:00

【SpringCloud Alibaba】Spring Boot + Spring Cloud 微服务面试核心20问

大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源&a…

2026/7/9 5:30:41

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…