Skip to content

vov-net/VoVNet-FCOS

Repository files navigation

FCOS with VoVNet(CVPRW'19) Efficient Backbone Networks

This repository contains FCOS(ICCV'19) with VoVNet (CVPRW'19) efficient backbone networks. This code based on pytorch imeplementation of FCOS

Highlights

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

Comparison with ResNet backbones

  • same hyperparameters
  • same training protocols ( max epoch, learning rate schedule, etc)
  • 8 x TITAN Xp GPU
  • pytorch1.1
  • CUDA v9
  • cuDNN v7.2
Backbone Multi-scale training Inference time (ms) Box AP (AP/APs/APm/APl) DOWNLOAD
R-50-FPN-1x No 84 37.5/21.3/40.3/49.5 -
V-39-FPN-1x No 82 37.7/22.4/41.8/48.4 link
R-101-FPN-2x Yes 104 41.3/25.0/45.5/53.0 -
V-57-FPN-2x Yes 91 41.6/25.9/45.6/53.1 link
R-101-32x8d-FPN-2x Yes 171 42.5/26.0/46.1/54.2 -
V-93-FPN-2x Yes 113 42.1/26.2/46.0/53.9 link

ImageNet pretrained weight

Installation

Check INSTALL.md for installation instructions which is orginate from FCOS

Training

Follow the instructions

For example,

# specify the number of GPU you can use.
export NGPUS=8 
python -m torch.distributed.launch --nproc_per_node=$NGPUS tools/train_net.py --config-file "configs/vovnet/fcos_V_39_FPN_1x.yaml" 

Evaluation

Follow the instructions

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/8n0wyypfggliplw/FCOS-V-39-FPN-1x.pth?dl=1
export NGPUS=8
python -m torch.distributed.launch --nproc_per_node=$NGPUS tools/test_net.py --config-file "configs/vovnet/fcos_V_39_FPN_1x.yaml" TEST.IMS_PER_BATCH 16 MODEL.WEIGHT FCOS-V-39-FPN-1x.pth
single-gpu evaluation & test batch size 1,
wget https://dl.dropbox.com/s/8n0wyypfggliplw/FCOS-V-39-FPN-1x.pth?dl=1
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 FCOS-V-39-FPN-1x.pth

Related projects