The code is for the paper "Adaptive Prototype Learning and Allocation for Few-Shot Segmentation" (accepted to CVPR 2021) [arxiv]
data/
includes config files and train/validation list filesmodel/
includes related model and moduletool/
includes training and testing scriptsutil/
includes data processing, seed initialization
python==3.7, torch==1.6, scipy, opencv-python, tensorboardX
Prepare related datasets: Pascal-5i (VOC 2012, SBD) and COCO-20i (COCO 2014)
- Pre-trained backbones and models can be found in Google Driver
- Download backbones and put the pth files under
initmodel/
folder
- Specify the path of datasets and pre-trained models in the data/config file
- Use the following command
sh tool/test.sh|train.sh {data} {model} {split_backbone}
E.g. Test ASGNet with ResNet50 on the split 0 of PASCAL-5i:
sh tool/test.sh pascal asgnet split0_resnet50
Please consider citing the paper if you find it useful:
@inproceedings{li2021AdaptivePL,
title={Adaptive Prototype Learning and Allocation for Few-Shot Segmentation},
author={Gen Li and Varun Jampani and Laura Sevilla-Lara and Deqing Sun and Jonghyun Kim and Joongkyu Kim},
booktitle={CVPR},
year={2021}
}
The code is based on semseg and PFENet. Thanks for their great work!