Add files using upload-large-folder tool
Browse files- README.md +89 -0
- glove/our_vab_data.npy +3 -0
- glove/our_vab_idx.pkl +3 -0
- glove/our_vab_words.pkl +3 -0
- model_index.json +9 -0
- t2m/M2T_EL4_DL4_NH8_PS/meta/mean.npy +3 -0
- t2m/M2T_EL4_DL4_NH8_PS/meta/std.npy +3 -0
- t2m/M2T_EL4_DL4_NH8_PS/model/finest.tar +3 -0
- t2m/M2T_EL4_DL4_NH8_PS/opt.txt +40 -0
- t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/meta/mean.npy +3 -0
- t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/meta/std.npy +3 -0
- t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/model/finest.tar +3 -0
README.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: motius
|
| 3 |
+
pipeline_tag: other
|
| 4 |
+
tags:
|
| 5 |
+
- motion-to-text
|
| 6 |
+
- motion-captioning
|
| 7 |
+
- humanml3d
|
| 8 |
+
- tm2t
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
<h1 align="center">TM2T Model Card</h1>
|
| 12 |
+
|
| 13 |
+
<p align="center">
|
| 14 |
+
<strong>Tokenized reciprocal motion-language translation, reproduced as a standalone Motius M2T pipeline.</strong>
|
| 15 |
+
</p>
|
| 16 |
+
|
| 17 |
+
<p align="center">
|
| 18 |
+
<a href="https://arxiv.org/abs/2207.01696">Paper</a> |
|
| 19 |
+
<a href="https://ericguo5513.github.io/TM2T/">Project Page</a> |
|
| 20 |
+
<a href="https://github.com/EricGuo5513/TM2T">Original GitHub</a> |
|
| 21 |
+
<a href="https://huggingface.co/ZeyuLing/Motius-TM2T-HumanML3D">Motius Checkpoint</a>
|
| 22 |
+
</p>
|
| 23 |
+
|
| 24 |
+
TM2T is the ECCV 2022 reciprocal text-to-motion and motion-to-text method. The
|
| 25 |
+
Motius release contains the HumanML3D VQ tokenizer, motion-to-text Transformer,
|
| 26 |
+
vocabulary, statistics, and inference runtime. It does not import an original
|
| 27 |
+
repository checkout.
|
| 28 |
+
|
| 29 |
+
## Release Snapshot
|
| 30 |
+
|
| 31 |
+
| Item | Value |
|
| 32 |
+
| ---- | ----- |
|
| 33 |
+
| Released task | M2T |
|
| 34 |
+
| Motion representation | HumanML3D-263, 20 fps |
|
| 35 |
+
| Motion tokenizer | 1,024-code VQ tokenizer |
|
| 36 |
+
| Caption model | 4-layer encoder / 4-layer decoder Transformer |
|
| 37 |
+
| Decoding | Beam search, beam size 2 |
|
| 38 |
+
| Checkpoint | [`ZeyuLing/Motius-TM2T-HumanML3D`](https://huggingface.co/ZeyuLing/Motius-TM2T-HumanML3D) |
|
| 39 |
+
| Pipeline | `motius.pipelines.tm2t.TM2TPipeline` |
|
| 40 |
+
|
| 41 |
+
## Usage
|
| 42 |
+
|
| 43 |
+
```python
|
| 44 |
+
import numpy as np
|
| 45 |
+
from motius.pipelines.tm2t import TM2TPipeline
|
| 46 |
+
|
| 47 |
+
pipe = TM2TPipeline.from_pretrained(
|
| 48 |
+
"ZeyuLing/Motius-TM2T-HumanML3D",
|
| 49 |
+
bundle_kwargs={"device": "cuda"},
|
| 50 |
+
)
|
| 51 |
+
motion = np.load("sample.npy") # denormalized HumanML3D-263
|
| 52 |
+
caption = pipe.infer_m2t([motion], lengths=[len(motion)])[0]
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
## M2T Evaluation
|
| 56 |
+
|
| 57 |
+
Full 4,402-clip evaluation follows the shared [HumanML3D M2T protocol](../tasks/m2t.md).
|
| 58 |
+
Results are published only after the complete prediction set and metric artifact
|
| 59 |
+
pass the population and sample-ID checks.
|
| 60 |
+
|
| 61 |
+
| Samples | BLEU-4 | ROUGE-L | CIDEr | BERT F1 | R@1 | R@2 | R@3 | Matching |
|
| 62 |
+
| ------: | -----: | ------: | ----: | -------: | --: | --: | --: | -------: |
|
| 63 |
+
| 4,402 | - | - | - | - | - | - | - | - |
|
| 64 |
+
|
| 65 |
+
## Motion Representation
|
| 66 |
+
|
| 67 |
+
TM2T normalizes HumanML3D-263 features with its released training statistics.
|
| 68 |
+
The VQ encoder removes four contact dimensions, maps each clip to discrete
|
| 69 |
+
motion tokens, and the reciprocal Transformer translates those tokens to text.
|
| 70 |
+
|
| 71 |
+
## Motius Components
|
| 72 |
+
|
| 73 |
+
| Component | Path |
|
| 74 |
+
| --------- | ---- |
|
| 75 |
+
| Pipeline | `motius/pipelines/tm2t/pipeline.py` |
|
| 76 |
+
| Bundle | `motius/models/tm2t/bundle.py` |
|
| 77 |
+
| Runtime | `motius/models/tm2t/network.py` |
|
| 78 |
+
| License | `motius/models/tm2t/LICENSE` |
|
| 79 |
+
|
| 80 |
+
## Citation
|
| 81 |
+
|
| 82 |
+
```bibtex
|
| 83 |
+
@inproceedings{guo2022tm2t,
|
| 84 |
+
title={TM2T: Stochastic and Tokenized Modeling for the Reciprocal Generation of 3D Human Motions and Texts},
|
| 85 |
+
author={Guo, Chuan and Zuo, Xinxin and Wang, Sen and Cheng, Li},
|
| 86 |
+
booktitle={European Conference on Computer Vision},
|
| 87 |
+
year={2022}
|
| 88 |
+
}
|
| 89 |
+
```
|
glove/our_vab_data.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:73ed9b73ee5bc5ab683661c132b9f98fe305672dffdf70ceeac1bc447543d668
|
| 3 |
+
size 10077728
|
glove/our_vab_idx.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d85dce83d2c27a92bb94bb51dc1f55a04fcaa328c359d23eccf648e296c16493
|
| 3 |
+
size 79811
|
glove/our_vab_words.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fac88da1be6f00d36b72b88c9745c8ac35a94a7bd6ccf1fa3bab380faf8c2e0d
|
| 3 |
+
size 67470
|
model_index.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "TM2TPipeline",
|
| 3 |
+
"_library_name": "motius",
|
| 4 |
+
"model_type": "tm2t",
|
| 5 |
+
"format": "motius-tm2t-artifact-v1",
|
| 6 |
+
"bundle_class": "motius.models.tm2t.TM2TBundle",
|
| 7 |
+
"pipeline_class": "motius.pipelines.tm2t.TM2TPipeline",
|
| 8 |
+
"api": "motius.pipelines.tm2t.TM2TPipeline.from_pretrained"
|
| 9 |
+
}
|
t2m/M2T_EL4_DL4_NH8_PS/meta/mean.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0bdb5ba69a3a9e34d71990db15bc535ebc024c8d95ddb5574196f96058faa7d3
|
| 3 |
+
size 2232
|
t2m/M2T_EL4_DL4_NH8_PS/meta/std.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6a5f7d60301c9465972fc225f8ad0ee8f957e7720431189123eb6d15873a9557
|
| 3 |
+
size 2232
|
t2m/M2T_EL4_DL4_NH8_PS/model/finest.tar
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3b338050c5792505beae582c869cca84c06019a430909f1af7a3a12abd6d41c2
|
| 3 |
+
size 385708975
|
t2m/M2T_EL4_DL4_NH8_PS/opt.txt
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
------------ Options -------------
|
| 2 |
+
batch_size: 64
|
| 3 |
+
checkpoints_dir: ./checkpoints
|
| 4 |
+
codebook_size: 1024
|
| 5 |
+
d_inner_hid: 2048
|
| 6 |
+
d_k: 64
|
| 7 |
+
d_model: 512
|
| 8 |
+
d_v: 64
|
| 9 |
+
dataset_name: t2m
|
| 10 |
+
dim_vq_dec_hidden: 1024
|
| 11 |
+
dim_vq_enc_hidden: 1024
|
| 12 |
+
dim_vq_latent: 1024
|
| 13 |
+
dropout: 0.1
|
| 14 |
+
eval_every_e: 5
|
| 15 |
+
gpu_id: 1
|
| 16 |
+
is_continue: False
|
| 17 |
+
is_train: True
|
| 18 |
+
label_smoothing: False
|
| 19 |
+
lambda_beta: 1
|
| 20 |
+
lambda_m2t: 1.0
|
| 21 |
+
log_every: 50
|
| 22 |
+
lr: 0.0002
|
| 23 |
+
m2t_v3: False
|
| 24 |
+
max_epoch: 300
|
| 25 |
+
max_text_len: 20
|
| 26 |
+
n_dec_layers: 4
|
| 27 |
+
n_down: 2
|
| 28 |
+
n_enc_layers: 4
|
| 29 |
+
n_head: 8
|
| 30 |
+
n_resblk: 3
|
| 31 |
+
name: M2T_EL4_DL4_NH8_PS
|
| 32 |
+
proj_share_weight: True
|
| 33 |
+
q_mode: cmt
|
| 34 |
+
save_every_e: 10
|
| 35 |
+
save_latest: 500
|
| 36 |
+
t2m_v2: False
|
| 37 |
+
text_aug: False
|
| 38 |
+
tokenizer_name: VQVAEV3_CB1024_CMT_H1024_NRES3
|
| 39 |
+
unit_length: 4
|
| 40 |
+
-------------- End ----------------
|
t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/meta/mean.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0bdb5ba69a3a9e34d71990db15bc535ebc024c8d95ddb5574196f96058faa7d3
|
| 3 |
+
size 2232
|
t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/meta/std.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6a5f7d60301c9465972fc225f8ad0ee8f957e7720431189123eb6d15873a9557
|
| 3 |
+
size 2232
|
t2m/VQVAEV3_CB1024_CMT_H1024_NRES3/model/finest.tar
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:839db9413fd44e48c0ae13f4b49df72aa500b16c180af9c097b4ce7782589354
|
| 3 |
+
size 503264244
|