YOLOv8 与 YOLO11#
计算机视觉的快速发展,很大程度上得益于实时目标检测框架的持续进步。对于探索当今技术领域的开发者和研究人员来说,选择合适的模型对于平衡精度、速度和资源效率至关重要。在这篇技术对比中,我们将探讨 Ultralytics 生态系统中两个基础模型的差异:Ultralytics YOLOv8 和 Ultralytics YOLO11。
这两种模型都体现了 Ultralytics 架构的典型优势——易于使用、维护完善的生态系统,以及对内存需求较低的卓越训练效率。下面我们将深入探讨两者的架构设计、性能基准和理想部署场景。
模型概述#
在比较两者的具体技术优势之前,先了解这两种模型的起源和核心规格会很有帮助。
Ultralytics YOLOv8#
YOLOv8 于 2023 年初发布,成为一次重大突破。它引入了无锚框检测,并显著改进了损失函数,很快成为适用于多种机器学习任务的黄金标准。
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2023-01-10
- GitHub: ultralytics/ultralytics
Ultralytics YOLO11#
YOLO11 在前代模型取得成功的基础上改进了核心架构,进一步突破精度与延迟的帕累托前沿,同时显著优化参数数量而不牺牲预测能力。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024-09-27
- GitHub: ultralytics/ultralytics
如果你正在探索其他方法,Ultralytics 也支持基于 Transformer 的模型,例如 RT-DETR,以及零样本开放词汇检测器,例如 YOLO-World。不过,若要获得最佳延迟和内存效率,标准 YOLO 架构通常仍是首选。
架构与方法上的差异#
从 YOLOv8 到 YOLO11 的变化体现了神经网络设计的稳步演进,而非彻底革新,从而确保模型周边维护完善的生态系统保持稳定。
骨干网络与颈部网络优化#
YOLOv8 引入了精简的 CNN 骨干网络,摒弃传统锚框,将目标检测视为纯粹的中心点预测问题。这种无锚框方法显著降低了边界框回归的复杂度。YOLO11 在此基础上引入了优化的特征金字塔网络(FPN),并将 C2f 模块改为 C3k2 模块。这一改动让 YOLO11 能提取更丰富的空间特征,从而在 COCO 数据集中常见的较小目标上实现更高精度。
内存需求与训练效率#
YOLOv8 和 YOLO11 最显著的优势之一,是训练时内存需求较低。与可能轻易耗尽消费级硬件显存的庞大视觉 Transformer 不同,这两种模型针对在标准 GPU 上进行便捷的 PyTorch 训练做了优化。YOLO11 大幅减少了总参数量——与 YOLOv8 相比,大型(L)变体的参数最多可减少 42%——同时提升了平均精度均值(mAP)。这意味着训练周期更短,模型训练的碳足迹也更低。
性能指标#
要真正评估这些模型的性能平衡,我们需要查看客观基准。下表对比了 YOLOv8 和 YOLO11 的标准缩放变体(从 nano 到 extra-large)。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 在使用更少参数和 FLOPs 的同时,精度始终优于 YOLOv8。使用 ONNX Runtime 测得的 CPU 推理速度,凸显了 YOLO11 在边缘部署中的更高效率。导出到 NVIDIA TensorRT 后,两种模型都能实现出色的低于 15 毫秒延迟,这对真实场景中的视频流分析至关重要。
生态系统与易用性#
两种模型都能从统一的 ultralytics Python 包中获益良多。这种易用性让工程师可以在 YOLOv8 和 YOLO11 之间轻松切换。只需几行代码即可完成训练、验证和导出。
from ultralytics import YOLO
# 加载预训练的 YOLO11 模型(只需将其换成 "yolov8n.pt" 即可)
model = YOLO("yolo11n.pt")
# 在本地数据集上高效训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# 将优化后的模型导出为 ONNX
model.export(format="onnx")这种无缝集成也延伸至 Ultralytics Platform,它简化了云端训练、模型监控和部署,无需掌握高级 DevOps 知识。
通用性与实际应用#
Ultralytics 框架的一大特点是其固有的通用性。YOLOv8 和 YOLO11 除了标准目标检测,还支持多种计算机视觉任务:
- 实例分割:生成精度很高的像素级掩码,适用于医学影像和自动驾驶。
- 姿态估计:针对体育分析和人机交互优化的关键点检测。
- 图像分类:利用在 ImageNet 上训练的骨干网络进行轻量级分类。
- 旋转边界框(OBB):对于识别卫星影像中的旋转目标至关重要。
YOLOv8 发布较早,拥有庞大的社区教程库和经过充分验证的企业级部署案例。如果你要集成的旧版流程严格依赖 YOLOv8 的张量形状,它仍是非常可靠的选择。不过,对于优先考虑最高效率的新项目(例如部署到 Raspberry Pi 等嵌入式边缘设备),YOLO11 凭借更优的速度与参数比,显然更适合实际部署。
用例与建议#
选择 YOLOv8 还是 YOLO11,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv8#
YOLOv8 适用于:
- 多任务灵活部署: 在 Ultralytics 生态系统中,需要使用经过验证的模型来完成检测、分割、分类和姿态估计的项目。
- 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
- 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。
何时选择 YOLO11#
以下场景推荐使用 YOLO11:
- 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上运行商业应用,可靠性和持续维护至关重要。
- 多任务视觉应用:需要在统一框架中实现目标检测、分割、姿态估计和 OBB的项目。
- 快速原型开发与部署:需要借助精简的 Ultralytics Python API,快速完成从数据收集到生产部署的团队。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
前沿之选:YOLO26 的优势#
YOLOv8 和 YOLO11 虽然都是出色的架构,但 AI 领域始终在不断发展。对于希望在 2026 年采用最先进技术的开发者来说,Ultralytics YOLO26 代表着又一次重大的飞跃。
YOLO26 从根本上重新构想了部署流程。它采用端到端无 NMS 设计,这是 YOLOv10 首创的突破性方法,可通过 nms=False 消除复杂的后处理步骤。此外,移除 DFL(分布焦点损失)大幅简化了导出逻辑,并增强了对低功耗边缘设备的兼容性,使 CPU 推理速度相比前代模型最高提升 43%。
全新的 MuSGD 优化器融合了受 LLM 训练技术启发的方法,大幅提升了训练稳定性和收敛速度。此外,ProgLoss + STAL 等新损失函数显著增强了小目标识别能力,解决了 IoT 和机器人领域长期存在的难题。YOLO26 还通过 RLE 姿态估计和多尺度原型分割等任务专属改进,展现出无可匹敌的性能。
如果你需要广泛的旧版社区支持,就从 YOLOv8 开始。想要精细平衡速度和参数量,就升级到 YOLO11。如果你想采用面向未来、针对边缘优化且无 NMS 的架构,就选择 YOLO26。
结论#
最终,选择 YOLOv8 还是 YOLO11,取决于你的项目时间安排和硬件限制。YOLOv8 是久经考验的行业强者,提供无与伦比的稳定性。相比之下,YOLO11 在此架构上进一步改进,以更少的参数实现更高的 mAP,因此对资源受限的边缘应用极具吸引力。无论你选择哪种模型,流畅易用的 Ultralytics Python API 都能确保开发流程灵活、高效,并获得全面支持。当你准备好在边缘设备上进一步拓展能力时,YOLO26 已经为你准备就绪。