Implementation of the DETR (DEtection TRansformer) network (Carion, Nicolas, et al., 2020) in Tensorflow. The model was originally developed by Facebook Inc. and implemented in PyTorch. This repository solely aims to make the architecture accessible for Tensorflow users.
- Research Paper: End-to-End Object Detection with Transformers
- Original PyTorch Implementation: GitHub
We use the following packages:
- python 3.7.3
- tensorflow 2.1.0
- scipy 1.4.1
- numpy 1.18.3
- numba 0.49.0
git clone https://github.com/auvisusAI/detr-tensorflow.git # Clone Repository
cd detr-tensorflow/ # Change to directory
pip3 install -e . # Install repository and required packages
storage_path/ # path/to/data_storage
labels/ #.txt files where each line corresponds to one object in image
images/ #.jpg files
You can easily start the training procedure from detr_models/detr/
using:
python3 train.py --storage_path <PATH> --output_dir <PATH> <Additional Parameters>
Additional parameters such as epochs, batch_size etc. can be set. Please take a look at the help text for a complete overview using:
python3 train.py --help
If no additional parameters are used, the defaults as specified in detr_models/detr/config.py
will be used.
If you want to execute training (e.g. on a pre-trained model) or just get a quick overview over the model architecture, you can also use the jupyter notebook DETR.ipynb
provided in /notebooks
.
- [] Adjust
data_feeder/loadlabel
to handle Coco annotations - [] Include unittests to verify code
- [] Take
max_obj
into config - [] Include mask head to model for segmentation
- [] Parameterize to handle images with varying shape and paddings
- [] Parameterize backbone config
- [] Include inference script
- [] Include inference notebook
As you can see, there are still many open to-dos. We are happy for all contributions to improve this Tensorflow implementation.