|
--- |
|
license: apache-2.0 |
|
tags: |
|
--- |
|
|
|
# DETR (End-to-End Object Detection) model with ResNet-50 backbone |
|
|
|
DEtection Transformer (DETR) model trained end-to-end on COCO 2017 object detection (118k annotated images). It was introduced in the paper [End-to-End Object Detection with Transformers](https://arxiv.org/abs/2005.12872) by Carion et al. and first released in [this repository](https://github.com/facebookresearch/detr). |
|
|
|
Disclaimer: The team releasing DETR did not write a model card for this model so this model card has been written by the Hugging Face team. |
|
|
|
## Model description |
|
|
|
The DETR model is an encoder-decoder transformer with a convolutional backbone. |
|
|
|
## Intended uses & limitations |
|
|
|
You can use the raw model for object detection. See the [model hub](https://huggingface.co/models?search=facebook/detr) to look for all available DETR models. |
|
|
|
### How to use |
|
|
|
Here is how to use this model: |
|
|
|
```python |
|
from transformers import ViTFeatureExtractor, ViTModel |
|
from PIL import Image |
|
import requests |
|
url = 'http://images.cocodataset.org/val2017/000000039769.jpg' |
|
image = Image.open(requests.get(url, stream=True).raw) |
|
feature_extractor = ViTFeatureExtractor.from_pretrained('google/vit-base-patch16-224-in21k') |
|
model = ViTModel.from_pretrained('google/vit-base-patch16-224-in21k') |
|
inputs = feature_extractor(images=image, return_tensors="pt") |
|
outputs = model(**inputs) |
|
last_hidden_states = outputs.last_hidden_state |
|
``` |
|
|
|
Currently, both the feature extractor and model support PyTorch. |
|
|
|
## Training data |
|
|
|
The DETR model was trained on [COCO 2017 object detection](https://cocodataset.org/#download), a dataset consisting of 118k/5k annotated images for training/validation respectively. |
|
|
|
## Training procedure |
|
|
|
### Preprocessing |
|
|
|
The exact details of preprocessing of images during training/validation can be found [here](https://github.com/google-research/vision_transformer/blob/master/vit_jax/input_pipeline.py). |
|
|
|
Images are resized/rescaled such that the shortest side is at least 800 pixels and the largest side at most 1333 pixels, and normalized across the RGB channels with the ImageNet mean (0.485, 0.456, 0.406) and standard deviation (0.229, 0.224, 0.225). |
|
|
|
### Training |
|
|
|
The model was trained for 300 epochs on 16 V100 GPUs. This takes 3 days, with 4 images per GPU (hence a total batch size of 64). |
|
|
|
## Evaluation results |
|
|
|
This model achieves an AP (average precision) of 42.0 on COCO 2017 validation. For more details regarding evaluation results, we refer to table 1 of the original paper. |
|
### BibTeX entry and citation info |
|
|
|
```bibtex |
|
@article{DBLP:journals/corr/abs-2005-12872, |
|
author = {Nicolas Carion and |
|
Francisco Massa and |
|
Gabriel Synnaeve and |
|
Nicolas Usunier and |
|
Alexander Kirillov and |
|
Sergey Zagoruyko}, |
|
title = {End-to-End Object Detection with Transformers}, |
|
journal = {CoRR}, |
|
volume = {abs/2005.12872}, |
|
year = {2020}, |
|
url = {https://arxiv.org/abs/2005.12872}, |
|
archivePrefix = {arXiv}, |
|
eprint = {2005.12872}, |
|
timestamp = {Thu, 28 May 2020 17:38:09 +0200}, |
|
biburl = {https://dblp.org/rec/journals/corr/abs-2005-12872.bib}, |
|
bibsource = {dblp computer science bibliography, https://dblp.org} |
|
} |
|
``` |