Markerless Motion Capture

A desktop pipeline that extracts body, face, and hand motion from standard video. Built as a ground-up replacement for the $50,000 Faceware rig I used at Deck Nine, running on consumer GPUs.

Python Qt/PySide6 PyTorch GVHMR OpenGL

What It Does

bodypipe takes a video of a human performance and outputs production-ready motion capture data. Single-person, multi-person, with identity tracking, pose correction, and export to BVH and FBX.

Scale

  • 24,700 lines of code across 49 commits
  • 1,160 tests passing, all 7 development phases complete
  • MVC architecture: 11 view modules, 7 pipeline workers
  • 3D viewport with QOpenGLWidget mesh rendering, orbit/in-camera modes, FBO joint picking

Key Features

  • Identity Inspector — Person selector, bounding box editing, track operations (swap/split/merge), review scanner
  • 3D Viewport — Real-time mesh preview with skeleton overlay, in-camera and orbit modes
  • Pose Corrector — Euler sliders, quick-fix presets, auto-detect bad spans
  • Session Management — Save/load, 50-depth undo/redo, keyboard shortcuts, settings persistence

Backend

Uses GVHMR (Global-View Human Mesh Recovery) as the estimation engine, with HaMeR for hands and SMPLest-X for body models. World-grounded motion recovery means the output is in real-world coordinates, not just camera-relative.