跳转至内容

YOLOv7 YOLOv10:实时目标检测的进化之路

计算机视觉领域在过去几年取得了显著进展,YOLO You Only Look Once)系列模型在实时目标检测领域引领潮流。为计算机视觉项目选择合适的架构需要对现有选项有深入理解。在这篇全面的技术对比中,我们将探讨两个里程碑式架构的关键差异: YOLOv7YOLOv10

模型介绍

这两种模型都代表了人工智能发展史上的重要里程碑,但在解决物体检测难题时,它们采取了截然不同的方法。

YOLOv7:免费工具包的先驱者

中央研究院资讯科学研究所的王建尧、Alexey Bochkovskiy与廖鸿远(Mark Liao)于2022年7月6日发布的YOLOv7 在神经网络优化方式上YOLOv7 范式转变 这项发表于学术论文并收录于官方GitHub仓库的原创研究,重点聚焦于架构重参数化与可训练的"免费资源袋"技术。

YOLOv7 扩展高效层聚合网络(E-ELAN)引导网络学习多样化特征,同时保持原始梯度路径的完整性。这使其成为学术研究基准测试和高度依赖标准高端GPU系统的可靠选择。

了解更多关于 YOLOv7

YOLOv10:实时端到端检测

清华大学王傲及其团队开发的YOLOv10 于2024年5月23日YOLOv10 。正如其arXiv论文及 清华大学GitHub仓库所详述,该模型消除了目标检测领域长期存在的瓶颈——非最大抑制(NMS)。

YOLOv10 NMS统一双目标分配机制,从根本上改变了后处理流程。通过采用整体化的效率-精度驱动模型设计策略YOLOv10 计算冗余。由此形成的架构专为需要极低延迟的边缘设备量身定制。

了解更多关于 YOLOv10

NMS

移除YOLOv10 非最大抑制(NMS)YOLOv10 整个模型YOLOv10 作为单一计算图导出。这极大简化了基于TensorRT等运行时的部署流程。 TensorRTOpenVINO等运行时环境的部署过程。

性能与指标对比

在分析模型性能时,评估精度、速度与计算权重之间的权衡至关重要。下表展示了不同规模的模型在这些方面如何相互比较。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

权衡分析

上述指标揭示了明显的代际差距。YOLOv7x虽实现了53.1%的卓越mAPval值,却需要7130万参数和1899亿次浮点运算。 相比之下,YOLOv10l不仅mAP53.mAP超越该精度,其参数数量(2950万)不足前者一半,浮点运算量(1203亿)也大幅降低。更值得注意的是,高度优化的YOLOv10n实现了惊人的1.56毫秒推理速度,使其成为实时视频分析和移动应用的理想选择。

实际应用案例

这些模型的架构差异决定了它们的最佳使用场景。

何时使用YOLOv7

由于其丰富的特征表示能力YOLOv7 在高度复杂的环境中YOLOv7 。在密集城区监测交通流量、分析卫星图像或识别重型制造业自动化中的缺陷等应用场景中,其强大的结构重参数化能力发挥了显著优势。该模型在已深度集成PyTorch .12管道的传统环境中也备受青睐。

何时使用YOLOv10

YOLOv10 NMS轻量化设计,在资源受限环境中YOLOv10 。该模型特别推荐NVIDIA Nano或树莓派等边缘计算设备。其低延迟特性使其完美适用于高速运动场景,例如体育赛事分析、无人机自主导航以及传送带上的高速机器人分拣作业。

Ultralytics 生态系统优势

尽管两种模型都具有深厚的学术根基,但唯有在统一Ultralytics 应用时,才能真正释放其潜力。从零开始开发计算机视觉模型向来困难重重,而Ultralytics 为机器学习工程师提供了无与伦比的开发体验。

  • 易用性: Ultralytics Python 提供统一接口。仅需几行代码即可完成模型训练、验证和导出,避免了传统学术仓库中常见的复杂依赖关系问题。
  • 完善维护的生态系统: Ultralytics 底层代码处于持续开发状态。用户可享受与主流机器学习工具的无缝集成,例如 Weights & Biases 进行日志记录,或 Hugging Face 进行快速网页演示。
  • 内存需求: Transformer物体检测器在训练过程中通常会消耗大量CUDA 。相比之下,Ultralytics YOLO 所需内存远少得多,这使得在消费级硬件上能够支持更大的批量规模
  • 多功能性: Ultralytics 不仅限于标准边界框,还能无缝支持姿势估计 实例分割和定向边界框等功能,适用于 YOLO11YOLOv8

精简培训示例

Ultralytics 运行训练管道极为简便。无论您是利用YOLOv7 的历史稳健性YOLOv7 YOLOv10 NMS的高速优势,其语法始终保持一致:

from ultralytics import YOLO

# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export to an edge-friendly format like ONNX
model.export(format="onnx")

应用场景与建议

选择YOLOv7 YOLOv10 您的具体项目需求、部署限制以及生态系统偏好。

何时选择 YOLOv7

YOLOv7 以下场景的强力选择:

  • 学术基准测试:复现2022年最先进成果,或研究E-ELAN及可训练自由样本袋技术的影响。
  • 重参数化研究:探究预先规划的重参数化卷积与复合模型缩放策略。
  • 现有定制管道:围绕YOLOv7特定架构构建的高度定制化管道项目,难以进行重构。

何时选择 YOLOv10

YOLOv10 推荐YOLOv10 :

  • NMS检测:受益于端到端检测且无需非最大抑制的应用,可降低部署复杂性。
  • 平衡速度与准确度的权衡:要求在不同模型规模下,在推理速度与检测准确度之间实现强平衡的项目。
  • 一致延迟应用:部署场景中,可预测的推理时间至关重要,例如机器人或自主系统。

何时选择Ultralytics YOLO26)

对于大多数Ultralytics 提供了性能与开发者体验的最佳组合:

  • NMS边缘部署:适用于需要持续低延迟推理,且无需复杂非最大抑制后处理的应用场景。
  • CPU环境:在不具备专用GPU 设备上,YOLO26高达43%CPU 加速优势具有决定性意义。
  • 小目标检测: 在无人机航拍图像或物联网传感器分析等挑战性场景中,ProgLoss和STAL能显著提升对微小目标的检测精度。

未来:YOLO26 亮相

YOLOv10 令人瞩目的里程碑,但人工智能的前沿始终在不断推进。Ultralytics 2026年1月发布的Ultralytics 已成为所有边缘与云端部署场景中效率与精度的无可争议的新标杆。

若您今日启动新的计算机视觉项目,YOLO26是推荐采用的架构。它在前代成果基础上融入了多项突破性创新:

  • 端到端NMS设计:借鉴YOLOv10的理念,YOLO26原生消除了NMS ,确保确定性实时机器人系统实现超低延迟推理。
  • 最高提升43%CPU :通过战略性移除分布焦点损失(DFL)模块,YOLO26在GPU 硬件上实现了执行速度的飞跃性提升,使其成为物联网设备的强大引擎。
  • MuSGD优化器:受近期大型语言模型训练创新的启发,YOLO26融合了SGD 的混合算法,既能稳定训练路径,又能确保更快收敛。
  • ProgLoss + STAL:这些先进的损失函数在小目标识别方面取得了显著改进,克服了早期YOLO 的历史性弱点。
  • 无与伦比的多功能性:YOLO26具备原生任务特化优化方案,例如用于姿势估计 残差对数似然估计(RLE),以及专为航空影像中精准旋转框检测 专用角度损失函数。

对于追求速度、精度与部署简易性终极平衡的工程师而言,从传统模型转向YOLO26能带来立竿见影且可量化的竞争优势。


评论