GitPedia

Mamma

Official code for MAMMA: Markerless Accurate Multi-person Motion Acquisition.

From cuevhv·Updated June 20, 2026·View on GitHub·

Hanz Cuevas Velasquez1\*, Anastasios Yiannakidis1\*, Soyong Shin2, Giorgio Becherini1, Markus Höschle1, Joachim Tesch1, Taylor Obersat1, Tsvetelina Alexiadis1, Eni Halilaj2, Michael J. Black1 The project is written primarily in Python, distributed under the Other license, first published in 2026. Key topics include: 3d-human-reconstruction, computer-vision, cvpr2026, deep-learning, hmr.

<div align="center">

MAMMA: Markerless Accurate Multi-person Motion Acquisition

Hanz Cuevas Velasquez<sup>1*</sup>, Anastasios Yiannakidis<sup>1*</sup>, Soyong Shin<sup>2</sup>, Giorgio Becherini<sup>1</sup>, Markus Höschle<sup>1</sup>, Joachim Tesch<sup>1</sup>, Taylor Obersat<sup>1</sup>, Tsvetelina Alexiadis<sup>1</sup>, Eni Halilaj<sup>2</sup>, Michael J. Black<sup>1</sup>

<sup>1</sup>Max Planck Institute for Intelligent Systems, Tübingen    <sup>2</sup>Carnegie Mellon University

<sup>*</sup>Equal contribution

teaser.png

[CVPR 2026 Oral] | Paper | arXiv | Project Page | Datasets

</div>

News

  • [2026-06] 🎉 MAMMA being presented at CVPR 2026
  • [2026-06] Code released (inference + training)

Install

bash
git clone https://github.com/cuevhv/mamma.git cd mamma

Full env + CUDA + weights setup: docs/INSTALL.md.

bash
micromamba activate mamma # or: conda activate mamma python -m inference doctor # verify env vars + weight paths

The pipeline is zero-config when weights live under data/.


Quick demo

Bundled 4-cam example, ~56 MB:

bash
bash data/download_example.sh # fetches videos to data/mamma_example/
bash
python -m inference run \ --cfg configs/examples/presets/quick.yaml \ --footage data/mamma_example \ --seq_name pushing_and_lifting_from_ground \ --calib configs/examples/calib/iphones_outdoors.yaml \ --out-tag demo -v

Outputs land under output/ma_*/demo/mamma_example/….

Prefer a browser UI? Run bash gui/scripts/dev.sh, open http://localhost:3000, and click Run demo. It's the same pipeline but friendlier UX!


Pipeline

ma_cap → ma_masks → ma_2d → ma_3d → ma_vis

StepWhat it does
ma_capLoads multi-view capture
ma_masksPer-person segmentation (SAM + YOLO)
ma_2d2D landmark detection (MammaNet)
ma_3dMulti-view SMPL-X optimization
ma_visPer-camera overlays + interactive scene

Entry point: python -m inference run (source: inference/cli/run.py).

ArgumentWhat it is
--cfg / --presetPipeline-configuration YAML — declares which steps run and their hyperparameters. Capture-independent. (what a preset is + how to modify one)
--footageDataset root containing sequence subdirs (use with --seq_name + --calib). (layout reference)
--seq_nameOne sequence subdirectory name under --footage to process (one run = one sequence).
--calibCalibration file (.yaml / .xcp / OpenCV .json); applies to every sequence under --footage. (format reference)
--captureAdvanced: capture JSON pointing at footage, calibration, sequences, and camera names — used to iterate over many sequences in one invocation. (schema reference)
--out-tagOutput sub-directory tag under output/ma_*/<tag>/ (default: local).
-vVerbose runner logs.

Run the pipeline

Three things are needed:

  1. A calibration file (how to make one)
  2. A folder with your sequence (how to set it up)
  3. A preset — use a shipped one: configs/examples/presets/quick.yaml (~5 min smoke) or configs/examples/presets/full.yaml (full-frame). See docs/CONFIGS.md to modify or author your own.

Then:

bash
python -m inference run \ --cfg <path/to/preset>.yaml \ --footage <path/to/footage> \ --seq_name <seq_name> \ --calib <path/to/calib>.yaml \ --out-tag run01 -v

Alternative — iterate over many sequences in one invocation. A capture JSON enumerates sequences, cameras, and the calibration in one file; the runner walks them automatically:

bash
python -m inference run \ --cfg <path/to/preset>.yaml \ --capture <path/to/capture>.json \ --out-tag run01 -v

GUI

Browser UI for submitting and inspecting runs. It uses the same mamma python env.

bash
gui/scripts/dev.sh # dev: Flask :8000 + Vite :3000 (auto-reload) gui/scripts/prod.sh # prod: single Flask process on :8000

Setup and deployment: gui/README.md.


MAMMA datasets

The paper's released captures, evaluation data, and synthetic training data live on the MAMMA project page and require a free account.

  1. Register at https://mamma.is.tue.mpg.de/ and confirm your email.

  2. Either use the GUI's Pipeline assets panel (sign in once, click to download), or run the per-dataset shell scripts under data/:

    bash
    bash data/download_mamma_dance.sh --bachata --meta --pred --videos_crf24

Five dataset families ship: dance, multi-person, iPhone, eval, and synthetic. Per-dataset sizes, video encodings, and the full script flag surface live in docs/DATASETS.md.

Just running on your own footage? You don't need any of this — see Run the pipeline above.


Layout

.
├── inference/       runner, step builders, doctor CLI
├── capture/         ma_cap step
├── segmentation/    ma_masks step
├── landmarks/       ma_2d step
├── optimization/    ma_3d step
├── visualization/   ma_vis step
├── configs/         presets + capture manifests
├── data/            body models + weights + datasets (gitignored)
├── output/          run outputs (gitignored)
├── gui/             browser UI (Flask + React)
└── scripts/         smoke tests + utilities

TODO

  • Release the evaluation scripts (2D landmark + benchmark evaluation) and the processed evaluation datasets.

Citation

@inproceedings{cuevas2026mamma,
  title     = {{MAMMA}: {Markerless Accurate Multi-person Motion Acquisition}},
  author    = {Cuevas Velasquez, Hanz and Yiannakidis, Anastasios and Shin, Soyong and Becherini, Giorgio and H{\"o}schle, Markus and Tesch, Joachim and Obersat, Taylor and Alexiadis, Tsvetelina and Halilaj, Eni and Black, Michael J.},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year      = {2026}
}

Acknowledgments

MAMMA builds on a number of open-source models, datasets, and tools. We thank their authors for releasing their work openly.

License

For non-commercial scientific research purposes LICENSE.

Contact

Questions, bug reports, or other inquiries: mamma@tue.mpg.de.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from cuevhv/mamma via the GitHub API.Last fetched: 6/20/2026