Instructions to use Roboflow/rf-detr-base-2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Roboflow/rf-detr-base-2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("object-detection", model="Roboflow/rf-detr-base-2")# Load model directly from transformers import AutoImageProcessor, AutoModelForObjectDetection processor = AutoImageProcessor.from_pretrained("Roboflow/rf-detr-base-2") model = AutoModelForObjectDetection.from_pretrained("Roboflow/rf-detr-base-2") - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| tags: | |
| - object-detection | |
| - vision | |
| datasets: | |
| - coco | |
| pipeline_tag: object-detection | |
| library_name: transformers | |
| # RF-DETR (Base 2) | |
| RF-DETR is a real-time detection transformer family introduced in [RF-DETR: Neural Architecture Search for Real-Time Detection Transformers](https://huggingface.co/papers/2511.09554) by Robinson et al. and integrated in 🤗 Transformers via [PR #36895](https://github.com/huggingface/transformers/pull/36895). | |
| ## Model description | |
| RF-DETR is an end-to-end object detection model that combines ideas from LW-DETR and Deformable DETR: a DINOv2-with-registers style ViT backbone (with an RF-DETR windowing pattern for efficient attention), a multi-scale projector between encoder and decoder, and a multi-scale deformable DETR decoder for fast convergence and strong accuracy–latency tradeoffs. | |
| Key Architectural Details: | |
| - **Backbone:** DINOv2-with-registers style ViT with RF-DETR **windowed / full** attention alternation (instead of a purely convolutional encoder). | |
| - **Multi-scale fusion:** **RF-DETR multi-scale projector** (C2f-style blocks in the LW-DETR lineage) to aggregate multi-level backbone features before the decoder. | |
| - **Decoder:** **Deformable DETR**-style decoder with multi-scale deformable cross-attention; depth and input resolution vary by checkpoint (NAS frontier). | |
| - **Queries:** DETR-style object queries with bipartite matching and auxiliary decoder losses for training stability. | |
| Training Details: | |
| - **Detection losses:** classification plus bounding-box L1 and GIoU, with auxiliary losses on intermediate decoder layers. | |
| - **Group DETR:** parallel decoder copies during training for faster convergence (same high-level idea as LW-DETR's Group DETR). | |
| - **NAS (family-level):** the RF-DETR paper uses weight-sharing neural architecture search over practical accuracy–latency knobs after adapting a shared backbone on the target dataset, so many checkpoints correspond to different subnets without full independent retrains for every point on the frontier. | |
| ### How to use | |
| You can use the raw model for object detection. See the [model hub](https://huggingface.co/models?search=stevenbucaille/rf-detr) to look for all available RF-DETR models. | |
| Here is how to use this model: | |
| ```python | |
| from transformers import AutoImageProcessor, RfDetrForObjectDetection | |
| import torch | |
| from PIL import Image | |
| import requests | |
| url = "http://images.cocodataset.org/val2017/000000039769.jpg" | |
| image = Image.open(requests.get(url, stream=True).raw) | |
| processor = AutoImageProcessor.from_pretrained("stevenbucaille/rf-detr-base-2") | |
| model = RfDetrForObjectDetection.from_pretrained("stevenbucaille/rf-detr-base-2") | |
| inputs = processor(images=image, return_tensors="pt") | |
| outputs = model(**inputs) | |
| # convert outputs (bounding boxes and class logits) to COCO API | |
| # let's only keep detections with score > 0.35 | |
| target_sizes = torch.tensor([image.size[::-1]]) | |
| results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.35)[0] | |
| for score, label, box in list(zip(results["scores"], results["labels"], results["boxes"]))[:8]: | |
| box = [round(i, 2) for i in box.tolist()] | |
| print( | |
| f"Detected {model.config.id2label[label.item()]} with confidence " | |
| f"{round(score.item(), 3)} at location {box}" | |
| ) | |
| ``` | |
| This should output: | |
| ``` | |
| Detected remote with confidence 0.981 at location [40.78, 72.72, 175.68, 117.19] | |
| Detected cat with confidence 0.979 at location [7.45, 54.47, 316.23, 473.51] | |
| Detected cat with confidence 0.964 at location [343.26, 23.5, 636.68, 371.82] | |
| Detected remote with confidence 0.821 at location [333.94, 77.32, 370.25, 186.78] | |
| Detected couch with confidence 0.446 at location [0.62, 1.44, 639.34, 475.39] | |
| Detected chair with confidence 0.113 at location [2.55, 1.5, 640.67, 476.14] | |
| Detected bed with confidence 0.165 at location [5.88, 116.99, 638.36, 472.72] | |
| Detected couch with confidence 0.183 at location [0.57, 1.34, 639.31, 271.61] | |
| ``` | |
| ## Training data | |
| These checkpoints are trained on the standard [COCO 2017 object detection dataset](https://cocodataset.org/#home) label space (80 categories) as reflected in `config.id2label`. | |
| ### BibTeX entry and citation info | |
| ```bibtex | |
| @misc{robinson2026rfdetrneuralarchitecturesearch, | |
| title={RF-DETR: Neural Architecture Search for Real-Time Detection Transformers}, | |
| author={Isaac Robinson and Peter Robicheaux and Matvei Popov and Deva Ramanan and Neehar Peri}, | |
| year={2026}, | |
| eprint={2511.09554}, | |
| archivePrefix={arXiv}, | |
| primaryClass={cs.CV}, | |
| url={https://huggingface.co/papers/2511.09554}, | |
| } | |
| ``` | |
| This model was originally contributed by stevenbucaille in 🤗 transformers. | |