Ultralytics YOLO27:
Get Started

YOLOX 与 YOLOv5#

选择合适的目标检测模型是关键决策,决定着任何计算机视觉项目能否成功。本指南全面比较了 AI 领域的两款重要模型:Megvii 的 YOLOX 和 Ultralytics YOLOv5。通过分析它们的架构、性能指标和训练生态,我们希望帮助开发者和研究人员根据具体部署环境做出明智选择。

模型简介#

这两款模型都诞生于实时目标检测快速发展的时期,但它们采用了不同的架构理念来实现各自的性能。

YOLOX:无锚框方案#

YOLOX 由研究人员 Zheng Ge、Songtao Liu、Feng Wang、Zeming Li 和 Jian Sun 于 2021 年 7 月 18 日在 Megvii 发布。它摒弃传统锚框,带来了重大转变。在其 Arxiv 技术报告中,YOLOX 将无锚框设计与解耦头及 SimOTA 标签分配策略结合起来。这一设计旨在弥合学术研究与工业应用之间的差距,并在标准数据集上展现出强劲性能。

了解更多 YOLOX 信息

YOLOv5:生产级视觉 AI 的标准#

YOLOv5 由 Glenn Jocher 编写,并于 2020 年 6 月 26 日由 Ultralytics 发布,迅速成为实际部署的计算机视觉行业标准。它原生基于 PyTorch 框架构建,通过提供无与伦比的易用性、极快的训练速度和打磨完善的代码库,让先进 AI 惠及更多用户。YOLOv5 的架构注重在速度、精度和部署便捷性之间实现理想平衡,因此从边缘设备到大规模云端部署的各种场景都青睐它。

架构差异#

了解这些网络的核心机制差异,就能明白它们为何在不同任务中的表现各不相同。

无锚框与基于锚框#

最显著的区别在于 YOLOX 的无锚框机制。YOLOv5 这类传统模型依赖预定义锚框来预测边界框,因此需要对训练数据集进行聚类分析,以确定最佳锚框尺寸。YOLOX 则省去了这一步,直接在每个空间位置预测边界框坐标。无锚框方案减少了设计参数和启发式调优工作;而 YOLOv5 经改进的基于锚框方案则借助自动锚框功能,确保训练收敛极其稳定、可预测,并且开箱即用。

解耦头与耦合头#

YOLOX 采用解耦头,也就是说,分类和回归任务分别由独立的神经网络分支处理。作者认为,这样可以解决空间特征学习与语义特征学习之间的冲突。相比之下,YOLOv5(早期版本)使用高度优化的耦合头,以最大化计算效率并降低推理延迟,这对实时边缘计算至关重要。

架构演进

YOLOX 于 2021 年率先采用解耦头,此后 Ultralytics 在 YOLOv8 和前沿的 YOLO26 等后续模型中采用并完善了解耦架构,兼取两者之长。

标签分配策略#

YOLOX 使用 SimOTA 进行标签分配,将真实目标与预测结果的匹配建模为最优传输问题。这种动态分配方式能更好地处理拥挤场景。YOLOv5 则采用稳健的基于形状规则的分配方法,确保损失函数持续获得高质量正样本,从而成就了其出色的训练稳定性。

性能与基准测试#

速度与精度之间的权衡是检验这些架构的终极标准。下表展示了不同模型规模在标准基准测试上的表现。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(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
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLOX 的 mAP 表现颇具竞争力,尤其是较大的变体;不过,YOLOv5 在各种规格下的 TensorRT 推理速度都具有显著优势。以 YOLOv5s 为例,它的速度与精度比出色,非常适合争分夺秒的实时应用。

Ultralytics 的优势:训练与易用性#

从研究过渡到生产时,模型周边的生态往往和模型本身同样重要。此时,Ultralytics 生态的优势就显而易见了。

简化的用户体验#

YOLOv5 的“从零到精通”开发体验广受好评。借助 Ultralytics Python API 和 CLI,你只需一行代码即可加载、训练和部署模型。相比之下,从 Megvii GitHub 代码库运行 YOLOX,需要手动配置更多环境变量、设置复杂的 Python 路径,而且学习曲线更陡,这些都是学术研究代码库的典型特点。

训练效率与内存需求#

Ultralytics 模型经过精心设计,可最大限度减少训练时的内存占用。与参数量庞大的 Transformer 模型(如 RT-DETR)或未经优化的研究模型相比,YOLOv5 所需的 CUDA 显存显著更少。这样,开发者就能在消费级硬件上使用更大的批次,加快迭代开发周期。

跨任务的通用性#

YOLOX 严格来说是目标检测框架,而 Ultralytics 生态已扩展 YOLOv5,使其支持多种视觉任务。开箱即可使用完全相同的 API 语法执行图像分类、实例分割和目标检测。

持续创新

如果你还需要姿态估计或有向边界框(OBB)检测等更高级任务,我们强烈建议升级到最新的 Ultralytics YOLO26架构,它原生支持所有这些任务,并拥有先进的精度表现。

代码对比#

通过代码最能体现易用性上的差异。

使用 YOLOv5 训练:

from ultralytics import YOLO

# 加载预训练的 YOLOv5s 模型
model = YOLO("yolov5su.pt")  # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重

# 使用 COCO8 示例数据集训练模型
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 对图像进行推理
results = model("https://ultralytics.com/images/zidane.jpg")

# 显示结果
results[0].show()

使用 YOLOX 训练: (需要手动克隆代码库、安装 setup.py,并使用复杂的 CLI 参数)

# Example YOLOX training command
python tools/train.py -f exps/default/yolox_s.py -d 1 -b 64 --fp16 -o

Ultralytics 方案消除了繁琐环节,让你专注于数据集和应用逻辑,而不是调试配置文件。此外,借助内置的 Weights & Biases 和 Comet ML集成,实验跟踪也十分便捷。

理想用例和实际应用#

如何选择这些模型,取决于项目的运行环境。

YOLOX 的优势领域#

对于明确研究无锚框范式或标签分配策略的学术场景,YOLOX 仍是有力候选。如果拥挤场景检测是绝对首要指标,而边缘部署速度次之,它也很适用。

YOLOv5 的优势所在#

YOLOv5 是实用部署领域公认的佼佼者。

  • 高速制造:对于装配线上的缺陷检测,YOLOv5 在边缘 GPU 上的极低推理延迟可确保产品检测不会拖慢传送带。
  • 无人机与航拍影像:得益于高效的内存占用,它可以运行在无人机的轻量级伴随计算机上,用于农业监测和野生动物追踪等任务。
  • 智慧零售:从自动结账到库存管理,YOLOv5 都能轻松导出为 TensorRT 和 ONNX,从而部署到数千个门店摄像头上。

展望未来:YOLO26 的优势#

YOLOv5 虽是经典模型,但 AI 领域发展迅速。如果你今天开始一个新项目,我们强烈建议你关注最新一代 Ultralytics 模型。

Ultralytics YOLO26 于 2026 年发布,实现了重大飞跃。它提供可选的端到端无 NMS 设计(nms=False),无需进行非极大值抑制后处理,大幅简化了部署逻辑。YOLO26 去除了分布焦点损失(DFL),并采用前沿的 MuSGD 优化器,在保持更高精度的同时,CPU 推理速度比前代最多提升 43%;得益于全新的 ProgLoss + STAL(渐进式损失与小目标感知标签分配),小目标检测尤为出色。

无论你选择久经考验的 YOLOv5,还是尖端的 YOLO26,Ultralytics Platform 都能提供完善的工具,助你将计算机视觉解决方案从概念顺畅落地到生产环境。请务必查阅全面的 Ultralytics 文档,充分发挥 AI 工作流的潜力。

评论