YOLOv5 与 YOLO11#
为新项目选择合适的计算机视觉架构时,了解先进模型的发展历程至关重要。从早期架构到现代统一框架的演进,展现了算法效率和开发者体验的显著进步。本指南将深入对比 Ultralytics 开发的两款里程碑模型:开创性的 YOLOv5 和经过高度完善的 YOLO11。
模型简介#
这两种架构都是实时目标检测领域的重要里程碑,具体优势取决于你的部署环境和旧版系统要求。
YOLOv5:行业主力模型#
YOLOv5 于 2020 年夏季发布,凭借原生的 PyTorch 实现迅速成为行业标准,大幅降低了训练和部署的入门门槛。它摆脱了前代复杂的 Darknet C 框架,采用更符合 Python 习惯的模型构建方式。
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- GitHub: ultralytics/yolov5
- 文档: YOLOv5 文档
YOLOv5 为易用性树立了坚实的基线,并引入了强大的训练方法,包括高级马赛克数据增强和自动锚框。对于基于文档完善、经过大量测试的代码库开展研究的研究人员而言,它依然极受欢迎。
YOLO11:统一视觉框架#
YOLO11 汇集了多年的反馈和架构研究成果,作为统一框架的一部分推出,能够原生处理多种视觉任务。它不再局限于边界框,而是从设计之初就着眼于实现最大的通用性和效率。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024-09-27
- GitHub: ultralytics/ultralytics
- 文档: YOLO11 文档
YOLO11 通过 ultralytics Python 包提供精简的用户体验,并配备简洁的 API,将目标检测、实例分割、分类、姿态估计和有向边界框(OBB)整合在一起。它在速度与精度之间实现了出色的平衡,非常适合多样化的真实部署场景。
两种模型都受益于维护完善的 Ultralytics Platform 生态系统。这个集成环境简化了数据集标注、云端训练以及面向各种硬件目标的模型导出。
性能与指标对比#
直接对比这两种模型,可以看出架构改进如何转化为切实的性能提升。下表展示了在 COCO 数据集上评估的平均精度均值(mAP),以及 CPU 和 GPU 推理速度与参数量。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
结果分析#
这些指标清楚地展现了 YOLO11 在性能平衡方面取得的飞跃。例如,YOLO11n(nano)模型的 mAP 达到 39.5%,而 YOLOv5n 为 28.0%;仅增加 0.7M 个参数,mAP 就提升了 11.5 个点。此外,与大型 Transformer 模型相比,YOLO11 在训练时所需的内存显著更少,因此更易于在消费级硬件和边缘设备上部署。
架构差异#
YOLO11 的性能提升源于多项关键架构演进。YOLOv5 使用标准的 CSPNet 主干网络和 C3 模块,而较新的 Ultralytics 模型引入了更高效的特征提取模块,例如 C2f(YOLOv8)和 C3k2(YOLO11),以优化梯度流并降低计算开销。
YOLO11 还采用了经过大幅改进的检测头。较新的 Ultralytics 架构摒弃了旧模型的基于锚框设计,转而采用无锚框方法。这减少了边界框预测数量,简化了后处理流程,并提升了模型对不同尺度和宽高比的泛化能力。此外,这些模型具有出色的训练效率,并提供随时可用的预训练权重,能够加快微调数据集的收敛速度。
实现与代码示例#
Ultralytics 生态系统的一大亮点是简单易用。YOLOv5 让人们广泛使用 torch.hub 进行快速推理,而 YOLO11 则通过统一的 ultralytics Python 包进一步提升了易用性。
使用 YOLO11 训练#
加载、训练和验证模型所需的样板代码极少。API 可无缝处理超参数调优和模型管理。
from ultralytics import YOLO
# 加载预训练的 YOLO11 模型
model = YOLO("yolo11s.pt")
# 使用自定义数据集训练 50 个周期
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# 快速执行推理并显示结果
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# 轻松将模型导出为 TensorRT,以加速硬件运行
model.export(format="engine")使用 YOLOv5 执行旧版推理#
如果你正在维护旧版流水线,YOLOv5 可直接使用 PyTorch 原生加载机制,因此能轻松集成到现有推理脚本中。
import torch
# 从 PyTorch Hub 加载自定义或预训练的 YOLOv5 模型
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# 对图片 URL 执行推理
results = model("https://ultralytics.com/images/zidane.jpg")
# 在控制台打印预测详情
results.print()两种模型都支持多种导出格式。无论是使用 TensorRT 在 NVIDIA Jetson 上部署,还是通过 CoreML 部署到 iOS 应用,部署流程都有详尽文档,并获得社区支持。
理想应用场景#
在这两种模型之间做选择,主要取决于项目所处的生命周期阶段和具体需求。
何时选择 YOLOv5#
- 维护旧版代码库:如果你的生产环境基于 YOLOv5 仓库结构进行了大量定制,或使用了特定的超参数演化技术。
- 学术基线:当你发表的研究需要直接与 2020—2022 年确立的计算机视觉标准进行基准对比时。
何时选择 YOLO11#
- 多任务项目:当你的应用需要通过统一 API 处理姿态估计和实例分割等多种任务时。
- 边缘部署:对于边缘计算场景,如果在给定计算预算(FLOPs)下尽可能提高 mAP 至关重要。
- 商业 AI 解决方案:非常适合零售和安防领域的企业应用,并可借助 Ultralytics Platform 获得强大支持。
新一代模型:Ultralytics YOLO26#
虽然 YOLO11 在速度和精度之间实现了出色的平衡,但人工智能领域发展迅速。对于今天开始新项目的开发者,我们强烈建议你了解视觉 AI 的最新标准:Ultralytics YOLO26。
YOLO26 于 2026 年 1 月发布,带来了专为现代部署需求打造的范式级进步:
- 端到端无 NMS 设计:YOLO26 延续了 YOLOv10 首创的理念,原生采用端到端架构。其可选的单对单检测头(
nms=False)无需进行非极大值抑制(NMS)后处理,大幅简化了部署流水线并降低了延迟。 - MuSGD 优化器:这种结合 SGD 和 Muon 的混合优化器受到 Moonshot AI 的 Kimi K2 等模型所采用的大语言模型训练创新启发,可确保训练极其稳定并显著加快收敛速度。
- 前所未有的 CPU 速度:通过移除分布焦点损失(DFL),YOLO26 的 CPU 推理速度最高可提升 43%,使其成为边缘设备和没有专用 GPU 的环境的最佳选择。
- 先进的损失函数:引入 ProgLoss 和 STAL,显著提升了小目标识别能力,这对于无人机分析、IoT 和机器人技术至关重要。
- 针对具体任务的增强:YOLO26 引入了专门的优化,例如用于姿态估计的残差对数似然估计(RLE),以及用于有向边界框的专门角度损失,确保在所有计算机视觉任务中都能发挥出色表现。
如果你对标准目标检测之外的专用架构感兴趣,也可以了解用于基于 Transformer 的检测的 RT-DETR,或用于开放词汇跟踪和检测的 YOLO-World。采用这些维护完善、高度优化的工具,有助于让你的计算机视觉流水线保持高效、可扩展并领先于行业发展。