SignDino: Self-Supervised Sign Language Representation Learning via Temporal-Axis Self-Distillation
Organizations: New York University Abu Dhabi
Abstract
Self-supervised sign language representation learning must model two properties not central to natural-image SSL: signs are produced by a small set of anatomically distinct articulators, and their meaning depends on the temporal organisation of those articulators. We introduce SignDino, a self-supervised sign-video encoder that moves the DINOv3 student--teacher recipe from the spatial domain of image crops to the temporal domain of tracked sign streams. Each video is decomposed into left-hand, right-hand, and face streams by a detector-first YOLOv8n+ByteTrack pipeline. A frozen DINOv3 ViT-B/16 embeds each per-frame anatomical crop, while lightweight temporal Transformers, not the image backbone, form the student and EMA teacher. They are trained by temporal DINO self-distillation, frame-level masked-token prediction in the style of iBOT, KoLeo feature spreading, and Gram anchoring of the frame-to-frame similarity structure. This design keeps strong image-level visual primitives fixed and learns only how articulator states evolve across time. We evaluate on sign-to-English translation, isolated sign recognition, and fingerspelling detection benchmarks. Across these tasks, SignDino provides a strong public self-supervised representation and shows competitive or state-of-the-art performance under matched downstream evaluation.
Figures & tables
| Method | SSL | PT hrs | How2Sign | OpenASL | FLEURS-ASL | ||
|---|---|---|---|---|---|---|---|
| BLEU | BLEURT | BLEU | BLEURT | BLEU | |||
| SSVP-SLT ( Rust et al., 2024 ) | ✓ | 1054 | 15.5 | 49.6 | — | — | — |
| YouTube-ASL fine-tune ( Uthus et al., 2023 ) | 984 | 12.4 | 46.6 | — | — | — | |
| YouTube-SL-25 ( Tanzer and Zhang, 2024 ) | 3207 | 15.4 | 47.9 | — | — | 4.4 | |
| SignMusketeers ( Gueuwou et al., 2025a ) | ✓ | 984 | 14.3 | — | — | — | — |
| SpaMo ( Hwang et al., 2025 ) | — | 10.11 | 42.23 | — | — | — | |
| Method | Trainable | ASL Citizen | Sem-Lex | WLASL2000 | ASL-STEM-Wiki | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| R@1 | R@5 | R@10 | R@1 | R@5 | R@10 | P-I | P-C | mIoU | ||
| Prior published results | ||||||||||
| ST-GCN ( Desai et al., 2023 ) | 0.45M | 0.60 | 0.82 | 0.88 | — | — | — | — | — | — |
| SignCLIP ( Jiang et al., 2024 ) | 217M | 0.60 | 0.84 | 0.89 | 0.30 | 0.48 | 0.55 | — | — | — |
| I3D ( Desai et al., 2023 ) | 25M | 0.63 | 0.86 | 0.91 | — | — | — | — | — | — |
| SignBERT+ ( Hu et al., 2023 ) | — | — | — | — | — | — | — | 48.85 | 46.37 | — |
| Streams kept at fusion head | BLEU |
|---|---|
| LH + Face (no RH) | 9.8 |
| RH + Face (no LH) | 11.2 |
| LH + RH (no Face) | 14.6 |
| LH + RH + Face (default) | 17.9 |
| Ablation | H2S BLEU | ASLC R@1 |
|---|---|---|
| Full SignDino | 17.9 | 0.704 |
| no Gram anchor (Eq. 9 ) | 16.5 | 0.67 |
| Teacher short window only | 15.8 | 0.65 |
| YOLO only (no ByteTrack) | 16.4 | 0.61 |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Hyperparameter | Default value |
|---|---|
| Backbone | frozen DINOv3 ViT-B/16 |
| Streams | LH, RH, face (3 streams, independent SSL) |
| Temporal encoder | , , 6 heads, MLP ratio 4 |
| Crops (contiguous) | , ; , |
| Temperatures | (30 ep), |
| EMA momentum | cosine from to |
| Phonological feature | Method | Sem-Lex R@1 | ASL Citizen R@1 |
|---|---|---|---|
| Major Location | SHuBERT | 84.77 | 90.22 |
| SignDino | 94.43 | 94.96 | |
| Minor Location | SHuBERT | 71.30 | 80.00 |
| SignDino | 76.83 | 85.79 | |
| Second Minor Location | SHuBERT | 73.28 | 81.18 |
| SignDino | 82.34 | 90.73 |
| Hyperparameter | Stage 1 (DINO+iBOT+DKoleo) | Stage 2 (Gram refine) |
|---|---|---|
| Steps | 400K | 50K |
| Batch (videos / GPU) | 16 | 16 |
| Optimiser | AdamW | AdamW |
| Base LR | ||
| LR schedule | 5% warmup + cosine | 1% warmup + cosine |
| Weight decay |
| Source stage | Target stage | |
|---|---|---|
| Data | decontaminated YouTube-ASL | How2Sign / OpenASL train |
| Steps | 250K | 50K |
| Optimiser | AdamW ( ) | AdamW |
| LR ByT5 + head | ||
| LR SignDINO (live) | ||
| Warmup | 10K cosine | 5K cosine |
| SSL checkpoint | LH | RH | Face |
|---|---|---|---|
| init | 1.000 | 1.000 | 1.000 |
| Stage 1 100K | 0.962 | 0.958 | 0.971 |
| Stage 1 200K | 0.945 | 0.941 | 0.957 |
| Stage 1 300K | 0.933 | 0.929 | 0.945 |
| Stage 1 400K (end S1) | 0.927 | 0.922 | 0.940 |
| Stage 2 50K (end S2) | 0.921 | 0.917 | 0.935 |
| Task | Stream | |||||||
|---|---|---|---|---|---|---|---|---|
| SLT (H2S) | LH | 0.06 | 0.09 | 0.12 | 0.16 | 0.18 | 0.21 | 0.18 |
| RH | 0.05 | 0.08 | 0.11 | 0.15 | 0.19 | 0.22 | 0.20 | |
| Face | 0.07 | 0.11 | 0.14 | 0.17 | 0.19 | 0.18 | 0.14 | |
| ISLR (ASLC) | LH | 0.04 | 0.07 | 0.10 | 0.14 | 0.18 | 0.24 | 0.23 |
| RH | 0.04 | 0.07 | 0.10 | 0.14 | 0.18 | 0.24 | 0.23 | |
| Face | 0.09 | 0.12 | 0.15 | 0.17 | 0.17 | 0.16 | 0.14 |
| Task | Query | LH | RH | Face |
|---|---|---|---|---|
| SLT (H2S) | LH | 0.45 | 0.30 | 0.25 |
| RH | 0.31 | 0.44 | 0.25 | |
| Face | 0.21 | 0.22 | 0.57 | |
| ISLR (ASLC) | LH | 0.50 | 0.34 | 0.16 |
| RH | 0.34 | 0.51 | 0.15 | |
| Face | 0.25 | 0.26 | 0.49 |
| Stage | Per-stream GPU-h | Per-stream wall-clock | Total GPU-h |
| Stage 1 (400K steps) | 240 | h | 720 |
| Stage 2 (50K steps, Gram refine) | 40 | h | 120 |
| SSL subtotal (3 streams) | 280 | h | 840 |
| Embedding cache (one-off) | — | — | |
| SHuBERT upstream (ref.) | — | — | 1344 |
| Pre-train hours | BLEU-1 | BLEU | BLEURT |
|---|---|---|---|
| 98 (10%) | 33.6 | 13.5 | 46.1 |
| 984 (100%) | 37.9 | 16.8 | 50.4 |
| Pre-train hours | H2S BLEU | H2S BLEURT |
|---|---|---|
| 98 (10%) | 13.5 | 46.1 |
| 246 (25%) | 14.8 | 47.9 |
| 492 (50%) | 16.0 | 49.4 |
| 738 (75%) | 16.5 | 50.0 |
| 984 (100%) | 16.8 | 50.4 |
| Strategy | BLEU-1 | BLEU | BLEURT |
| Channel masking | 35.2 | 14.4 | 47.6 |
| Time masking | 36.1 | 14.9 | 48.1 |
| Random masking (default) | 37.0 | 15.7 | 48.9 |
| Frame mask only ( SignDino ) | 37.9 | 16.8 | 50.4 |
| Frame + stream mask | 37.3 | 16.3 | 49.7 |
| Layer of SignDino | BLEU-1 | BLEU | BLEURT |
|---|---|---|---|
| None (raw DINOv3 ) | 24.3 | 9.4 | 41.2 |
| Last layer | 34.6 | 14.7 | 47.8 |
| Weighted sum (default) | 37.9 | 16.8 | 50.4 |
| Fine-tune SignDINO? | BLEU-1 | BLEU | BLEURT |
|---|---|---|---|
| frozen | 37.9 | 16.8 | 50.4 |
| ✓ live fine-tune | 39.4 | 17.9 | 51.3 |
| sampler | H2S BLEU | |
|---|---|---|
| Fixed (low-FLOP control) | ||
| Fixed (iso-FLOP, global-heavy) | ||
| Fixed (iso-FLOP, local-heavy) | ||
| Random (default) | — |
| Frozen per-frame backbone | Params | H2S BLEU | BLEURT |
|---|---|---|---|
| DINOv2 ViT-S/14 ( Oquab et al., 2024 ) | 21M | 16.5 | 49.4 |
| DINOv2 ViT-L/14 ( Oquab et al., 2024 ) | 300M | 17.4 | 50.5 |
| DINOv3 ViT-S/16 ( Siméoni et al., 2025 ) | 22M | 17.2 | 50.1 |
| DINOv3 ViT-B/16 (default) ( Siméoni et al., 2025 ) | 86M | 17.9 | 51.3 |
| DINOv3 ViT-L/16 ( Siméoni et al., 2025 ) | 304M | 18.0 | 51.4 |
| Translation decoder | Params | SHuBERT BLEU | SignDino BLEU |
|---|---|---|---|
| ByT5-Small ( Xue et al., 2022 ) | 300M | 15.0 | 16.4 |
| ByT5-Base (default) ( Xue et al., 2022 ) | 582M | 16.2 | 17.9 |
| ByT5-Large ( Xue et al., 2022 ) | 1.23B | 15.9 | 17.5 |
| mT5-Base ( Xue et al., 2021 ) | 580M | 15.5 | 17.1 |
| mBART-large ( Liu et al., 2020 ) | 610M | 15.1 | 16.8 |
| # | Source | Sentence |
|---|---|---|
| (1) | Reference | And that’s a great vital point technique for women’s self defense. |
| SHuBERT | This is a really great point for self defense. (verbatim from Gueuwou et al. (2025b) Tab. 11) | |
| SignDino | And that’s a great vital technique for women’s self defense. | |
| (2) | Reference | In this clip I’m going to show you how to tape your cables down. |
| SHuBERT | In this clip I’m going to show you how to brand out the cable strings. | |
| SignDino | In this clip I’m going to show you how to tape down your cables. |