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 训练进行了优化。与 YOLOv8 相比,YOLO11 大幅减少了总参数量——大型 (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 后,这两个模型系列在 T4 GPU 上处理每张图像的耗时都低于 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 凭借更高准确率、更少参数和更低 CPU 延迟,是更好的选择。
用例与建议#
选择 YOLOv8 还是 YOLO11,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv8#
YOLOv8 适用于:
- 多任务灵活部署:项目需要在 Ultralytics 生态系统中使用经过验证的模型来完成检测、分割、分类和姿态估计。
- 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
- 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。
何时选择 YOLO11#
以下场景推荐使用 YOLO11:
- 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上的商业应用,可靠性和持续维护至关重要。
- 多任务视觉应用:需要在统一框架中完成检测、分割、姿态估计和 OBB 的项目。
- 快速原型开发与部署:需要借助精简的 Ultralytics Python API,快速完成从数据收集到生产部署的团队。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 边缘部署:需要稳定、低延迟推理,同时不想处理非极大值抑制(NMS)后处理复杂性的应用。
- 仅使用 CPU 的环境: 没有专用 GPU 加速的设备;YOLO26 的 CPU 推理速度最高可提升 43%(YOLO26n 对比 YOLO11n),具有决定性优势。
- 小目标检测:具有挑战性的场景,例如无人机航拍图像或 IoT 传感器分析。在这些场景中,ProgLoss 和 STAL 可以提升微小目标的检测精度。
YOLO26 的优势#
YOLOv8 和 YOLO11 都是优秀的架构,但对于 2026 年的新项目,推荐选择 Ultralytics YOLO26。
YOLO26 简化了部署流程。它采用端到端、无需 NMS 的设计,这一方案由 YOLOv10 引入 YOLO 模型;借助 nms=False,该设计无需进行 NMS 后处理。移除 DFL(Distribution Focal Loss)可简化导出逻辑并提升与低功耗边缘设备的兼容性;YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%。
MuSGD 优化器结合了 SGD 和 Muon,受到 LLM 训练技术的启发,能提高训练稳定性并加快收敛。ProgLoss + STAL(渐进式损失和小目标感知标签分配)可提升小目标检测能力,解决 IoT 和机器人领域长期面临的难题。针对特定任务的改进包括用于姿态估计的 RLE,以及用于分割的多尺度原型模块。
如果你依赖 YOLOv8 丰富的社区资源和现有部署,请选择 YOLOv8。如果你想在速度和参数量之间取得更精细的平衡,请选择 YOLO11。如果你需要针对边缘优化的无 NMS 推理,请选择当前推荐模型 YOLO26。
结论#
选择 YOLOv8 还是 YOLO11,最终取决于你的项目进度和硬件限制。YOLOv8 经过了充分验证,性能稳定。YOLO11 改进了这一架构,以更少的参数实现更高 mAP,因此适合资源受限的边缘应用。无论选择哪个模型,共享的 Ultralytics Python API 都能让你的开发工作流保持一致并获得良好支持;需要最佳边缘性能时,还可以使用 YOLO26。