Pre-trained Models

December 2, 2025 · View on GitHub

We provide multiple checkpoints with different Multi-HMR encoders on HuggingFace, including ViT-672S/B/L and ViT-896L. Once downloaded you need to place them into the src directory.

# Download multiple Human3R checkpoints
huggingface-cli download faneggg/human3r human3r_672S.pth --local-dir ./src
huggingface-cli download faneggg/human3r human3r_672B.pth --local-dir ./src
huggingface-cli download faneggg/human3r human3r_672L.pth --local-dir ./src
huggingface-cli download faneggg/human3r human3r_896L.pth --local-dir ./src

Here is an evaluation of their Accuracy vs. Speed Trade-off:

Local HumanGlobal HumanRuntime
ModelsPA-MPJPE↓MPJPE↓PVE↓WA-MPJPE↓W-MPJPE↓RTE↓FPS↑
Human3R w/ ViT-S/67256.187.8103.1129.9314.22.215
Human3R w/ ViT-B/67249.379.694.3122.1292.92.211
Human3R w/ ViT-L/67248.583.196.7113.6291.72.27
Human3R w/ ViT-L/89644.171.284.9112.2267.92.25

Benchmark Setup: All reported speeds are measured on an NVIDIA RTX 4090 GPU with dual Intel Xeon Gold 6530 CPUs.

Real-Time Tier: ViT-S (15 FPS) offers a strong balance for global motion estimation (WA-MPJPE 129.9, RTE 2.2).

High-Fidelity Tier: ViT-L (5-7 FPS) provides more detailed human-mesh reconstruction (WA-MPJPE 112.2, RTE 2.2), suitable for application requiring fine-grained pose and shape.

Inference Speed

Additionally, we benchmark runtime across diverse datasets and backbones. As shown below, the ViT-S/672 variant indeed supports real-time applications (~15 FPS), while larger models trade speed for detail:

FPS
Models3DPW (288×512)BEDLAM (512×288)RICH (512×368)EMDB (384×512)Bonn (512×384)TUM-D (512×384)
Human3R w/ ViT-S/67215.8715.6414.2813.7513.6513.59
Human3R w/ ViT-B/67213.3312.6911.8911.6811.6712.41
Human3R w/ ViT-L/6729.178.738.388.278.278.61
Human3R w/ ViT-L/8965.385.35.155.095.065.15

We provide a script to evaluate the model inference speed (forward pass only), excluding data loader/saver operations.

Note: It is recommended to use inference_only.py instead of eval/global_human/launch.py for timing purposes, as the evaluation script includes significant overhead from ground-truth data processing, metric computation, visualization, and I/O operations.

    # Example:
    CUDA_VISIBLE_DEVICES=0 python inference_only.py \
        --model_path src/human3r_672S.pth --size 512 \
        --seq_path /path/to/3DPW/imageFiles/downtown_runForBus_00 \
        --use_ttt3r --reset_interval 100