YOLOv10 vs YOLOv7:实时目标检测的演进
过去几年计算机视觉的快速发展为实时应用带来了日益高效的架构。比较YOLOv10和YOLOv7突显了这一演变中的一个关键过渡时期。YOLOv7 引入了高效的训练策略和架构扩展,而 YOLOv10 则通过消除对非极大值抑制 (NMS) 的长期依赖,彻底改变了部署方式。
两种模型在各自发布时都推动了目标检测的边界,然而,现代的Ultralytics生态系统以及YOLO26等下一代模型的引入,为当今的AI从业者提供了远超以往的工作流程。
模型概况与起源
了解这些模型的起源,有助于深入理解其架构设计选择以及背后的学术研究。
YOLOv10 详情
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织:清华大学
- 日期:2024-05-23
- Arxiv: YOLOv10:实时端到端目标检测
- GitHub: THU-MIG/yolov10
- 文档:Ultralytics YOLOv10 文档
YOLOv7 详情
- 作者: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
- 组织:台湾中央研究院信息科学研究所
- 日期: 2022-07-06
- Arxiv: YOLOv7:可训练的免费策略创造了新的最先进水平
- GitHub: WongKinYiu/yolov7
- 文档:Ultralytics YOLOv7 文档
架构创新
YOLOv7 方法
YOLOv7 于2022年发布,重点关注优化梯度路径。它引入了扩展高效层聚合网络(E-ELAN),这使得模型能够学习更多样化的特征,同时不破坏原始梯度路径。此外,作者实现了一种“可训练的免费赠品包”方法,在训练期间利用重参数化技术,这些技术可以在推理时融合以保持快速执行速度。尽管有这些令人印象深刻的优化,YOLOv7 在后处理中仍然严重依赖 NMS,在密集场景分析期间产生可变延迟。
YOLOv10 突破
YOLOv10直接解决了NMS瓶颈问题。通过在训练期间引入一致性双重分配,清华大学团队实现了免NMS的端到端检测。这种双头方法使用一个分支进行一对多分配,以在训练期间提供丰富的监督信号,而另一个分支则进行一对一分配,以实现免NMS推理。这种架构转变确保了持续的超低推理延迟,适用于高速视频分析。此外,YOLOv10采用了整体的效率-精度驱动模型设计,消除了早期版本中存在的计算冗余。
后处理影响
移除 NMS 后处理不仅加快了推理速度,而且显著简化了在边缘 AI 硬件(例如 AI 加速器和 NPU)上的部署,因为在这些硬件上,自定义 NMS 操作众所周知难以编译。
性能对比
在MS COCO数据集上比较原始指标时,代际差距变得显而易见。YOLOv10在参数、计算需求和精度之间实现了更优的权衡。
| 模型 | 尺寸 (像素) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
如上所示,YOLOv10x 实现了 54.4% 的卓越 mAP,优于 YOLOv7x 的 53.1%,同时参数量减少了约 20%。此外,轻量级 YOLOv10 模型(Nano 和 Small)提供了卓越的 TensorRT 部署速度,使它们在移动部署方面极具吸引力。
Ultralytics 生态系统优势
尽管研究架构论文很有启发性,但现代计算机视觉开发依赖于健壮、维护良好的框架。选择 Ultralytics 支持的模型为希望快速从原型转向生产的开发者提供了巨大的优势。
简化开发
YOLOv10 和 YOLOv7 都可以通过标准的 Ultralytics python 包访问。这提供了无与伦比的易用性,用简单直观的 API 替换了数千行样板代码。此外,与大型 Transformer 架构相比,Ultralytics YOLO 模型在训练期间需要显著更低的 CUDA 内存,从而能够在消费级硬件上使用更大的批次大小。
无与伦比的多功能性
尽管旧版仓库通常严格专注于边界框检测,但集成的Ultralytics框架无缝支持各种任务。无论您是执行实例分割、姿势估计还是旋转框检测 (obb),工作流程都保持一致。
代码示例:一致的训练工作流
以下代码片段展示了无缝的训练过程,它自动处理数据增强和学习率调度:
from ultralytics import YOLO
# Load the desired model (YOLOv10, YOLOv7, or the recommended YOLO26)
model = YOLO("yolo26n.pt")
# Train the model effortlessly on your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export to ONNX format for rapid deployment
model.export(format="onnx")
应用场景与建议
在YOLOv10和YOLOv7之间选择取决于您具体的项目需求、部署限制和生态系统偏好。
何时选择 YOLOv10
YOLOv10是以下场景的有力选择:
- 免NMS的实时检测:受益于无需非极大值抑制的端到端检测,从而降低部署复杂性的应用。
- 速度-精度平衡权衡:适用于需要在推理速度和 detect 精度之间取得良好平衡的各种模型规模的项目。
- 一致延迟应用:部署场景中,可预测的推理时间至关重要,例如机器人技术或自主系统。
何时选择 YOLOv7
YOLOv7 推荐用于:
- 学术基准测试:用于复现2022年最先进成果,或研究E-ELAN和可训练的“免费赠品包”技术的效果。
- 重参数化研究:研究计划中的重参数化卷积和复合模型缩放策略。
- 现有自定义流水线:围绕YOLOv7特定架构构建的、难以轻松重构的重度定制流水线项目。
何时选择 Ultralytics (YOLO26)
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 免NMS的边缘部署:需要一致的低延迟推理,且无需非极大值抑制后处理复杂性的应用。
- 纯CPU环境:在没有专用GPU加速的设备上,YOLO26高达43%的CPU推理速度提升提供了决定性优势。
- 小目标 detect:在 无人机航拍图像 或物联网传感器分析等挑战性场景中,ProgLoss 和 STAL 显著提高了微小目标的准确性。
新标准:隆重推出 YOLO26
尽管YOLOv10在2024年取得了巨大飞跃,但计算机视觉领域发展迅猛。对于所有新开发项目,我们强烈推荐最新一代模型:Ultralytics YOLO26。它于2026年1月发布,代表了实时视觉AI的绝对巅峰,大幅超越了YOLOv7和YOLOv10。
YOLO26 带来了专为现代部署环境设计的前所未有的创新:
- 端到端免NMS设计:基于YOLOv10奠定的基础,YOLO26原生消除了NMS后处理,以实现更简单的部署流程和一致的高速推理。
- CPU 推理速度提升高达 43%: 针对边缘计算和缺乏专用 GPU 的设备进行了深度优化,大幅节省了硬件成本。
- 移除DFL:已完全移除分布焦点损失,这从根本上简化了导出逻辑,并极大地提升了与低功耗边缘设备和微控制器的兼容性。
- MuSGD 优化器:受 Moonshot AI 的 Kimi K2 启发,这种 SGD 和 Muon 的混合优化器将大语言模型 (LLM)训练创新直接引入计算机视觉,从而实现极其稳定的训练动态和更快的收敛。
- ProgLoss + STAL: 这些先进的损失函数在小目标识别方面带来了显著改进,这是一个历来具有挑战性的领域,对无人机、机器人技术和智慧城市监控至关重要。
- 任务特定改进: YOLO26 不仅仅是一个 detect 器。它包括专用语义分割损失、用于超精确姿势估计 track 的残差对数似然估计 (RLE),以及用于消除 obb 边界问题的专用角度损失算法。
数据集与训练管理
为了在管理数据集、训练YOLO26和将模型部署到云端方面获得极致体验,请探索Ultralytics Platform。它提供了一个无代码界面,完美补充了Python SDK。
实际应用案例
选择正确的架构很大程度上取决于您的硬件和应用限制。
何时使用 YOLOv7
YOLOv7 仍然是维护已深度集成其特定 tensor 结构的传统管道,或复现 2022 年和 2023 年学术基准的可靠选择。它在高端服务器 GPU 上表现出色。
何时使用YOLOv10
YOLOv10 在需要严格、不变延迟的场景中表现出色。由于它无需NMS,因此非常适用于高密度人群计数或 制造缺陷检测,在这些场景中,目标数量波动剧烈,但每帧处理时间必须保持恒定。
何时使用 YOLO26
YOLO26 是任何全新项目的明确选择。从在基本树莓派上部署复杂的安全警报系统,到运行大规模基于云的视频分析,其卓越的 CPU 速度和先进的小目标检测能力使其远超老一代产品。
对于有兴趣探索其他现代架构的开发者,我们还为RT-DETR等基于Transformer的detect器以及Ultralytics YOLO11等上一代主流模型提供广泛支持。