← Open Source
Daniil-Osokin

lightweight-human-pose-estimation-3d-demo.pytorch

Real-time 3D multi-person pose estimation demo in PyTorch. OpenVINO backend can be used for fast inference on CPU.

ApplicationsObject detectionPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
688
Stars
137
Forks
+-1
This week
1
Contributors
Created 2019-10-12 · Updated 2026-10-13 · #14979 today
Top developers

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch is ranked 14,979 with 688 stars.

Same-category comparison

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch is ranked 14,979 among these 8 peers; wlzh/skills is ranked 14,978.

Same-category comparison
NameRankMetrics
AnsahMohammad/shots-studio14,962
Language:
Dart
Stars:
689
Forks:
48
Description:
An AI Powered Screenshot manager for Android.
datvodinh/rag-chatbot14,967
Language:
Python
Stars:
689
Forks:
110
Description:
Chat with multiple PDFs locally.
sharonzhou/long_stable_diffusion14,976
Language:
Python
Stars:
689
Forks:
52
Description:
Long-form text-to-images generation, using a pipeline of deep generative models (GPT-3 and Stable Diffusion).
wlzh/skills14,978
Language:
Python
Stars:
689
Forks:
82
SkyWorkAIGC/SkyChat-Chinese-Chatbot-GPT314,981
Language:
C#
Stars:
688
Forks:
69
Description:
| SkyChat is a Chatbot project based on Chinese GPT3 API. Like chatGPT, it can do human-machine chat, question and answer, and can also complete tasks such as Chinese-English or English-Chinese translation, content continuation, couplets, and Chinese ancient poems writing.
google/voice-builder14,985
Language:
JavaScript
Stars:
688
Forks:
136
Description:
An opensource text-to-speech (TTS) voice building tool.
195440/nof1.ai14,988
Language:
TypeScript
Stars:
687
Forks:
195
Visual-Code-Space/Visual-Code-Space15,002
Language:
Kotlin
Stars:
686
Forks:
85
Description:
A Modern Code Editor for Android.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryApplications
SubcategoryObject detection
Keywords3D, Computer vision
Stars688
Forks137
Contributors1
Created date2019-10-12
Updated date2026-10-13
Stars in 1 day0
Stars in 7 days-1
Rank14,979
Previous rank14,807
Rank change-172
7-day stars rank17,714
Previous 7-day stars rank17,669
7-day stars rank change-45
Total stars rank15,079
Previous total stars rank15,049
Total stars rank change-30
CountryRussia
README summary

Real-time 3D Multi-person Pose Estimation Demo This repository contains 3D multi-person pose estimation demo in PyTorch. Intel OpenVINO™ backend can be used for fast inference on CPU. This demo is based on Lightweight OpenPose and Single-Shot Multi-Person 3D Pose Estimation From Monocular RGB papers. It detects 2D coordinates of up to 18 types of keypoints: ears, eyes, nose, neck, shoulders, elbows, wrists, hips, knees, and ankles, as well as their 3D coordinates. It was

trained on MS COCO and CMU Panoptic datasets and achieves 100 mm MPJPE (mean per joint position error) on CMU Panoptic subset. *This repository significantly overlaps with however contains just the necessary code for 3D human pose estimation demo. * The major part of this work was done by Mariia Ageeva, when she was the :top::rocket::fire: intern at Intel. Table of Contents Requirements Prerequisites Pre-trained model Running Inference with OpenVINO Inference with TensorRT Requirements Python 3. 10 (or

above) C++ Compiler (g++ or MSVC) OpenCV 4. 0 (or above) [Optional] Intel OpenVINO for fast inference on CPU. [Optional] NVIDIA TensorRT for fast inference on Jetson. Add build folder to : Pre-trained model Pre-trained model is available at Google Drive. Running To run the demo, pass path to the pre-trained checkpoint and camera id (or path to video file): Camera can capture scene under different view angles, so for correct scene visualization, please pass camera extrinsics and

focal length with and options correspondingly (extrinsics sample format can be found in data folder). In case no camera parameters provided, demo will use the default ones. Inference with OpenVINO To run with OpenVINO, it is necessary to convert checkpoint to OpenVINO format: 1. Convert to OpenVINO format: To run the demo with OpenVINO inference, pass option and specify device to infer on: Inference with TensorRT To run with TensorRT, it is necessary to install it properly. Please, follow the

official guide, these steps work for me: 1. Install cuDNN 8 (runtime library, then developer). Convert checkpoint to TensorRT format: TensorRT does not support dynamic network input size reshape. Make sure you have set proper network input height, width with and options during conversion (if not, there will be no detections). Default values work for a usual video with 16:9 aspect ratio (1280x720, 1920x1080). You can check the network input size with in the demo. py To run the

demo with TensorRT inference, pass option: I have observed ~10x network inference speedup on RTX 2060 (in comparison with default PyTorch 1.

Frequently asked questions

How many stars and forks are recorded?

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch has 688 stars and 137 forks.

What is the repository rank?

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch is ranked 14,979.

What language and category are recorded?

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch has 688 stars, uses Python and belongs to Applications.

Which repository is closest in rank?

Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch is compared with wlzh/skills, ranked 14,978 with 689 stars.

README

Real-time 3D Multi-person Pose Estimation Demo

This repository contains 3D multi-person pose estimation demo in PyTorch. Intel OpenVINO™ backend can be used for fast inference on CPU. This demo is based on Lightweight OpenPose and Single-Shot Multi-Person 3D Pose Estimation From Monocular RGB papers. It detects 2D coordinates of up to 18 types of keypoints: ears, eyes, nose, neck, shoulders, elbows, wrists, hips, knees, and ankles, as well as their 3D coordinates. It was trained on MS COCO and CMU Panoptic datasets and achieves 100 mm MPJPE (mean per joint position error) on CMU Panoptic subset. This repository significantly overlaps with https://github.com/opencv/open_model_zoo/, however contains just the necessary code for 3D human pose estimation demo.

The major part of this work was done by Mariia Ageeva, when she was the :top::rocket::fire: intern at Intel.

Table of Contents

Requirements

  • Python 3.5 (or above)
  • CMake 3.10 (or above)
  • C++ Compiler (g++ or MSVC)
  • OpenCV 4.0 (or above)

[Optional] Intel OpenVINO for fast inference on CPU. [Optional] NVIDIA TensorRT for fast inference on Jetson.

Prerequisites

  1. Install requirements:
pip install -r requirements.txt
  1. Build pose_extractor module:
python setup.py build_ext
  1. Add build folder to PYTHONPATH:
export PYTHONPATH=pose_extractor/build/:$PYTHONPATH

Pre-trained model

Pre-trained model is available at Google Drive.

Running

To run the demo, pass path to the pre-trained checkpoint and camera id (or path to video file):

python demo.py --model human-pose-estimation-3d.pth --video 0

Camera can capture scene under different view angles, so for correct scene visualization, please pass camera extrinsics and focal length with --extrinsics and --fx options correspondingly (extrinsics sample format can be found in data folder). In case no camera parameters provided, demo will use the default ones.

Inference with OpenVINO

To run with OpenVINO, it is necessary to convert checkpoint to OpenVINO format:

  1. Set OpenVINO environment variables:
    source /bin/setupvars.sh
    
  2. Convert checkpoint to ONNX:
    python scripts/convert_to_onnx.py --checkpoint-path human-pose-estimation-3d.pth
    
  3. Convert to OpenVINO format:
    python /deployment_tools/model_optimizer/mo.py --input_model human-pose-estimation-3d.onnx --input=data --mean_values=data[128.0,128.0,128.0] --scale_values=data[255.0,255.0,255.0] --output=features,heatmaps,pafs
    

To run the demo with OpenVINO inference, pass --use-openvino option and specify device to infer on:

python demo.py --model human-pose-estimation-3d.xml --device CPU --use-openvino --video 0

Inference with TensorRT

To run with TensorRT, it is necessary to install it properly. Please, follow the official guide, these steps work for me:

  1. Install CUDA 11.1.
  2. Install cuDNN 8 (runtime library, then developer).
  3. Install nvidia-tensorrt:
    python -m pip install nvidia-pyindex
    pip install nvidia-tensorrt==7.2.1.6
    
  4. Install torch2trt.

Convert checkpoint to TensorRT format:

python scripts/convert_to_trt.py --checkpoint-path human-pose-estimation-3d.pth

TensorRT does not support dynamic network input size reshape. Make sure you have set proper network input height, width with --height and --width options during conversion (if not, there will be no detections). Default values work for a usual video with 16:9 aspect ratio (1280x720, 1920x1080). You can check the network input size with print(scaled_img.shape) in the demo.py

To run the demo with TensorRT inference, pass --use-tensorrt option:

python demo.py --model human-pose-estimation-3d-trt.pth --use-tensorrt --video 0

I have observed ~10x network inference speedup on RTX 2060 (in comparison with default PyTorch 1.6.0+cu101 inference).

Nearby in the ranking
Similar items