JtT: Rethinking Point Trajectory Diffusion for Diverse and Rigid Motion from an Image
Organizations: Visual Geometry Group, University of Oxford
Abstract
We study forecasting rigid-body motion from a single image: generating diverse and physically plausible future trajectories for arbitrary points in a scene, without building rigidity into the architecture or relying on geometric inputs such as depth. Like video generators, recent trajectory generators fail at this task, even in simple synthetic Kubric scenes, despite scaling up model size and training on real data. We show how to solve this with the right architecture and parameterization. Our model, JtT, is a simple diffusion transformer that operates directly in coordinate space and decodes arbitrary and dense query patterns, without the trajectory VAEs or fixed grids assumed in prior work. Through a systematic study of the design space of point trajectory diffusion, we find that diffusing per-frame velocities is the only parameterization that captures rigidity, that it must be paired with the right timestep schedule, and that adding full-resolution RGB at the query points resolves the boundary failures of prior methods. However, evaluating such 2D models rigorously is itself non-trivial. To our knowledge, we are the first to observe that physical plausibility and diversity do not improve together during training: larger models, as used in prior work, memorize the single ground-truth future per training image, becoming more rigid while covering fewer possible futures. Yet prior work has paid little attention to this, so we show how model rankings depend on model size, metric, and stopping time, and adopt a stricter, checkpoint-averaged evaluation protocol. Under this protocol, JtT improves over prior methods on both distributional and rigidity metrics and approaches ground-truth rigidity, with only about 50M parameters.
Figures & tables
| Flexibility | Representation | |||||
|---|---|---|---|---|---|---|
| Method | Queries | Dense | Space | Target | Image conditioning | Parameters |
| Track2Act | arbitrary | ✗ | coords. | absolute | global vector | 600M |
| WHN | fixed | ✗ | VAE latent | absolute | DINOv2 patches | 100/250M |
| TrajLoom | fixed | ✗ | VAE latent | offset | Wan2.1 latents | 250M |
| MotionForecasting | arbitrary | ✗ | coords. | velocity | DINOv3 at query | 100M |
| GPTF | arbitrary | ✗ | coords. | absolute | DINOv3 patches | 30/230M ∗ |
| Model | Size | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) |
|---|---|---|---|---|---|
| GT | — | 4,941 | 8,845 | 110.85 | 6.68 |
| Track2Act (from WHN) | 600M | 16,735 | 22,509 | 250.80 | 15.80 |
| WHN (L, latent-space) | 250M | 13,745 | 17,838 | 127.00 | 14.10 |
| WHN (B, coordinate-space) | 50M | 14,519 | 18,551 | 137.80 | 23.70 |
| MotionForecasting † | 100M | 20,178 | 26,379 | 186.47 | 8.20 |
| GPTF | 30M ∗ | — | 17,786 | 95.60 | 14.60 |
| Model | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|
| absolute | 18,695 (15,750) | 23,719 (20,772) | 153.54 (149.67) | 14.76 (11.65) | 13.22 (11.56) |
| velocities | 19,927 (17,785) | 25,914 (23,518) | 125.31 (122.19) | 5.12 (4.81) | 5.38 (5.17) |
| offsets | 13,915 (13,164) | 19,100 (18,245) | 133.68 (124.97) | 9.74 (8.61) | 9.90 (8.93) |
| absolute | 20,284 (19,140) | 24,678 (23,801) | 125.15 (118.90) | 25.59 (21.87) | 19.25 (17.16) |
| Model | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|
| Kubric-A | |||||
| 2D | 14,097 (12,080) | 20,074 (17,790) | 120.04 (111.50) | 6.16 (5.75) | 5.92 (5.70) |
| 2D + Inverse Depth | 13,946 (12,560) | 19,827 (17,962) | 92.51 (83.98) | 5.59 (4.21) | 5.97 (4.77) |
| 3D | 12,909 (12,162) | 18,518 (17,641) | 95.02 (92.37) | 4.37 (3.86) | 4.82 (4.38) |
| Kubric-D | |||||
| 2D | 19,210 (17,848) | 28,412 (25,903) | 94.16 (89.68) | 2.05 (1.95) | 1.69 (1.60) |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Token with | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|
| Nothing | 13,458 (13,006) | 17,662 (17,147) | 182.73 (175.60) | 8.49 (7.61) | 5.95 (5.56) |
| DINO | 14,470 (13,901) | 19,189 (18,357) | 184.19 (170.87) | 8.94 (8.48) | 6.15 (5.92) |
| RGB | 14,136 (12,386) | 18,523 (16,589) | 138.27 (122.00) | 6.82 (6.43) | 6.35 (6.10) |
| Inverse Depth | 15,572 (13,653) | 20,116 (17,716) | 88.72 (81.63) | 4.11 (3.82) | 4.56 (4.30) |
| Segm (binary) | 13,232 (12,753) | 17,281 (16,816) | 93.49 (86.18) | 5.84 (5.29) | 6.58 (5.99) |
| Segm (instance) | 13,356 (12,888) | 17,666 (17,205) | 104.64 (97.77) | 6.01 (5.24) | 6.77 (5.93) |
| Model | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|
| B | 13,514 (11,812) | 17,716 (15,829) | 124.37 (115.24) | 6.67 (6.13) | 6.01 (5.58) |
| B (Dense) | 13,266 (12,333) | 17,437 (15,958) | 130.44 (118.76) | 6.80 (6.13) | 5.87 (5.31) |
| S | 12,546 (12,238) | 16,769 (16,351) | 160.25 (129.77) | 7.69 (6.91) | 6.57 (6.26) |
| S (Dense) | 11,807 (11,591) | 15,695 (15,452) | 135.85 (128.69) | 6.84 (6.64) | 5.82 (5.46) |
| Feature extractor | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|
| DINOv2 S | 14,136 (12,386) | 18,523 (16,589) | 138.27 (122.00) | 6.82 (6.43) | 6.35 (6.10) |
| DINOv2 S+Reg | 13,441 (12,793) | 17,623 (16,763) | 126.00 (116.75) | 6.67 (5.95) | 6.21 (5.86) |
| DINOv2 S+Reg+DPT | 13,514 (11,812) | 17,716 (15,829) | 124.37 (115.24) | 6.67 (6.13) | 6.01 (5.58) |
| DINOv2 G+Reg+DPT | 14,519 (12,522) | 18,482 (16,442) | 123.72 (104.64) | 6.75 (5.88) | 6.04 (5.57) |
| 4RC+DPT | 13,363 (12,227) | 17,441 (16,284) | 128.20 (121.22) | 6.40 (5.56) | 5.88 (5.29) |
| VGGT-Omega+DPT | 13,821 (12,824) | 18,045 (17,054) | 150.18 (125.42) | 7.27 (6.43) | 6.53 (6.09) |
| Sampler | NFE | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|---|
| ODE | 10 | 11,614 | 15,263 | 115.59 | 7.05 | 6.41 |
| 25 | 11,404 | 15,221 | 126.82 | 7.95 | 7.18 | |
| 50 | 11,365 | 15,266 | 133.83 | 8.35 | 7.51 | |
| 100 | 11,357 | 15,311 | 138.16 | 8.59 | 7.71 | |
| 250 | 11,359 | 15,348 | 141.45 | 8.74 | 7.84 | |
| 1000 | 11,362 | 15,370 | 143.29 | 8.83 | 7.90 |
| Model | Step | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|---|
| XS | 40K | 18,319 | 21,505 | 165.15 | 7.38 | 5.76 |
| 50K | 14,165 | 18,125 | 154.48 | 8.71 | 7.28 | |
| 60K | 13,092 | 17,539 | 189.52 | 10.85 | 9.36 | |
| 70K | 13,020 | 17,629 | 201.34 | 11.60 | 10.16 | |
| 80K | 12,976 | 17,533 | 197.07 | 11.17 | 9.97 | |
| 90K | 13,004 | 17,596 | 202.53 | 11.20 | 9.97 |
| Model | Step | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|---|
| XS | 50K | 14,165 | 18,125 | 154.48 | 8.71 | 7.28 |
| 100K | 12,644 | 17,118 | 186.86 | 10.35 | 9.36 | |
| 150K | 11,737 | 15,873 | 130.47 | 7.21 | 7.12 | |
| 200K | 11,771 | 15,773 | 120.78 | 6.52 | 6.68 |
| Model | Step | FVMD (D) | FVMD (S) | Best-of- | LRTL (ALL) | LRTL (FG) |
|---|---|---|---|---|---|---|
| S | 60000 | 13068.82 | 17512.31 | 204.86 | 9.27 | 7.41 |
| 70000 | 12237.69 | 16350.72 | 169.90 | 7.54 | 6.26 | |
| 80000 | 12328.60 | 16447.45 | 155.07 | 7.51 | 6.46 | |
| 90000 | 12746.66 | 16941.53 | 141.66 | 7.23 | 6.45 | |
| 100000 | 12349.56 | 16597.45 | 129.77 | 6.91 | 6.30 | |
| S (Dense) | 60000 | 11957.53 | 15733.35 | 137.26 | 6.64 | 5.46 |
| Model Variant | Enc. Depth | Dec. Depth | Hidden Size ( ) | Heads | Head Dim |
|---|---|---|---|---|---|
| JtT -XS | 6 | 2 | 192 | 3 | 64 |
| JtT -S | 12 | 2 | 384 | 6 | 64 |
| JtT -B | 12 | 4 | 768 | 12 | 64 |
| Parameter | Default | Description |
|---|---|---|
| traj_length | 24 | Number of frames/timesteps in the trajectory sequence. |
| in_channels | 2 | Input coordinate dimensions (e.g., and ). |
| frame_feature_size | 384 | Dimensionality of the pre-extracted vision features. |
| frame_feature_patch_size | 14 | Spatial patch size used by the vision backbone. |
| mlp_ratio | 4.0 | Expansion factor for the hidden dimension in the MLP blocks. |
| num_freq_bands | 8 | Number of frequency bands for Fourier/Sin-Cos featurization. |
| Parameter | Value | |
| Model | Stochastic Interpolant Path | Linear (Rectified-Flow) |
| Stochastic Interpolant Target | velocity | |
| Network Prediction | velocity | |
| Parameterization | velocities | |
| Feature Extractor | DINOv2 | |
| Feature Extractor Size | Small |
Trajectory Prediction
Trajectory prediction forecasts how people, vehicles, robots, and other dynamic systems will move from observed histories and context.
See all 187 papers