Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Official Implementation of h/BehaveMAE and Shot7M2 (ECCV 2024)

Elucidating the Hierarchical Nature of Behavior with Masked Autoencoders
Lucas Stoffl, Andy Bonnetto, Stéphane d'Ascoli, Alexander Mathis
École Polytechnique Fédérale de Lausanne (EPFL)

[ECCV'24], [bioRxiv]

📰 News

[2024.10] We released the code and datasets for h/BehaveMAE, Shot7M2 and hBABEL🎈
[2024.07] This work is accepted to ECCV 2024 🎉 -- see you in Milano!
[2024.06] h/BehaveMAE and Shot7M2 were presented at FENS Forum 2024

🎥 Teaser Presentation

Teaser Presentation

✨ Highlights

🔥 Hierarchical Action Segmentation (HAS) Benchmarks

Recognizing the scarcity of large-scale hierarchical behavioral benchmarks, we create a novel synthetic basketball playing benchmark (Shot7M2). Beyond synthetic data, we extend BABEL into a hierarchical action segmentation benchmark (hBABEL).

⚡️ A Generalized and Hierarchical Masked Autoencoder Framework

We developed a masked autoencoder framework (hBehaveMAE) to elucidate the hierarchical nature of motion capture data in an unsupervised fashion. We find that hBehaveMAE learns interpretable latents, where lower encoder levels show a superior ability to represent fine-grained movements, while higher encoder levels capture complex actions and activities.

🔨 Installation

We developed and tested our models with python=3.9.15, pytorch=2.0.1, and cuda=11.7. Other versions may also be suitable. The easiest way to set up the environment is by using the provided environment.yml file:

conda env create -f environment.yml
conda activate behavemae

➡️ Data Preparation

For downloading and preparing the three benchmarks Shot7M2 (download here 🏀), hBABEL, and MABe22 we compiled detailed instructions in the datasets README.

🔄 Pre-training

To pre-train a model on 2 GPUs:

bash scripts/shot7m2/train_hBehaveMAE.sh 2

⤴️ Inference

To extract hierarchical embeddings after training and evaluate these embeddings:

bash scripts/shot7m2/test_hBehaveMAE.sh

🦁 Model Zoo

We provide a collection of pre-trained models on zenodo that were reported in our paper, allowing you to reproduce our results:

Method Dataset Checkpoint
hBehaveMAE Shot7M2 checkpoint
hBehaveMAE hBABEL checkpoint
hBehaveMAE MABe22 checkpoint

✏️ Citation

If you think this project is helpful, please feel free to leave a star⭐️ and cite our paper:

📄 bioRxiv Version

@article{stoffl2024elucidating,
  title={Elucidating the Hierarchical Nature of Behavior with Masked Autoencoders},
  author={Stoffl, Lucas and Bonnetto, Andy and d'Ascoli, Stephane and Mathis, Alexander},
  journal={bioRxiv},
  pages={2024--08},
  year={2024},
  publisher={Cold Spring Harbor Laboratory}
}

📘 ECCV Version

@inproceedings{stoffl2025elucidating,
  title={Elucidating the hierarchical nature of behavior with masked autoencoders},
  author={Stoffl, Lucas and Bonnetto, Andy and d’Ascoli, St{\'e}phane and Mathis, Alexander},
  booktitle={European Conference on Computer Vision},
  pages={106--125},
  year={2025},
  organization={Springer}
}

👍 Acknowledgements

We thank the authors of the following repositories for their amazing work, on which part of our code is based:

🔒 Licensing

This repository is licensed under two different licenses depending on the codebase:

  • Apache 2.0 License: The majority of the project, including all original code and modifications.
  • CC BY-NC 4.0 License: The code inside the hierAS-eval/ directory is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. This means it cannot be used for commercial purposes.

Please refer to the respective LICENSE file in the root of the repository and in hierAS-eval/ for more details.

Metadata

Release files for behavemae 0.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for behavemae 0.0rc1
File Interpreter ABI Platform Actions
behavemae-0.0rc1-py3-none-any.whl Python 3 none any Details for behavemae-0.0rc1-py3-none-any.whl

Release files / behavemae-0.0rc1-py3-none-any.whl

Download URL behavemae-0.0rc1-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7146e508ae981b3d69246f87d718d54cc4879410359a40fe08ba5330446c1de0
BLAKE2b-256 checksum
How to use checksums
7eb2c6410d50b0a0d4862636093cabb3164f25eec950f94211427fff5679475b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.11

Security for behavemae 0.0rc1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page