Awesome
<h1>Soft Proposal Networks<br>for Weakly Supervised Object Localization</h1>[Project] [Paper] [Supp] [More Resources]
Torch Implementation
The torch branch contains:
- the official torch implementation of SPN.
- the PASCAL-VOC point-based localization demo.
Please follow the instruction below to install it and run the experiment demo.
Prerequisites
- Linux (tested on ubuntu 14.04LTS)
- NVIDIA GPU + CUDA CuDNN
- Torch7
- Jupyter Notebook
Getting started
You can setup everything via a single command wget -O - https://git.io/v5wTS | bash
or do it manually in case something goes wrong:
-
install the dependencies (required by the demo code):
-
clone the torch branch:
# git version must be greater than 1.9.10 git clone https://github.com/ZhouYanzhao/SPN.git -b torch --single-branch SPN.torch cd SPN.torch export DIR=$(pwd)
-
install SPN:
cd $DIR/install # install the GPU implementation of SPN. bash install.sh
-
download the PASCAL-VOC2007 dataset:
cd $DIR/demo/datasets # trainval wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar tar xvf VOCtrainval_06-Nov-2007.tar # test wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar tar xvf VOCtest_06-Nov-2007.tar
-
download pre-trained VGGNet model for fine-tuning:
cd $DIR/demo/models/convert wget http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_16_layers.caffemodel # convert caffemodel to t7 th convertVGG.lua
-
run the demo experiment:
cd $DIR/demo bash ./scripts/Train_PASCAL.sh
-
visualize locating samples via demo/notebooks/vis.ipynb
Troubleshooting
If you run into error: identifier "THCudaBlas_Sgemv" is undefined
during installation, update Torch7 to the latest version via cd <TORCH_DIR> && bash ./update.sh
PyTorch Implementation
Check here.
Caffe Implementation
coming
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}
}