Soft Proposal Networks for Weakly Supervised Object Localization, ICCV 2017.
Conda virtual environment is recommended: conda env create -f environment.yml
- Python3.5
- PyTorch:
conda install pytorch torchvision -c soumith
- Packages: torch, torchnet, numpy, tqdm
-
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.