跳转至内容

YOLO11 与YOLOv5:最新物体检测技术的演变

Ultralytics YOLO 系列产品极大地推动了实时物体检测技术的发展。 YOLOv5于 2020 年发布,在易用性、速度和可靠性方面树立了全球标准,成为历史上部署最多的视觉人工智能模型之一。 YOLO11的最新迭代,在这一传奇基础上提供了前所未有的准确性、效率和多功能性。

本指南对这两款强大的软件进行了详细的技术比较,帮助开发人员和研究人员了解每款软件的架构转变、性能提升和理想用例。

性能分析

YOLO11 与YOLOv5 之间的性能差距凸显了神经网络设计的飞速发展。虽然YOLOv5 仍然是一个有能力的模型,但YOLO11 在所有模型规模上的表现都超过了它,尤其是在CPU 推理速度和检测准确性方面。

关键绩效指标

下表列出了在COCO 数据集上进行的正面比较。一个重要的观察结果是YOLO11n 的效率,它达到了39.5mAP,大大超过了 YOLOv5n 的 28.0mAP,同时在CPU 硬件上的运行速度也更快。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

精度与效率

YOLO11 代表着 "效率与精度 "权衡的范式转变。

  • 小物体检测:与YOLOv5 相比,YOLOv5 通过改进特征提取层,大大提高了对小物体的检测能力。
  • 计算效率:YOLO11l 仅用 25.3M 个参数就实现了 53.4mAP 。相比之下,YOLOv5l 需要 5320 万个参数才能达到较低的 49.0mAP 。为获得更高精度而减少 50%的参数,这意味着更低的内存使用率和更快的训练时间。

无锚与有锚

最重要的技术差异之一是检测头机制。 YOLOv5使用的是基于锚点的方法,这种方法需要预定义的锚点框,而这些锚点框必须针对特定的数据集进行调整,以达到最佳性能。

YOLO11采用无锚设计。这样就无需手动计算锚点框,简化了训练流程,并提高了在不同数据集上的泛化能力,而无需调整超参数。

模型结构与设计

这两种模型在结构上的差异反映了几年来计算机视觉研究的进展。

YOLOv5:久经考验的标准

YOLOv5YOLOv5 引入了用户友好的PyTorch 实现,使大众也能进行对象检测。

  • 主干网利用改进的 CSPDarknet53,它非常有效,但计算量比现代替代方案大。
  • 重点:优先考虑速度和准确性之间的平衡,这在 2020 年发布时具有革命性意义。
  • 传统:对于已经与其特定输入/输出格式深度集成的系统来说,它仍然是一个 "安全的选择"。

了解更多关于 YOLOv5 的信息

YOLO11:尖端科技

YOLO11集成了最新的深度学习技术,最大限度地提高了特征重用率,并将计算开销降至最低。

  • C3k2 块:作为 CSP 瓶颈的进化版,该模块可实现更高效的梯度流和特征融合。
  • C2PSA 模块:引入空间注意力机制,使模型能够专注于图像的关键区域,从而更好地定位目标。
  • 多任务头: YOLOv5 需要为不同的任务建立单独的模型分叉,而YOLO11 则不同,它在一个统一的框架中原生支持对象检测实例分割姿势估计 定向边框(旋转框检测)和分类。

了解更多关于 YOLO11 的信息

对比表:技术规格

特点YOLOv5YOLO11
架构CSPDarknet 骨干网含 C3k2 和 C2PSA 的精制骨架
检测头以锚为基础无锚
任务检测、分段、分类Detect, Segment, Classify,姿势估计,旋转框检测, Track
许可证AGPL-3.0AGPL-3.0
发布日期2020 年 6 月2024 年 9 月
易用性高(命令行和PyTorch Hub)非常高(统一Python SDK 和CLI

训练与生态系统

这两种模式都受益于强大的Ultralytics 生态系统,该系统为数据管理、培训和部署提供了无缝工具。

培训效率

YOLO11 在设计上比YOLOv5 训练更快,收敛更快。

  • 智能默认值: Ultralytics 引擎会根据数据集和模型大小自动配置超参数,从而减少了手动调整超参数的需要。
  • 内存使用:由于减少了参数数量,YOLO11 模型在训练过程中消耗的GPU VRAM 一般较少,因此可以在消费级硬件上使用更大的批次

代码示例:培训YOLO11

通过使用 ultralytics Python 软件包。下面的示例演示了如何在COCO8 数据集上训练 YOLO11n 模型。

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

生态系统整合

YOLOv5 由于年代久远,拥有大量的第三方教程,而YOLO11 则原生集成到了现代的Ultralytics 软件包中。这样就可以立即访问高级功能:

  • 一键导出:导出到 ONNX, OpenVINO、TensorRT 和CoreML 。
  • 跟踪内置支持对象跟踪(BoT-SORT、ByteTrack),无需外部资源库。
  • 资源管理器使用Ultralytics ExplorerAPI,使用 SQL 和语义搜索对数据集进行可视化查询。

理想用例

选择正确的模式取决于项目的具体限制和要求。

何时选择YOLO11

95% 的新项目都建议选择YOLO11 。

  1. 新发展:如果您是从零开始,YOLO11 将为您提供最佳的面向未来性、准确性和速度。
  2. CPU 部署:对于在CPU 上运行的边缘设备(如 Raspberry Pi、手机),YOLO11n 比 YOLOv5n 明显更快、更准确。
  3. 复杂任务:需要姿势估计 旋转框检测(YOLO11 原生支持航空图像和文件分析)。
  4. 云和服务器: YOLO11 的高吞吐量使其成为实时处理海量视频流的理想选择。

何时坚持使用YOLOv5

YOLOv5 仍是特定传统方案的可行选择。

  1. 传统维护:如果您的生产系统与特定的YOLOv5 代码库或输出格式高度耦合。
  2. 特定硬件调整:一些较旧的嵌入式加速器可能有专门针对YOLOv5 层进行验证的高度优化固件(尽管大多数现代运行时(如OpenVINO )现在更倾向于较新的架构)。
  3. 学术基线:与历史基线进行比较的研究人员经常引用YOLOv5 ,因为它在文献中存在已久。

迁移到YOLO11

从YOLOv5 迁移到YOLO11 非常简单。数据集格式YOLO TXT)保持一致,这意味着您可以重新使用现有的注释数据集而无需修改。Python API 结构也非常相似,通常只需要更改模型名称字符串(例如从 yolov5su.ptyolo11n.ptultralytics 包)。

探索其他选择

除了YOLO11 和YOLOv5 之外,Ultralytics 还支持多种模型。根据您的具体需求,您可以考虑:

  • YOLOv8 YOLO11 的直接前身,提供了非常均衡的功能,并被业界广泛采用。
  • YOLOv10一种专注于NMS 训练的架构,可降低特定实时应用中的延迟。
  • RT-DETR transformer检测器,在推理速度比最大精度更重要的情况下,精度更为出色。
  • YOLOv9以其可编程梯度信息 (PGI) 概念著称,在困难的检测任务中表现出色。

结论

从YOLOv5 到YOLO11 的过渡标志着计算机视觉发展史上的一个重要里程碑。 YOLOv5将人工智能平民化,使每个人都能进行物体检测。 YOLO11完善了这一愿景,提供了一个更快、更轻、更准确的模型。

对于追求绝对最佳每瓦性能和最多功能的开发人员来说,YOLO11 是当之无愧的赢家。Ultralytics 与活跃的Ultralytics 生态系统相集成,确保您可以使用最新的工具、简单的应用程序接口和繁荣的社区来支持您的人工智能之旅。

准备升级?查看YOLO11 文档或访问GitHub 存储库,立即开始。


评论