跳转至内容

YOLOX vs YOLOv10:无锚框与 NMS-Free 实时目标检测的比较

实时计算机视觉模型的演进以显著的架构飞跃为标志。在这一历程中,两个关键的里程碑是YOLOX和YOLOv10。YOLOX于2021年发布,通过引入高效的无锚点设计,成功弥合了学术研究与工业应用之间的鸿沟。三年后,YOLOv10通过在后处理过程中消除对非极大值抑制(NMS)的需求,彻底改变了该领域,突破了效率和速度的界限。

本全面的技术比较探讨了这两种模型的架构、性能指标和理想应用场景,提供洞察,助您为下一个目标 detect 项目选择合适的工具。

模型起源与元数据

了解这些模型的起源,有助于理解其架构选择和预期部署环境。

YOLOX 详情
作者:葛政、刘松涛、王峰、李泽明、孙剑
机构:旷视科技
日期:2021-07-18
论文:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
文档:https://yolox.readthedocs.io/en/latest/

了解更多关于 YOLOX 的信息

YOLOv10 详情
作者: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, 和 Guiguang Ding
组织: 清华大学
日期: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
文档: https://docs.ultralytics.com/models/yolov10/

了解更多关于 YOLOv10

架构创新

YOLOX 和 YOLOv10 的核心区别在于它们如何处理边界框预测和后处理。

YOLOX:开创性的无锚点设计

YOLOX 通过将 YOLO 系列过渡到无锚框架构而引起轰动。通过预测物体中心而不是依赖预定义锚框,YOLOX 大幅减少了自定义数据集所需的设计参数和启发式调优。此外,它引入了解耦头,将分类和回归任务分离到不同的路径中。这种方法解决了识别物体是什么与确定物体在哪里之间的冲突,显著提升了收敛速度和精度。

YOLOv10:免 NMS 革命

尽管YOLOX简化了检测头,但它仍然依赖NMS来过滤掉冗余的边界框预测。YOLOv10解决了这一根本性瓶颈。通过在训练期间利用一致的双重分配,YOLOv10实现了原生的端到端detect。它在训练期间采用一对多头部以确保丰富的监督信号,同时在推理期间利用一对一头部直接输出最终预测。这种整体的效率-精度驱动设计完全消除了NMS,显著降低了嵌入式芯片上的推理延迟。

移除 NMS 的影响

非极大值抑制通常是在神经网络处理器 (NPU) 上加速的复杂操作。通过移除它,YOLOv10 允许整个模型图在专用硬件上无缝执行,显著提高了与 OpenVINO 和 TensorRT 等优化框架的兼容性。

性能指标与比较

在评估用于生产的模型时,平衡准确性与计算开销至关重要。下表展示了 YOLOX 和 YOLOv10 不同规模之间的权衡。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.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

数据分析

这些指标清楚地展示了YOLOv10的代际飞跃。例如,YOLOv10-S实现了46.7%的平均精度,而YOLOX-m为46.9%,但其使用的参数(7.2M vs 25.3M)不到三分之一,FLOPs也显著减少。此外,顶级的YOLOv10-X模型将mAP推高至54.4%,使其在要求高精度的任务中极具竞争力,同时比旧的YOLOX-x架构更快。

Ultralytics 生态系统优势

尽管YOLOX仍然是一个强大的开源研究实现,但采用YOLOv10可立即访问Ultralytics提供的完善生态系统。选择Ultralytics支持的模型可确保简化的用户体验,其特点是简单的API和详尽的文档。

开发者从该框架的内存需求中获益匪浅;训练 Ultralytics 模型通常比 RT-DETR 等基于 Transformer 的重型替代方案消耗更少的 CUDA 内存。这种高效的训练占用空间允许在消费级硬件上使用更大的批处理大小,从而加速从数据收集到模型部署的时间。此外,该框架提供了无与伦比的多功能性,允许用户通过最少的代码更改在目标 detect实例 segment姿势估计之间无缝切换。

训练与推理示例

统一的 API 使验证想法变得异常快速。以下代码片段演示了使用PyTorch后端训练和部署 YOLOv10 模型是多么容易:

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

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

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

# Export the model for edge deployment
model.export(format="engine", half=True)

通过利用内置的导出例程,将模型转换为 TensorRTONNX 等格式只需一行代码,完全绕过了复杂的编译障碍。

理想用例和部署场景

这些架构之间的选择主要取决于您的硬件限制和具体的领域要求。

实时视频分析

对于需要超低延迟的应用,例如自动驾驶或实时交通监控,YOLOv10是卓越的选择。其端到端无NMS设计确保了确定性的执行时间,这对于无法容忍可变后处理延迟的安全系统至关重要。这些模型可以在NVIDIA Jetson系列等设备上轻松实现高帧率。

学术基准与边缘微控制器

YOLOX 在学术环境中仍有价值,研究人员希望获得一个简洁的解耦头基线来实验标签分配策略。此外,极其小巧的 YOLOX-Nano(参数量小于 100 万)可以部署到内存以千字节计的高度受限边缘微控制器上,前提是硬件能够支持标准卷积操作。

终极标准:Ultralytics YOLO26

尽管YOLOv10通过移除NMS实现了巨大飞跃,但计算机视觉领域发展迅速。对于今天旨在实现绝对一流性能的开发者,我们强烈推荐探索YOLO26

YOLO26作为视觉AI的最新标准发布,它汲取了前代产品的基本思想并进行了大幅增强。它提供了极致的性能平衡,原生支持检测、分割、姿势估计和有向边界框。

YOLO26 是现代计算机视觉管道的推荐选择,原因如下:

  • 端到端免NMS设计:基于YOLOv10的突破,YOLO26原生支持端到端,保证了更快、确定性的推理时间,且无后处理瓶颈。
  • CPU 推理速度提升高达 43%: 它专门针对边缘计算进行了优化,确保在移动处理器和缺乏独立 GPU 的设备上提供卓越性能。
  • MuSGD 优化器:受大型语言模型训练(特别是月之暗面 Kimi K2)启发,YOLO26 采用了 SGD 和 Muon 的混合体,以实现极其稳定的训练和快速收敛。
  • ProgLoss + STAL: 这些先进的损失函数在小目标识别方面带来了显著改进,这对于航空影像和无人机导航等严苛领域至关重要。
  • DFL移除:通过移除分布焦点损失,YOLO26简化了模型图,以实现向边缘和低功耗设备的无缝导出。
  • 任务特定改进: 无论是使用用于姿势估计的残差对数似然估计 (RLE),还是用于 obb 的专用角度损失,YOLO26 都针对每个主要视觉任务进行了微调。

对于准备使用最有效的训练和部署工具升级其管道的开发者而言,转向 Ultralytics 平台并利用 YOLO26,可确保您始终走在人工智能的前沿。对较旧但稳定的架构感兴趣的用户,也可以查阅 YOLO11YOLOv8,以获取广泛的社区支持和经验证的鲁棒性。


评论