đ Deformable DETR model with ResNet-50 backbone
This is a Deformable DEtection TRansformer (DETR) model trained end - to - end on COCO 2017 object detection, which can effectively perform object detection tasks.
đ Quick Start
The Deformable DETR model is an excellent choice for object detection. You can use the raw model for object detection. Check the model hub to find all available Deformable DETR models.
⨠Features
- Encoder - Decoder Architecture: The DETR model is an encoder - decoder transformer with a convolutional backbone.
- Object Queries: It uses object queries to detect objects in an image. For COCO, the number of object queries is set to 100.
- Bipartite Matching Loss: Trained using a "bipartite matching loss" with the Hungarian matching algorithm for optimal one - to - one mapping.
đ Documentation
Model description
The DETR model is an encoder - decoder transformer with a convolutional backbone. Two heads are added on top of the decoder outputs for object detection: a linear layer for class labels and a MLP (multi - layer perceptron) for bounding boxes. The model uses object queries to detect objects in an image. Each object query looks for a particular object in the image. For COCO, the number of object queries is set to 100.
The model is trained using a "bipartite matching loss". One compares the predicted classes + bounding boxes of each of the N = 100 object queries to the ground truth annotations, padded up to the same length N. The Hungarian matching algorithm is used to create an optimal one - to - one mapping between each of the N queries and each of the N annotations. Then, standard cross - entropy (for the classes) and a linear combination of the L1 and generalized IoU loss (for the bounding boxes) are used to optimize the model parameters.

Intended uses & limitations
You can use the raw model for object detection. See the model hub to look for all available Deformable DETR models.
How to use
Here is how to use this model:
from transformers import AutoImageProcessor, DeformableDetrForObjectDetection
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("SenseTime/deformable-detr")
model = DeformableDetrForObjectDetection.from_pretrained("SenseTime/deformable-detr")
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.7)[0]
for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
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 cat with confidence 0.856 at location [342.19, 24.3, 640.02, 372.25]
Detected remote with confidence 0.739 at location [40.79, 72.78, 176.76, 117.25]
Detected cat with confidence 0.859 at location [16.5, 52.84, 318.25, 470.78]
Currently, both the feature extractor and model support PyTorch.
Training data
The Deformable DETR model was trained on COCO 2017 object detection, a dataset consisting of 118k/5k annotated images for training/validation respectively.
BibTeX entry and citation info
@misc{https://doi.org/10.48550/arxiv.2010.04159,
doi = {10.48550/ARXIV.2010.04159},
url = {https://arxiv.org/abs/2010.04159},
author = {Zhu, Xizhou and Su, Weijie and Lu, Lewei and Li, Bin and Wang, Xiaogang and Dai, Jifeng},
keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Deformable DETR: Deformable Transformers for End-to-End Object Detection},
publisher = {arXiv},
year = {2020},
copyright = {arXiv.org perpetual, non-exclusive license}
}
đ License
This model is licensed under the Apache - 2.0 license.
â ī¸ Important Note
The team releasing Deformable DETR did not write a model card for this model so this model card has been written by the Hugging Face team.