Deep Learning for Human Part Discovery in Images - Chainer implementation
NOTE: This is not official implementation. Original paper is Deep Learning for Human Part Discovery in Images.
We are now reproducing the experiments in the original paper. Any contribution will be welcomed!
Requirements
-
Python 2.7.11+
- Chainer 1.10+
- numpy 1.9+
- scipy 0.16+
- six
- matplotlib
- tqdm
- cv2 (opencv)
Preparation
Data
bash prepare.sh
This script downloads VOC 2010 dataset (http://host.robots.ox.ac.uk/pascal/VOC/voc2010/VOCtrainval_03-May-2010.tar) and the authors' original dataset (http://www2.informatik.uni-freiburg.de/~oliveira/datasets/Sitting.tar.gz).
Model
You can download pre-trained FCN model from here.
We will use weights of this model and train new model on VOC dataset.
Start training
python train.py -g 0 -b 3 -e 3000 -l on -s on
Possible options
python train.py --help
GPU memory requirement
Citation from the original paper:
Each minibatch consists of just one image. The learning rate and momentum are fixed to 1e 10 and 0.99, respectively. We train the refinement layer by layer, which takes two days per refinement layer. Thus, the overall training starting from the pre-trained VGG network took 10 days on a single GPU.
Current maximum batchsize is 3
for 12 GB memory GPU.
Also it was confirmed that MBP (Late 2016, memory 16 GiB) can run with batchsize 1
.
Result
Now in prep.
Visualize Prediction
python visualize.py -f PATH_TO_IMAGE_FILE
LICENSE
MIT LICENSE.
Author
shiba24, August 2016.