Skip to content
ModelsThatRun

RF-DETR Keypoint

Roboflow's preview keypoint model: people and COCO's 17 keypoints in one pass, Apache-2.0.

Size

Commercial use OK: code Apache-2.0, weights Apache-2.0. Measured on our RTX 4090: 16.7 ms median, 1.3 GiB VRAM peak. PyTorch weights, 156 MB.

License

Commercial use OK

Code
Apache-2.0checked 26 Oct 2026
Weights
Apache-2.0all sizes, checked 26 Oct 2026

A preview release.

On our RTX 4090, measured

16.7ms median

p90 18.1 ms, fp16, batch 1, 576x576

VRAM peak
1.3 GiB
Status
Runs as is
Environment, 27 Oct 2026

NVIDIA GeForce RTX 4090, driver 580.173.02, CUDA 13.0, torch 2.14.1+cu130, Python 3.12.9, rfdetr==1.11.2. Baseline 848 MiB. 10 warm-up + 100 timed. Scope: predict(): pre-processing, forward pass and post-processing; input file decoded beforehand.

Accuracy

Not yet scored

Reported71.8 COCO keypoint AP50:95 on COCO val2017 keypointsSource: README, keypoint benchmark table

Weights

PyTorch

Size
156 MB
sha256
2b70ddf51d2b…ce6d98
Download preview weights

Same photos and one score threshold for every model of this task. Failures are marked.

Sizes

SizeLatencyVRAMAccuracyWeightsRunsLicense
preview16.7 ms576x5761.3 GiBNot yet scored71.8 COCO keypoint AP50:95 paper156 MBAs isCommercial OK

From the authors

In their words, with their numbers. Ours are in the cards at the top of this page.

Paper

RF-DETR: Neural Architecture Search for Real-Time Detection Transformers

Isaac Robinson, Peter Robicheaux, Matvei Popov, Deva Ramanan, Neehar Peri

arXiv 2511.09554, 12 Nov 2025

Abstract

Open-vocabulary detectors achieve impressive performance on COCO, but often fail to generalize to real-world datasets with out-of-distribution classes not typically found in their pre-training. Rather than simply fine-tuning a heavy-weight vision-language model (VLM) for new domains, we introduce RF-DETR, a light-weight specialist detection transformer that discovers accuracy-latency Pareto curves for any target dataset with weight-sharing neural architecture search (NAS). Our approach fine-tunes a pre-trained base network on a target dataset and evaluates thousands of network configurations with different accuracy-latency tradeoffs without re-training. Further, we revisit the "tunable knobs" for NAS to improve the transferability of DETRs to diverse target domains. Notably, RF-DETR significantly improves over prior state-of-the-art real-time methods on COCO and Roboflow100-VL. RF-DETR (nano) achieves 48.0 AP on COCO, beating D-FINE (nano) by 5.3 AP at similar latency, and RF-DETR (2x-large) outperforms GroundingDINO (tiny) by 1.2 AP on Roboflow100-VL while running 20x as fast. To the best of our knowledge, RF-DETR (2x-large) is the first real-time detector to surpass 60 AP on COCO. Our code is available at https://github.com/roboflow/rf-detr

README

Copied from the authors' repository at commit 5b22dfc on 3 Nov 2026. Numbers and license claims in it are theirs, not measured or checked by us. We removed badges, replaced images with links and adjusted headings.

RF-DETR is a real-time transformer architecture for object detection, instance segmentation, and keypoint detection (preview) developed by Roboflow. Built on a DINOv2 vision transformer backbone (a PE-Core-T backbone for Atto, Femto and Pico), RF-DETR delivers state-of-the-art accuracy and latency trade-offs on Microsoft COCO and RF100-VL.

RF-DETR uses a DINOv2 vision transformer backbone (PE-Core-T for Atto, Femto and Pico) and supports object detection, instance segmentation, and keypoint detection (preview) in a single, consistent API. The open-source rfdetr package and Apache-designated models are released under Apache 2.0, while Plus components (rfdetr_plus, including RF-DETR-Atto/Femto/Pico/XL/2XL detection models) are licensed under PML 1.0.

The published RF-DETR sizes were created with neural architecture search (NAS) — and the same NAS method is now available on the Roboflow platform, so you can discover the best architecture for your own dataset. Learn more in the NAS docs.

Video

Install

To install RF-DETR, install the rfdetr package in a Python>=3.10 environment with pip.

pip install rfdetr
Install from source

By installing RF-DETR from source, you can explore the most recent features and enhancements that have not yet been officially released. Please note that these updates are still in development and may not be as stable as the latest published release.

pip install https://github.com/roboflow/rf-detr/archive/refs/heads/develop.zip

Benchmarks

RF-DETR achieves state-of-the-art results in both object detection and instance segmentation, with benchmarks reported on Microsoft COCO and RF100-VL (RF100-VL for detection only). The charts and tables below compare RF-DETR against other top real-time models across accuracy and latency for detection and segmentation. All COCO accuracy numbers are measured in-house for every model shown, computed with pycocotools in SAB over the full 5,000-image val2017 split, so every row is directly comparable and may differ from vendor-reported figures. The sole exception is rows marked †, which are quoted from the original authors' paper and were not measured in SAB. All latency numbers were measured on an NVIDIA T4 using TensorRT, FP16, and batch size 1. Parameter counts are deployment (fused) nn.Module parameter counts (model.parameters(), not the raw tensor count of the saved checkpoint), except rows marked †, which are the authors' reported counts. For full benchmarking methodology and reproducibility details, see roboflow/sab.

Detection
Figure rf detr 1 4 latency accuracy object detection
See object detection benchmark numbers
ArchitectureCOCO AP50COCO AP50:95RF100VL AP50RF100VL AP50:95Latency (ms)Params (M)ResolutionLicense
RF-DETR-A △49.430.578.248.31.07.4380x380PML 1.0
RF-DETR-F △55.937.882.553.81.47.9384x384PML 1.0
RF-DETR-P △60.241.684.156.01.78.4560x560PML 1.0
RF-DETR-N67.648.485.057.72.330.5384x384Apache 2.0
RF-DETR-S72.153.086.760.23.532.1512x512Apache 2.0
RF-DETR-M73.654.787.461.24.433.7576x576Apache 2.0
RF-DETR-L75.156.588.262.26.833.9704x704Apache 2.0
RF-DETR-XL △77.458.688.562.911.5126.4700x700PML 1.0
RF-DETR-2XL △78.560.189.063.217.2126.9880x880PML 1.0
YOLO11-N52.037.481.455.32.52.6640x640AGPL-3.0
YOLO11-S59.744.482.356.23.29.4640x640AGPL-3.0
YOLO11-M64.148.682.556.55.120.1640x640AGPL-3.0
YOLO11-L64.949.982.256.56.525.3640x640AGPL-3.0
YOLO11-X66.150.981.756.210.556.9640x640AGPL-3.0
YOLO26-N55.840.376.752.01.72.6640x640AGPL-3.0
YOLO26-S64.347.782.757.02.69.4640x640AGPL-3.0
YOLO26-M69.752.584.458.74.420.1640x640AGPL-3.0
YOLO26-L71.154.185.059.35.725.3640x640AGPL-3.0
YOLO26-X74.056.985.660.09.656.9640x640AGPL-3.0
LW-DETR-T60.742.984.757.11.912.1640x640Apache 2.0
LW-DETR-S66.848.085.057.42.614.6640x640Apache 2.0
LW-DETR-M72.052.686.859.84.428.2640x640Apache 2.0
LW-DETR-L74.656.187.461.56.946.8640x640Apache 2.0
LW-DETR-X76.958.387.962.113.0118.0640x640Apache 2.0
D-FINE-N60.242.784.458.22.13.8640x640Apache 2.0
D-FINE-S67.650.685.360.33.510.2640x640Apache 2.0
D-FINE-M72.655.085.560.65.419.2640x640Apache 2.0
D-FINE-L74.957.286.461.67.531.0640x640Apache 2.0
D-FINE-X76.859.386.962.211.562.0640x640Apache 2.0
SAM 3 †———61.6—~8501008x1008N/A

† Reported by the SAM 3 authors (arXiv:2511.16719, Table 36), not measured by us in SAB. The value is SAM 3 fine-tuned on the full RF100-VL training set, which is the same setting as the RF100VL columns above — SAM 3's paper reports LW-DETR-m at 59.8 on this benchmark, matching our own measurement, so the numbers line up. Dashes mark results SAM 3 does not report under this protocol. Parameter count is the paper's stated ~850 M (~450 M vision + ~300 M text encoders + ~100 M detector/tracker).

Segmentation
Figure rf detr 1 4 latency accuracy instance segmentation
See instance segmentation benchmark numbers
ArchitectureCOCO AP50COCO AP50:95Latency (ms)Params (M)ResolutionLicense
RF-DETR-Seg-N63.040.33.433.6312x312Apache 2.0
RF-DETR-Seg-S66.243.14.433.7384x384Apache 2.0
RF-DETR-Seg-M68.445.35.935.7432x432Apache 2.0
RF-DETR-Seg-L70.547.18.836.2504x504Apache 2.0
RF-DETR-Seg-XL72.248.813.538.1624x624Apache 2.0
RF-DETR-Seg-2XL73.149.921.838.6768x768Apache 2.0
YOLOv8-N-Seg45.628.33.53.4640x640AGPL-3.0
YOLOv8-S-Seg53.834.04.211.8640x640AGPL-3.0
YOLOv8-M-Seg58.237.37.027.3640x640AGPL-3.0
YOLOv8-L-Seg60.539.09.746.0640x640AGPL-3.0
YOLOv8-XL-Seg61.339.514.071.8640x640AGPL-3.0
YOLOv11-N-Seg47.830.03.62.9640x640AGPL-3.0
YOLOv11-S-Seg55.435.04.610.1640x640AGPL-3.0
YOLOv11-M-Seg60.038.56.922.4640x640AGPL-3.0
YOLOv11-L-Seg61.539.58.327.6640x640AGPL-3.0
YOLOv11-XL-Seg62.440.113.762.1640x640AGPL-3.0
YOLO26-N-Seg54.334.72.312.7640x640AGPL-3.0
YOLO26-S-Seg62.440.23.4710.4640x640AGPL-3.0
YOLO26-M-Seg67.844.06.3223.6640x640AGPL-3.0
YOLO26-L-Seg69.845.57.5828.0640x640AGPL-3.0
YOLO26-X-Seg71.646.812.9262.8640x640AGPL-3.0
Keypoints
Figure RF-DETR Keypoint mAP vs latency chart comparing against YOLO26-pose and YOLO1…
See keypoint detection benchmark numbers
ArchitectureCOCO AP50:95Latency (ms)Params (M)License
RF-DETR Keypoint (Preview)71.89.740.7Apache 2.0
YOLO11-pose N48.93.22.9AGPL-3.0
YOLO11-pose S57.53.49.9AGPL-3.0
YOLO11-pose M64.25.220.9AGPL-3.0
YOLO11-pose L65.26.626.2AGPL-3.0
YOLO11-pose X68.610.658.8AGPL-3.0
YOLO26-pose N55.91.92.9AGPL-3.0
YOLO26-pose S62.02.710.4AGPL-3.0
YOLO26-pose M68.04.621.5AGPL-3.0
YOLO26-pose L69.25.925.9AGPL-3.0
YOLO26-pose X71.09.857.6AGPL-3.0

Keypoint benchmarks report AP50:95 (OKS-based); this is the standard COCO keypoint comparison metric.

NAS on the Roboflow Platform
Figure RF100-VL accuracy-latency Pareto chart showing RF-DETR NAS trained on the Rob…

Since the paper release, we have improved RF-DETR NAS training on the Roboflow platform even further. A single training run gives you every model size, with results that beat not only the open-source checkpoints but also our own paper NAS results. Try it now!

Run Models

Detection

RF-DETR provides multiple model sizes, ranging from Nano to 2XLarge. To use a different model size, replace the class name in the code snippet below with another class from the table.

import supervision as sv
from rfdetr import RFDETRMedium
from rfdetr.assets.coco_classes import COCO_CLASSES

model = RFDETRMedium()

detections = model.predict("https://media.roboflow.com/dog.jpg", threshold=0.5)

labels = [f"{COCO_CLASSES[class_id]}" for class_id in detections.class_id]

annotated_image = sv.BoxAnnotator().annotate(detections.metadata["source_image"], detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections, labels)

Note: COCO_CLASSES works for COCO-pretrained models. For fine-tuned models, use detections.data["class_name"] instead — it resolves class names from the checkpoint and works for both COCO and custom datasets.

Run RF-DETR with Inference

You can also run RF-DETR models using the Inference library. To switch model size, select the appropriate inference package alias from the table below.

import requests
import supervision as sv
from PIL import Image
from inference import get_model

model = get_model("rfdetr-medium")

image = Image.open(requests.get("https://media.roboflow.com/dog.jpg", stream=True).raw)
predictions = model.infer(image, confidence=0.5)[0]
detections = sv.Detections.from_inference(predictions)

annotated_image = sv.BoxAnnotator().annotate(image, detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections)
SizeRF-DETR package classInference package aliasCOCO AP50COCO AP50:95Latency (ms)Params (M)ResolutionLicense
ARFDETRAtto △rfdetr-atto49.430.51.07.4380x380PML 1.0
FRFDETRFemto △rfdetr-femto55.937.81.47.9384x384PML 1.0
PRFDETRPico △rfdetr-pico60.241.61.78.4560x560PML 1.0
NRFDETRNanorfdetr-nano67.648.42.330.5384x384Apache 2.0
SRFDETRSmallrfdetr-small72.153.03.532.1512x512Apache 2.0
MRFDETRMediumrfdetr-medium73.654.74.433.7576x576Apache 2.0
LRFDETRLargerfdetr-large75.156.56.833.9704x704Apache 2.0
XLRFDETRXLarge △rfdetr-xlarge77.458.611.5126.4700x700PML 1.0
2XLRFDETR2XLarge △rfdetr-2xlarge78.560.117.2126.9880x880PML 1.0

△ Requires the rfdetr_plus extension: pip install rfdetr[plus]. See License for details.

Segmentation

RF-DETR supports instance segmentation with model sizes from Nano to 2XLarge. To use a different model size, replace the class name in the code snippet below with another class from the table.

import supervision as sv
from rfdetr import RFDETRSegMedium
from rfdetr.assets.coco_classes import COCO_CLASSES

model = RFDETRSegMedium()

detections = model.predict("https://media.roboflow.com/dog.jpg", threshold=0.5)

labels = [f"{COCO_CLASSES[class_id]}" for class_id in detections.class_id]

annotated_image = sv.MaskAnnotator().annotate(detections.metadata["source_image"], detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections, labels)
Run RF-DETR-Seg with Inference

You can also run RF-DETR-Seg models using the Inference library. To switch model size, select the appropriate inference package alias from the table below.

import requests
import supervision as sv
from PIL import Image
from inference import get_model

model = get_model("rfdetr-seg-medium")

image = Image.open(requests.get("https://media.roboflow.com/dog.jpg", stream=True).raw)
predictions = model.infer(image, confidence=0.5)[0]
detections = sv.Detections.from_inference(predictions)

annotated_image = sv.MaskAnnotator().annotate(image, detections)
annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections)
SizeRF-DETR package classInference package aliasCOCO AP50COCO AP50:95Latency (ms)Params (M)ResolutionLicense
NRFDETRSegNanorfdetr-seg-nano63.040.33.433.6312x312Apache 2.0
SRFDETRSegSmallrfdetr-seg-small66.243.14.433.7384x384Apache 2.0
MRFDETRSegMediumrfdetr-seg-medium68.445.35.935.7432x432Apache 2.0
LRFDETRSegLargerfdetr-seg-large70.547.18.836.2504x504Apache 2.0
XLRFDETRSegXLargerfdetr-seg-xlarge72.248.813.538.1624x624Apache 2.0
2XLRFDETRSeg2XLargerfdetr-seg-2xlarge73.149.921.838.6768x768Apache 2.0
Keypoints

RF-DETR supports keypoint detection (preview) with RFDETRKeypointPreview, pretrained on COCO person keypoints.

from rfdetr import RFDETRKeypointPreview

model = RFDETRKeypointPreview()
key_points = model.predict("image.jpg", threshold=0.5)
SizeRF-DETR package classCOCO AP50:95Latency (ms)Params (M)ResolutionLicense
Keypoint (Preview)RFDETRKeypointPreview71.89.740.7576x576Apache 2.0
Train Models

RF-DETR supports training for object detection, instance segmentation, and keypoint detection (preview). You can train models in Google Colab or directly on the Roboflow platform. Below you will find a step-by-step video fine-tuning tutorial.

Documentation

Visit our documentation website to learn more about how to use RF-DETR.

License

Licensing is split by component:

  • The open-source rfdetr package and Apache-designated model weights are licensed under Apache License 2.0. See LICENSE.
  • Plus components, including the rfdetr_plus extension and RF-DETR-XL / RF-DETR-2XL detection models, are licensed under PML 1.0.

Acknowledgements

Our work is built upon LW-DETR, DINOv2, and Deformable DETR. Thanks to their authors for their excellent work!

Citation

If you find our work helpful for your research, please consider citing the following BibTeX entry.

@inproceedings{robinson2026rfdetr,
  title     = {RF-DETR: Real-Time Detection Transformer},
  author    = {Robinson, Isaac and Robicheaux, Peter and Popov, Matvei and Ramanan, Deva and Peri, Neehar},
  booktitle = {International Conference on Learning Representations (ICLR)},
  year      = {2026},
  url       = {https://arxiv.org/abs/2511.09554}
}

Contribute

We welcome and appreciate all contributions! If you notice any issues or bugs, have questions, or would like to suggest new features, please open an issue or pull request. By sharing your ideas and improvements, you help make RF-DETR better for everyone.

Project Activity

Figure Weekly Activity and Growth Metrics

PyPI downloads cover completed Monday-to-Sunday periods and exclude known mirrors. New stars are calculated from consecutive scheduled GitHub snapshots.

Alternatives

Model output
Input test photo
⇆
InputOutput