DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Object Detection
Code for our Paper DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Object Detection.
Datasets
- DOTA 1.0/1.5: https://captain-whu.github.io/DOTA/index.html
- HRSC2016: https://www.kaggle.com/guofeng/hrsc2016
Docker Setup
Use the Dockerfile
to build the necessary docker image:
docker build -t dafne .
Training
Check out ./configs/
for different pre-defined configurations for the DOTA 1.0, DOTA 1.5 and HRSC2016 datasets. Use these paths as argument for the --config-file
option below.
With Docker
Use the ./tools/run.py
helper to start running experiments
./tools/run.py --gpus 0,1,2,3 --config-file ./configs/dota-1.0/1024.yaml
Without Docker
NVIDIA_VISIBLE_DEVICES=0,1,2,3 ./tools/plain_train_net.py --num-gpus 4 --config-file ./configs/dota-1.0/1024.yaml
Pre-Trained Weights
Dataset | mAP (%) | Config | Weights |
---|---|---|---|
HRSC2016 | 87.76 | hrsc_r101_ms | hrsc-ms.pth |
DOTA 1.0 | 76.95 | dota-1.0_r101_ms | dota-1.0-ms.pth |
DOTA 1.5 | 71.99 | dota-1.5_r101_ms | dota-1.5-ms.pth |
Pre-Trained Weights Usage with Docker
./tools/run.py --gpus 0 --config-file <CONFIG_PATH> --opts "MODEL.WEIGHTS <WEIGHTS_PATH>"
Pre-Trained Weights Usage without Docker
NVIDIA_VISIBLE_DEVICES=0 ./tools/plain_train_net.py --num-gpus 1 --config-file <CONFIG_PATH> MODEL.WEIGHTS <WEIGHTS_PATH>
Cite
@misc{lang2021dafne,
title={DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Object Detection},
author={Steven Lang and Fabrizio Ventola and Kristian Kersting},
year={2021},
eprint={2109.06148},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Acknowledgments
- Thanks to AdelaiDet for providing the initial FCOS implementation
- Thanks to Detectron2 for providing a general object detection framework