Above demo videos have low-quality frames because of the compression for the README upload.
demo
folderdemo
folder and edit bbox
in herepython demo.py --gpu 0 --test_epoch 20
result_2D.jpg
and 3D viewer.cd tool/MANO_render
smplx_path
in render.py
python render.py
cd tool/MANO_world_to_camera/
smplx_path
in convert.py
python convert.py
cd tool/camera_visualize
python camera_visualize.py
subset
and split
in line 9 and 10, respectively, by yourself.The ${ROOT}
is described as below.
${ROOT}
|-- data
|-- common
|-- main
|-- output
data
contains data loading codes and soft links to images and annotations directories.common
contains kernel codes for 3D interacting hand pose estimation.main
contains high-level codes for training or testing the network.output
contains log, trained models, visualized outputs, and test result.You need to follow directory structure of the data
as below.
${ROOT}
|-- data
| |-- STB
| | |-- data
| | |-- rootnet_output
| | | |-- rootnet_stb_output.json
| |-- RHD
| | |-- data
| | |-- rootnet_output
| | | |-- rootnet_rhd_output.json
| |-- InterHand2.6M
| | |-- annotations
| | | |-- train
| | | |-- test
| | | |-- val
| | |-- images
| | | |-- train
| | | |-- test
| | | |-- val
| | |-- rootnet_output
| | | |-- rootnet_interhand2.6m_output_test.json
| | | |-- rootnet_interhand2.6m_output_test_30fps.json
| | | |-- rootnet_interhand2.6m_output_val.json
| | | |-- rootnet_interhand2.6m_output_val_30fps.json
You need to follow the directory structure of the output
folder as below.
${ROOT}
|-- output
| |-- log
| |-- model_dump
| |-- result
| |-- vis
log
folder contains training log file.model_dump
folder contains saved checkpoints for each epoch.result
folder contains final estimation files generated in the testing stage.vis
folder contains visualized results.main/config.py
, you can change settings of the model including dataset to use and which root joint translation vector to use (from gt or from RootNet).In the main
folder, run
python train.py --gpu 0-3
to train the network on the GPU 0,1,2,3. --gpu 0,1,2,3
can be used instead of --gpu 0-3
. If you want to continue experiment, run use --continue
.
Place trained model at the output/model_dump/
.
In the main
folder, run
python test.py --gpu 0-3 --test_epoch 20 --test_set $DB_SPLIT
to test the network on the GPU 0,1,2,3 with snapshot_20.pth.tar
. --gpu 0,1,2,3
can be used instead of --gpu 0-3
.
$DB_SPLIT
is one of [val
,test
].
val
: The validation set. Val
in the paper.test
: The test set. Test
in the paper.Here I provide the performance and pre-trained snapshots of InterNet, and output of the RootNet as well.
@InProceedings{Moon_2020_ECCV_InterHand2.6M,
author = {Moon, Gyeongsik and Yu, Shoou-I and Wen, He and Shiratori, Takaaki and Lee, Kyoung Mu},
title = {InterHand2.6M: A Dataset and Baseline for 3D Interacting Hand Pose Estimation from a Single RGB Image},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2020}
}
InterHand2.6M is CC-BY-NC 4.0 licensed, as found in the LICENSE file.