Soft Proposal Networks for Weakly Supervised Object Localization, ICCV 2017.
Conda virtual environment is recommended: conda env create -f environment.yml
conda install pytorch torchvision -c soumith
Clone the SPN repository:
git clone https://github.com/yeezhu/SPN.pytorch.git
Download the backbone model VGG16 (exported from caffe model) and then the model path should be SPN.pytorch/demo/models/VGG16_ImageNet.pt
.
Install SPN:
cd SPN.pytorch/spnlib
bash make.sh
Run the training demo:
cd SPN.pytorch/demo
bash runme.sh
Run the testing demo: EvaluationDemo.ipynb
Note: To perform bbox localization on ImageNet, firstly download the SP_GoogleNet_ImageNet model and the annotations into imagenet_eval
folder. Extraxt the annotations:
cd SPN.pytorch/demo/evaluation/imagenet_eval
tar zxvf ILSVRC2012_bbox_val_v3.tgz
If you use the code in your research, please cite:
@INPROCEEDINGS{Zhu2017SPN,
author = {Zhu, Yi and Zhou, Yanzhao and Ye, Qixiang and Qiu, Qiang and Jiao, Jianbin},
title = {Soft Proposal Networks for Weakly Supervised Object Localization},
booktitle = {ICCV},
year = {2017}
}
In this project, we reimplemented SPN on PyTorch based on wildcat.pytorch. To keep consistency with the Torch version, we use the VGG16 model exported from caffe in fcn.pytorch.