Home

Awesome

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.

<center><img src="./playground/detection/coco/borderdet/intro/borderdet.png" width="700" align="middle"/></center>

Requirements

Get Started


python3 -m pip install 'git+https://github.com/Megvii-BaseDetection/cvpods.git'
# (add --user if you don't have permission)

# Or, to install it from a local clone:
git clone https://github.com/Megvii-BaseDetection/cvpods.git
python3 -m pip install -e cvpods

# Or,
pip install -r requirements.txt
python3 setup.py build develop
cd /path/to/cvpods
cd datasets
ln -s /path/to/your/coco/dataset coco
git clone https://github.com/Megvii-BaseDetection/BorderDet.git
cd BorderDet/playground/detection/coco/borderdet/borderdet.res50.fpn.coco.800size.1x  # for example

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.

ModelMulti-scale trainingMulti-scale testingTesting time / imAP (minival)Link
FCOS_R_50_FPN_1xNoNo54ms38.7download
BD_R_50_FPN_1xNoNo60ms41.4download
BD_R_101_FPN_1xYesNo76ms45.0download
BD_X_101_32x8d_FPN_1xYesNo124ms45.6download
BD_X_101_64x4d_FPN_1xYesNo123ms46.2download
BD_DCNV2_X_101_32x8d_FPN_1xYesNo150ms47.9download
BD_DCNV2_X_101_64x4d_FPN_1xYesNo156ms47.5download

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.