All Projects → Jeff-sjtu → HybrIK

Jeff-sjtu / HybrIK

Licence: MIT license
Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to HybrIK

Vibe
Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"
Stars: ✭ 2,080 (+426.58%)
Mutual labels:  cvpr, 3d-pose-estimation, smpl
MEVA
Official implementation of ACCV 2020 paper "3D Human Motion Estimation via Motion Compression and Refinement" (Identical repo to https://github.com/KlabCMU/MEVA, will be kept in sync)
Stars: ✭ 93 (-76.46%)
Mutual labels:  3d-pose-estimation, smpl
ICON
ICON: Implicit Clothed humans Obtained from Normals (CVPR 2022)
Stars: ✭ 641 (+62.28%)
Mutual labels:  pose-estimation, smpl
Everything-Will-Be-IK
A Robust Inverse Kinematics Library
Stars: ✭ 35 (-91.14%)
Mutual labels:  inverse-kinematics, pose-estimation
EgoNet
Official project website for the CVPR 2021 paper "Exploring intermediate representation for monocular vehicle pose estimation"
Stars: ✭ 111 (-71.9%)
Mutual labels:  pose-estimation, 3d-pose-estimation
ONNX-Mobile-Human-Pose-3D
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.
Stars: ✭ 69 (-82.53%)
Mutual labels:  pose-estimation, 3d-pose-estimation
CoMoGAN
CoMoGAN: continuous model-guided image-to-image translation. CVPR 2021 oral.
Stars: ✭ 139 (-64.81%)
Mutual labels:  cvpr, cvpr21
Multiperson
Code repository for the paper: "Coherent Reconstruction of Multiple Humans from a Single Image" in CVPR'20
Stars: ✭ 212 (-46.33%)
Mutual labels:  cvpr, pose-estimation
awesome-visual-localization-papers
The relocalization task aims to estimate the 6-DoF pose of a novel (unseen) frame in the coordinate system given by the prior model of the world.
Stars: ✭ 60 (-84.81%)
Mutual labels:  cvpr, pose-estimation
kapao
KAPAO is an efficient single-stage human pose estimation model that detects keypoints and poses as objects and fuses the detections to predict human poses.
Stars: ✭ 604 (+52.91%)
Mutual labels:  pose-estimation
Awesome-Vision-Transformer-Collection
Variants of Vision Transformer and its downstream tasks
Stars: ✭ 124 (-68.61%)
Mutual labels:  pose-estimation
FastPose
pytorch realtime multi person keypoint estimation
Stars: ✭ 36 (-90.89%)
Mutual labels:  pose-estimation
Keypoint Communities
[ICCV '21] In this repository you find the code to our paper "Keypoint Communities".
Stars: ✭ 255 (-35.44%)
Mutual labels:  pose-estimation
Modaily-Aware-Audio-Visual-Video-Parsing
Code for CVPR 2021 paper Exploring Heterogeneous Clues for Weakly-Supervised Audio-Visual Video Parsing
Stars: ✭ 19 (-95.19%)
Mutual labels:  cvpr
Finished Senior LSC Python
Python implementation of LSC algorithm, (C) Zhengqin Li, Jiansheng Chen, 2014
Stars: ✭ 19 (-95.19%)
Mutual labels:  cvpr
CVPR2021-Papers-with-Code-Demo
收集 CVPR 最新的成果,包括论文、代码和demo视频等,欢迎大家推荐!
Stars: ✭ 752 (+90.38%)
Mutual labels:  cvpr
eval-mpii-pose
Evaluation code for the MPII human pose dataset
Stars: ✭ 58 (-85.32%)
Mutual labels:  pose-estimation
slamkit
SLAM Kit
Stars: ✭ 28 (-92.91%)
Mutual labels:  pose-estimation
TailCalibX
Pytorch implementation of Feature Generation for Long-Tail Classification by Rahul Vigneswaran, Marc T Law, Vineeth N Balasubramaniam and Makarand Tapaswi
Stars: ✭ 32 (-91.9%)
Mutual labels:  cvpr
PCLoc
Pose Correction for Highly Accurate Visual Localization in Large-scale Indoor Spaces (ICCV 2021)
Stars: ✭ 37 (-90.63%)
Mutual labels:  pose-estimation

HybrIK

PyTorch Google Colab

This repo contains the code of our paper:

HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation

Jiefeng Li, Chao Xu, Zhicun Chen, Siyuan Bian, Lixin Yang, Cewu Lu

[Paper] [Supplementary Material] [arXiv] [Project Page]

In CVPR 2021

hybrik


Twist-and-Swing Decomposition

News 🚩

[2022/07/25] HybrIK is now supported in Alphapose! Multi-person demo with pose-tracking is available.

[2022/04/27] Google Colab is ready to use.

[2022/04/26] Achieve SOTA results by adding the 3DPW dataset for training.

[2022/04/25] The demo code is released!

TODO

  • Provide pretrained model
  • Provide parsed data annotations

Installation instructions

# 1. Create a conda virtual environment.
conda create -n hybrik python=3.7 -y
conda activate hybrik

# 2. Install PyTorch
conda install pytorch==1.6.0 torchvision==0.7.0 -c pytorch

# 3. Pull our code
git clone https://github.com/Jeff-sjtu/HybrIK.git
cd HybrIK

# 4. Install
python setup.py develop

Download models

  • Download the SMPL model basicModel_neutral_lbs_10_207_0_v1.0.0.pkl from here at common/utils/smplpytorch/smplpytorch/native/models.
  • Download our pretrained model (paper version) from [ Google Drive | Baidu (code: qre2) ].
  • Download our pretrained model (with predicted camera) from [ Google Drive | Baidu (code: 4qyv) ].

Demo

First make sure you download the pretrained model (with predicted camera) and place it in the ${ROOT} directory, i.e., ./pretrained_w_cam.pth.

  • Visualize HybrIK on videos (run in single frame):
python scripts/demo_video.py --video-name examples/dance.mp4 --out-dir res_dance
  • Visualize HybrIK on images:
python scripts/demo_image.py --img-dir examples --out-dir res

Fetch data

Download Human3.6M, MPI-INF-3DHP, 3DPW and MSCOCO datasets. You need to follow directory structure of the data as below. Thanks to the great job done by Moon et al., we use the Human3.6M images provided in PoseNet.

|-- data
`-- |-- h36m
    `-- |-- annotations
        `-- images
`-- |-- pw3d
    `-- |-- json
        `-- imageFiles
`-- |-- 3dhp
    `-- |-- annotation_mpi_inf_3dhp_train.json
        |-- annotation_mpi_inf_3dhp_test.json
        |-- mpi_inf_3dhp_train_set
        `-- mpi_inf_3dhp_test_set
`-- |-- coco
    `-- |-- annotations
        |   |-- person_keypoints_train2017.json
        |   `-- person_keypoints_val2017.json
        |-- train2017
        `-- val2017
  • Download Human3.6M parsed annotations. [ Google | Baidu ]
  • Download 3DPW parsed annotations. [ Google | Baidu ]
  • Download MPI-INF-3DHP parsed annotations. [ Google | Baidu ]

Train from scratch

./scripts/train_smpl.sh train_res34 ./configs/256x192_adam_lr1e-3-res34_smpl_3d_base_2x_mix.yaml

Evaluation

Download the pretrained model [Google Drive].

./scripts/validate_smpl.sh ./configs/256x192_adam_lr1e-3-res34_smpl_24_3d_base_2x_mix.yaml ./pretrained_res34.pth

Results

Method 3DPW Human3.6M
SPIN 59.2 41.1
VIBE 56.5 41.5
VIBE w. 3DPW 51.9 41.4
PARE 49.3 -
PARE w. 3DPW 46.4 -
HybrIK 48.8 34.5
HybrIK w. 3DPW 45.3 36.3

Citing

If our code helps your research, please consider citing the following paper:

@inproceedings{li2021hybrik,
    title={Hybrik: A hybrid analytical-neural inverse kinematics solution for 3d human pose and shape estimation},
    author={Li, Jiefeng and Xu, Chao and Chen, Zhicun and Bian, Siyuan and Yang, Lixin and Lu, Cewu},
    booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
    pages={3383--3393},
    year={2021}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].