YOLO11 vs YOLOv5:Ultralytics 架构的全面技术比较
选择正确的神经网络架构对于任何计算机视觉项目都是一个关键决策。随着人工智能领域的不断发展,可供开发人员和研究人员使用的工具也在不断演进。这份全面的指南深入技术比较了来自Ultralytics生态系统的两个里程碑式模型:备受赞誉的YOLOv5和先进的YOLO11。
无论您是将轻量级模型部署到边缘 AI 应用,还是在云 GPU 上处理高分辨率视频流,了解这些模型的架构细微之处、性能指标和理想用例,将确保您根据特定的部署限制做出数据驱动的选择。
模型沿袭与技术详情
两种模型都体现了Ultralytics对开源协作、强大性能和无与伦比易用性的承诺,使它们深受全球机器学习社区的青睐。
YOLO11详情
- 作者:Glenn Jocher 和 邱静
- 组织:Ultralytics
- 日期:2024-09-27
- GitHub:ultralytics/ultralytics
- 文档:YOLO11 文档
YOLOv5 详情
- 作者:Glenn Jocher
- 组织:Ultralytics
- 日期:2020-06-26
- GitHub: ultralytics/yolov5
- 文档:YOLOv5 文档
架构差异
从 YOLOv5 到 YOLO11 的演进引入了几项深刻的架构转变,旨在优化准确性和参数效率。
YOLOv5 是 PyTorch 生态系统中的先行者,引入了高度优化的 CSPNet(跨阶段部分网络)骨干网络和 PANet(路径聚合网络)颈部。它依赖于基于锚框的检测,需要预定义的锚框来预测目标边界。虽然效率很高,但为自定义计算机视觉数据集调整这些锚框可能很繁琐。
相比之下,YOLO11 转向了更现代的无锚点检测范式。这消除了手动调整锚框的需要,简化了训练过程,并提高了在 COCO dataset 等多样化数据集上的泛化能力。此外,YOLO11 采用了分离头,这意味着分类和边界框回归任务在单独的分支中处理。这种分离显著提高了收敛速度和 mAP,尤其适用于复杂的 物体检测 场景。
性能指标与基准
下表对比了不同模型尺寸的关键指标。Ultralytics模型以其内存需求而闻名,与基于重型Transformer的替代方案相比,通常在训练期间消耗更少的CUDA内存,这大大降低了硬件准入门槛。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
如观察所示,YOLO11 实现了非常有利的性能平衡,在与 YOLOv5 同类模型相当的参数量下,始终提供更高的 mAP 分数。
训练方法与可用性
Ultralytics 理念的核心原则之一是卓越的易用性,这得益于维护良好的生态系统和广泛的社区支持。
YOLOv5 历来依赖于强大的命令行界面 (CLI) 脚本 (train.py, detect.py)以执行。尽管功能强大,但将这些脚本直接集成到自定义python应用程序中通常需要变通方法。
YOLO11 通过引入精简的 彻底改变了这一点 ultralytics Python 包。这个统一的 API 处理从训练到...的一切 导出模型 例如 ONNX, OpenVINO和 TensorRT 原生。
通过 Ultralytics 平台简化部署
为了获得完全无代码的体验,开发人员可以利用Ultralytics Platform无缝地标注数据、在云端训练模型并将其部署到边缘设备。
代码对比
如今,训练 Ultralytics 模型效率极高。以下是您如何使用其原生 Python API 训练 YOLO11 的方法:
from ultralytics import YOLO
# Load a pretrained YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model on custom data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Export the model to ONNX for deployment
model.export(format="onnx")
对于使用 YOLOv5 的遗留系统,通过 CLI 进行训练如下所示:
# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
理想用例和实际应用
两种模型都具有独特的优势,适用于不同的操作环境。
何时利用 YOLOv5
尽管有更新一代的模型,YOLOv5 仍然是一个强大的选择。它强烈推荐用于:
- 遗留系统集成:与 YOLOv5 的特定 tensor 结构或部署管道深度集成,且无法轻易重构的环境。
- Academic Baselines: 研究人员需要已建立的、长期存在的基线,用于医学图像分析中的可复现学术研究。
何时利用 YOLO11
YOLO11 是现代生产流程的理想选择,因为它具有令人难以置信的多功能性:
- 多任务环境:与主要作为检测器(后来增加了分割功能)的YOLOv5不同,YOLO11开箱即用地原生支持实例分割、图像分类、姿势估计和旋转框检测 (obb)。
- 高密度视频分析:适用于智能交通系统或零售库存管理,在这些场景中,从复杂场景中提取最大精度至关重要。
展望未来:YOLO26 架构
尽管YOLO11是一个卓越的标准,但计算机视觉前沿仍在快速发展。追求效率绝对巅峰的开发者也应考虑最新的Ultralytics YOLO26(2026年1月发布)。
YOLO26 代表着一个巨大的飞跃,明确为边缘优化和企业规模而设计。主要创新包括:
- 端到端免NMS设计:YOLO26原生支持端到端,消除了非极大值抑制(NMS)后处理,从而实现更快、更简单的部署。
- 移除DFL:已移除分布焦点损失,以简化模型导出并增强低功耗设备的兼容性。
- MuSGD优化器:SGD和Muon的开创性混合,将LLM训练稳定性带入计算机视觉,以实现更快的收敛。
- CPU 推理速度提升高达 43%: 针对物联网部署和不配备专用 GPU 的设备进行了深度优化。
- ProgLoss + STAL:显著改进的损失函数在小目标识别方面带来了显著提升,这对于航空无人机影像至关重要。
总结
在YOLO11和YOLOv5之间选择最终取决于您项目的生命周期阶段。YOLOv5的传承是不可否认的,它提供了极高的稳定性和庞大的社区支持。然而,对于任何新项目,强烈推荐使用YOLO11,而非旧版本。它结合了尖端精度、极其优雅的python API和更低的训练内存开销,巩固了Ultralytics在AI创新前沿的地位。对于那些追求更高境界的用户,探索Ultralytics平台上最先进的YOLO26将带来无与伦比的结果。