VLPart model zoo

May 19, 2023 ยท View on GitHub

This file documents a collection of models reported in our paper. The training time was measured on with 8 NVIDIA V100 GPUs & NVLink.

How to Read the Tables

The "Name" column contains a link to the config file.

To train a model, run:

python train_net.py --num-gpus 8 --config-file /path/to/config/name.yaml

To evaluate a model with a trained/pretrained model, run:

python train_net.py --num-gpus 8 --config-file /path/to/config/name.yaml --eval-only MODEL.WEIGHTS /path/to/weight.pth

An example of cross-dataset evaluation:

python train_net.py --num-gpus 8 --config-file configs/partimagenet/r50_partimagenet.yaml --eval-only MODEL.WEIGHTS models/r50_pascalpart.pth

Before training, make sure Preparing Datasets and Preparing Models are well-prepared.


Cross-dataset part segmentation on PartImageNet

ConfigAll(40) APquad-: headquad-: bodyquad-: footquad-: tailTraining timeDownload
pascal_part4.517.40.10.02.91hmodel
+ IN-S11 label5.423.63.40.81.21.5hmodel
+ IN-S11 parsed7.835.015.23.58.93hmodel
ConfigAll(40) APquad-: headquad-: bodyquad-: footquad-: tailTraining timeDownload
pascal_part4.517.40.10.02.91hmodel
+ LVIS_PACO7.822.97.10.34.015h + 2.5hmodel
+ IN-S11 label8.826.33.70.41.03hmodel
+ IN-S11 parsed11.847.513.44.514.83hmodel
  • The evaluation metric is mAPmask@[0.5:0.95] on the validation set of PartImageNet.
  • pascal_part + LVIS_PACO is training first(15h) on LVIS and PACO r50_lvis_paco.pth, then(2.5h) on LVIS, PACO and Pascal Part.
  • Before training on IN-S11 parsed, generate IN-S11 parsed(20min) by:
python train_net.py --num-gpus 8 --config-file configs/ann_parser/build_pascalpart.yaml --eval-only
python train_net.py --num-gpus 8 --config-file configs/ann_parser/find_ins11_mixer.yaml --eval-only 

or download partimagenet_parsed.json and put it to $VLPart_ROOT/datasets/partimagenet/.


Cross-category part segmentation within Pascal Part

ConfigAll(93) AP/AP50Base(77) AP/AP50Novel(16) AP/AP50dog: headdog: torsodog: legdog: pawdog: tailTraining timeDownload
pascal_part_base15.0/33.417.8/39.61.5/3.76.17.92.913.83.21hmodel
+ VOC object16.8/36.819.9/43.32.1/5.929.922.63.212.42.11.5hmodel
+ IN-S20 label17.4/37.520.8/44.71.1/3.112.817.82.05.90.93hmodel
+ IN-S20 parsed18.4/39.421.3/45.34.2/11.028.734.817.25.714.34.5hmodel
  • The evaluation metric is APmask@0.5 on the validation set of Pascal Part.
  • Before training on IN-S20 parsed, generate IN-S20 parsed(50min) by:
python train_net.py --num-gpus 8 --config-file configs/ann_parser/build_pascalpartbase.yaml --eval-only
python train_net.py --num-gpus 8 --config-file configs/ann_parser/find_ins20_mixer.yaml --eval-only 

or download imagenet_voc_image_parsed.json and put it to $VLPart_ROOT/datasets/imagenet/.


Open-vocabulary object detection and part segmentation

R50 Mask R-CNN:

NameVOC AP/AP50COCO AP/AP50LVIS AP/APrPartImageNet AP/AP50Pascal Part AP/AP50PACO AP/AP50
Dataset-specific35.9/69.738.0/60.828.1/20.829.7/54.119.4/42.310.6/21.7
Configr50_vocr50_cocor50_lvisr50_partimagenetr50_pascalpartr50_paco
Training Time2h6.5h7h2h1h7h
Downloadr50_voc.pthr50_coco.pthr50_lvis.pthr50_partimagenet.pthr50_pascalpart.pthr50_paco.pth
ConfigVOC AP/AP50COCO AP/AP50LVIS AP/APrPartImageNet AP/AP50Pascal Part AP/AP50PACO AP/AP50Training timeDownload
joint44.5/70.329.0/48.127.3/19.05.4/11.34.9/11.39.6/19.515hmodel
joint*42.8/70.828.6/48.026.8/20.47.8/15.321.6/46.39.3/18.915h + 2.5hmodel
joint**40.6/69.328.4/47.826.4/16.029.1/52.022.6/47.89.3/18.915h + 3hmodel
+ IN label38.0/67.828.2/47.826.0/15.930.8/54.423.6/49.29.0/18.715h + 3h + 4hmodel
+ IN parsed38.3/67.828.5/47.826.2/17.831.6/55.724.0/49.89.6/20.215h + 3h + 6hmodel
  • joint is training on LVIS and PACO.
  • joint* is training first(15h) on LVIS and PACO, then(2.5h) on LVIS, PACO, Pascal Part.
  • joint** is training first(15h) on LVIS and PACO, then(3h) on LVIS, PACO, Pascal Part, PartImageNet.
  • Before training on IN parsed, generate IN parsed(100min) by:
bash tools/golden_image_parse.sh

or download golden_image_parsed.zip, put it to $VLPart_ROOT/datasets/imagenet/ and unzip it.


SwinBase Cascade Mask R-CNN:

NameVOC AP/AP50COCO AP/AP50LVIS AP/APrPartImageNet AP/AP50Pascal Part AP/AP50PACO AP/AP50
Dataset-specific59.0/82.052.5/72.043.1/38.741.7/68.727.4/56.115.2/29.4
Configswinbase_vocswinbase_cocoswinbase_lvisswinbase_partimagenetswinbase_pascal_partswinbase_paco
Training Time4h1day15h1day15h4.5h1.5h1day2h
Downloadswinbase_voc.pthswinbase_coco.pthswinbase_lvis.pthswinbase_partimagenet.pthswinbase_pascalpart.pthswinbase_paco.pth
ConfigVOC AP/AP50COCO AP/AP50LVIS AP/APrPartImageNet AP/AP50Pascal Part AP/AP50PACO AP/AP50Training timeDownload
joint55.2/72.241.0/58.441.3/32.86.9/13.75.6/12.515.9/31.92day5hmodel
joint*52.6/72.440.4/57.939.9/29.811.8/21.830.5/59.315.4/30.22day5h + 4.5hmodel
joint**50.3/71.640.3/57.839.6/30.340.0/64.831.2/60.515.4/30.32day5h + 6hmodel
+ IN label48.1/69.740.3/57.739.3/28.941.2/66.831.7/61.115.9/30.82day5h + 6h + 8hmodel
+ IN parsed47.8/69.740.5/58.139.6/30.542.0/68.231.9/61.615.6/30.62day5h + 6h + 20hmodel
  • joint is training on LVIS and PACO.
  • joint* is training first(2day5h) on LVIS and PACO, then(4.5h) on LVIS, PACO, Pascal Part.
  • joint** is training first(2day5h) on LVIS and PACO, then(6h) on LVIS, PACO, Pascal Part, PartImageNet.
  • Before training on IN parsed, generate IN parsed(70min) by:
bash tools/golden_image_parse_swinbase.sh

or download golden_image_parsed_swinbase.zip, put it to $VLPart_ROOT/datasets/imagenet/ and unzip it.