Exercise Analytics
Overhead Press
Full benchmark
resize 2.52ms / preprocess 5.42ms / postprocess 0.06ms / analytics 0.01 / skeleton 0.41 / analytics renderer 1.71 ms
Edge AI / Computer Vision / Systems Engineering
A modular C++17/OpenCV engine for real-time video processing, human-pose inference, and analytics-ready motion data on macOS and NVIDIA Jetson Orin Nano.
On-Device Demos
Exercise Analytics
resize 2.52ms / preprocess 5.42ms / postprocess 0.06ms / analytics 0.01 / skeleton 0.41 / analytics renderer 1.71 ms
Exercise Analytics
resize 2.69ms / preprocess 6.18ms / postprocess 0.07ms / analytics 0.01ms / skeleton 0.46ms / analytics renderer 2.22 ms
Edge Hardware
The production profile runs YOLO11 pose inference through CUDA FP16 while the CPU handles capture, orchestration, pose decoding, exercise analytics, rendering, and output. Both demos above were recorded on this device.
Architecture
All processors implement IFrameProcessor and exchange data through
FrameContext. The model adapter translates inference output into named
joints before rendering or analytics, keeping pose models separate from the video,
timing, and exercise-analysis layers.
Runtime
Foreground regions and merged bounding boxes.
Stable motion-track IDs and trajectory trails.
17-joint skeleton, confidence, analytics, and stage timing.
./build/video_engine \
--source video_source/squat.mov \
--pipeline pose \
--config configs/pose.yaml
[Frame 3] FPS: 3.4
| resize: 0.40 ms
| pose_preprocess: 0.41 ms
| pose_inference: 261.56 ms
| pose_postprocess: 0.01 ms
| skeleton_renderer: 0.10 ms
| pipeline: 262.47 ms
Roadmap
optimization each pipelines for a faster inference and higher frames.
Extend the working squat and overhead-press analyzers to more movements with small models.
Integration with depth cameras for improved 3D pose estimation.
Persistent identity through movement and temporary occlusion.