Ultralytics YOLO27:

EfficientDet vs RTDETRv2#

计算机视觉项目选择最优架构,需要在多样化的神经网络中进行权衡。本指南将对两种截然不同的方法进行详细技术比较:高度可扩展的卷积神经网络(CNN)系列 EfficientDet,以及先进的实时 Transformer 模型 RTDETRv2。我们将评估它们在结构、训练方法以及不同硬件环境下的部署适用性方面的差异。

了解传统效率与现代 Transformer 能力之间的权衡后,开发者可以做出明智的决策。此外,我们还将探讨新推出的 Ultralytics YOLO26 等现代替代方案如何弥合这一差距,提供无与伦比的速度、准确率和易用性。

了解 EfficientDet#

EfficientDet 通过引入一种系统化的模型缩放方法,彻底改变了目标检测领域。

架构与核心概念#

EfficientDet 的核心是使用 EfficientNet 作为骨干网络,并引入双向特征金字塔网络(BiFPN)。BiFPN 通过为不同输入特征的重要性学习可训练权重,实现简单快速的多尺度特征融合。它还结合了复合缩放方法,同时统一缩放骨干网络、特征网络以及边界框/类别预测网络的分辨率、深度和宽度。

优势与局限#

EfficientDet 的主要优势在于参数效率。在发布时,EfficientDet-D0 等模型相比之前的 YOLO 版本,使用更少的参数和 FLOPs 实现了更高的准确率,因此在计算资源严格受限的环境中极具吸引力。

不过,EfficientDet 在后处理期间依赖标准的非极大值抑制(NMS)来过滤重叠的边界框,这可能会在实时处理流水线中造成延迟瓶颈。此外,尽管其训练流程文档完善,但与现代工具经过高度优化的开发者体验相比,微调 EfficientDet 可能更加繁琐。

了解有关 EfficientDet 的更多信息

旧版本支持

虽然 EfficientDet 为可扩展网络铺平了道路,但将这些模型部署到现代 NPU 上通常需要大量手动优化。为了简化部署,较新的 Ultralytics models 提供一键导出功能。

探索 RTDETRv2#

RTDETRv2 代表了基于 Transformer 的架构的发展方向,使范式从传统的基于锚框的 CNN 转向新的方向。

Transformer 的进展#

RTDETRv2 基于实时检测 Transformer(RT-DETR)基线构建。它利用全局注意力机制,使模型能够理解复杂的场景上下文,而不受标准卷积局部性的限制。其最显著的架构优势是原生无需 NMS 的设计。通过直接从输入图像中预测目标,它简化了推理流水线,避免了 NMS 后处理所需的启发式调优。

优势与劣势#

RTDETRv2 在重叠目标容易干扰传统 CNN 的高密度环境中表现出色。在复杂的基准数据集(如 COCO)上,它具有很高的准确率。

尽管具有较高的准确率,Transformer 模型通常需要大量内存。其训练效率明显较低;与 CNN 相比,它需要更多的训练周期和更大的 CUDA 内存占用才能收敛。因此,对于云预算有限或需要快速原型开发的开发者来说,RTDETRv2 并不理想。

进一步了解 RTDETRv2

Transformer 内存限制

训练 RTDETRv2 等 Transformer 模型通常需要高端 GPU。如果遇到内存不足(OOM)错误,可以考虑在训练期间使用内存需求更低的模型,例如 Ultralytics YOLO 系列。

性能基准比较#

了解原始性能指标对于模型选择至关重要。下表展示了 EfficientDet 和 RTDETRv2 在不同尺寸下的比较。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数量
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

使用场景与建议#

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

何时选择 EfficientDet#

EfficientDet 适合以下情况:

  • **Google Cloud 和 TPU 流水线:**与 Google Cloud Vision API 或 TPU 基础设施深度集成的系统,EfficientDet 在其中具有原生优化。
  • **复合缩放研究:**专注于研究网络深度、宽度和分辨率均衡缩放效果的学术基准测试。
  • **通过 TFLite 进行移动端部署:**明确要求导出为 TensorFlow Lite 以用于 Android 或嵌入式 Linux 设备的项目。

何时选择 RT-DETR#

推荐在以下情况下选择 RT-DETR:

  • 基于 Transformer 的检测研究: 探索注意力机制和 Transformer 架构,以实现无需 NMS 的端到端目标检测的项目。
  • 高精度且延迟灵活的场景: 将检测精度置于首要位置,并且可以接受略高推理延迟的应用。
  • 大型目标检测: 主要包含中大型目标的场景,在这些场景中,Transformer 的全局注意力机制具有天然优势。

何时选择 Ultralytics (YOLO26)#

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

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

Ultralytics 的优势:推出 YOLO26#

虽然 EfficientDet 和 RTDETRv2 已在计算机视觉发展史上占据重要地位,但现代生产环境要求在速度、准确率和出色的开发者体验之间实现完美平衡。近期发布的 Ultralytics YOLO26 综合了这些不同架构的优势。

YOLO26 将 Ultralytics 广为人知的精简生态系统与突破性的内部机制相结合,表现尤为突出。

为何选择 YOLO26 而不是竞品?#

  • 端到端无 NMS 设计: YOLO26 从 RTDETRv2 等 Transformer 中汲取灵感,原生支持端到端处理。它消除了 NMS 后处理,在不引入纯 Transformer 巨大参数膨胀的情况下,确保部署流水线更快、更简单。
  • MuSGD 优化器: YOLO26 借鉴了大语言模型训练领域的创新成果(如 Moonshot AI 的 Kimi K2),采用 SGD 和 Muon 的混合方案。与 RTDETRv2 所需的长期训练计划相比,这带来了前所未有的训练稳定性和显著更快的收敛速度。
  • 针对边缘设备优化: YOLO26 的 CPU 推理速度最高可提升 43%,专为边缘 AI打造。在手机和智能相机等资源受限的硬件上,它可以轻松超越大型 Transformer 模型。
  • 移除 DFL: 移除分布式焦点损失简化了模型图,有助于顺畅导出到 TensorRTONNX
  • ProgLoss + STAL: 这些先进的损失函数显著提升了小目标识别能力,解决了航空影像和机器人领域中常见的瓶颈问题。
  • 多功能性: 与主要专注于检测的 RTDETRv2 不同,YOLO26 原生支持实例分割姿态估计图像分类定向边界框(OBB),并针对不同任务提供改进,例如用于姿态估计的 RLE 和用于 OBB 的专用角度损失。
集成生态系统

借助 Ultralytics Platform,你可以管理数据集,在云端训练 YOLO26 或 YOLO11 等模型,并通过灵活的 API 顺畅完成部署。

使用 Ultralytics 简化代码#

维护良好的 Ultralytics Python API 让模型训练和推理变得十分简单。开发者可以轻松对模型进行基准测试,或仅使用极少的样板代码启动训练脚本。

from ultralytics import YOLO

# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference on a test image
predictions = model.predict("image.jpg")

对于管理旧有基础设施的用户来说,备受赞誉的 Ultralytics YOLOv8 仍是稳定而强大的选择,展现了 Ultralytics 生态系统的长期可靠性。无论你是在运行复杂的实时跟踪算法,还是简单的缺陷检测,升级到 YOLO26 都能确保系统面向未来,同时具备高准确率和高内存效率。

评论