Ultralytics YOLO27: 加入候补名单。
Get Started

YOLOv8 与 RTDETRv2#

计算机视觉领域不断发展,新的架构持续拓展实时目标检测的可能性。备受关注的两种模型是 Ultralytics YOLOv8 和百度 RTDETRv2。本指南对这两种模型进行技术对比,探讨其架构、性能指标和理想部署场景。

YOLOv8 概览#

Ultralytics YOLOv8 是 YOLO(You Only Look Once)模型系列的重要里程碑,在多种任务中兼顾速度、准确率和易用性。

主要特点:

架构与优势#

YOLOv8 引入了精简的架构,同时优化特征提取和边界框回归。它是一种无锚框检测器,可简化预测头并减少训练期间所需的超参数调整次数。这让 YOLOv8 在推理速度和平均精度均值 (mAP)之间实现了良好平衡,非常适合部署在边缘设备和云服务器等实际环境中。

与基于 Transformer 的架构相比,YOLOv8 在训练期间的内存需求也更低,因此开发者可以在标准消费级 GPU 上训练模型,而无需担心内存耗尽。

灵活性#

YOLOv8 的一大突出优势是原生支持多种任务。许多模型只专注于边界框检测,而 YOLOv8 开箱即支持目标检测、实例分割、图像分类、姿态估计和有向边界框 (OBB)检测。

RTDETRv2 概览#

RTDETRv2(实时检测 Transformer 第 2 版)以原始 RT-DETR 为基础,旨在将 Vision Transformer 的注意力机制引入实时目标检测应用。

主要特点:

架构与优势#

RTDETRv2 采用混合架构,将卷积神经网络 (CNN) 主干网络与 Transformer 编码器—解码器结构相结合。借助自注意力机制,模型能够捕获复杂的空间关系和全局上下文。RTDETRv2 采用一系列“免费增益”训练策略,在 COCO 数据集等标准基准数据集上取得了有竞争力的 mAP。

缺点#

尽管准确率很高,RTDETRv2 基于 Transformer 的特性仍会带来更高的内存消耗和更长的训练时间,相比纯 CNN 架构尤为明显。Transformer 通常需要更多显存,因此在资源受限的硬件上训练颇具挑战。此外,RTDETRv2 虽然擅长检测,但缺少 Ultralytics 生态系统内置的多任务支持(例如分割和姿态估计)。

深入了解 RTDETRv2

性能对比#

在为生产环境评估模型时,模型大小、推理速度和准确率之间的权衡至关重要。下表对 YOLOv8 和 RTDETRv2 的不同变体进行了直接比较。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
硬件与指标

CPU 推理使用 ONNX,GPU 速度则通过在 NVIDIA T4 GPU 上运行 TensorRT 进行测试。

用例与建议#

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

何时选择 YOLOv8#

YOLOv8 适用于:

  • 多任务通用部署: 项目需要在 Ultralytics 生态系统中使用经过验证的模型,完成检测、分割、分类和姿态估计。
  • 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
  • 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。

何时选择 RT-DETR#

以下情况推荐使用 RT-DETR:

  • 基于 Transformer 的检测研究:探索注意力机制和 Transformer 架构,以实现无需 NMS 的端到端目标检测。
  • 对延迟要求灵活的高精度场景:检测准确率至关重要,且可以接受略高推理延迟的应用。
  • 大型目标检测:场景中的目标以中大型为主,此时 Transformer 的全局注意力机制能够发挥天然优势。

何时选择 Ultralytics (YOLO26)#

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

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境: 没有专用 GPU 加速的设备中,YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%,优势显著。
  • 小目标检测:具有挑战性的场景,例如无人机航拍图像或 IoT 传感器分析。在这些场景中,ProgLoss 和 STAL 可以提升微小目标的检测精度。

Ultralytics 优势#

选择模型不应只看原始指标;周边软件生态系统对开发者效率至关重要。Ultralytics 生态系统以易用性为设计目标,提供统一的 Python API,简化整个机器学习生命周期。

从数据集管理到分布式训练,Ultralytics 都能处理复杂的样板代码。开发者可以使用现成的预训练权重,并集成 Hugging Face 等平台和实验监控工具。该生态系统积极开发、频繁更新,并拥有庞大的社区支持。

Ultralytics YOLO 模型还针对快速收敛和较低内存占用进行了优化,在训练过程中相比 RTDETRv2 等基于 Transformer 的检测器能加快实验速度。

展望未来:YOLO26 的强大能力#

YOLOv8 仍然是一款性能出色的模型,但对于新项目,Ultralytics 建议使用 2026 年 1 月发布的 YOLO26,它带来了多项改进:

  • 端到端无 NMS 设计:YOLO26 的可选一对一检测头(nms=False)无需进行非极大值抑制 (NMS) 后处理,从而让部署工作流更快且更具确定性。
  • 移除 DFL:移除 Distribution Focal Loss 可简化模型,提升其对边缘设备和低功耗设备的兼容性。
  • MuSGD 优化器:MuSGD(SGD 和 Muon 的混合优化器)受大语言模型训练启发,可提升训练稳定性并加快收敛。
  • CPU 推理速度最高提升 43%:YOLO26n 在 CPU ONNX 推理中的速度最高可比 YOLO11n 快 43%,适用于没有专用 GPU 的环境。
  • ProgLoss + STAL: 渐进式损失和小目标感知标签分配显著提升了小目标识别能力,这对航空影像和机器人应用至关重要。

Ultralytics 系列中还值得关注的其他现代替代方案包括 YOLO11,它仍然适用于现有项目,不过新部署建议使用 YOLO26。

代码示例:训练与推理#

Ultralytics API 简单易用,只需几行 Python 代码,你就能加载、训练和部署模型。运行以下示例前,请确保已安装 PyTorch。

from ultralytics import YOLO

# 加载预训练的 YOLOv8 小型模型
model = YOLO("yolov8s.pt")

# 在你的自定义数据集上训练模型
# 高内存效率的训练支持使用更大的批次大小
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)

# 对测试图像运行推理
results = model("https://ultralytics.com/images/bus.jpg")

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

# 导出以部署到边缘设备
export_path = model.export(format="onnx")
可直接部署

Ultralytics 支持通过单条命令导出为多种格式,包括 ONNX、TensorRT 和 CoreML,简化了不同硬件架构上的模型部署选项。

结论#

YOLOv8 和 RTDETRv2 都具备出色的实时目标检测能力。RTDETRv2 展示了 Transformer 捕获全局上下文的能力,因此适合复杂的空间推理任务,尤其是在推理速度和内存开销不是首要限制时。

不过,对于优先考虑速度、准确率和资源效率之间平衡的开发者来说,Ultralytics YOLO 模型是更实用的选择。YOLOv8 的轻量化设计、易用性、多任务支持和活跃的开源生态系统,使其非常适合可扩展的生产环境。若要获得最佳边缘性能,YOLO26 提供无 NMS 推理和更快的 CPU 速度。

评论