Ultralytics YOLO27:
Get Started

YOLOv5 与 YOLOv10#

过去几年,实时计算机视觉领域飞速发展,各种架构不断突破现代硬件上的性能极限。评估先进架构时,YOLOv5 与 YOLOv10 的对比展现了目标检测领域的重要演进。本篇技术深度解析将探讨它们的架构范式、性能权衡,以及开发者如何在生产环境中利用这些工具。

深入剖析架构#

了解这些模型在结构上的差异,对于在真实场景中高效部署至关重要。

Ultralytics YOLOv5:行业标准#

YOLOv5 由 Ultralytics 推出,长期以来以速度、精度和易用性之间无可匹敌的平衡而闻名。

YOLOv5 采用基于锚框的检测机制,并结合了经过深度优化的 CSPDarknet 主干网络。该架构主要依赖几乎所有推理引擎都支持的标准操作,因此具有极强的通用性。它的一大优势是 Ultralytics Python SDK,该 SDK 提供流畅的用户体验、简洁的 API 和详尽的文档。此外,与基于 Transformer 的模型相比,YOLOv5 所需的内存更少,因此可以在消费级 GPU 上快速训练,无需承担高昂的显存开销。

YOLOv10:推进范式发展#

YOLOv10 由清华大学的研究人员开发,旨在解决以往架构中存在的特定延迟瓶颈。

进一步了解 YOLOv10

YOLOv10 的标志性特点是原生支持无 NMS(非极大值抑制)设计。通过在训练期间采用一致的双重分配机制,该模型在推理时无需进行 NMS 后处理。这种理论上的延迟降低对使用强大 NVIDIA TensorRT 加速的高端硬件部署非常有利,不过也可能给边缘设备带来结构上的复杂性。

生态系统优势

YOLOv10 带来了一些有趣的架构创新,但 YOLOv5 和较新的 YOLO26 等 Ultralytics 模型可在 Ultralytics Platform 中原生使用,并提供更高的训练效率、自动超参数演进,以及开箱即用的丰富导出选项。

性能分析#

比较这些模型时,准确率(mAP)与计算成本(延迟和参数量)之间的平衡决定了最佳适用场景。以下是这些模型在 COCO 数据集上的技术性能对比。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
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
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

在相同规模下,YOLOv10 的 mAP50-95 明显更高,这得益于其现代化的效率与准确率兼顾的模型设计。不过,YOLOv5 仍保持着极具竞争力的延迟,尤其是在 Nano 和 Small 级别,因此在 NVIDIA Jetson 系列等受限嵌入式环境中,或通过 OpenVINO 在标准 CPU 上运行时,都非常可靠。

训练方法与生态系统#

模型的价值与其周边生态密切相关。Ultralytics 维护着一个质量出色、支持任务范围极广的生态系统。YOLOv10 严格专注于 2D 目标检测,而 Ultralytics 原生支持实例分割、图像分类、姿态估计和有向边界框(OBB)。

此外,与其他基于 Transformer 的方法相比,训练 Ultralytics 模型所需的内存开销低得多,因此开发周期更快、成本效益更高。

流畅执行代码#

训练、验证和导出模型都通过单一 API 统一完成。只需更改一个字符串,你就可以切换模型。

from ultralytics import YOLO

# 加载预训练的 YOLOv5 模型进行基线测试
model_v5 = YOLO("yolov5su.pt")  # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重

# 加载 YOLOv10 模型进行对比
model_v10 = YOLO("yolov10s.pt")

# 在 COCO8 数据集上高效训练模型
results = model_v5.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="0",  # 自动使用 PyTorch CUDA 加速
    batch=16,
)

# 导出为 ONNX,以便在 CPU 上部署推理
model_v5.export(format="onnx", simplify=True)

用例与建议#

在 YOLOv5 和 YOLOv10 之间做出选择,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv5#

YOLOv5 适合以下场景:

  • 经过验证的生产系统: 现有部署重视 YOLOv5 长期积累的稳定记录、详尽文档和庞大社区支持。
  • 资源受限的训练: GPU 资源有限的环境中,YOLOv5 高效的训练流水线和较低的内存需求具有优势。
  • 广泛支持导出格式: 需要跨多种格式部署的项目,包括 ONNX、TensorRT、CoreML和 LiteRT。

何时选择 YOLOv10#

以下场景推荐使用 YOLOv10:

  • 无 NMS 的实时检测:适用于需要从端到端检测中获益、无需使用非极大值抑制并能降低部署复杂度的应用。
  • 均衡权衡速度与准确率:适用于需要在不同模型规模下兼顾推理速度和检测准确率的项目。
  • 延迟稳定的应用:适用于推理时间可预测性至关重要的部署场景,例如机器人或自主系统。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

未来方向:Ultralytics YOLO26#

YOLOv5 让更多人能够使用目标检测,YOLOv10 则拓展了无 NMS 架构的边界,而前沿技术仍在不断发展。对于新项目,我们强烈推荐于 2026 年 1 月发布的尖端模型 Ultralytics YOLO26。

YOLO26 将 Ultralytics 生态系统的可靠性与突破性进展融为一体:

  • 端到端无 NMS 设计:YOLO26 将无 NMS 范式直接集成到 Ultralytics 框架中,作为可选的一对一检测头(nms=False),从而简化部署并降低延迟。
  • CPU 推理速度最高提升 43%:移除分布焦点损失(DFL)后,YOLO26 在没有 GPU 的边缘设备上速度显著提升。
  • MuSGD 优化器:MuSGD 优化器借鉴了 Moonshot AI 在 LLM 训练方面的创新,带来前所未有的稳定性和快速收敛能力。
  • ProgLoss + STAL:这些新型损失函数显著提升了小目标识别能力,这对无人机影像和机器人等领域至关重要。

你可以直接通过 Ultralytics Platform 管理、训练和部署 YOLO26。

结论#

在 YOLOv5 和 YOLOv10 之间做选择,通常取决于具体的项目限制。YOLOv10 能为研究人员和利用原始 GPU 吞吐量的应用提供出色的 mAP。相比之下,YOLOv5 仍然是可靠且兼容性极强的主力模型,适用于标准部署。

不过,计算机视觉领域瞬息万变。为了获得最佳的性能平衡、通用性和易用性,开发者应关注 Ultralytics YOLO26。它将无 NMS 推理的速度与完善且文档齐全的 Ultralytics 生态系统相结合,确保你的视觉 AI 解决方案能够面向未来。针对特定使用场景,开发者还可以选择 YOLO11 来获得出色的通用鲁棒性,或选择基于 Transformer、精度出色的 RT-DETR。

评论