π MoveNet Pose Estimation
Estimate human poses using Google's MoveNet model. Supports single images and video files.
Upload Image
Results
Upload Video
Results
Issue #12: App development and pipeline integration
Endpoint alternative chosen: Gradio tab inside the existing app.py.
Input: one video file. Output: annotated cut 2D video, 3D skeleton animation video, keypoints CSV, and good/bad classification JSON.
A14: Advanced Exercise Pipeline
Features: Automated 'Ugly' recording rejection + 'Good/Bad' form classification.
A15: Exercise Scoring (0β4 regression)
Score scale: 0 = perfect form, 4 = worst kept clip.
Bands:
- GREEN
< 1β acceptable form - AMBER
1β2β borderline, consider another take - RED
β₯ 2β poor form
The same upstream pipeline as A14 is reused (pose extraction + 3D lift + A12 start/stop cut). Decision-time of the NN and the overall response-time breakdown are reported alongside the score.
A16 β Final unified endpoint (3D alternative)
Record a clip with your webcam (or upload one), then click Run A16 endpoint. The result appears on the right: a video with the skeleton overlaid on your recording, plus the full Part-II chain output β pose β PoseNetβKinect 2D β 2Dβ3D β start/stop cut β ugly/good-bad β 0β4 score.
Processing is currently CPU-only and runs the full chain end-to-end, so a 5-10 s clip can take roughly 20-60 s on the HF Space.
MediaPipe 3D Pose Livestream
Live webcam pose estimation using MediaPipe Tasks (pose_landmarker_lite.task). The left panel shows the 2D skeleton overlay; the right panel shows the 3D world landmarks.
Features
- Single Image Processing: Upload and process static images
- Video Processing: Upload video files for pose estimation
- 17 COCO Keypoints: Detects nose, eyes, ears, shoulders, elbows, wrists, hips, knees, and ankles
- Confidence Threshold: Adjust detection sensitivity
- CSV/JSON Export: Download pose data for further analysis
Model Details
- Model: MoveNet SinglePose (Lightning)
- Input size: 192x192 pixels
- Fast and efficient real-time pose estimation