This repository provides simple and practical Python scripts for human pose estimation and 3D pose visualization using multiple approaches:
- YOLO Pose Estimation
- MediaPipe Pose
- NVIDIA 3D Body Pose (BodyPose3DNet-style workflow)
These pipelines are designed for easy experimentation and can be adapted for real-world applications such as smart manufacturing, sports analytics, medical rehabilitation, robotics, retail monitoring, and multi-camera human tracking.
Human pose estimation is becoming a key technology in many industries. This project makes it easier to test and compare different pose pipelines with clear code and video-based demos.
- Manufacturing and safety monitoring
- Sports movement analysis
- Medical rehabilitation and posture tracking
- Robotics and human-robot interaction
- Retail and customer behavior analysis
- Surveillance and multi-person tracking
- Human activity recognition
- yolo_pose.py - YOLO Pose-based human pose visualization with body connections and angle overlays
- yolo_pose_mp.py - YOLO + MediaPipe pose landmark pipeline
- yolo_nv-3d-bosypose.py - YOLO tracking + NVIDIA-style 3D pose visualization workflow
- inputs/ - Sample input videos
- outputs/ - Generated output videos
- demo.gif - Demo animation
- Easy-to-run Python scripts
- Support for video input
- Human body keypoint visualization
- Pose tracking and person detection
- 3D-like pose box visualization
- Useful for research, demos, and industrial prototyping
Install the required Python packages:
pip install opencv-python numpy ultralytics mediapipe onnxruntimeIf you are using a GPU, make sure your CUDA-enabled environment is properly configured.
The scripts expect pretrained models such as:
- YOLO pose weights like yolov8m-pose.pt or yolov8n.pt
- MediaPipe pose task file such as pose_landmarker_lite.task
- NVIDIA BodyPose3DNet ONNX model (if using the 3D NVIDIA pipeline)
You may need to update the model paths inside the scripts to match your local setup.
Example paths in the scripts may look like:
YOLO_MODEL_PATH = '/path/to/your/yolov8m-pose.pt'
POSE_MODEL_PATH = '/path/to/your/pose_landmarker_lite.task'python yolo_pose.pypython yolo_pose_mp.pypython yolo_nv-3d-bosypose.pyOutputs will be saved in the outputs folder when configured in the scripts.
- Input video can be placed inside the inputs folder
- Output videos are written to the outputs folder
- You can replace the default input path with your own video file
Example:
video_path = 'inputs/trimmedVideo_720p.mp4'- Worker posture monitoring
- Safety compliance analysis
- Ergonomics and fatigue detection
- Athlete movement analysis
- Coaching and performance improvement
- Injury risk assessment
- Physical therapy and rehabilitation
- Motion tracking
- Gait and posture analysis
- Human-robot collaboration
- Gesture and body pose interaction
- Safe motion understanding
- Human tracking across multiple viewpoints
- Crowd monitoring
- Activity recognition in large environments
- Google MediaPipe Pose: https://developers.google.com/mediapipe/solutions/vision/pose_landmarker
- NVIDIA 3D Human Pose / BodyPose3DNet related resources: https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps
- Ultralytics YOLO Pose: https://docs.ultralytics.com/tasks/pose/
- Ultralytics YOLO Documentation: https://docs.ultralytics.com/
Special thanks to the amazing open-source communities behind:
- Google MediaPipe
- NVIDIA DeepStream / 3D human pose research
- Ultralytics for YOLO and pose-based computer vision tools
- The broader computer vision community for continuous innovation in human pose estimation
- The code is intentionally simple and beginner-friendly.
- You can extend these scripts for real-time camera input, multi-camera tracking, or cloud deployment.
- For production use, consider adding:
- better tracking logic
- model optimization
- frame-rate tuning
- GPU acceleration
- database or API integration
- Add real-time webcam support
- Add multi-camera synchronization
- Add a web dashboard
- Add pose analytics and reporting
- Add action recognition modules
Feel free to improve the scripts, add new demo videos, or extend them with additional pose estimation models.
