Skip to main content

No project description provided

Project description

FMPose3D: monocular 3D pose estimation via flow matching

Version PyPI version License: LApache 2.0

This is the official implementation of the approach described in the paper:

FMPose3D: monocular 3D Pose Estimation via Flow Matching
Ti Wang, Xiaohang Yu, Mackenzie Weygandt Mathis

🚀 TL;DR

FMPose3D replaces slow diffusion models for monocular 3D pose estimation with fast Flow Matching, generating multiple plausible 3D poses via an ODE in just a few steps, then aggregates them using a reprojection-based Bayesian module (RPEA) for accurate predictions, achieving state-of-the-art results on human and animal 3D pose benchmarks.

News!

  • Feb 2026: FMPose3D code and arXiv paper is released - check out the demos here or on our project page
  • Planned: This method will be integrated into DeepLabCut

Installation

Set up an environment

Make sure you have Python 3.10+. You can set this up with:

conda create -n fmpose_3d python=3.10
conda activate fmpose_3d
git clone https://github.com/AdaptiveMotorControlLab/FMPose3D.git
# TestPyPI (pre-release/testing build)
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ fmpose3d==0.0.7
# Future Official PyPI release
# pip install fmpose3d

Demo

Testing on in-the-wild images (humans)

This visualization script is designed for single-frame based model, allowing you to easily run 3D human pose estimation on any single image.

Before testing, make sure you have the pre-trained model ready. You may either use the model trained by your own or download ours from here and place it in the ./pre_trained_models directory.

Next, put your test images into folder demo/images. Then run the visualization script:

sh vis_in_the_wild.sh

The predictions will be saved to folder demo/predictions.

Training and Inference

Dataset Setup

Setup from original source

You can obtain the Human3.6M dataset from the Human3.6M website, and then set it up using the instructions provided in VideoPose3D.

Setup from preprocessed dataset (Recommended)

You also can access the processed data by downloading it from here.

Place the downloaded files in the dataset/ folder of this project:

<project_root>/
├── dataset/
│   ├── data_3d_h36m.npz
│   ├── data_2d_h36m_gt.npz
│   └── data_2d_h36m_cpn_ft_h36m_dbb.npz

Training

The training logs, checkpoints, and related files of each training time will be saved in the './checkpoint' folder.

For training on Human3.6M:

sh /scripts/FMPose3D_train.sh

Inference

First, download the folder with pre-trained model from here and place it in the './pre_trained_models' directory.

To run inference on Human3.6M:

sh ./scripts/FMPose3D_test.sh

Experiments Animals

For animal training/testing and demo scripts, see animals/README.md.

Acknowledgements

We thank the Swiss National Science Foundation (SNSF Project # 320030-227871) and the Kavli Foundation for providing financial support for this project.

Our code is extended from the following repositories. We thank the authors for releasing the code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fmpose3d-0.0.7.tar.gz (90.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fmpose3d-0.0.7-py3-none-any.whl (107.5 kB view details)

Uploaded Python 3

File details

Details for the file fmpose3d-0.0.7.tar.gz.

File metadata

  • Download URL: fmpose3d-0.0.7.tar.gz
  • Upload date:
  • Size: 90.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fmpose3d-0.0.7.tar.gz
Algorithm Hash digest
SHA256 1392bd8f536d586cbb2b5cdbc796003f3b603c29c8633a4ab6075123df2ef514
MD5 ee6c8aa2b5cf910f7f8fabc46bacd024
BLAKE2b-256 609508a28db446b8a0898da18ff34afd2fc3f374303aa2c0afb82e67cafbcbb0

See more details on using hashes here.

File details

Details for the file fmpose3d-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: fmpose3d-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 107.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for fmpose3d-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 86f08e208af08d26c63d464fdd9d9b2b19903556138a0407c1ed1b46db0664a2
MD5 907c98c9437a18db86ad7561b1a11924
BLAKE2b-256 ba1fb71940d01836c949ea559b9849cc73529e5ec6cf01c20e9c2ebe1f2fc1b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page