Python scripts for performing 3D human pose estimation using the Mobile Human Pose model.
Original image for inference: (https://static2.diariovasco.com/www/pre2017/multimedia/noticias/201412/01/media/DF0N5391.jpg)
- 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
- OpenCV, imread-from-url, scipy, onnx and onnxruntime. Also, pafy and youtube-dl are required for youtube video inference.
pip install -r requirements.txt pip install pafy youtube-dl
- 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.
The original model was taken from the original repository.
- Image inference:
- Video inference:
- Webcam inference:
- Mobile human pose model: https://github.com/SangbumChoi/MobileHumanPose
- PINTO0309's model zoo: https://github.com/PINTO0309/PINTO_model_zoo
- PINTO0309's model conversion tool: https://github.com/PINTO0309/openvino2tensorflow
- 3DMPPE_POSENET_RELEASE repository: https://github.com/mks0601/3DMPPE_POSENET_RELEASE
- Original YOLOv5 repository: https://github.com/ultralytics/yolov5
- Original paper: https://openaccess.thecvf.com/content/CVPR2021W/MAI/html/Choi_MobileHumanPose_Toward_Real-Time_3D_Human_Pose_Estimation_in_Mobile_Devices_CVPRW_2021_paper.html