Unofficial PyTorch reimplementation of Hand-Biomechanical-Constraints (ECCV2020).
This project reimplement following components :
Retrieve the code
git clone https://github.com/MengHao666/Hand-BMC-pytorch
cd Hand-BMC-pytorch
Create and activate the virtual environment with python dependencies
conda env create --file=environment.yml
conda activate bmc
Download 3D joint location data joints.zip
Google Drive or
Baidu Pan (2pip
), and . These statistics are from following datasets:
Note the data from these datasets under their own licenses.
python calculate_bmc.py
You will get
bone_len_max.npy
bone_len_min.npy
for bone length limitscurvatures_max.npy
curvatures_min.npy
for Root bones' curvatures PHI_max.npy
PHI_min.npy
for Root bones' angular distance joint_angles.npy
for Joint angles And if u want to check the coordinate system, run the code
cd utils
python calculate_joint_angles.py
One view | Another view |
---|---|
python calculate_convex_hull.py
You will get CONVEX_HULLS.npy
, i.e. convex hulls to encircle the anatomically plausible joint angles.
And you will also see every convex hull like following figure:
python plot.py
You will see all the convex hulls
Run the code
python weakloss.py
To check influence of BMC, instead of reimplementing the network of origin paper, I integrate BMC into my own project,
(AUC means 3D PCK, and ACC_HM means 2D PCK)
Dataset | DetNet | DetNet+BMC |
---|---|---|
RHD | 0.9339 | 0.9364 |
STB | 0.8744 | 0.8778 |
DO | 0.9378 | 0.9475 |
EO | 0.9270 | 0.9182 |
This is the unofficial pytorch reimplementation of the paper "Weakly supervised 3d hand pose estimation via biomechanical constraints (ECCV 2020).
If you find the project helpful, please star this project and cite them:
@article{spurr2020weakly,
title={Weakly supervised 3d hand pose estimation via biomechanical constraints},
author={Spurr, Adrian and Iqbal, Umar and Molchanov, Pavlo and Hilliges, Otmar and Kautz, Jan},
journal={arXiv preprint arXiv:2003.09282},
volume={8},
year={2020},
publisher={Springer}
}