Ultralytics YOLO27:

YOLOv5 与 YOLOv10#

过去几年,实时计算机视觉领域呈指数级增长,各种架构不断突破现代硬件的能力边界。在评估最先进的架构时,对 YOLOv5YOLOv10 的比较凸显了目标检测领域的一次重大演进。本技术深度解析将探讨它们的架构范式、性能权衡,以及开发者如何在生产环境中利用这些工具。

架构深入解析#

了解这些模型之间的结构差异,对于在现实环境中高效部署它们至关重要。

Ultralytics YOLOv5:行业标准#

YOLOv5 由 Ultralytics 推出,长期以来一直因其速度、准确率和易用性之间无与伦比的平衡而广受认可。

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

YOLOv10:推进架构范式#

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

了解更多关于 YOLOv10 的信息

YOLOv10 的显著特点是原生无 NMS(非极大值抑制)设计。通过在训练期间使用一致的双重分配,该模型无需在推理期间进行 NMS 后处理。这种理论上的延迟降低对于运行在配备强大 NVIDIA TensorRT 加速的高端硬件上的部署非常有利,但可能会为边缘设备引入结构复杂性。

生态系统优势

虽然 YOLOv10 提供了颇具吸引力的架构创新,但 YOLOv5 和更新的 YOLO26 等 Ultralytics 模型已在 Ultralytics Platform 中获得原生支持,开箱即用地提供更高的训练效率、自动超参数演化和丰富的导出选项。

性能分析#

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

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数量
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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 凭借现代化的效率与准确率驱动的模型设计,明显取得了更高的 mAP50-95。不过,YOLOv5 仍保持着极具竞争力的延迟表现,尤其是在 Nano 和 Small 级别,因此非常适合资源受限的嵌入式环境,例如 NVIDIA Jetson 系列,或通过 OpenVINO 运行在标准 CPU 上的环境。

训练方法与生态系统#

模型的价值与其周边生态系统密切相关。Ultralytics 维护着一个极其完善的生态系统,支持种类非常广泛的任务。YOLOv10 专注于二维 目标检测,而 Ultralytics 原生支持 实例分割图像分类姿态估计有向边界框(OBB)

此外,训练 Ultralytics 模型所需的内存开销显著低于竞争性的基于 Transformer 的方法,有助于保持开发周期快速且经济高效。

无缝代码执行#

模型的训练、验证和导出均统一在单一 API 下。你只需修改一个字符串即可在模型之间切换。

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model for baseline testing
model_v5 = YOLO("yolov5s.pt")

# Load a YOLOv10 model for comparison
model_v10 = YOLO("yolov10s.pt")

# Train the model on the COCO8 dataset efficiently
results = model_v5.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="0",  # Automatically utilizes PyTorch CUDA acceleration
    batch=16,
)

# Export to ONNX for CPU inference deployment
model_v5.export(format="onnx", simplify=True)

使用场景与建议#

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

何时选择 YOLOv5#

YOLOv5 适合以下场景:

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

何时选择 YOLOv10#

以下情况推荐选择 YOLOv10:

  • 无 NMS 实时检测: 适用于能够从无需非极大值抑制的端到端检测中受益的应用,可降低部署复杂性。
  • 速度与准确率的平衡: 适用于需要在各种模型规模之间实现推理速度和检测准确率良好平衡的项目。
  • 延迟稳定的应用: 适用于推理时间可预测至关重要的部署场景,例如机器人技术或自主系统。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26 在性能和开发者体验之间提供了最佳组合:

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

未来:Ultralytics YOLO26#

YOLOv5 让使用 AI 变得更加普及,YOLOv10 则推动了无 NMS 架构的发展,但技术前沿仍在不断演进。对于新项目,我们强烈推荐于 2026 年 1 月发布的尖端模型 Ultralytics YOLO26

YOLO26 将 Ultralytics 生态系统的可靠性与突破性创新结合在一起:

  • **端到端无 NMS 设计:**将无 NMS 范式直接融入 Ultralytics 框架,YOLO26 简化了部署并确保更低的延迟。
  • **CPU 推理速度最高提升 43%:**移除 Distribution Focal Loss(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

评论