跳转至内容

YOLOX与YOLO26:从无锚点到端到端目标检测的演进

过去五年间,计算机视觉领域经历了快速变革,从复杂的锚点架构转向精简的无锚点设计,最终发展为原生端到端系统。 本对比深入探讨了2021年发布的关键性无锚模型YOLOX与Ultralytics 推出的尖端端到端检测器YOLO26之间的技术差异。

尽管YOLOX在其时代为研究和性能树立了高标准,但YOLO26通过引入NMS 和MuSGD优化器等突破性优化方案,使其成为现代生产环境中追求低延迟与高精度的优选方案。

YOLOX:无锚框先驱

2021年7月,旷视科技的研究人员发布了YOLOX模型,该模型标志着与此前YOLO (YOLOv5)的锚点逻辑产生了重大突破。通过取消锚点框,作者旨在简化设计流程,并减轻与锚点聚类相关的超参数调优负担。

主要技术特点:

  • 无锚点机制:无需预定义锚点框,将目标检测视为点回归问题。
  • 解耦头部:将分类与定位任务分离至网络头部的不同分支,从而提升了收敛速度与精度。
  • SimOTA:一种名为简化最优运输分配(Simplified Optimal Transport Assignment)的高级标签分配策略,能够动态地将正样本分配至真实标签。

尽管具有创新性,YOLOX仍依赖传统的非最大抑制(NMS)进行后处理。该步骤虽能消除重复边界框,却引入了延迟波动与计算开销,这在严格实时应用中可能成为性能瓶颈。

模型详情:

  • 作者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, 和 Jian Sun
  • 组织: Megvii
  • 日期: 2021-07-18
  • 链接:YOLOX Arxiv|YOLOX GitHub

了解更多关于 YOLOX 的信息

YOLO26:端到端标准

由Ultralytics于2026年1月推出 Ultralytics推出的YOLO26代表了计算机视觉领域效率的巅峰。该模型彻底摒弃了NMS 管道,采用原生端到端NMS设计。这种架构使模型能够直接输出最终检测到的目标集,显著降低延迟并简化部署逻辑。

主要技术特点:

  • NMS:消除了对数千个候选框进行排序和过滤的计算成本,从而实现稳定、可预测的推理时间。
  • MuSGD优化器:一种将SGD 与μSGD(受大型语言模型训练创新启发,如Moonshot AI的Kimi K2)相结合的混合优化器。该设计确保了更稳定的训练动态和更快的收敛速度。
  • DFL移除:移除分布式焦点损失(DFL)可简化模型头部,使其更兼容边缘设备和量化工具。
  • ProgLoss + STAL:先进的损失函数(程序化损失与尺度理论对齐损失),显著提升小目标识别能力——这是无人机影像与工业检测的关键能力。

模型详情:

了解更多关于 YOLO26 的信息

为何端到端至关重要

传统模型如YOLOX会输出数千个冗余边界框,必须通过非最大抑制(NMS)进行过滤。该过程CPU,且难以在TPU或NPU等硬件加速器上优化。YOLO26的端到端设计省去了这一步骤,使神经网络能直接输出最终结果。相比前代模型,该设计使CPU推理速度提升高达43%

性能对比

下表突显了两种架构之间的性能差距。YOLO26展现出更优的准确率(mAP)和效率,尤其在用于边缘AI应用的Nano和Small变体中表现突出。

模型尺寸
(像素)
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
YOLO26n64040.938.91.72.45.4
YOLO26s64048.687.22.59.520.7
YOLO26m64053.1220.04.720.468.2
YOLO26l64055.0286.26.224.886.4
YOLO26x64057.5525.811.855.7193.9

注:由于NMS 的NMS ,YOLOX在现代硬件上的速度通常较慢,而YOLO26的指标包含所有后处理时间。

架构深度解析

脊柱与头部

YOLOX采用改良的CSPDarknet骨干网络,重点在于解耦检测头。虽然这种解耦设计有效,但与早期模型的共享检测头设计相比,参数数量显著增加。

相比之下,YOLO26采用基于神经架构搜索(NAS)理念设计的高效优化骨干网络。其头部结构通过移除深度全连接层(DFL)得以精简,这不仅缩减了模型体积,还完美适配难以处理复杂输出层的硬件加速器。这使得模型能高效导出TensorRTONNX 时实现无缝衔接。

损失函数与训练

YOLOX引入SimOTA算法以动态解决目标标签分配问题,但仍依赖标准损失函数。YOLO26通过整合ProgLoss(程序化损失)与STAL(尺度理论对齐损失)实现突破,这两种损失函数能根据目标尺寸和训练阶段动态调整边界框误差的惩罚力度,从而YOLO 在检测远距离行人或制造缺陷等微小物体方面的历史弱点。

此外,YOLO26中的MuSGD优化器将大型语言模型领域的稳定性技术引入视觉领域。通过比SGD更有效地跨层归一化更新,YOLO26在减少训练 epoch 的同时实现了更高精度。

理想用例

何时使用YOLOX

YOLOX在学术界仍是一个有价值的参考点。

  • 研究基准:其清晰、无锚点的结构使其成为研究标签分配策略的理想基准。
  • 遗留项目:已深度集成MegEngine或特定YOLOX分支的系统,若立即迁移可能成本过高。

何时使用 YOLO26

YOLO26是几乎所有新型商业和工业应用的推荐选择。

  • 边缘计算:凭借高达43%CPU 加速,YOLO26特别适用于树莓派、Jetson Nano及无GPU的移动设备。
  • 机器人与自主系统: NMS消除了杂乱场景(例如机器人在拥挤仓库中导航)引发的延迟突增,确保了确定性响应时间。
  • 高精度检测: ProgLoss与STAL的组合使YOLO26在涉及微小缺陷的质量控制任务中表现卓越。
  • 多任务应用:与主要作为检测器的YOLOX不同Ultralytics 支持YOLO26进行实例分割姿势估计 以及定向边界框旋转框检测。

Ultralytics 优势

选择YOLO26也意味着能够使用全面的 Ultralytics 生态系统。YOLOX提供独立存储库,Ultralytics 统一框架,可简化整个AI生命周期。

  1. 易用性: Python 您在不同任务(detect、segment、姿势估计)和模型(YOLO26、 YOLO11, RT-DETR)只需修改一行代码。
  2. 训练效率: Ultralytics 训练过程中经过内存效率优化。相较于旧架构或大型Transformer模型,您可在消费级GPU上训练更大批量的数据。
  3. Ultralytics : Ultralytics 提供基于网页的界面,支持数据集管理、自动标注及一键式模型训练,从而优化团队协作流程。
  4. 完善的生态系统:凭借频繁的更新、详尽的文档以及活跃的社区支持,开发者永远不会独自面对调试难题。

代码示例

使用 ultralytics 包。以下示例演示了如何加载预训练模型并对图像进行推理。

from ultralytics import YOLO

# Load the YOLO26 Nano model (highly efficient for CPU)
model = YOLO("yolo26n.pt")

# Perform object detection on an image
# The model handles preprocessing and post-processing internally
results = model.predict("https://ultralytics.com/images/bus.jpg", save=True)

# Display the results
for result in results:
    result.show()  # Show image in a window

    # Print boxes to console
    for box in result.boxes:
        print(f"Class: {box.cls}, Confidence: {box.conf}, Coordinates: {box.xywh}")

结论

YOLOX与YOLO26均标志着目标检测领域的重要里程碑。2021年,YOLOX成功挑战了锚点基准范式,证明无锚点模型也能达到顶尖性能。而YOLO26通过解决推理环节的"最后一公里"NMS ,重新定义了2026年的行业标准。

凭借端到端架构MuSGD优化器和专用损失函数,YOLO26实现了速度、精度与易用性的完美平衡,其卓越表现无可匹敌。对于寻求部署强大计算机视觉解决方案的开发者而言——无论是在高性能云服务器还是资源受限的边缘设备上——YOLO26都是不二之选。

对于有兴趣探索其他现代建筑风格的人士,建议参考 YOLO11 进行通用目标检测,或参考 RT-DETR 用于transformer应用。


评论