YOLOv10 与YOLO11:探索实时物体检测的前沿领域
选择正确的计算机视觉模型对任何人工智能项目的成功都至关重要,它需要在速度、准确性和易于部署之间进行权衡。本指南详细比较了 YOLOv10之间的详细技术比较。 Ultralytics YOLO11之间进行了详细的技术比较。
YOLOv10 引入了有趣的架构概念以减少延迟,而YOLO11 则以更高的精度、更广泛的任务支持和强大的生态系统完善了最先进的技术,简化了从数据注释到模型部署的工作流程。
YOLOv10:NMS 专家
YOLOv10 诞生于学术研究,其具体目标是:通过消除对非最大抑制NMS)的需求来优化推理管道。这种方法的目标是降低特定边缘场景中的延迟。
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织机构: 清华大学清华大学
- 日期: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- 文档:YOLOv10 文档
建筑与创新
YOLOv10 的显著特点是其NMS 训练的一致的双重分配策略。传统的YOLO 模型通常会为一个物体预测多个边界框,这就需要NMS 后处理来过滤重复的边界框。YOLOv10 修改了训练损失,鼓励模型直接为每个对象输出一个最佳边框。此外,YOLOv10 还采用了以效率和准确性为导向的整体模型设计,利用轻量级分类头来减少FLOP和参数数量。
优势与劣势
优势:
- NMS 推理:通过移除NMS 步骤,该模型减少了后处理延迟,这对CPU 能力有限的硬件进行非矩阵操作大有裨益。
- 参数效率:该架构设计轻巧,只需相对较少的参数就能达到很好的精度。
弱点:
- 通用性有限: YOLOv10 几乎只专注于对象检测。它缺乏对实例分割或姿势估计 等复杂任务的本地支持,限制了它在多方面人工智能应用中的实用性。
- 以研究为重点的支持:作为一个学术项目,它在长期维护、更新频率或与部署工具的集成方面可能无法与企业支持的模式相提并论。
理想应用案例
YOLOv10 最适合高度专业化的单任务应用,在这些应用中,移除NMS 步骤对于满足特定嵌入式硬件上严格的延迟预算至关重要。
Ultralytics YOLO11:多功能和高性能的巅峰之作
Ultralytics YOLO11代表了视觉人工智能的最前沿,以 YOLOv8和 YOLOv5.它不仅是一个模型,也是应对现实世界人工智能挑战的全面解决方案。
- 作者: Glenn Jocher, Jing Qiu
- 组织机构Ultralytics
- 日期: 2024-09-27
- GitHub:ultralytics
- 文档:YOLO11 文档
建筑与生态系统
YOLO11 采用改进的骨干和颈部结构,改进了无锚检测机制,并集成了 C3k2 和 C2PSA 模块,提高了特征提取效率。与竞争对手不同,YOLO11 是一个多任务的强大工具。单个框架支持检测、分割、分类、姿势估计 和定向边框检测(旋转框检测),使开发人员能够整合他们的人工智能堆栈。
最重要的是,YOLO11 由Ultralytics 生态系统提供支持。这确保了与数据管理工具的无缝集成,方便地将模型导出为以下格式 ONNX和 TensorRT以及强大的社区支持。
主要优势
- 卓越的性能平衡: YOLO11 始终实现更高的 mAP分数,同时保持卓越的推理速度,在 GPU 的实际吞吐量上往往超过NMS 的替代方案。
- 无与伦比的多功能性:无论您是需要track 体育比赛中的球员、segment 医疗图像,还是detect 鸟瞰图中的旋转物体,YOLO11 都能通过一个Python API 进行处理。
- 易用性: Ultralytics 的界面以简洁著称。训练一个最先进的模型只需几行代码,从而实现了先进人工智能的平民化。
- 训练效率:优化的训练程序和高质量的预训练权重可加快收敛速度,节省时间和计算资源。
- 更低的内存要求:与transformer架构(如 RT-DETR相比,YOLO11 在训练过程中的内存效率要高得多,因此可以在更广泛的硬件上使用。
性能比较:速度、准确性和效率
在对YOLOv10 和YOLO11 进行比较时,有必要超越参数数量,考察真实世界的性能指标。虽然YOLOv10 通过移除NMS 降低了理论上的复杂性,但YOLO11 在标准硬件配置(如带有TensorRT 的 T4GPU 上显示出了卓越的推理速度。
数据显示,YOLO11 为大多数应用提供了更好的权衡。例如,YOLO11n实现了与 YOLOv10n 相同的精度(39.5mAP),但在Ultralytics API 的支持下采用了更强大的架构。随着模型大小的增加,YOLO11 在精度方面的优势变得更加明显,YOLO11x达到了54.7mAP,为检测精度设定了很高的标准。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 在 GPUTensorRT)上的推理速度更快,几乎涵盖所有模型大小。例如,YOLO11l的运行时间为6.2 毫秒,而 YOLOv10l 为 8.33 毫秒,在实时视频分析方面具有显著的吞吐量优势。
- 准确性: YOLO11 在mAP 方面始终优于YOLOv10 ,确保了更少的误判和更好的定位,这对于自主导航或缺陷检测等安全关键任务至关重要。
- 计算: YOLOv10 将参数最小化,而YOLO11 则对实际计算图进行了优化,以提供更快的执行时间,证明参数数量本身并不能决定速度。
实际应用和代码示例
对模型的真正考验在于它如何轻松地集成到生产工作流程中。YOLO11 凭借其简单明了的Python 界面在这方面表现出色。下面举例说明如何加载预训练的YOLO11 模型并在图像上运行推理。
from ultralytics import YOLO
# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
通过这个简单的代码段,您就可以获得最先进的性能。通过相同的应用程序接口,您可以毫不费力地在自定义数据集上进行训练、验证模型性能或跟踪视频流中的对象。
结论结论
虽然 YOLOv10则为NMS 架构提供了一个创新的视角,是学术研究或高度受限的边缘应用场景的理想选择、 Ultralytics YOLO11是绝大多数开发人员和企业的最佳选择。
YOLO11 集更高的准确性、更快的真实世界推理速度和无与伦比的多功能性于一身,是现代计算机视觉的最佳解决方案。在积极维护的Ultralytics 生态系统的支持下,开发人员获得的不仅仅是一个模型,而是人工智能旅程中的一个长期合作伙伴,确保他们的应用程序保持稳健、可扩展和尖端。
对于进一步探索的用户,可与其他机型进行比较,如 YOLOv9或 RT-DETR等其他模型进行比较,可以为不断发展的物体检测提供更多信息。