Ultralytics YOLO27:
Get Started

YOLOv10 与 YOLOv7#

过去几年,计算机视觉的快速发展带来了效率不断提升的实时应用架构。比较 YOLOv10 和 YOLOv7,可以看出这一演进中的关键转折。YOLOv7 引入了高效的训练策略和架构扩展方法,而 YOLOv10 则通过消除长期以来对非极大值抑制(NMS)的依赖,彻底革新了部署方式。

这两款模型在各自发布时都推动了目标检测的发展,但如今的 Ultralytics 生态系统以及 YOLO26 等新一代模型,为当今 AI 从业者提供了远为出色的工作流程。

模型概况与起源#

了解这些模型的起源,有助于深入理解其架构设计选择以及驱动这些设计的学术研究。

YOLOv10 详情#

进一步了解 YOLOv10

YOLOv7 详情#

详细了解 YOLOv7

架构创新#

YOLOv7 方法#

YOLOv7 于 2022 年发布,重点优化梯度路径。它引入了扩展高效层聚合网络(E-ELAN),使模型能够学习更多样的特征,同时不破坏原始梯度路径。此外,作者采用了“可训练的免费优势集合”方法,在训练期间使用重参数化技术,并在推理前将这些技术融合掉,以保持快速执行。尽管进行了这些出色的优化,YOLOv7 在后处理时仍高度依赖 NMS,因此在分析密集场景时会产生不稳定的延迟。

YOLOv10 的突破#

YOLOv10 直接解决了 NMS 瓶颈。通过在训练期间引入一致的双重分配机制,清华大学团队实现了无 NMS 的端到端检测。这种双头方法使用一个分支进行一对多分配,在训练期间提供丰富的监督信号;另一个分支则进行一对一分配,以支持无 NMS 推理。这一架构转变确保了稳定且极低的推理延迟,适用于高速视频分析。此外,YOLOv10 采用由效率和准确率共同驱动的整体模型设计,去除了早期代际模型中的计算冗余。

后处理的影响

移除 NMS 后处理不仅能加快推理速度,还能显著简化在边缘 AI 硬件上的部署,例如 AI 加速器和 NPU;在这些硬件上,自定义 NMS 运算很难编译。

性能对比#

比较 MS COCO 数据集上的原始指标,可以明显看出代际差距。YOLOv10 在参数量、计算需求和准确率之间实现了更理想的权衡。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

如上所示,YOLOv10x 的 mAP 达到 54.4%,优于 YOLOv7x 的 53.1%,而参数量不到后者的一半(29.5M 对比 71.3M)。此外,轻量级 YOLOv10 模型(Nano 和 Small)具有出色的 TensorRT 部署速度,非常适合移动端部署。

Ultralytics 生态系统的优势#

研读架构论文很有启发,但现代计算机视觉开发依赖可靠且维护良好的框架。选择受 Ultralytics 支持的模型,能让开发者更快地从原型迈向生产,获得巨大优势。

简化开发#

标准 Ultralytics Python 软件包原生支持 YOLOv10,而上游训练的 YOLOv7 检查点则必须先导出为 ONNX 或 TensorRT,才能在 Ultralytics 中运行。原生支持提供了无与伦比的易用性,用简单直观的 API 替代数千行样板代码。此外,与大型 Transformer 架构相比,Ultralytics YOLO 模型在训练期间需要的 CUDA 内存显著更少,因此可以在消费级硬件上使用更大的批次。

无与伦比的多功能性#

较旧的代码库通常只专注于边界框检测,而集成式 Ultralytics 框架则能无缝支持大量任务。无论你执行的是实例分割、姿态估计还是有向边界框(OBB)检测,工作流程都保持一致。

代码示例:一致的训练工作流程#

下面的代码片段展示了简洁的训练流程,其中会自动处理数据增强和学习率调度:

from ultralytics import YOLO

# 加载所需模型(例如 YOLOv10 或推荐使用的 YOLO26)
model = YOLO("yolo26n.pt")

# 轻松地在你的数据集上训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# 导出为 ONNX 格式,以便快速部署
model.export(format="onnx")

用例与建议#

在 YOLOv10 和 YOLOv7 之间做选择,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv10#

以下场景适合使用 YOLOv10:

  • 无 NMS 的实时检测:适用于需要从端到端检测中获益、无需使用非极大值抑制并能降低部署复杂度的应用。
  • 均衡权衡速度与准确率:适用于需要在不同模型规模下兼顾推理速度和检测准确率的项目。
  • 延迟稳定的应用:适用于推理时间可预测性至关重要的部署场景,例如机器人或自主系统。

何时选择 YOLOv7#

以下情况建议使用 YOLOv7:

  • 学术基准测试:复现 2022 年的最先进成果,或研究 E-ELAN 和可训练的免费优势集合技术所带来的影响。
  • 重参数化研究:研究计划中的重参数化卷积和复合模型缩放策略。
  • 现有自定义流水线:项目已围绕 YOLOv7 特定架构构建了高度定制的流水线,且难以重构。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

新标准:推出 YOLO26#

YOLOv10 于 2024 年实现了重大飞跃,但计算机视觉领域的发展极其迅速。对于所有新项目,我们强烈推荐使用最新一代模型:Ultralytics YOLO26。该模型于 2026 年 1 月发布,代表了实时视觉 AI 的巅峰,性能远超 YOLOv7 和 YOLOv10。

YOLO26 带来了专为现代部署环境打造的突破性创新:

  • 端到端无 NMS 设计:在 YOLOv10 奠定的基础上,YOLO26 的可选一对一检测头(nms=False)无需进行 NMS 后处理,从而简化部署流水线并确保稳定的高速推理。
  • CPU 推理速度最高提升 43%:针对边缘计算和缺少专用 GPU 的设备进行了深度优化,大幅降低硬件成本。
  • 移除 DFL:彻底移除了 Distribution Focal Loss,大幅简化导出逻辑,并显著提升与低功耗边缘设备和微控制器的兼容性。
  • MuSGD 优化器:受 Moonshot AI 的 Kimi K2 启发,这种结合 SGD 和 Muon 的混合优化器将大语言模型(LLM)训练创新直接引入计算机视觉,带来极其稳定的训练动态和更快的收敛速度。
  • ProgLoss + STAL:这些先进的损失函数显著提升了小目标识别能力。这一直是颇具挑战性的领域,对无人机、机器人和智慧城市监控至关重要。
  • 针对任务的改进:YOLO26 不只是一个检测器。它还包含专用的语义分割损失、用于超高精度姿态估计的残差对数似然估计(RLE),以及能够消除 OBB 边界问题的专用角度损失算法。
数据集管理与训练

若要获得数据集管理、YOLO26 训练和模型云端部署的最佳体验,请探索 Ultralytics Platform。它提供无代码界面,与 Python SDK 相得益彰。

实际应用场景#

选择合适的架构,很大程度上取决于硬件和应用限制。

何时使用 YOLOv7#

如果要维护已与 YOLOv7 特定张量结构深度集成的旧版流水线,或复现 2022 年和 2023 年的学术基准测试,YOLOv7 仍是可靠选择。它在高端服务器 GPU 上表现出色。

何时使用 YOLOv10#

YOLOv10 在需要严格、稳定延迟的场景中表现出色。由于它无需 NMS,因此非常适合高密度人群计数或制造缺陷检测:这些场景的目标数量可能剧烈波动,但每帧的处理时间必须保持恒定。

何时使用 YOLO26#

对于任何全新项目,YOLO26 都是明确的首选。无论是在基础款 Raspberry Pi 上部署复杂的安全警报系统,还是运行大规模云端视频分析,它更快的 CPU 推理速度和先进的小目标检测能力都远胜旧一代模型。

如果你有兴趣探索其他现代架构,我们还广泛支持基于 Transformer 的检测器,例如 RT-DETR,以及上一代主流模型,例如 Ultralytics YOLO11。

评论