Skip to content
Code repository for our paper entilted "SO-HandNet: Self-Organizing Network for 3D Hand Pose Estimation with Semi-supervised Learning", ICCV 2019.
Python MATLAB Other
Branch: master
Clone or download

Latest commit

Latest commit eeea498 Dec 15, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ICVL_handpose SO-HandNet on ICVL dataset Dec 8, 2019
data SO-HandNet on ICVL dataset Dec 8, 2019
models SO-HandNet on ICVL dataset Dec 8, 2019
process/ICVL SO-HandNet on ICVL dataset Dec 8, 2019
util SO-HandNet on ICVL dataset Dec 8, 2019
README.md Update README.md Dec 15, 2019

README.md

SO-HandNet

SO-HandNet: Self-Organizing Network for 3D Hand Pose Estimation with Semi-supervised Learning

ICCV 2019

Installation

conda create -n sohand python=3.6
source activate sohand
conda install pytorch torchvision cudatoolkit=8.0 -c pytorch
conda install faiss-gpu -c pytorch
pip install --upgrade pip
pip install numba matplotlib h5py scipy donimate visdom horound libnccl2 libnccl-dev tqdm

Usage

Data Preprocessing

Download ICVL dataset, and use matlab scripts to process the data (transfrom depth map into point cloud).

matlab ICVL_train_process.m
matlab ICVL_test_process.m

Or directly download the processed data. Google Drive Link or BaiduNetDesk Link

Put data into /data as /data/ICVL/process_out/

Train and evaluation

Evaluation

pretrained models: Google Drive Link BaiduNetDesk Link Put data into /checkpoints

python ICVL_Get_test_result.py

Fully-supervised Training:

python ICVL_en_de.py

set "pretrain_encoder" "pretrain_decoder" as the saved model in last stage.

python ICVL_en_es.py

set "pretrain_encoder" "pretrain_decoder" "pretrain_estimater" as the saved model in last stage.

python ICVL_train_all.py

Semi-supervised training:

Change "train_label_ratio" as the ratio of labeled frames used for training, and the "trainlist" and "testlist" can be generated by "datalist.ipynb", we provide them along with the processed data.

python ICVL_semi_en_de.py
python ICVL_semi_en_es.py
python ICVL_semi_train_all.py

References

Here are some great resources we benefit:

Hand PointNet

SO-Net

PointNet

You can’t perform that action at this time.