Skip to content

vov-net/VoVNet-Detectron

Repository files navigation

Detectron with VoVNet(CVPRW'19) Backbone Networks

This repository contains Detectron with VoVNet (CVPRW'19) Backbone Networks. This code based on pytorch imeplementation of Detectron (maskrcnn-benchmark)

Highlights

  • Memory efficient
  • Better performance, especially for small objects
  • Faster speed

Comparison with ResNet backbones

  • 2x schedule
  • same hyperparameters
  • same training protocols ( max epoch, learning rate schedule, etc)
  • NOT multi-scale training augmentation
  • 8 x TITAN Xp GPU
  • pytorch1.1
  • CUDA v9
  • cuDNN v7.2

Note

'*' indicates ResNeXt models from Detectron official caffe2 page.

Backbone Detector Train mem(GB) Inference time (ms) Box AP (AP/APs/APm/APl) Mask AP (AP/APs/APm/APl) DOWNLOAD
R-50 Faster 3.6 78 37.5/21.3/40.3/49.5 - link
V-39 Faster 3.9 78 39.8/23.7/42.6/51.5 - link
R-101 Faster 4.7 97 39.6/22.8/43.2/51.9 - link
V-57 Faster 4.4 87 40.8/24.8/43.8/52.4 - link
V-75 Faster 5.3 96 41.2/24.1/44.3/53.0 - link
X-101-64x4d* Faster - 41.3/-/-/- - -
X-101-32x8d* Faster - 40.6/-/-/- - -
V-93 Faster 6.1 110 41.8/24.8/45.1/53.8 - link
R-50 Mask 3.6 83 38.6/22.1/41.3/51.4 34.9/16.0/37.3/52.2 link
V-39 Mask 4 81 41.0/24.6/43.9/53.1 36.7/17.9/39.3/53.0 link
R-101 Mask 4.7 102 40.8/23.2/44.0/53.9 36.7/16.7/39.4/54.3 link
V-57 Mask 4.5 90 42.0/25.1/44.9/53.8 37.5/18.3/39.8/54.3 link
V-75 Mask 5.4 106 42.4/26.0/45.5/54.8 37.7/18.9/40.4/54.9 link
X-101-64x4d* Faster - 42.2/-/-/- 37.2/-/-/- -
X-101-32x8d* Faster - 41.7/-/-/- 36.9/-/-/- -
V-93 Mask 6.7 114 42.7/24.9/45.8/55.3 38.0/17.7/40.9/55.2 link

ImageNet pretrained weight

Installation

Check INSTALL.md for installation instructions which is orginate from maskrcnn-benchmark

Training

Follow the instructions maskrcnn-benchmark guides

For example,

export NGPUS=8
python -m torch.distributed.launch --nproc_per_node=$NGPUS tools/train_net.py --config-file "configs/vovnet/e2e_faster_rcnn_V_39_FPN_2x.yaml" 

Evaluation

Follow the instruction

First of all, you have to download the weight file you want to inference.

For examaple,

multi-gpu evaluation & test batch size 16,
wget https://dl.dropbox.com/s/f1per2rj4pi8t71/FRCN-V-39-FPN-2x-norm.pth
export NGPUS=8
python -m torch.distributed.launch --nproc_per_node=$NGPUS tools/test_net.py --config-file "configs/vovnet/e2e_faster_rcnn_V_39_FPN_2x.yaml"   TEST.IMS_PER_BATCH 16 MODEL.WEIGHT FRCN-V-39-FPN-2x-norm.pth
For single-gpu evaluation & test batch size 1,
wget https://dl.dropbox.com/s/f1per2rj4pi8t71/FRCN-V-39-FPN-2x-norm.pth
CUDA_VISIBLE_DEVICES=0
python tools/test_net.py --config-file "configs/vovnet/e2e_faster_rcnn_V_39_FPN_2x.yaml" TEST.IMS_PER_BATCH 1 MODEL.WEIGHT FRCN-V-39-FPN-2x-norm.pth

TO DO LIST

  • super slim models
  • slim models
  • Larger models
  • Multi-scale training & test