A higher performance PyTorch implementation of Single-Shot Refinement Neural Network for Object Detection. The official and original Caffe code can be found here.
Arch | Paper | Caffe Version | Our PyTorch Version |
---|---|---|---|
RefineDet320 | 80.0% | 79.52% | 79.81% |
RefineDet512 | 81.8% | 81.85% | 80.50% |
# First install Python server and client
pip install visdom
# Start the server (probably in a screen or tmux)
python -m visdom.server
To make things easy, we provide bash scripts to handle the dataset downloads and setup for you. We also provide simple dataset loaders that inherit torch.utils.data.Dataset
, making them fully compatible with the torchvision.datasets
API.
Microsoft COCO: Common Objects in Context
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/COCO2014.sh
PASCAL VOC: Visual Object Classes
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/VOC2007.sh # <directory>
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/VOC2012.sh # <directory>
RefineDet.PyTorch/weights
dir:mkdir weights
cd weights
wget https://s3.amazonaws.com/amdegroot-models/vgg16_reducedfc.pth
train_refinedet320.sh
and train_refinedet512.sh
. You can manually change them as you want../train_refinedet320.sh #./train_refinedet512.sh
train_refinedet.py
for options)To evaluate a trained network:
./eval_refinedet.sh
You can specify the parameters listed in the eval_refinedet.py
file by flagging them or manually changing them.
We have accumulated the following to-do list, which we hope to complete in the near future