/ONNX-Mobile-Human-Pose-3D

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Primary LanguagePythonMIT LicenseMIT

ONNX-Mobile-Human-Pose-3D

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model.

Mobile Human 3D Pose mation ONNX Original image for inference: (https://static2.diariovasco.com/www/pre2017/multimedia/noticias/201412/01/media/DF0N5391.jpg)

⚠️ Known issues

  • The models works well when the person is looking forward and without occlusions, it will start to fail as soon as the person is occluded.
  • The model is fast, but the 3D representation is slow due to matplotlib, this will be fixed. The 3d representation can be ommitted for faster inference by setting draw_3dpose to False

Requirements

  • OpenCV, imread-from-url, scipy, onnx and onnxruntime.

Installation

pip install -r requirements.txt

ONNX model

The original models were converted to different formats (including .onnx) by PINTO0309, download the models from his repository and save them into the models folder.

  • YOLOv5s: You will also need an object detector to first detect the people in the image. Download the model from the model zoo and save the .onnx version into the models folder.

Original model

The original model was taken from the original repository.

Examples

  • Image inference:
python imagePoseEstimation.py 
  • Video inference:
python videoPoseEstimation.py
  • Webcam inference:
python webcamPoseEstimation.py

Mobile Human 3D Pose mation ONNX

References: