RF-DETR
Robinson 2025 · 论文
一句话总结 — 一种轻量级的专用检测Transformer(来自Roboflow + CMU),将DINOv2预训练骨干网络与端到端的权重共享神经架构搜索(NAS)相结合,使一次训练即可产出一整条可部署子网络的精度-延迟帕累托曲线——其2x-large变体是首个在COCO上突破60 AP的实时检测器。
问题
开放词汇的VLM检测器(GroundingDINO、YOLO-World)精度高,但速度太慢难以实时使用,且对分布外类别的泛化能力较差;专用的实时检测器(D-FINE、RT-DETR、YOLOv8/v11)速度快,但精度不及微调后的VLM——作者认为,这些专用检测器通过定制的架构、学习率调度器和数据增强调度器,实际上隐式地过拟合到了COCO,使模型偏向于类COCO的数据集统计特性。另外,各论文间的延迟基准测试也难以复现(例如,D-FINE报告称LW-DETR比LW-DETR自己报告的速度快25%),作者将此归因于GPU功耗节流(power throttling)。RF-DETR旨在将互联网规模的预训练与实时架构相结合,迁移到任意目标数据集,并在无需重新训练的情况下针对任意硬件预算进行特化。
方法与架构
基础模型对LW-DETR进行了现代化改造:一个预训练的ViT骨干网络通过交替的窗口/非窗口注意力模块提取多尺度特征;一个多尺度投影器(用层归一化替代批归一化,使消费级GPU上也能进行梯度累积)将特征送入一个可变形交叉注意力的DETR解码器;检测与分割损失应用于每一层解码器,因此推理时可以丢弃部分层。
- 互联网规模先验 — 将LW-DETR的CAEv2骨干网络(10层,patch 16)替换为DINOv2(12层);使用DINOv2权重初始化对小数据集的帮助尤为显著。较低的学习率()、0.1的梯度裁剪,以及0.8的逐层学习率衰减,共同保留了预训练知识;额外的Objects-365预训练弥补了优化速度变慢的问题。
- 端到端权重共享NAS — 每次训练迭代都从搜索空间中均匀采样一个模型配置并执行一次梯度更新,从而并行训练成千上万个子网络(这是一种”架构增强”,同时也起到类似dropout式集成的正则化作用)。五个可调”旋钮”:patch大小(FlexiViT风格的尺寸间插值)、解码器层数(得益于逐层损失而可丢弃——去掉整个解码器会使RF-DETR变成单阶段检测器)、查询token数量(在测试时按每个token类别logit的最大sigmoid值排序后丢弃;帕累托最优的数量隐式地编码了每张图像的物体数量统计)、图像分辨率(位置嵌入按最大分辨率/最小patch大小预先分配,再向下插值),以及每个注意力模块的窗口数。搜索发生在训练之后:在验证集上对各种配置做网格搜索,无需重新训练——即便是训练期间从未采样过的子网络(例如patch大小为27和18的情况)也表现良好。
- 无需调度器的训练 — 不使用余弦学习率调度(它假设了固定的优化周期),也不使用数据增强调度;数据增强仅限于水平翻转和随机裁剪(例如,垂直翻转在自动驾驶场景中可能导致对水坑倒影的误检),并采用批级别的尺寸调整以最小化填充。权重的EMA(指数移动平均)取代了学习率调度器。
- RF-DETR-Seg — 一个轻量级实例分割头将投影器输出双线性插值为像素嵌入图;掩码是经FFN投影的查询嵌入(来自每个解码器层)与该嵌入图的点积,可理解为YOLACT风格的原型(prototype)。该头在用SAM 2掩码伪标注的Objects-365数据上进行了预训练。
- 标准化延迟测试协议 — 在两次前向传播之间缓冲200毫秒,以防止NVIDIA T4(TensorRT 10.4,CUDA 12.4)上出现功耗节流;精度与延迟必须来自同一个模型产物:简单粗暴的FP16量化会使D-FINE的AP骤降至0.5,YOLOv8/v11从FP32转为FP16也会损失精度。
实验结果
- COCO检测(val):RF-DETR(nano)在2.3毫秒内达到48.0 AP,在相近延迟下比D-FINE(nano,42.7 AP)高出5.3 AP,与YOLOv8/v11的medium版本相当;small版本在3.5毫秒内达到52.9 AP;medium版本在4.4毫秒内达到54.7 AP;2x-large版本在17.2毫秒内达到60.1 AP——是首个在COCO上突破60 AP的实时检测器。帕累托曲线上的所有这些点均来自同一次训练。
- RF100-VL(100个多样化的真实世界数据集):RF-DETR(2x-large)在15.6毫秒内得分63.3 AP(可选微调后为63.5),比微调后的GroundingDINO(tiny,309.9毫秒内62.3 AP)高1.2 AP,同时速度快;YOLOv8/v11的表现趋于平台期,进一步扩大模型规模也无济于事,D-FINE在AP50上甚至落后于RT-DETR——这正是过拟合COCO的证据。
- COCO实例分割:RF-DETR-Seg(nano)在3.4毫秒内取得40.3 mask AP,比所有已报告尺寸的YOLOv8/v11以及FastInst(34.9 AP)高5.4,同时速度快近;medium版本(45.3 AP,5.9毫秒)已接近MaskDINO(46.3 AP,242毫秒)。
- 消融实验(COCO,medium):更温和的超参数相比LW-DETR损失1.0 AP(52.6 → 51.6),DINOv2骨干网络挽回+2.0(53.6),Objects-365预训练再加+0.7(54.3),权重共享NAS再加+0.3(54.6)——在同等延迟下相对LW-DETR净提升**+2 AP**,且NAS挖掘出的配置在COCO上无需微调。
- 骨干网络消融实验:DINOv2 ViT-S/14(54.3 AP,4.7毫秒)优于CAEv2(52.3)、SigLIPv2 ViT-B/32(50.4),以及SAM 2的Hiera-S(53.6 AP,但耗时11.2毫秒——一旦TensorRT的Flash-Attention内核对普通ViT更为有利,Hiera所宣称的速度优势便不再成立)。
- 发现的配置:COCO帕累托家族从nano(分辨率384,patch 16,2层解码器,DINOv2-S)跨越到2x-large(分辨率880,patch 20,5层解码器,DINOv2-B),均使用300个查询——NAS调节的是分辨率、patch大小、窗口划分和深度,而非参数量。
对SLAM的意义
语义SLAM需要在与跟踪、建图和优化相同的嵌入式GPU上同时运行检测器,因此检测器必须精确落在某个延迟预算内——RF-DETR的权重共享NAS把这件事从”挑一个最接近的YOLO尺寸”变成了”从一次训练中调出一个延迟落在目标值10%以内的子网络”,即便在部署之后计算预算发生变化也是如此。其端到端、无需NMS的设计(继承自DETR,并由RT-DETR实现实时化)相比NMS流水线能提供更可预测的单帧延迟,这对实时调度很重要;RF100-VL的结果与机器人应用直接相关,因为部署领域(仓库、农业、检测)与COCO相去甚远——而这正是SLAM中用于动态物体掩码的YOLO系检测器容易性能下降的地方。高精度实时检测与实例掩码可为动态物体移除、物体级地标和语义建图提供支持;论文中考虑功耗节流的延迟测试协议也值得任何机器人基准测试借鉴。不过反过来说,其局限也很明显:RF-DETR是一个闭集词汇的专用模型——需要针对每次部署进行微调,而不能像开放词汇检测器那样用文本提示。
相关条目
- DETR — 这一脉络所源自的端到端、无需NMS的检测Transformer
- RT-DETR — 首个实现实时化的DETR;RF-DETR基于其后继者LW-DETR构建
- YOLO — RF-DETR所超越的经典实时检测家族,在COCO之外的领域尤为明显
- Grounding DINO — RF-DETR以的速度超越的微调后开放词汇基线
- SAM 2 — 为RF-DETR-Seg的Objects-365预训练提供伪标签掩码