boshjerns commited on
Commit
98288e7
·
verified ·
1 Parent(s): bb09d28

Card for v0.1.4 (Code link) and assets

Browse files
Files changed (5) hide show
  1. .gitattributes +2 -0
  2. README.md +76 -0
  3. assets/banner-dark.png +0 -0
  4. assets/hero.gif +3 -0
  5. 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

  • SHA256: 31bcc89cb5bd80b98643985da6d038a54900ed003ce5db3c079bec8fcac14e0e
  • Pointer size: 132 Bytes
  • Size of remote file: 1.47 MB
assets/hero.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:47375752ecc35d63fb545e9eaa39a157dd483cd8e4e674dab9f165ef7d2334b8
3
+ size 3801891