RF-DETR:YOLO霸主地位不保?开源 SOTA 实时目标检测模型,比眨眼还快3倍!

本文涉及的产品
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
简介: RF-DETR是首个在COCO数据集上突破60 mAP的实时检测模型,结合Transformer架构与DINOv2主干网络,支持多分辨率灵活切换,为安防、自动驾驶等场景提供高精度实时检测方案。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🔍 「别让漏检毁生产线!Transformer把目标检测变成高速扫描仪」

大家好,我是蚝油菜花。这些工业视觉の死亡场景你是否亲历过——

  • 👉 质检员盯着传送带看到斗鸡眼,0.1mm的芯片缺陷还是漏检
  • 👉 自动驾驶紧急刹车时,模型还在计算上一帧的障碍物
  • 👉 部署YOLO时疯狂魔改,换设备又得重新训练一轮...

今天要炸翻CV圈的 RF-DETR ,正在重写检测规则!Roboflow这发王炸:

  • ✅ 「精度速度双冠」:60+mAP+25FPS,检测延迟比眨眼还快3倍
  • ✅ 视觉通才:DINOv2主干网络让航拍/工业/医疗数据通吃
  • ✅ 即插即用:动态分辨率切换像调手机亮度一样简单

已有工厂用它实现瑕疵零漏检,自动驾驶系统靠它实时捕捉鬼探头——你的视觉模型,是时候注射「Transformer强心针」了!

🚀 快速阅读

RF-DETR是Roboflow基于Transformer架构开发的实时目标检测模型。

  1. 性能:在COCO数据集达到60+ mAP,推理速度25FPS
  2. 技术:融合DINOv2主干与单尺度特征提取,平衡精度与速度
  3. 应用:支持多分辨率训练和ONNX导出,适配边缘计算设备

RF-DETR 是什么

RF-DETR-coco-rf100-vl-8

RF-DETR是Roboflow推出的新一代实时目标检测模型,属于DETR(Detection Transformer)家族。它首次在COCO数据集上实现了60+的平均精度均值(mAP),同时保持25帧/秒以上的实时性能,打破了传统CNN模型在精度与速度上的权衡困局。

该模型创新性地结合了轻量级Transformer架构与预训练的DINOv2视觉主干网络,通过单尺度特征提取和多分辨率训练策略,在工业检测、自动驾驶等高要求场景中展现出显著优势。开发者可直接使用其预训练检查点,快速适配自定义数据集。

RF-DETR 的主要功能

RF-DETR-example_grid

  • 高精度实时检测:在COCO数据集上达到60+ mAP,T4显卡推理延迟仅6ms
  • 领域自适应:通过DINOv2主干网络实现跨领域迁移,适用于航拍、工业等复杂场景
  • 动态分辨率:支持560-896px多分辨率切换,无需重训练即可调整精度/速度平衡
  • 便捷部署:提供PyTorch和ONNX格式模型,支持边缘设备部署

RF-DETR 的技术原理

RF-DETR-Screenshot-2025-03-19-at-23.28.24

  • Transformer架构:采用DETR的编码器-解码器结构,利用自注意力机制捕捉全局上下文
  • DINOv2主干网络:基于大规模自监督预训练的特征提取器,提升小样本适应能力
  • 单尺度优化:相比Deformable DETR的多尺度设计,简化特征图处理流程降低计算开销
  • 延迟优化:采用TensorRT加速,将NMS处理时间纳入总延迟评估体系

快速体验 RF-DETR

RF-DETR-demo

如何运行 RF-DETR:SOTA 实时目标检测模型

下面将指导您如何安装、运行和微调 RF-DETR 模型。

安装 RF-DETR

在使用 RF-DETR 之前,您需要安装 rfdetr 包。确保您的 Python 版本为 3.9 或更高版本。

pip install rfdetr
AI 代码解读

使用 RF-DETR 进行推理

RF-DETR 提供了预训练的 Microsoft COCO 数据集模型检查点,您可以直接加载并用于目标检测任务。

1. 单张图片推理

以下代码展示了如何使用 RF-DETR 对单张图片进行目标检测。

import io
import requests
import supervision as sv
from PIL import Image
from rfdetr import RFDETRBase
from rfdetr.util.coco_classes import COCO_CLASSES

# 加载 RF-DETR 模型
model = RFDETRBase()

# 从 URL 加载图片
url = "https://media.roboflow.com/notebooks/examples/dog-2.jpeg"
image = Image.open(io.BytesIO(requests.get(url).content))

# 进行目标检测
detections = model.predict(image, threshold=0.5)

# 生成标注标签
labels = [
    f"{COCO_CLASSES[class_id]} {confidence:.2f}"
    for class_id, confidence
    in zip(detections.class_id, detections.confidence)
]

# 绘制边界框和标签
annotated_image = image.copy()
annotated_image = sv.BoxAnnotator().annotate(annotated_image, detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections, labels)

# 显示结果
sv.plot_image(annotated_image)
AI 代码解读

2. 视频推理

如果需要对视频进行推理,可以使用以下代码。

import supervision as sv
from rfdetr import RFDETRBase
from rfdetr.util.coco_classes import COCO_CLASSES

# 加载 RF-DETR 模型
model = RFDETRBase()

def callback(frame, index):
    # 对每一帧进行目标检测
    detections = model.predict(frame, threshold=0.5)

    # 生成标注标签
    labels = [
        f"{COCO_CLASSES[class_id]} {confidence:.2f}"
        for class_id, confidence
        in zip(detections.class_id, detections.confidence)
    ]

    # 绘制边界框和标签
    annotated_frame = frame.copy()
    annotated_frame = sv.BoxAnnotator().annotate(annotated_frame, detections)
    annotated_frame = sv.LabelAnnotator().annotate(annotated_frame, detections, labels)
    return annotated_frame

# 处理视频文件
process_video(
    source_path="input_video.mp4",  # 输入视频路径
    target_path="output_video.mp4",  # 输出视频路径
    callback=callback
)
AI 代码解读

3. 摄像头实时推理

您也可以通过摄像头实时进行目标检测。

import cv2
import supervision as sv
from rfdetr import RFDETRBase
from rfdetr.util.coco_classes import COCO_CLASSES

# 加载 RF-DETR 模型
model = RFDETRBase()

# 打开摄像头
cap = cv2.VideoCapture(0)
while True:
    success, frame = cap.read()
    if not success:
        break

    # 对每一帧进行目标检测
    detections = model.predict(frame, threshold=0.5)

    # 生成标注标签
    labels = [
        f"{COCO_CLASSES[class_id]} {confidence:.2f}"
        for class_id, confidence
        in zip(detections.class_id, detections.confidence)
    ]

    # 绘制边界框和标签
    annotated_frame = frame.copy()
    annotated_frame = sv.BoxAnnotator().annotate(annotated_frame, detections)
    annotated_frame = sv.LabelAnnotator().annotate(annotated_frame, detections, labels)

    # 显示结果
    cv2.imshow("Webcam", annotated_frame)

    # 按下 'q' 键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
AI 代码解读

模型变体与输入分辨率

模型变体

RF-DETR 提供两个变体:

  • RF-DETR-B (29M 参数):适合资源受限的场景。
  • RF-DETR-L (128M 参数):适合更高精度的需求。
from rfdetr import RFDETRBase, RFDETRLarge

# 加载 RF-DETR-B 模型
model_base = RFDETRBase()

# 加载 RF-DETR-L 模型
model_large = RFDETRLarge()
AI 代码解读

输入分辨率

更高的分辨率通常会提高预测质量,但会减慢推理速度。您可以通过调整 resolution 参数来配置输入分辨率(值必须是 56 的倍数)。

model = RFDETRBase(resolution=560)
AI 代码解读

训练 RF-DETR 模型

数据集结构

RF-DETR 需要数据集以 COCO 格式组织,分为 trainvalidtest 三个子目录,每个子目录包含图片和对应的标注文件 _annotations.coco.json

dataset/
├── train/
│   ├── _annotations.coco.json
│   ├── image1.jpg
│   ├── image2.jpg
├── valid/
│   ├── _annotations.coco.json
│   ├── image1.jpg
│   ├── image2.jpg
└── test/
    ├── _annotations.coco.json
    ├── image1.jpg
    ├── image2.jpg
AI 代码解读

您可以使用Roboflow创建或转换数据集,并导出为 COCO 格式。

微调模型

您可以从预训练的 COCO 检查点微调 RF-DETR 模型。

from rfdetr import RFDETRBase

# 加载模型
model = RFDETRBase()

# 开始微调
model.train(
    dataset_dir="path/to/dataset",  # 数据集路径
    epochs=10,                      # 训练轮数
    batch_size=4,                   # 批量大小
    grad_accum_steps=4,             # 梯度累积步数
    lr=1e-4                         # 学习率
)
AI 代码解读

批量大小调整

不同的 GPU 拥有不同的显存容量,您可以通过调整 batch_sizegrad_accum_steps 来适应您的硬件条件,确保两者的乘积为 16。

多 GPU 训练

使用 PyTorch 的 Distributed Data Parallel (DDP) 可以在多 GPU 上训练 RF-DETR。

python -m torch.distributed.launch \
    --nproc_per_node=8 \
    --use_env \
    main.py
AI 代码解读

导出 ONNX 模型

RF-DETR 支持将模型导出为 ONNX 格式,以便在不同的推理框架中使用。

from rfdetr import RFDETRBase

# 加载模型
model = RFDETRBase()

# 导出 ONNX 模型
model.export()
AI 代码解读

导出的 ONNX 模型将保存在 output 目录中。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

目录
打赏
0
5
6
0
356
分享
相关文章
比LoRA还快50%的微调方法来了!一张3090性能超越全参调优,UIUC联合LMFlow团队提出LISA
【4月更文挑战第3天】伊利诺伊大学香槟分校和LMFlow团队推出LISA,一种新型微调技术,用于解决大型语言模型的内存消耗问题。LISA基于层重要性采样,随机冻结中间层,降低内存使用,同时提供比LoRA更快的训练速度和更高性能。实验显示,LISA在相似或更低的GPU内存消耗下,超越LoRA和全参数调优。该方法提高了资源受限环境下的微调效率,有望成为LoRA的有效替代,但仍然面临内存限制和随机性影响的问题。
240 4
比LoRA还快50%的微调方法来了!一张3090性能超越全参调优,UIUC联合LMFlow团队提出LISA
GPT-5涌现能力可预测?UC伯克利仅使用当前模型检查点预测未来模型
加州大学伯克利分校的一项新研究提出了一种基于微调大型语言模型(LLM)的方法,以预测未来模型的涌现能力。通过在特定任务上微调现有模型并拟合参数化函数,研究团队能够在四个NLP基准测试中准确预测未来模型的能力。该方法为模型开发者和政策制定者提供了重要工具,但也存在局限性,如仅能预测4倍计算资源内的涌现现象。论文地址:https://arxiv.org/pdf/2411.16035。
36 1
南开大学提出YOLO-MS | 超越YOLOv8与RTMDet,即插即用打破性能瓶颈
南开大学提出YOLO-MS | 超越YOLOv8与RTMDet,即插即用打破性能瓶颈
156 1
ICLR 2023 Spotlight|节省95%训练开销,清华黄隆波团队提出强化学习专用稀疏训练框架RLx2
ICLR 2023 Spotlight|节省95%训练开销,清华黄隆波团队提出强化学习专用稀疏训练框架RLx2
223 0
EdgeYOLO来袭 | Xaiver超实时,精度和速度完美超越YOLOX、v4、v5、v6(二)
EdgeYOLO来袭 | Xaiver超实时,精度和速度完美超越YOLOX、v4、v5、v6(二)
275 0
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(二)
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(二)
612 0
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(一)
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(一)
609 0
目标检测顶流的碰撞 | YOLOv5+DETR成就地表最强目标检测器DEYO,超越DINO!(一)
目标检测顶流的碰撞 | YOLOv5+DETR成就地表最强目标检测器DEYO,超越DINO!(一)
717 0
目标检测顶流的碰撞 | YOLOv5+DETR成就地表最强目标检测器DEYO,超越DINO!(二)
目标检测顶流的碰撞 | YOLOv5+DETR成就地表最强目标检测器DEYO,超越DINO!(二)
556 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等