Downloads · 30 days
33
7% of all-time downloads
stevenbucaille/rf-detr-base-2
rf-detr-base-2 is a object detection model from stevenbucaille. Use it when you need objects located in an image. It is set up for transformers. The card lists the license as apache-2.0.
RF-DETR is a real-time detection transformer family introduced in RF-DETR: Neural Architecture Search for Real-Time Detection Transformers by Robinson et al. and integrated in 🤗 Transformers via PR 36895. Disclaimer:…
Downloads · 30 days
33
7% of all-time downloads
All-time downloads
473
Public
Parameters
32.2M
1.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors129 MB · 100%
From the Hugging Face model README
RF-DETR is a real-time detection transformer family introduced in RF-DETR: Neural Architecture Search for Real-Time Detection Transformers by Robinson et al. and integrated in 🤗 Transformers via PR #36895. Disclaimer: This model was originally contributed by stevenbucaille in 🤗 transformers.
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:
Training Details:
You can use the raw model for object detection. See the model hub to look for all available RF-DETR models.
Here is how to use this model:
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]
These checkpoints are trained on the standard COCO 2017 object detection dataset label space (80 categories) as reflected in config.id2label.
@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://arxiv.org/abs/2511.09554},
}