/BorderDet

Stay tuned for updates!

Primary LanguagePythonApache License 2.0Apache-2.0

BorderDet

This project provides an implementation for "BorderDet: Border Feature for Dense Object Detection" (ECCV2020 Oral) on PyTorch.

For the reason that experiments in the paper were conducted using internal framework, this project reimplements them on cvpods and reports detailed comparisons below.

Requirements

Get Started

git clone --recursive https://github.com/Megvii-BaseDetection/BorderDet

cd BorderDet

# build cvpods (requires GPU)
pip install -r requirements.txt
python setup.py build develop

# preprare data path
mkdir datasets
ln -s /path/to/your/coco/dataset datasets/coco

cd playground/detection/coco/borderdet/borderdet.res50.fpn.coco.800size.1x

# Train
pods_train --num-gpus 8
# Test
pods_test --num-gpus 8 \
    MODEL.WEIGHTS /path/to/your/save_dir/ckpt.pth # optional
    OUTPUT_DIR /path/to/your/save_dir # optional

# Multi node training
## sudo apt install net-tools ifconfig
pods_train --num-gpus 8 --num-machines N --machine-rank 0/1/.../N-1 --dist-url "tcp://MASTER_IP:port"

Results on COCO

For your convenience, we provide the performance of the following trained models. All models are trained with 16 images in a mini-batch and frozen batch normalization. All model including X_101/DCN_X_101 will be released soon.

Model Multi-scale training Multi-scale testing Testing time / im AP (minival) Link
FCOS_R_50_FPN_1x No No 54ms 38.7 Google
BD_R_50_FPN_1x No No 60ms 41.4 Google
BD_R_101_FPN_1x Yes No 76ms 45.0 Google

Acknowledgement

cvpods is developed based on Detectron2. For more details about official detectron2, please check DETECTRON2.

Contributing to the project

Any pull requests or issues are welcome.