How naturalpad-studio/instanthmr works
InstantHMR is a human-mesh-recovery product: images or video frames become per-person 2D keypoints, 3D joints, pose/shape parameters, and body meshes. The demo and Python pipeline detect people, run model inference, optionally filter poses over time, and present results. Separate branches support dataset acquisition/preparation, model training, and benchmark validation. Runtime links follow the sampled pipeline and README; several dataset and training internals were not sampled, so their undocumented connections are omitted.
Main entry points: train.py Model training · pipeline.py Pose pipeline · inference.py HMR inference · demo.py Demo input
Components 23
Inference runtime
- Pose pipeline
instanthmr/pipeline.py - Person detector
instanthmr/detector.py - HMR inference
instanthmr/inference.py - Model resolution
instanthmr/models.py - MHR skeleton
instanthmr/skeleton.py - Pose filtering
instanthmr/smoothing.py
Demo presentation
- Demo input
demo.py - Output smoothing
instanthmr/smoothing.py - Rerun visualization
instanthmr/visualizer.py
Dataset preparation
- Dataset registry
datasets_pipeline/registry.py - Dataset acquisition
datasets_pipeline - Disk planning
datasets_pipeline/plan_disk.py - Split construction
datasets_pipeline/build_split.py - Annotation conversion
tools/parquet_to_npz.py
Training and evaluation
- Model training
training/train.py - Distributed training
training/train_ddp.py - Continuous MHR
training/mhr_cont.py - Kinematic fit
training/kinematic_fit.py - 3DPW validation
training/val3dpw.py - Benchmark evaluation
benchmark
Other components
- User / video source
- Source datasets
- Pose and mesh
Connections 22
- User / video source → Demo input: provides frames
README.md - Demo input → Pose pipeline: runs
demo.py - Pose pipeline → Person detector: detects people
instanthmr/pipeline.py - Pose pipeline → HMR inference: predicts poses
instanthmr/pipeline.py - Pose pipeline → Pose filtering: configures filter
instanthmr/pipeline.py - HMR inference → Model resolution: resolves body
instanthmr/inference.py - HMR inference → MHR skeleton: uses rig
README.md - HMR inference → Pose and mesh: produces
README.md - Demo input → Output smoothing: optionally smooths
demo.py - Demo input → Rerun visualization: renders results
demo.py - Source datasets → Dataset acquisition: supplies data
- Dataset registry → Dataset acquisition: specifies sources
datasets_pipeline/registry.py - Dataset acquisition → Disk planning: plans storage
datasets_pipeline/probe_split.py - Disk planning → Split construction: guides build
- Dataset registry → Split construction: resolves split
datasets_pipeline/build_split.py - Split construction → Annotation conversion: converts annotations
datasets_pipeline/build_split.py - Annotation conversion → Model training: creates training data
README.md - Model training → Continuous MHR: uses parameterization
- Distributed training → Model training: reuses training code
training/train_ddp.py - Model training → 3DPW validation: validates on 3DPW
training/train_ddp.py - Model training → Kinematic fit: exports fit capability
- 3DPW validation → Benchmark evaluation: uses metrics
training/val3dpw.py