anymo / README.md
multimodalart's picture
multimodalart HF Staff
Upload folder using huggingface_hub
c37b741 verified
|
Raw History Blame Contribute Delete
2.08 kB

A newer version of the Gradio SDK is available: 6.32.0

Upgrade
metadata
title: AnyMo
emoji: πŸƒ
colorFrom: red
colorTo: indigo
sdk: gradio
sdk_version: 6.31.0
app_file: app.py
short_description: Wearable-IMU motion captioning & activity recognition
python_version: '3.12'
startup_duration_timeout: 30m

πŸƒ AnyMo β€” motion understanding from wearable IMUs

Interactive demo for AnyMo ("AnyMo: Geometry-Aware Setup-Agnostic Modeling of Human Motion in the Wild"). AnyMo consumes raw wearable-IMU time series β€” attached at any subset of 23 canonical body segments, in any order β€” and produces:

  • Motion captions β€” free-form natural-language descriptions of the motion.
  • Zero-shot activity recognition β€” the closest match among your candidate activity labels, via IMU-text embedding similarity.

How to use

  1. Pick a bundled sample β€” real 5-second IMU windows (Head + Left Wrist + Right Wrist, 60 Hz) from the AnyMo-Bench test split β€” or upload your own .npy array of shape [T, S, 6] (or flattened [T, SΓ—6]). Channels are [acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z] in m/sΒ² and rad/s.
  2. Set each sensor's body location (Head, Left Wrist, Right Wrist for the bundled samples).
  3. Press Analyze motion.

The window is resampled to the model's native 60 Hz and passed through AnyMo's geometry-aware ST-GCN encoder, product-quantized motion tokenizer, and Qwen2.5-0.5B language backbone.

Links

Sample data attribution

The six bundled example windows (samples/*.npy) are drawn from the AnyMo-Bench test split (CC BY-NC 4.0). They are redistributed here for demonstration purposes with attribution; non-commercial use only.