SPN.pytorch
SPN.pytorch copied to clipboard
PyTorch implementation of "Soft Proposal Networks for Weakly Supervised Object Localization", ICCV 2017.
PyTorch implementation of SPN
Soft Proposal Networks for Weakly Supervised Object Localization, ICCV 2017.
Requirements
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
Usage
-
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
Citation
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}
}
Acknowledgement
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.