How hongwenzhang/pymaf-x works
PyMAF-X reconstructs a 3D human body from monocular images or video, including body, hands, and face. Its demo workflow accepts image or video input, prepares person/pose crops, regresses pose and shape, builds a parametric mesh, and saves visual results. A separate training workflow loads annotated datasets, optimizes the regressor, evaluates predictions, and saves checkpoints. The README documents these capabilities; some demo and training wiring is inferred from documented entry points because those source excerpts are incomplete.
Main entry points: demo_smplx.py Demo Runner · trainer.py Training Loop · pymaf_net.py PyMAF-X Regressor · train.py Training Entry
Components 20
Demo Inference
- Demo Runner
apps/demo_smplx.py - Inference Inputs
datasets/inference.py - Pose Tracking
utils/pose_tracker.py - Saved Results
Reconstruction Models
- PyMAF-X Regressor
models/pymaf_net.py - Pose Backbones
models/pose_resnet.py - Graph Transformer
models/transformers/bert/modeling_graphormer.py - Body Mesh Models
models/smpl.py
Model Training
- Training Entry
apps/train.py - Training Options
core/train_options.py - Training Loop
core/trainer.py - Dataset Loading
datasets/base_dataset.py - Mixed Datasets
datasets/mixed_dataset.py - Training Objectives
core/trainer.py - Checkpoints
utils/saver.py
Geometry and Visualization
- Mesh Rendering
utils/renderer.py - Mesh Export
utils/mesh_io.py - Geometry Utilities
utils/geometry.py
Other components
- Image or Video User
- Training Operator
Connections 22
- Image or Video User → Demo Runner: provides media
- Demo Runner → Inference Inputs: prepares frames
- Demo Runner → Pose Tracking: tracks poses
- Demo Runner → PyMAF-X Regressor: runs regression
- PyMAF-X Regressor → Pose Backbones: extracts features
- PyMAF-X Regressor → Graph Transformer: uses attention
- PyMAF-X Regressor → Body Mesh Models: predicts mesh
- Demo Runner → Body Mesh Models: loads model
- Demo Runner → Mesh Rendering: renders output
- Mesh Rendering → Saved Results: produces visuals
- Demo Runner → Mesh Export: exports mesh
- Mesh Export → Saved Results: writes mesh
- Training Operator → Training Entry: starts training
- Training Entry → Training Options: parses settings
- Training Entry → Training Loop: starts loop
- Training Loop → Mixed Datasets: loads selections
- Mixed Datasets → Dataset Loading: combines samples
- Training Loop → PyMAF-X Regressor: trains regressor
- Training Loop → Body Mesh Models: builds targets
- Training Loop → Training Objectives: computes losses
- Training Loop → Checkpoints: saves state
- PyMAF-X Regressor → Geometry Utilities: uses transforms