YOLO11 与YOLOv8:架构演变与性能分析
对于开发人员和研究人员来说,选择最佳计算机视觉模型是一项关键决策,目的是在准确性、速度和资源效率之间取得平衡。本页将对 Ultralytics YOLO11和 Ultralytics YOLOv8这两个业界领先的架构专为物体检测和高级视觉任务而设计。我们分析了它们的架构创新、基准指标和理想部署方案,帮助您确定最适合您的人工智能应用的架构。
Ultralytics YOLO11
作者: Glenn Jocher, Jing QiuGlenn Jocher, Jing Qiu
组织机构:Ultralytics
日期:2024-09-27
GitHubultralytics
文档yolo11
YOLO11 代表了著名的YOLO 系列的最新发展,在特征提取和处理效率方面取得了重大改进。通过改进骨干和颈部架构,YOLO11 实现了更高的平均精度(mAP),同时使用的参数比其前代产品更少。它原生支持广泛的任务,包括实例分割、图像分类、姿势估计 和定向边界旋转框检测)。
架构和主要特性
YOLO11 架构引入了C3k2块(CSP(跨阶段局部)瓶颈的优化版本)和C2PSA(带空间注意力的跨阶段局部)模块。这些组件增强了模型捕捉复杂视觉模式和空间关系的能力,同时将计算开销降至最低。这种设计理念确保YOLO11 在实时推理场景中表现出色,尤其是在计算资源有限的边缘设备上。
优势
- 最先进的准确性:在所有模型规模上都能提供卓越的检测性能,在COCO 数据集上的表现始终优于之前的迭代版本。
- CPU 效率:优化的架构选择可显著提高 CPU 的推理速度,使其成为无服务器或边缘部署的首选。
- 参数效率:以更少的参数和 FLOP 达到更高的精度,减少模型存储需求。
- 统一框架:在单一、易用的应用程序接口内无缝处理多种视觉任务。
弱点
- 生态系统成熟度:作为一个较新的版本,第三方教程和社区生成内容的数量正在快速增长,但可能不如成熟的YOLOv8 那么广泛。
- 大型模型的资源强度:虽然效率很高,但最大的变体(如 YOLO11x)仍然需要大量GPU 资源来进行训练和高通量推理。
应用案例
YOLO11 是要求尽可能高精度-速度比的应用场合的首选:
- 边缘人工智能:在NVIDIA Jetson或 Raspberry Pi 设备上部署高性能检测。
- 实时机器人技术:以最小的延迟实现自主导航和物体交互。
- 医学成像:协助进行精确的医学影像分析,用于准确性要求极高的诊断。
Ultralytics YOLOv8
作者: Glenn Jocher、Ayush Chaurasia、Jing QiuGlenn Jocher、Ayush Chaurasia、Jing Qiu
组织机构:Ultralytics
日期:2023-01-10
GitHubultralytics
文档yolov8
YOLOv8 于 2023 年初发布,重新定义了实时物体检测的标准。它引入了无锚检测头和C2f骨干模块,标志着与基于锚的方法的重大差异。YOLOv8 以其稳定性、多功能性和围绕其开发的庞大生态系统而闻名,成为全球最广泛采用的视觉模型之一。
架构和主要特性
YOLOv8 利用对 CSPDarknet53 主干网的修改,结合了 C2f 模块,从而实现了更丰富的梯度流。它的无锚设计简化了非最大抑制(NMS)过程,降低了与锚框相关的超参数调整的复杂性。该模型具有高度可扩展性,提供从纳米(n)到超大(x)的变体,以适应各种计算预算。
优势
- 久经考验的可靠性:在全球生产环境中经过广泛测试,确保高度稳定性。
- 丰富的生态系统:有成千上万的教程、集成和社区项目支持。
- 多功能性:与YOLO11 一样,它支持检测、分割、分类和姿势估计 。
- 强大的基准:继续提供具有竞争力的性能,超过许多非YOLO 架构。
弱点
- 性能差距:在准确性mAP)和推理速度方面,尤其是在CPU 硬件上,YOLO11 普遍超过了YOLO11 。
- 计算成本较高:需要稍多的参数和 FLOP 才能达到与YOLO11 相当的精度。
应用案例
YOLOv8 仍然是您的最佳选择:
- 传统系统:已与YOLOv8 工作流程集成的项目,这些项目对稳定性的要求高于对尖端性能的要求。
- 教育工具:使用具有大量文件和社区范例的模型学习计算机视觉概念。
- 通用检测:性能可靠,适用于标准安全和监控应用。
性能正面交锋
这两个模型的最大区别在于它们的效率。与YOLOv8相比,YOLOv8实现了 "帕累托改进"YOLOv8精度更高,计算成本更低。
效率和速度分析
YOLO11 的架构优化(C3k2、C2PSA)使其能够更快地处理图像,同时保留更多细粒度特征。这一点在CPU 推理中最为明显,YOLO11 模型在CPU 推理中的速度大幅提升。例如,YOLO11n 模型的CPU 运算速度比YOLOv8n 快约 30%,同时还获得了更高的mAP。
在GPU 推理方面,YOLO11 模型在大多数尺寸上也表现出较低的延迟,使其在实时视频处理管道中非常有效。
内存效率
Ultralytics YOLO11 和YOLOv8 与transformer模型(例如 RT-DETR.这使得使用消费级硬件或云环境(CUDA 内存有限)的开发人员更容易使用它们。
比较指标
下表说明了性能的提高。请注意,在mAP 增加的同时,YOLO11 的参数和 FLOP 也有所减少。
| 模型 | 尺寸 (像素) | 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 |
| 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 |
Ultralytics 生态系统优势
选择Ultralytics 模式,就意味着可以进入一个旨在简化整个MLOps生命周期的综合生态系统。
- 易用性: 这两种型号共享相同的 Python API 和命令行界面CLI)。从YOLOv8 切换到YOLO11 通常只需更改代码字符串中的一个字符(例如:、
"yolov8n.pt"到"yolo11n.pt")。 - 训练效率: Ultralytics 模型采用先进的训练程序,包括镶嵌增强和超参数演化。预先训练的权重随时可用,可在自定义数据集上进行高效的迁移学习。
- 多功能性:与许多局限于特定任务的竞争对手不同,Ultralytics 模型在一个统一的软件包中提供对检测、分割、分类、姿势估计和旋转框检测 本地支持。
- 部署:将模型轻松导出为以下格式 ONNX, TensorRT、CoreML 和OpenVINO 等格式,以便在不同硬件上优化部署。
统一使用示例
共享的应用程序接口设计可以让您毫不费力地进行实验。以下是您如何使用任一模型加载和运行预测:
from ultralytics import YOLO
# Load YOLO11 or YOLOv8 by simply changing the model name
model = YOLO("yolo11n.pt") # or "yolov8n.pt"
# Train on a custom dataset
# model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
结论:您应该选择哪种模型?
对于绝大多数新项目而言,YOLO11 是值得推荐的选择。其先进的架构在准确性和速度方面都具有明显优势,特别是对于效率至关重要的边缘计算应用。参数数量的减少还意味着移动部署所需的存储空间更小,下载速度更快。
YOLOv8仍然是一个功能强大的相关工具,特别是对于那些将现有管道与特定YOLOv8 版本深度集成的团队,或者那些依赖其绝对成熟的文档生态系统的团队。不过,迁移到YOLO11 一般都很简单,并能立即产生性能效益。
这两个模型均根据 AGPL-3.0许可证发布,以促进开源协作,并为需要专有功能的商业产品提供企业许可证。
探索其他模型
虽然YOLO11 和YOLOv8 是出色的通用探测器,但特定需求可能会从Ultralytics 系列的其他架构中获益:
- YOLOv10: 专注于无 NMS 训练,以降低延迟。
- YOLOv9: 强调用于深度模型训练的可编程梯度信息。
- RT-DETR: 一种基于 Transformer 的 detector,可提供高精度,但需要更高的内存和计算资源。