Card for v0.1.4 (Code link) and assets
Browse files- .gitattributes +2 -0
- README.md +76 -0
- assets/banner-dark.png +0 -0
- assets/hero.gif +3 -0
- assets/hero.mp4 +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/hero.gif filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
assets/hero.mp4 filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
tags:
|
| 4 |
+
- jax
|
| 5 |
+
- mashbox
|
| 6 |
+
- rigging
|
| 7 |
+
- animation
|
| 8 |
+
- gltf
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
<p align="center"><img alt="MASHBOX Labs" src="https://huggingface.co/mashbox-labs/Track2Rig/resolve/main/assets/banner-dark.png" width="100%"></p>
|
| 12 |
+
|
| 13 |
+
# Track2Rig
|
| 14 |
+
|
| 15 |
+
**Experimental**
|
| 16 |
+
|
| 17 |
+
### Read the guide: [Track2Rig docs](https://mashbox.gg/docs/models/track2rig)
|
| 18 |
+
|
| 19 |
+
Our own model: dense 3D point tracks of a moving creature in, a rig out (bones, skin weights, per-frame bone transforms and a skeleton). Runs on a CPU. It does not work well on many clips yet. Newer weights will be published as dated versions. Trained from scratch by MASHBOX Labs. Code and weights: Apache-2.0.
|
| 20 |
+
|
| 21 |
+
<img alt="Track2Rig preview" width="720" src="https://huggingface.co/mashbox-labs/Track2Rig/resolve/main/assets/hero.gif">
|
| 22 |
+
|
| 23 |
+
<sub>The quickstart clip (grison_walk.npz, a grison walking, from the synthetic test set) rigged by Track2Rig 0.1.0 (weights track2rig-v2) on a CPU, in a side view and a three-quarter view. Every point is moved only by the predicted skin and bone transforms; lines are the predicted skeleton. Also as an [MP4 video](https://huggingface.co/mashbox-labs/Track2Rig/resolve/main/assets/hero.mp4) (the clip looped).</sub>
|
| 24 |
+
|
| 25 |
+
## Quickstart
|
| 26 |
+
|
| 27 |
+
On a CPU, with Python 3.12 (tested on x86-64 Linux). If your `python3` is older, as on a Google Cloud TPU VM, use the uv steps in the [install guide](https://mashbox.gg/docs/models/track2rig#install). The first run downloads `track2rig-v2.safetensors` (11 MB) from this repo at the revision pinned in `models.json` and checks its sha256.
|
| 28 |
+
|
| 29 |
+
```bash
|
| 30 |
+
git clone https://github.com/mashbox-labs/mashbox && cd mashbox
|
| 31 |
+
python3 -m venv .venv && . .venv/bin/activate
|
| 32 |
+
pip install ".[cpu,track2rig]"
|
| 33 |
+
mashbox run track2rig examples/track2rig/tracks/grison_walk.npz -o grison_rig
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
+
This writes `grison_rig/rig.json` and `grison_rig/rig.glb` (glTF 2.0: one joint per bone, top-4 skin, one animation).
|
| 37 |
+
|
| 38 |
+
## From video
|
| 39 |
+
|
| 40 |
+
Track2Rig starts from 3D point tracks. To make them from a video of one animal we use [TrackEverything](https://github.com/ayushjain1144/trackeverything) (CMU and Meta) at commit `f0c18dd9`, licensed **CC BY-NC 4.0 (non-commercial use only)**, through our wrapper `track2rig-video`. It needs Linux and an NVIDIA GPU. Steps and measured times: [video to tracks to rig](https://mashbox.gg/docs/models/track2rig#from-video). Tracks from any other 3D point tracker work through `track2rig-video align`.
|
| 41 |
+
|
| 42 |
+
## Results
|
| 43 |
+
|
| 44 |
+
| Chip | Measure | Result | Baseline |
|
| 45 |
+
|---|---|---|---|
|
| 46 |
+
| CPU (AMD EPYC 7502P) | Held-out reconstruction error, synthetic test set (32 clips, noisy and partly hidden tracks), % of body size, lower is better | 0.784 | SSDR, our 30-iteration NumPy/SciPy implementation, same bone count: 0.915 |
|
| 47 |
+
| CPU (AMD EPYC 7502P) | Joint error, synthetic test set, % of body size, lower is better | 6.24 | SSDR, same implementation and inputs: 7.73 |
|
| 48 |
+
|
| 49 |
+
## Files
|
| 50 |
+
|
| 51 |
+
| File | Format | Size | Note |
|
| 52 |
+
|---|---|---|---|
|
| 53 |
+
| `track2rig-v2.safetensors` | safetensors | 11.1 MB | float32, 55 tensors, 2,764,416 parameters |
|
| 54 |
+
| `examples/clips/glass-snake_idle.npz` | npz | 2.9 MB | example |
|
| 55 |
+
| `examples/clips/glass-snake_walk.npz` | npz | 2.9 MB | example |
|
| 56 |
+
| `examples/clips/grison_idle.npz` | npz | 2.2 MB | example |
|
| 57 |
+
| `examples/clips/grison_walk.npz` | npz | 2.1 MB | example |
|
| 58 |
+
| `examples/clips/pelican-spider_idle.npz` | npz | 2.5 MB | example |
|
| 59 |
+
| `examples/clips/pelican-spider_walk.npz` | npz | 2.7 MB | example |
|
| 60 |
+
| `examples/clips/reference.json` | json | 4.2 KB | example |
|
| 61 |
+
|
| 62 |
+
Weights version `2026-10-29` (the Hugging Face tag of the revision `models.json` pins). Newer weights are published as new dated versions; a published version never changes.
|
| 63 |
+
|
| 64 |
+
## Links
|
| 65 |
+
|
| 66 |
+
| | |
|
| 67 |
+
|---|---|
|
| 68 |
+
| Code | [mashbox-labs/mashbox](https://github.com/mashbox-labs/mashbox/tree/v0.1.4/src/mashbox/models/track2rig) |
|
| 69 |
+
| Guide | [mashbox.gg/docs/models/track2rig](https://mashbox.gg/docs/models/track2rig) |
|
| 70 |
+
| Original model | [mashbox-labs/Track2Rig](https://huggingface.co/mashbox-labs/Track2Rig) by MASHBOX Labs |
|
| 71 |
+
| Setup from a new Google account | [mashbox.gg/docs/google-cloud](https://mashbox.gg/docs/google-cloud) |
|
| 72 |
+
| Companies | hello@mashbox.gg |
|
| 73 |
+
|
| 74 |
+
## Licence
|
| 75 |
+
|
| 76 |
+
Code and weights: Apache-2.0 (MASHBOX Labs). The video step's tracker (TrackEverything) and its geometry model (Pi3) keep their own licences and are not in this repo.
|
assets/banner-dark.png
ADDED
|
assets/hero.gif
ADDED
|
Git LFS Details
|
assets/hero.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:47375752ecc35d63fb545e9eaa39a157dd483cd8e4e674dab9f165ef7d2334b8
|
| 3 |
+
size 3801891
|