Skip to content

About

Real-time 3D human pose estimation from video streams using deep learning, with 3D skeleton visualization and analytics.

Topics

Resources

Stars

92 stars

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Human 3D Pose Estimation with YOLO, MediaPipe, and NVIDIA 3D Pose

Demo

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.


Why This Project?

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.

Common Use Cases

  • 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

Project Files

  • 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

Features

  • 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

Installation

Install the required Python packages:

pip install opencv-python numpy ultralytics mediapipe onnxruntime

If you are using a GPU, make sure your CUDA-enabled environment is properly configured.


Model Requirements

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'

Quick Start

1) Run YOLO Pose

python yolo_pose.py

2) Run YOLO + MediaPipe Pose

python yolo_pose_mp.py

3) Run NVIDIA 3D Pose Workflow

python yolo_nv-3d-bosypose.py

Outputs will be saved in the outputs folder when configured in the scripts.


Input and Output

  • 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'

Industry Applications

Manufacturing

  • Worker posture monitoring
  • Safety compliance analysis
  • Ergonomics and fatigue detection

Sports

  • Athlete movement analysis
  • Coaching and performance improvement
  • Injury risk assessment

Medical

  • Physical therapy and rehabilitation
  • Motion tracking
  • Gait and posture analysis

Robotics

  • Human-robot collaboration
  • Gesture and body pose interaction
  • Safe motion understanding

Multi-Camera / Smart Spaces

  • Human tracking across multiple viewpoints
  • Crowd monitoring
  • Activity recognition in large environments

References and Inspiration


Special Thanks

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

Notes

  • 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

Future Improvements

  • Add real-time webcam support
  • Add multi-camera synchronization
  • Add a web dashboard
  • Add pose analytics and reporting
  • Add action recognition modules

Contributing

Feel free to improve the scripts, add new demo videos, or extend them with additional pose estimation models.

About

Real-time 3D human pose estimation from video streams using deep learning, with 3D skeleton visualization and analytics.

Topics

Resources

Stars

92 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages