YOLOv8 与 YOLO11#
计算机视觉的快速发展在很大程度上是由实时目标检测框架的持续进步推动的。对于在现代技术格局中探索的开发者和研究人员来说,选择正确的模型对于平衡准确性、速度和资源效率至关重要。在这篇技术对比中,我们将探讨 Ultralytics 生态系统中的两个基础模型之间的区别:Ultralytics YOLOv8 和 Ultralytics YOLO11。
这两个模型都展现了 Ultralytics 架构的标志性特征——易用性、完善的生态系统以及低内存需求下的出色训练效率。让我们深入探讨它们的架构设计、性能基准以及理想的部署场景。
模型概述#
在比较它们具体的技术优点之前,了解这两个模型的起源和核心规格会很有帮助。
Ultralytics YOLOv8#
YOLOv8 在 2023 年初发布,是一个重大的飞跃,引入了无锚(anchor-free)检测和对损失函数的重大改进,迅速成为各种机器学习任务的黄金标准。
- 作者: Glenn Jocher, Ayush Chaurasia, and 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 dataset 中常见的小目标上实现更高的准确性。
内存需求与训练效率#
YOLOv8 和 YOLO11 最显著的优势之一是它们在训练期间内存需求低。与容易在消费级硬件上耗尽 VRAM 的繁重视觉 Transformer 不同,这些模型针对在标准 GPU 上进行易于访问的 PyTorch 训练进行了优化。与 YOLOv8 相比,YOLO11 大幅减少了总参数量——大(L)变体中的参数减少了多达 42%——同时提高了平均精度均值(mAP)。这意味着模型训练的轮次更快,碳足迹更低。
性能指标#
为了真正评估这些模型的性能平衡,我们必须参考客观的基准测试。下表对比了 YOLOv8 和 YOLO11 的标准缩放版本(从 nano 到 extra-large)。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 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.2 |
| 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.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 |
如前所述,YOLO11 在准确性上始终优于 YOLOv8,同时使用的参数和 FLOPs 更少。使用 ONNX Runtime 测量的 CPU 推理速度突显了 YOLO11 在边缘部署方面的卓越效率。当导出到 NVIDIA TensorRT 时,这两个模型都提供卓越的 15 毫秒以下延迟,这对于现实世界的视频流分析至关重要。
生态系统与易用性#
这两个模型都极大地受益于统一的 ultralytics Python 软件包。这种易用性使工程师能够在 YOLOv8 和 YOLO11 之间无缝切换。只需几行代码即可完成训练、验证和导出。
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (you can simply swap to "yolov8n.pt")
model = YOLO("yolo11n.pt")
# Train the model efficiently on a local dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the optimized model to ONNX
model.export(format="onnx")这种无缝集成延伸到了 Ultralytics Platform,它简化了基于云的训练、模型监控和部署,而无需高级的 DevOps 知识。
多功能性与现实应用#
Ultralytics 框架的一个主要标志是其固有的多功能性。YOLOv8 和 YOLO11 都支持除标准目标检测之外的广泛计算机视觉任务:
- Instance Segmentation: 高度准确的像素级掩码,适用于医学成像和自动驾驶。
- Pose Estimation: 专为体育分析和人机交互量身定制的关键点检测。
- Image Classification: 利用在 ImageNet 上训练的骨干网络的轻量级分类。
- Oriented Bounding Boxes (OBB): 对于识别卫星影像中的旋转物体至关重要。
YOLOv8 由于推出时间更长,拥有庞大的社区教程库和经过大量测试的企业级部署。如果你需要集成到严格要求 YOLOv8 张量形状的旧版流水线中,它仍然是一个非常可靠的选择。然而,对于优先考虑极致效率的新项目(例如在 Raspberry Pi 等嵌入式边缘设备上部署),由于其卓越的速度参数比,YOLO11 显然是运行时的赢家。
应用场景与建议#
选择 YOLOv8 还是 YOLO11 取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv8#
YOLOv8 是以下场景的有力选择:
- 多功能多任务部署: 需要在 Ultralytics 生态系统中为检测、分割、分类和姿态估计提供经过验证的模型的项目。
- 已建立的生产系统: 已经在 YOLOv8 架构上构建,并拥有稳定、经过良好测试的部署流水线的现有生产环境。
- 广泛的社区和生态支持: 从 YOLOv8 丰富的教程、第三方集成和活跃的社区资源中受益的应用。
何时选择 YOLO11#
YOLO11 推荐用于:
- **生产边缘部署:**在诸如Raspberry Pi或NVIDIA Jetson等设备上的商业应用,可靠性和主动维护至关重要。
- **多任务视觉应用:**需要在单个统一框架内进行detection、segmentation、pose estimation和OBB的项目。
- **快速原型制作与部署:**需要使用简化的Ultralytics Python API从数据收集快速过渡到生产的团队。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 诸如航拍无人机图像或物联网传感器分析等具有挑战性的场景,其中 ProgLoss 和 STAL 显著提高了微小目标的准确率。
前沿技术:YOLO26 的优势#
虽然 YOLOv8 和 YOLO11 是非凡的架构,但人工智能的格局永不停歇。对于旨在在 2026 年实现绝对最先进水平的开发者来说,Ultralytics YOLO26 代表了下一个重大的飞跃。
YOLO26 从根本上重构了部署流水线。它具有端到端无 NMS 设计,这是 YOLOv10 中首次采用的突破性方法,消除了复杂的后处理步骤。此外,DFL 移除(分布式焦距损失)极大地简化了导出逻辑,并增强了与低功耗边缘设备的兼容性,相比前代产品,CPU 推理速度提升高达 43%。
得益于受大模型训练技术启发而设计的混合优化器 MuSGD Optimizer,训练稳定性和收敛速度得到了显著提升。此外,像 ProgLoss + STAL 这样的新损失配方显著增强了小物体识别能力——这是物联网和机器人技术中历史性的痛点。凭借针对姿态估计的 RLE 和针对分割的多尺度原型等特定任务改进,YOLO26 处于无可匹敌的地位。
如果你需要广泛的传统社区支持,从 YOLOv8 开始你的旅程。升级到 YOLO11 以获得速度与参数减少之间高度精炼的平衡。为了追求终极的边缘优化、无 NMS 的未来架构,请跳跃至 YOLO26。
结论#
在 YOLOv8 和 YOLO11 之间做出选择,最终取决于你的项目时间表和硬件限制。YOLOv8 是业界久经考验的巨头,提供无与伦比的稳定性。相反,YOLO11 优化了该架构,以更少的参数提供更高的 mAP,使其对于资源受限的边缘应用极具吸引力。无论你的选择如何,无缝的 Ultralytics Python API 确保了你的开发流程保持敏捷、高效且得到充分支持。当你准备好挑战边缘设备上可能性的极限时,YOLO26 已蓄势待发。