跳转至内容

YOLO YOLOv10:高效实时目标检测的演进之路

计算机视觉领域见证了实时目标检测架构的快速演进。在比较YOLOYOLOv10时,我们观察到两种截然不同的模型设计理念:自动化架构搜索与端到NMS优化。尽管两者都在精度与速度上突破了界限,但其底层结构和理想应用场景存在显著差异。

YOLO:大规模神经网络架构搜索

阿里巴巴集团开发的YOLO 一款强大的检测器,专注于通过自动化发现提升结构效率。

  • 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
  • 日期:2022年11月23日
  • Arxiv:2211.15444v2
  • GitHub:tinyvision/DAMO-YOLO

架构亮点

YOLO 主要YOLO 神经网络架构搜索(NAS)来平衡性能与延迟。其核心架构 MAE-NAS 在严格的计算预算下采用多目标进化搜索,以确定最优的层深度与层宽度。

为处理跨尺度特征融合问题,模型采用高效的RepGFPN(重参数化广义特征金字塔网络)。这种重颈设计尤其擅长提取复杂的空间层次结构,使其在航空影像分析等场景中表现出色。此外YOLO ZeroHead——一种精简的检测头,通过在训练过程中采用稳健的蒸馏增强机制,大幅降低了最终预测层的复杂度。

蒸馏培训

YOLO 采用多阶段知识蒸馏流程。该方法需训练更庞大的"教师"模型来指导较小的"学生"模型,虽然能提取更高的mAP 平均精度均值),但会显著增加所需的GPU 时间。

了解更多关于 DAMO-YOLO 的信息

YOLOv10:开创性的端到端目标检测

一年半后发布的YOLOv10 范式转变,在推理过程中完全消除了对非最大抑制(NMS)的需求。

架构亮点

YOLOv10 突出特点YOLOv10 其NMS 的双目标分配机制。传统检测器会为单个目标预测多个重叠边界框,需要NMS 重复结果。这一后处理步骤尤其在边缘设备上形成性能瓶颈。YOLOv10 通过让模型自然预测每个目标的单一精确边界框YOLOv10 此问题。

作者们还致力于构建整体效率与精确度兼顾的模型设计。通过对现有架构中计算冗余的精细分析,他们优化了骨干网络和目标检测头,从而减少浮点运算次数和参数数量。这种轻量化设计确保YOLOv10 在导出至张量流(TensorRT)等格式时YOLOv10 卓越的推理延迟。 TensorRTOpenVINO时能实现卓越的推理延迟。

了解更多关于 YOLOv10

性能与基准

下表COCO 上的原始性能指标。每列中最佳的整体数值均以粗体突出显示。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

在准确率方面YOLO ;YOLOv10 提供更低的延迟和显著更小的模型权重。例如,mAP 46.7%)略高于DAMO-YOLOs(46.0%),但其参数数量不到后者的一半(720万对1630万)。 较低的内存需求使YOLOv10 成为嵌入式系统中极具适应性的选择。

培训效率与实用性

从学术研究转向实际应用时,易用性至关重要。YOLO的多阶段蒸馏过程和复杂的NAS配置姿势估计 工程团队姿势估计 的学习曲线姿势估计

相反YOLOv10 因完全集成Ultralytics Python YOLOv10 匪浅。训练自定义模型只需极少的模板代码。Ultralytics 自动Ultralytics 数据增强超参数调优和 实验跟踪

from ultralytics import YOLO

# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()

快速原型制作

Ultralytics 开发者仅需几行代码即可将原型转化为 ONNX ,省去了传统框架所需的复杂环境配置。

实际应用案例

  • 智能零售(YOLO):YOLO精准度特别适合高密度服务器环境,该环境能充分分析顾客行为,且配备充足的GPU,同时可有效管理实时NMS 。
  • 自动驾驶车辆(YOLOv10):该NMS的架构可确保确定性、可预测的延迟,这对自动驾驶中的安全系统至关重要。
  • 工业自动化(YOLOv10):在高速运转的装配线上检测缺陷,需要采用能最大化实时推理速度且不消耗大量显存的模型,这使得YOLOv10 成为边缘部署YOLOv10 。

应用场景与建议

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

何时选择 DAMO-YOLO

YOLO 以下场景的强力选择:

  • 高吞吐量视频分析:在固定的NVIDIA GPU 处理高帧率视频流,其中批次1吞吐量是主要指标。
  • 工业制造生产线:在专用硬件上存在严格GPU 限制的场景,例如装配线上的实时质量检测。
  • 神经架构搜索研究:探究自动化架构搜索(MAE-NAS)与高效重参数化骨干网络对检测性能的影响。

何时选择 YOLOv10

YOLOv10 推荐YOLOv10 :

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

何时选择Ultralytics YOLO26)

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

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

新一代:Ultralytics YOLO26登场

虽然YOLOv10 NMS YOLOv10 基础,但该技术已迅速发展。对于现代应用场景,Ultralytics 模型凭借其卓越性能与实用性脱颖而出,它融合了历代模型的精髓并针对实际应用进行了优化。

YOLO26采用严格的原生端到端设计,省去了NMS ,从而简化了在边缘设备上的部署流程。此外,通过移除分布式焦点损失(DFL),该模型显著提升了与低功耗边缘AI硬件的兼容性。

在训练方面,YOLO26引入了MuSGD优化器——这种混合优化器借鉴了大型语言模型(LLM)的训练技术,确保了更稳定的训练过程和更快的收敛速度。结合ProgLoss + STAL损失函数,YOLO26在小目标识别方面实现了显著提升,这对野生动物保护无人机作业至关重要。

关键在于,YOLO26不仅是物体检测器。它全面实现了任务特异性优化,原生支持实例分割、基于残差对数似然估计(RLE)姿势估计 以及面向定向边界框(旋转框检测)的专用角度损失函数。CPU 较前代提升高达43%,堪称敏捷工程团队的首选方案。

针对YOLO26模型的集中化管理、标注及云端训练,Ultralytics 提供直观界面,可简化整个计算机视觉生命周期。

对探索其他最新进展感兴趣的开发者,也可评估 Ultralytics YOLO11 或transformer模型的 RT-DETR 框架,以满足需要独特架构解决方案的场景需求。


评论