Feature Extraction
Transformers
Safetensors
prism
video
representation-learning
view-invariant
cross-view
egocentric
egoexo4d
emnlp2026
custom_code
Instructions to use litcoderr/prism with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use litcoderr/prism with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="litcoderr/prism", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("litcoderr/prism", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Ground results in the paper tables and rebuttal; drop parameter counts
Browse files
README.md
CHANGED
|
@@ -22,15 +22,16 @@ View-invariant Video Representation Learning — **EMNLP 2026 (Main Conference)*
|
|
| 22 |
|
| 23 |
[Paper][paper] · [Project page][project] · [Code][code]
|
| 24 |
|
| 25 |
-
PRISM
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
|
| 33 |
-
This checkpoint is trained on **EgoExo4D**
|
|
|
|
| 34 |
|
| 35 |
## Usage
|
| 36 |
|
|
@@ -65,17 +66,37 @@ For batched encoding of a clip manifest, see `scripts/encode.sh` in the [code re
|
|
| 65 |
|
| 66 |
## Results
|
| 67 |
|
| 68 |
-
Cross-view semantic alignment
|
|
|
|
|
|
|
|
|
|
| 69 |
|
| 70 |
-
| Method | <sub>EgoExo4D</sub><br>ego→exo | <br>exo→ego | <br>avg | <br>Recog. top-1 | <sub>EgoExoLearn</sub><br>Assoc. avg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
|:---|:--:|:--:|:--:|:--:|:--:|
|
| 72 |
-
|
|
| 73 |
-
|
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
Full tables and ablations are in the [paper][paper].
|
| 79 |
|
| 80 |
## Architecture
|
| 81 |
|
|
@@ -88,9 +109,9 @@ Full tables and ablations are in the [paper][paper].
|
|
| 88 |
| Target encoder θ̄ | EMA of θ, decay 0.998 |
|
| 89 |
| Embedding dim | 512 |
|
| 90 |
|
| 91 |
-
This repo holds
|
| 92 |
-
|
| 93 |
-
|
| 94 |
|
| 95 |
## Training
|
| 96 |
|
|
|
|
| 22 |
|
| 23 |
[Paper][paper] · [Project page][project] · [Code][code]
|
| 24 |
|
| 25 |
+
PRISM decomposes each video clip into a view-invariant latent `z_vi` and a view-variant
|
| 26 |
+
latent `z_vv`, then recomposes them under language supervision — `z_vi` of clip A with
|
| 27 |
+
`z_vv` of clip B is trained to match the embedding of the correspondingly recombined
|
| 28 |
+
caption. Because that composition never occurs in the training data, semantics that leaked
|
| 29 |
+
between the two streams cannot survive it. The clip embedding this model returns is the
|
| 30 |
+
view-invariant stream, so cosine similarity measures *what is happening*, not *where the
|
| 31 |
+
camera is*.
|
| 32 |
|
| 33 |
+
This checkpoint is trained on **EgoExo4D**, with ego and exo views and captions generated
|
| 34 |
+
by Gemini 3.
|
| 35 |
|
| 36 |
## Usage
|
| 37 |
|
|
|
|
| 66 |
|
| 67 |
## Results
|
| 68 |
|
| 69 |
+
**Cross-view semantic alignment.** Gains over the best baseline, ViewpointRosetta:
|
| 70 |
+
**+10.4** Retrieval and **+11.5** Association, plus +7.46 Recognition and +7.32
|
| 71 |
+
Anticipation. On Skill Assessment PRISM is comparable (55.28 vs 55.82) — proficiency cues
|
| 72 |
+
depend on execution style rather than action identity, and land in the view-variant stream.
|
| 73 |
|
| 74 |
+
| Method | <sub>**EgoExo4D**</sub><br>Retr. ego→exo | <br>exo→ego | <br>avg | <br>Recog. top-1 | <br>Skill | <sub>**EgoExoLearn**</sub><br>Assoc. avg | <br>Antic. avg | <br>Skill |
|
| 75 |
+
|:---|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|
| 76 |
+
| CLIP | 19.11 | 12.24 | 15.68 | 10.49 | 54.93 | 15.82 | 38.70 | 73.48 |
|
| 77 |
+
| SigLIP2 | 35.08 | 19.72 | 27.40 | 13.86 | 55.57 | 26.6 | 64.60 | **76.03** |
|
| 78 |
+
| LaViLa | 34.91 | 12.02 | 23.47 | 26.43 | 54.10 | 27.20 | 62.83 | 68.44 |
|
| 79 |
+
| SUM-L | 47.14 | 32.77 | 39.96 | 24.83 | 55.10 | 4.64 | 45.50 | 65.31 |
|
| 80 |
+
| ViewpointRosetta | 58.14 | 47.21 | 52.68 | 34.47 | **55.82** | 32.32 | 62.14 | 73.70 |
|
| 81 |
+
| **PRISM** | **75.89** | **50.27** | **63.08** | **41.93** | 55.28 | **43.86** | **69.46** | 68.53 |
|
| 82 |
+
|
| 83 |
+
**Fine-grained temporal modeling (AE2).** Best among out-of-domain models on all four
|
| 84 |
+
tasks, and ahead of the best in-domain model on phase ordering and phase progression.
|
| 85 |
+
|
| 86 |
+
| Method | AE2 videos | Frame retr.<br><sub>mAP@10</sub> | Phase order<br><sub>Kendall's τ</sub> | Phase class.<br><sub>F1</sub> | Phase prog.<br><sub>R²</sub> |
|
| 87 |
|:---|:--:|:--:|:--:|:--:|:--:|
|
| 88 |
+
| GTA | ✔ | 68.08 | 0.464 | 67.77 | 0.322 |
|
| 89 |
+
| AE2 | ✔ | 73.20 | 0.562 | 74.47 | 0.480 |
|
| 90 |
+
| SigLIP2 | ✘ | 45.56 | 0.020 | 43.91 | −1.322 |
|
| 91 |
+
| ViewpointRosetta | ✘ | 54.17 | 0.047 | 46.93 | −0.150 |
|
| 92 |
+
| **PRISM** | ✘ | **70.53** | **0.601** | **73.57** | **0.647** |
|
| 93 |
+
|
| 94 |
+
**Robustness to background correlation (UNSCENE)** — videos whose action contradicts the
|
| 95 |
+
background, averaged over three text encoders: PRISM reaches **14.9** R@10 / **0.181** RSA
|
| 96 |
+
against 7.5 / 0.098 for ViewpointRosetta and 14.1 / 0.146 for DINOv2.
|
| 97 |
|
| 98 |
+
Full tables, ablations, and the DEVIAS stream-probe analysis are in the [paper][paper] and
|
| 99 |
+
the [code repo][code].
|
|
|
|
| 100 |
|
| 101 |
## Architecture
|
| 102 |
|
|
|
|
| 109 |
| Target encoder θ̄ | EMA of θ, decay 0.998 |
|
| 110 |
| Embedding dim | 512 |
|
| 111 |
|
| 112 |
+
This repo holds trained weights only: θ, φ, θ̄, and the logit scale. The two backbones are
|
| 113 |
+
re-downloaded from the Hub when the model is constructed, so nothing about them is
|
| 114 |
+
duplicated here.
|
| 115 |
|
| 116 |
## Training
|
| 117 |
|