MoCHA: Denoising Caption Supervision for Motion-Text Retrieval
Organizations: Georgia Institute of Technology, Atlanta, GA, USA · Amazon, Sunnyvale, CA, USA
Abstract
Text-motion retrieval systems learn shared embedding spaces from motion-caption pairs via contrastive objectives. However, each caption is not a deterministic label but a sample from a distribution of valid descriptions: different annotators produce different text for the same motion, mixing motion-recoverable semantics (action type, body parts, directionality) with annotator-specific style and inferred context that cannot be determined from 3D joint coordinates alone. Standard contrastive training treats each caption as the single positive target, overlooking this distributional structure and inducing within-motion embedding variance that weakens alignment. We propose MoCHA, a text canonicalization framework that reduces this variance by projecting each caption onto its motion-recoverable content prior to encoding, producing tighter positive clusters and better-separated embeddings. Canonicalization is a general principle: even deterministic rule-based methods improve cross-dataset transfer, though learned canonicalizers provide substantially larger gains. We present two learned variants: an LLM-based approach (GPT-5.2) and a distilled FlanT5 model requiring no LLM at inference time. MoCHA operates as a preprocessing step compatible with any retrieval architecture. Applied to MoPa (MotionPatches), MoCHA sets a new state of the art on both HumanML3D (H) and KIT-ML (K): the LLM variant achieves 13.9% T2M R@1 on H (+3.1pp) and 24.3% on K (+10.3pp), while the LLM-free T5 variant achieves gains of +2.5pp and +8.1pp. Canonicalization reduces within-motion text-embedding variance by 11-19% and improves cross-dataset transfer substantially, with H to K improving by 94% and K to H by 52%, demonstrating that standardizing the language space yields more transferable motion-language representations.
Figures & tables
| Dataset | Original | MoCHA (T5) | ||
|---|---|---|---|---|
| HumanML3D | 4,344 | 0.587 | 0.522 | 11.1% |
| KIT-ML | 210 | 0.561 | 0.456 | 18.7% |
| Model | Intra | Align | Inter NN | Sep | |
|---|---|---|---|---|---|
| HumanML3D | |||||
| Baseline | 0.413 | 0.601 | 0.976 | 0.423 | |
| MoCHA | 0.444 | 0.636 | 0.971 | 0.457 | |
| KIT-ML | |||||
| Baseline | 0.456 | 0.515 | 0.941 | 0.484 | |
| MoCHA | 0.566 | 0.553 | 0.938 | 0.604 | |
| Text to motion | Motion to text | |||||||
| Methods | R@1 | R@5 | R@10 | MedR | R@1 | R@5 | R@10 | MedR |
| HumanML3D | ||||||||
| TEMOS | 2.12 | 8.26 | 13.52 | 173.0 | 3.86 | 9.38 | 14.00 | 183.25 |
| T2M | 1.80 | 7.12 | 12.47 | 81.00 | 2.92 | 8.36 | 12.95 | 81.50 |
| TMR | 8.92 | 22.06 | 33.37 | 25.00 | 9.44 | 22.92 | 32.21 | 26.00 |
| MoPa | 10.80 | 26.72 | 38.02 | 19.00 | 11.25 | 26.86 | 37.40 | 20.50 |
| T2M | |||||
|---|---|---|---|---|---|
| Train | Model | Test | R@1 | R@5 | R@10 |
| H3D | MoPa | KIT | 13.74 | 37.79 | 53.31 |
| MoCHA (T5 blend-rev) | KIT | 25.70 | 44.27 | 61.83 | |
| MoCHA (LLM blend-rev) | KIT | 26.59 | 48.35 | 61.07 | |
| KIT | MoPa | H3D | 1.85 | 6.02 | 9.56 |
| MoCHA (T5 blend) | H3D | 2.01 | 8.65 | 13.00 | |
| T2M | ||||
| R@1 | R@5 | R@10 | ||
| H3D-trained HumanML3D test | ||||
| MoPa | 10.80 | 26.72 | 38.02 | |
| Paraphrases | 10.13 (-0.67) | 27.62 | 40.31 | |
| MoCHA (T5) | 13.96 | 31.41 | 43.82 | |
| MoCHA (LLM) | 12.55 | 29.88 | 44.64 | |
| Baseline | Backtrans | Stopword | FT5 (MoCHA) | |
|---|---|---|---|---|
| H H | 10.80 | 8.71 | 10.58 | 13.12 |
| K K | 14.02 | 11.45 | 15.39 | 20.74 |
| H K | 13.74 | 15.39 | 16.67 | 18.96 |
| K H | 1.78 | 1.71 | 2.17 | 2.78 |
| Original | Backtrans | Stopword | FlanT5 |
|---|---|---|---|
| “a person holding an item turns back, then left, then back, like he’s been followed ” | “a person holding an object turns back, then left, then back, as if you were following it ” | “holding item turns back left back he’s followed” | “hold item turn back turn left turn back” |
| “a man holds something in both hands and walks in a counterclockwise oval, before coming to a stop, then resuming walking.” | “a man holds something in both hands and goes oval in counterclockwise sense before he comes to an attack , then goes again.” | “holds hands walks counterclockwise oval coming stop resuming walking” | “hold object both hands walk counterclockwise oval stop walk” |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Hyperparameter | FlanT5-PPT | FlanT5-Rev |
|---|---|---|
| Base model | FlanT5-base (250M) | FlanT5-PPT ckpt |
| Training pairs | 168K | 4.8K |
| Frozen layers | None | All exc. last 2 dec. |
| Learning rate | ||
| Batch size | 128 | 32 |
| Max epochs | 10 | 5 |
| Hyperparameter | Value |
|---|---|
| Motion encoder | ViT-B/16, 22 joints |
| Text encoder | DistilBERT (CLS pool) |
| Embedding dim | 256 |
| Loss | Symmetric InfoNCE |
| Temperature | 0.07 (frozen) |
| Self-sim threshold | 0.80 (mpnet) |
| Strategy | H3D | KIT |
|---|---|---|
| MoPa Baseline (orig text) | 10.80 | 14.02 |
| MoCHA Cardinal | 12.66 | 23.66 |
| MoCHA Blend | 13.30 | 22.14 |
| MoCHA Blend-Rev | 12.14 | 20.74 |
| Model | H3D | KIT |
|---|---|---|
| TMR Baseline (orig) | 8.96 | 11.70 † |
| TMR Pure Cardinal | 10.31 | 19.08 |
| TMR Blend | 13.64 | 17.05 |
| TMR Blend-Rev | 11.09 | 17.68 |
| Config | s42 | s123 | s456 | Mean Std |
|---|---|---|---|---|
| HumanML3D native | ||||
| Baseline (orig) | 11.72 | 11.18 | 10.69 | 11.20 0.52 |
| MoCHA (LLM) Blend-Rev | 14.09 | 11.72 | 13.14 | 12.98 1.19 |
| MoCHA (T5) Blend-Rev | 13.73 | 12.24 | 12.20 | 12.72 0.87 |
| KIT-ML native | ||||
| Baseline (orig) | 14.31 † | 11.58 † | 13.87 † | 13.25 1.20 † |
| T2M | |||||
|---|---|---|---|---|---|
| Train | Model | Test | R@1 | R@5 | R@10 |
| H3D | MoPa | BABEL | 15.84 | 43.32 | 49.31 |
| MoCHA (T5 blend-rev) | BABEL | 22.36 | 35.57 | 42.07 | |
| MoCHA (LLM blend) | BABEL | 26.09 | 46.76 | 55.92 | |
| KIT | MoPa | BABEL | 12.76 | 29.93 | 36.99 |
| MoCHA (T5 blend-rev) | BABEL | 25.11 | 29.66 | 30.90 | |
| H3D | KIT | |||||
|---|---|---|---|---|---|---|
| Train | Orig | LLM | T5 | Orig | LLM | T5 |
| MoPa Baseline | 11.13 | 7.30 | 9.24 | 8.91 | 15.39 | 13.87 |
| MoCHA Cardinal | 6.16 | 12.52 | 11.93 | 6.36 | 23.92 | 23.03 |
| MoCHA Blend | 11.82 | 13.21 | 12.18 | 10.69 | 15.39 | 18.32 |
| MoCHA Blend-Rev | 11.45 | 13.91 | 14.03 | 8.65 | 24.30 | 25.83 |
| Condition | Intra | Align | Inter NN | Sep | |
|---|---|---|---|---|---|
| HumanML3D (4,382 multi-caption motions) | |||||
| Baseline + orig | 0.413 | 0.601 | 0.976 | 0.423 | |
| Blend-Rev + orig | 0.444 | 0.634 | 0.970 | 0.458 | |
| Blend-Rev + canon | 0.444 | 0.636 | 0.971 | 0.457 | |
| KIT-ML (393 multi-caption motions) | |||||
| Baseline + orig | 0.456 | 0.515 | 0.941 | 0.484 | |
| Data | Bin | N | Base | Blend-Rev | |
|---|---|---|---|---|---|
| H3D | short (1–6) | 1,145 | 17.78 | 17.71 | 0.07 |
| H3D | medium (7–12) | 2,382 | 12.97 | 16.73 | +3.76 |
| H3D | long (13+) | 856 | 12.07 | 12.68 | +0.61 |
| KIT | short (1–6) | 523 | 13.21 | 21.65 | +8.44 |
| KIT | medium (7–12) | 161 | 19.52 | 32.11 | +12.59 |
| KIT | long (13+) | 102 | 21.22 | 17.65 | 3.57 |
| HumanML3D | KIT-ML | |||
|---|---|---|---|---|
| Model | Entropy | P(+) | Entropy | P(+) |
| MoPa | 6.285 | 0.0158 | 4.939 | 0.0300 |
| Paraphrases | 6.093 | 0.0156 | 4.901 | 0.0288 |
| MoCHA (blend-rev) | 6.034 | 0.0190 | 4.673 | 0.0337 |
Cross-Modal Retrieval
Cross-modal retrieval matches queries and items across different data types, such as text, images, video, audio, and sensor signals.
See all 184 papers