OccJEPA: Occlusion as Masking for Amodal Video Segmentation
Organizations: Department of Computer Sciences, University of Wisconsin–Madison
Abstract
Amodal video segmentation asks for the complete mask of an object in every frame, including the parts hidden behind other objects. The best current methods generate these masks with fine-tuned video diffusion models, which need many denoising steps and an extra depth network, and give a different answer for every sample. Self-supervised video world models of the JEPA family are trained on a closely related task: predicting the representation of masked space-time regions from the visible ones. We therefore treat occlusion as masking. The tokens that the object's visible mask does not cover are dropped, the pre-trained V-JEPA 2.1 predictor fills them in, and a light head decodes the observed and predicted features into amodal masks. The resulting model, OccJEPA (Occlusion-as-masking JEPA), is deterministic and 33.5x faster than the diffusion-based state of the art, and more accurate on SAIL-VOS, on TAO-Amodal, including a held-out test split (+4.00 AP50) and visible masks tracked by SAM2, and on Kubric. Controlled experiments trace the gain to the predictor's pre-trained weights rather than to its capacity, for world models from 87M to 1.85B parameters. Code is available at https://github.com/zgp110/occjepa.
Figures & tables
| SAIL-VOS val | TAO-Amodal val | |||||
|---|---|---|---|---|---|---|
| Method | Type | mIoU | mIoU | AP 25 | AP 50 | AP 75 |
| Visible mask | – | 67.89 | n/a | 93.73 | 82.22 | 63.12 |
| Convex hull | – | 63.18 | 27.54 | 93.73 | 82.22 | 63.12 |
| Convex hull (refined) | – | 71.21 | 34.27 | 93.73 | 82.22 | 63.12 |
| PCNet-M [ 51 ] | image | 74.20 | 42.52 | 94.89 | 85.11 | 65.97 |
| AISFormer [ 42 ] | image | 73.51 | 39.16 | 95.45 | 81.93 | 59.84 |
| SAIL-VOS | TAO val | TAO test | |||
| Method | mIoU | AP 50 | AP 75 | AP 50 | AP 75 |
| Visible mask | 0.00 | 82.22 | 63.12 | 83.08 | 62.42 |
| Diffusion-VAS [ 9 ] | 39.98 | 89.25 | 71.99 | 88.99 | 71.05 |
| OccJEPA (ours) | 43.68 | 93.36 | 76.84 | 92.99 | 76.40 |
| vs. Diffusion-VAS | +3.70 | +4.11 | +4.85 | +4.00 | +5.35 |
| [+1.38, +5.40] | [+3.02, +5.21] | [+3.39, +6.34] | [+2.99, +5.03] | [+4.15, +6.56] | |
| MOVi-D | ||
|---|---|---|
| Method | mIoU | mIoU |
| cropped | ||
| EoRaS+SG [ 12 ] | 74.10 | 38.33 |
| C2F-Seg [ 13 ] | 71.67 | 36.13 |
| Amodal SAM [ 52 ] | 73.06 | 39.21 |
| Diffusion-VAS [ 9 ] | 77.03 | 44.23 |
| Completion | SAIL-VOS | TAO val | ||||
|---|---|---|---|---|---|---|
| module | RC | mIoU | mIoU | mIoU | AP 50 | AP 75 |
| none | 75.81 | 42.39 | 35.13 | 88.80 | 68.14 | |
| random init | 76.81 | 44.81 | 36.94 | 89.34 | 69.83 | |
| pre-trained | 78.73 | 51.52 | 43.32 | 92.05 | 75.63 | |
| none | ✓ | 75.18 | 42.26 | 35.15 | 89.43 | 68.18 |
| random init | ✓ | 76.60 | 45.09 | 37.30 | 90.17 | 70.32 |
| with module | gain | |||||
| World model | Params | TFLOPs | SV | AP 50 | SV | AP 50 |
| pre-trained module (V-JEPA: predictor; VideoMAE: decoder) | ||||||
| V-JEPA 2.1 ViT-B ∗ | 0.11B | 1.4 | 36.45 | 90.13 | +8.67 | +1.95 |
| V-JEPA 2.1 ViT-L ∗ | 0.33B | 3.6 | 39.15 | 91.09 | +8.42 | +2.73 |
| V-JEPA 2.1 ViT-g | 1.08B | 10.6 | 41.88 | 90.96 | +8.45 | +2.93 |
| V-JEPA 2.1 ViT-G | 1.91B | 17.8 | 43.32 | 92.05 | +8.19 | +3.24 |
| Method | Params | TFLOPs | Time (s) | Extra input | Output |
|---|---|---|---|---|---|
| Diffusion-VAS | 2.59B | 903 | 11.77 | depth | sampled |
| OccJEPA | 1.91B | 35.6 | 0.35 | – | deterministic |
| Method | mIoU | mIoU | kept % | mIoU | our |
|---|---|---|---|---|---|
| Visible mask | 67.89 | n/a | 0.0 | 0.00 | 0.00 |
| Convex hull | 63.22 | 27.54 | 46.2 | 20.75 | 24.80 |
| Diffusion-VAS | 77.08 | 55.12 | 44.5 | 39.98 | 36.05 |
| OccJEPA | 78.60 | 52.09 | 51.4 | 43.68 | 43.94 |
| ours Diffusion-VAS | +1.52 [+0.73, +2.33] | 3.03 [ 5.26, 0.74] | +3.70 [+1.38, +5.40] | +7.89 [+6.09, +9.32] |
| all | out of frame | in-frame occl. | vis 0.5 | fully visible | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Method | AP 50 | AP 75 | AP 50 | AP 75 | AP 50 | AP 75 | AP 50 | AP 75 | AP 50 | AP 75 |
| Diffusion-VAS (val) | 89.25 | 71.99 | 82.85 | 55.12 | 87.66 | 68.40 | 37.12 | 11.57 | 97.94 | 94.09 |
| OccJEPA (val) | 93.36 | 76.84 | 87.39 | 57.72 | 93.33 | 77.15 | 65.68 | 26.85 | 99.66 | 96.49 |
| Diffusion-VAS (test) | 88.99 | 71.05 | 80.25 | 53.54 | 87.86 | 65.58 | 43.75 | 19.58 | 98.26 | 92.45 |
| OccJEPA (test) | 92.99 | 76.40 | 85.61 | 57.35 | 94.27 | 75.20 | 73.19 | 31.64 | 98.81 | 95.43 |
| Diffusion-VAS (test, SAM2) | 81.27 | 61.26 | 77.49 | 50.27 | 75.52 | 51.12 | 28.86 | 9.96 | 89.96 | 80.64 |
| SAM2 visible masks | annotated visible masks | |||||
|---|---|---|---|---|---|---|
| Method | AP 25 | AP 50 | AP 75 | AP 25 | AP 50 | AP 75 |
| Visible-mask box | 87.94 | 75.65 | 53.22 | 93.67 | 83.08 | 62.42 |
| Diffusion-VAS | 91.07 | 81.27 | 61.26 | 96.70 | 88.99 | 71.05 |
| OccJEPA, one pass | 92.01 | 84.84 | 66.29 | 97.53 | 92.10 | 76.09 |
| OccJEPA | 92.72 | 85.59 | 66.85 | 98.09 | 92.99 | 76.40 |
| OccJEPA Diffusion-VAS | +1.65 | +4.32 | +5.60 | +1.38 | +4.00 | +5.35 |
| SAIL-VOS val | TAO-Amodal val | ||||
|---|---|---|---|---|---|
| Method | mIoU | mIoU | AP 25 | AP 50 | AP 75 |
| pix2gestalt, one sample | 54.83 | 26.59 | 80.73 | 57.50 | 28.95 |
| pix2gestalt, best of 3 | 60.79 | 33.76 | 91.80 | 71.19 | 38.80 |
| Diffusion-VAS, one sample | 77.07 | 55.12 | 97.28 | 89.25 | 71.99 |
| Diffusion-VAS, best of 3 | 79.23 | 59.69 | 98.31 | 92.46 | 77.48 |
| OccJEPA, deterministic | 78.60 | 52.09 | 98.68 | 93.36 | 76.84 |
| Difference (ViT-G) | mIoU | mIoU | mIoU | AP 50 | AP 75 |
|---|---|---|---|---|---|
| pre-trained none | +2.92 [+2.30, +3.65] | +9.13 [+7.51, +10.88] | +8.19 [+6.84, +9.72] | +3.24 [+2.50, +4.03] | +7.49 [+6.28, +8.83] |
| random none | +1.00 [+0.72, +1.29] | +2.42 [+1.89, +2.96] | +1.81 [+1.18, +2.43] | +0.53 [+0.17, +0.92] | +1.70 [+1.10, +2.32] |
| pre-trained random | +1.92 [+1.48, +2.45] | +6.71 [+5.39, +8.28] | +6.38 [+5.41, +7.57] | +2.71 [+2.12, +3.35] | +5.79 [+4.83, +6.84] |
| pre-trained none, RC | +3.42 [+2.77, +4.14] | +9.83 [+8.24, +11.64] | +8.53 [+7.16, +10.15] | +3.93 [+3.00, +4.84] | +8.66 [+7.39, +10.09] |
| random none, RC | +1.42 [+1.06, +1.79] | +2.84 [+2.20, +3.49] | +2.15 [+1.38, +2.86] | +0.74 [+0.34, +1.13] | +2.14 [+1.50, +2.82] |
| pre-trained random, RC | +2.00 [+1.50, +2.61] | +6.99 [+5.58, +8.90] | +6.38 [+5.38, +7.74] | +3.19 [+2.35, +4.01] | +6.52 [+5.47, +7.68] |
| Difference (standard crop, one pass) | mIoU | mIoU | AP 50 | AP 75 |
|---|---|---|---|---|
| V-JEPA ViT-B: predictor none | +2.80 [+2.16, +3.65] | +8.67 [+7.41, +10.09] | +1.95 [+1.28, +2.62] | +5.57 [+4.48, +6.82] |
| V-JEPA ViT-L: predictor none | +2.76 [+2.00, +3.70] | +8.42 [+6.89, +10.18] | +2.73 [+2.05, +3.46] | +6.32 [+5.24, +7.50] |
| V-JEPA ViT-g: predictor none | +2.70 [+2.06, +3.49] | +8.45 [+7.29, +9.74] | +2.93 [+2.15, +3.75] | +6.96 [+5.82, +8.27] |
| V-JEPA ViT-G: predictor none | +2.92 [+2.30, +3.65] | +8.19 [+6.84, +9.72] | +3.24 [+2.50, +4.03] | +7.49 [+6.28, +8.83] |
| VideoMAE ViT-L: decoder none | +3.40 [+2.72, +4.22] | +9.83 [+8.59, +11.15] | +2.51 [+1.76, +3.27] | +5.49 [+4.47, +6.48] |
| V-JEPA ViT-g: pre-trained random predictor | +1.58 [+1.06, +2.15] | +5.72 [+4.83, +6.82] | +2.28 [+1.61, +2.93] | +5.43 [+4.50, +6.49] |
| Setting | Model | E: mIoU | E: mIoU | A: mIoU | A: mIoU | D: mIoU |
|---|---|---|---|---|---|---|
| MOVi-D, cropped | no predictor | 74.99 | 39.85 | 63.46 | 33.72 | 46.90 |
| MOVi-D, cropped | ViT-g world model | 75.21 | 39.94 | 63.65 | 33.80 | 46.84 |
| MOVi-D, cropped | OccJEPA | 76.47 | 42.05 | 64.71 | 35.58 | 51.08 |
| MOVi-D, whole frame | no predictor | 81.94 | 48.17 | 77.28 | 48.70 | 51.53 |
| MOVi-D, whole frame | ViT-g world model | 81.73 | 47.91 | 76.81 | 48.19 | 51.28 |
| MOVi-D, whole frame | OccJEPA | 84.66 | 52.00 | 79.79 | 52.16 | 57.36 |
| Kubric-Static | Kubric-Dynamic | |||
|---|---|---|---|---|
| Model | mIoU | mIoU | mIoU | mIoU |
| Diffusion-VAS (run by us) | 92.13 | 48.69 | 89.67 | 44.33 |
| no predictor, + re-crop | 91.38 | 44.83 | 91.19 | 45.73 |
| ViT-g world model, + re-crop | 92.03 | 47.54 | 91.92 | 49.53 |
| OccJEPA, one pass | 92.02 | 47.75 | 92.95 | 51.78 |
| OccJEPA, + re-crop | 93.31 | 49.54 | 93.23 | 52.04 |
| Component added | SAIL-VOS mIoU | TAO AP 50 | TAO AP 75 | TAO out-of-frame AP 75 |
|---|---|---|---|---|
| high-resolution refiner, with predictor | +0.37 [+0.12, +0.63] | 0.11 [ 0.45, +0.28] | 0.29 [ 0.86, +0.34] | 2.02 [ 3.45, 0.66] |
| high-resolution refiner, no predictor | +1.92 [+1.43, +2.42] | 0.96 [ 1.44, 0.48] | 0.97 [ 1.71, 0.25] | 3.35 [ 5.22, 1.59] |
| MOVi-D in training | +0.04 [ 0.30, +0.34] | 0.36 [ 0.74, 0.01] | +0.05 [ 0.51, +0.63] | 0.78 [ 2.21, +0.66] |
| re-crop, with predictor | +0.47 [+0.26, +0.68] | +1.24 [+0.67, +1.84] | +0.66 [+0.16, +1.18] | +1.13 [ 0.03, +2.38] |
| re-crop, no predictor | +0.26 [ 0.03, +0.57] | 0.11 [ 0.68, +0.53] | 0.55 [ 1.09, +0.00] | 0.53 [ 1.58, +0.55] |
| Model | Total | Module | Head | LoRA | Trained | TFLOPs |
|---|---|---|---|---|---|---|
| ViT-B ∗ | 0.111 | 22.9 | 1.08 | 0.59 | 24.5 | 1.38 |
| ViT-L ∗ | 0.330 | 23.0 | 1.14 | 1.57 | 25.7 | 3.64 |
| ViT-g | 1.076 | 55.4 | 3.36 | 3.77 | 62.5 | 10.57 |
| ViT-G (OccJEPA) | 1.914 | 59.4 | 3.88 | 5.70 | 69.0 | 17.78 |
| VideoMAE-L | 0.345 | 39.1 | 0.85 | 1.57 | 41.6 | 3.79 |
| Occluded | OccJEPA | Diff.-VAS | random-init | no pred. | frames |
|---|---|---|---|---|---|
| 0–10% | 30.9 | 43.3 | 24.0 | 22.7 | 13,880 |
| 10–20% | 50.7 | 52.2 | 40.8 | 38.2 | 9,014 |
| 20–30% | 52.6 | 45.1 | 42.8 | 39.1 | 7,759 |
| 30–40% | 54.4 | 48.1 | 46.4 | 43.4 | 7,094 |
| 40–50% | 51.8 | 44.9 | 45.8 | 42.8 | 7,419 |
| 50–60% | 48.0 | 40.1 | 42.0 | 38.3 | 7,200 |
| Visibility | 0.25 | 0.25–0.5 | 0.5–0.75 | 0.75–1 | 1 |
|---|---|---|---|---|---|
| OccJEPA | 41.5 | 77.7 | 91.9 | 99.0 | 99.7 |
| Diffusion-VAS | 24.5 | 43.4 | 89.0 | 97.1 | 97.9 |
| random-init predictor | 44.8 | 74.8 | 90.0 | 98.9 | 99.3 |
| no predictor | 45.8 | 76.5 | 89.0 | 98.7 | 98.8 |
| frames | 583 | 1,171 | 2,210 | 9,104 | 10,608 |
| Method | IoU IoU | IoU |
|---|---|---|
| OccJEPA | 7.15 [5.98, 8.35] | 74.5 [69.9, 78.7] |
| Diffusion-VAS | 3.96 [3.21, 4.76] | 77.0 [70.9, 82.3] |
| no predictor | 6.52 [5.70, 7.37] | 75.9 [71.0, 80.1] |
| ground truth | 0 | 80.0 |