Learning the 4D World through Point Trajectory Forecasting
Organizations: KAIST · ETH Zürich · Seoul National University · Physics Sim Lab ·
Abstract
Reliable multi-view forecasting requires videos from different cameras to describe the same evolving 3D scene. To this end, we introduce Video-Point Model (VPM), a world model that conditions on multi-view video histories and a language instruction to jointly forecast future videos from arbitrary viewpoints and the 3D trajectories of persistent scene points. We extend a pretrained world model with camera-conditioned multi-view processing that integrates complementary observations across cameras, and add a trajectory head that predicts how physical points move through time. Each trajectory tracks a single point across all views, and supervising these trajectories alongside video generation therefore anchors appearance changes in every camera to a shared description of 3D motion. To support training and evaluation, we build VPM-Data, a simulation corpus pairing synchronized multi-view videos with persistent point trajectories, and VP-WorldBench, a forecasting benchmark spanning simulated and real environments. We further extend VPM to robot control by adding robot actions as a token modality in the generator. Action tokens share the point-supervised backbone and are denoised jointly with future videos, thereby grounding the policy in the same 3D-aware representation. On VP-WorldBench and existing 4D generation benchmarks, point supervision improves both video fidelity and 3D motion accuracy over a video-only counterpart, and in simulated and real-robot experiments, it also raises the manipulation success of the action-enabled model.
Figures & tables
| Domain | Samples | Views | fps | Frames | 3D tracks/clip | Hard |
| VPM-Data | ||||||
| Tabletop manipulation | 8,000 | 3 | 20 | 81–181 | 768–2,048 | - |
| Urban dynamics | 2,000 | 4 | 15 | 81–181 | 256 | - |
| VP-WorldBench (Sim) | ||||||
| Tabletop manipulation | 500 | 3 | 20 | 81–680 | 768–1,536 | 27 |
| Urban dynamics | 500 | 4 | 15 | 81–181 | 256 | 95 |
| Simulation | Real-world | ||||||||||||||||
| Robot (500) | General (500) | Robot (100) | General (100) | ||||||||||||||
| Method | MV | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | ||||
| HV-1.5 | ✗ | 98.34 | 20.21 | 0.023 | 41.62 | 115.63 | 11.45 | 0.061 | 23.10 | 426.76 | 16.04 | 0.102 | 36.17 | 105.83 | 20.00 | 0.014 | 21.35 |
| Wan2.2-5B | ✗ | 315.13 | 15.84 | 0.108 | 29.51 | 205.73 | 10.43 | 0.076 | 18.00 | 550.55 | 14.58 | 0.159 | 29.65 | 115.52 | 16.97 | 0.030 | 16.82 |
| X-WAM | ✓ | 203.83 | 19.97 | 0.038 | 38.80 | - | - | - | - | 492.31 | 17.63 | 0.091 | 50.86 | - | - | - | - |
| Cosmos3-N | ✗ | 104.74 | 20.05 | 0.040 | 39.03 | 167.02 | 10.99 | 0.062 | 22.12 | 326.11 | 16.37 | 0.099 | 41.50 | 66.24 | 20.89 | 0.015 | 20.47 |
| Simulation | Real-world | |||||||
| Method | MV | Backbone | LIBERO | LIBERO-Plus | RoboCasa | PnP Banana | PnP Cup | PnP Cube |
| VLA-based Methods | ||||||||
| - | 96.8 | 68.0 | 62.1 | 41.7 | 47.9 | 12.5 | ||
| GR00T N1.5 | - | 86.6 | 66.4 | 65.6 | - | - | - | |
| GR00T N1.7 | - | - | - | 70.0 | 31.3 | 27.1 | 4.2 | |
| WAM-based Methods | ||||||||
| Simulation | Real-world | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Robot (500) | General (500) | Robot (100) | General (100) | |||||||||||||
| Method | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | ||||
| Cosmos3-Nano | 104.74 | 20.05 | 0.040 | 39.03 | 167.02 | 10.99 | 0.062 | 22.12 | 326.11 | 16.37 | 0.099 | 41.50 | 66.24 | 20.89 | 0.015 | 20.47 |
| VPM (V) | 78.52 | 21.41 | 0.022 | 43.62 | 101.37 | 16.95 | 0.057 | 28.71 | 296.83 | 18.42 | 0.074 | 50.83 | 62.85 | 20.96 | 0.010 | 26.54 |
| VPM (V+A) | 74.29 | 21.59 | 0.021 | 44.27 | 98.08 | 17.42 | 0.054 | 30.20 | 291.05 | 18.87 | 0.069 | 53.21 | 61.31 | 21.24 | 0.009 | 28.06 |
| VPM (V+T) | 67.35 | 22.08 | 0.016 | 50.05 | 81.92 | 19.16 | 0.050 | 36.80 | 255.19 | 20.57 | 0.064 | 64.75 | 56.48 | 22.10 | 0.007 | 33.92 |
Appendix figures & tables35 assets
Supplementary material from the paper’s appendix.
Appendix
| Hyperparameter | Stage 1 | Stage 2 | Stage 3 |
|---|---|---|---|
| Trainable modules | Generator, Camera emb. | Traj. head | Generator, Traj. head |
| Objective | ( ) | ||
| Optimizer | AdamW | ||
| Learning rate | 1e-4 | 1e-4 | 2e-5 |
| Tokens | 60,000 | 60,000 | 24,000 |
| Training iterations | 5,000 | 2,000 | 5,000 |
| Source | Domain | Real/Sim | Samples | Views | 3D traj. | Action |
|---|---|---|---|---|---|---|
| VPM-Data | Tabletop manipulation | Sim | 8,000 | 3 | ✓ | ✗ |
| VPM-Data | Urban dynamics | Sim | 2,000 | 4 | ✓ | ✗ |
| DROID | Tabletop manipulation | Real | 89,312 | 3 | ✓ | ✓ |
| HRDexDB | Tabletop manipulation | Real | 1,601 | 2 | ✓ | ✓ |
| MolmoMotion-1M | Mixed domain | Real | 480,000 | 1-2 | ✓ | ✗ |
| Ego-Exo4D | Human activities | Real | 24,000 | 1-4 | ✓ | ✗ |
| Setting | Tabletop | Urban |
|---|---|---|
| Motion source | Recorded manipulation | Live traffic and crowds |
| Views / frame rate | 3 / 20 fps | 4 / 15 fps |
| Clip length | 81–181 frames | 81, 100, 121, 144, or 181 frames |
| Intrinsics | Authored | Sampled per camera and clip |
| Camera motion | Static or planned hard-clip paths | Static, arc, translation, random polyline, or pan–tilt |
| Visibility | Rendered depth, cm tolerance | Surface-point ray casting |
| Criterion | Tabletop | Urban |
|---|---|---|
| Invisible interval | consecutive frames per camera | per camera, followed by re-acquisition |
| Collective coverage | At least one visible camera per frame | At least one visible camera per frame |
| Motion in interval | Target displacement cm | Target moving in of interval frames |
| Additional condition | occluded frames summed over cameras | Two-phase departure schedule |
| Check | Threshold |
|---|---|
| Target visibility | Minimum visible ratio over all cameras |
| Survival and motion | Target present throughout; travel m per 81 frames, with a m floor |
| Track completeness | No track breaks; completeness |
| Depth validity | Sky, near, and constant-value pixel ratios each |
| Camera clearance | At most two cameras with blocked paths; view-block ratio |
| Caption | Present, at least 20 characters, and passes format checks |
| Property | Tabletop | Urban |
|---|---|---|
| Clips (hard) | 500 (27) | 500 (95) |
| Views / frame rate | 3 / 20 fps | 4 / 15 fps |
| Clip length | 81–680 frames | 81–181 frames |
| Synchronized timesteps | 129,441 | 68,187 |
| RGB images | 388,323 | 272,748 |
| 3D point trajectories | 588,544 | 128,000 |
| Property | Tabletop | Urban |
|---|---|---|
| Hard clips | 27 | 95 |
| Cameras with consecutive invisible frames | All 3 | 2 or 3 † |
| Target motion in interval | Displacement cm | Moving fraction |
| Additional occlusion requirement | frames summed over views | None |
| Frames with no visible camera | 0 | 0 (strict) |
| Tabletop ( ) | Urban ( ) | |||
| Visible cameras | Normal | Hard | Normal | Hard |
| 4 | N/A | N/A | 71.81 | 36.48 |
| 3 | 89.67 | 28.60 | 21.63 | 24.41 |
| 2 | 9.65 | 48.49 | 5.78 | 29.34 |
| 1 | 0.67 | 22.91 | 0.67 | 9.77 |
| 0 | 0.012 | 0.000 | 0.12 | |
| Check | Threshold |
|---|---|
| Target visibility | Minimum visible ratio over cameras without scheduled departures |
| Survival and motion | Target present throughout; travel m per 81 frames, with a 0.5 m floor |
| Track completeness | Non-empty points, no track breaks, completeness |
| Depth validity | Sky, near, and constant-value pixel ratios individually |
| Camera clearance | At most two cameras with blocked paths; view-block ratio |
| Caption | Present, at least 20 characters, and passes style checks |
| Simulation | Real-world | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Robot (500) | General (500) | Robot (100) | General (100) | ||||||||||||||
| Method | MV | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | ||||
| HV-1.5 | ✗ | 98.34 | 20.21 | 0.023 | 41.62 | 115.63 | 11.45 | 0.061 | 23.10 | 426.76 | 16.04 | 0.102 | 36.17 | 105.83 | 20.00 | 0.014 | 21.35 |
| Wan2.2-5B | ✗ | 315.13 | 15.84 | 0.108 | 29.51 | 205.73 | 10.43 | 0.076 | 18.00 | 550.55 | 14.58 | 0.159 | 29.65 | 115.52 | 16.97 | 0.030 | 16.82 |
| X-WAM | ✓ | 203.83 | 19.97 | 0.038 | 38.80 | - | - | - | - | 492.31 | 17.63 | 0.091 | 50.86 | - | - | - | - |
| Cosmos3-N | ✗ | 104.74 | 20.05 | 0.040 | 39.03 | 167.02 | 10.99 | 0.062 | 22.12 | 326.11 | 16.37 | 0.099 | 41.50 | 66.24 | 20.89 | 0.015 | 20.47 |
| Simulation | Real-world | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Robot (500) | General (500) | Robot (100) | General (100) | ||||||||||||||
| Method | MV | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | ||||
| HV-1.5 | ✗ | 85.91 | 20.72 | 0.021 | 39.22 | 141.01 | 11.66 | 0.062 | 20.46 | 426.76 | 16.04 | 0.102 | 36.17 | 117.21 | 20.17 | 0.016 | 19.54 |
| Wan2.2-5B | ✗ | 294.52 | 16.42 | 0.089 | 27.62 | 180.34 | 9.96 | 0.070 | 17.33 | 550.55 | 14.58 | 0.159 | 29.65 | 151.03 | 16.76 | 0.033 | 16.20 |
| X-WAM | ✓ | 154.26 | 20.03 | 0.033 | 36.73 | - | - | - | - | 492.31 | 17.63 | 0.091 | 50.86 | - | - | - | - |
| Cosmos3-N | ✗ | 86.05 | 20.17 | 0.037 | 34.66 | 202.55 | 10.06 | 0.058 | 19.99 | 326.11 | 16.37 | 0.099 | 41.50 | 88.21 | 20.08 | 0.018 | 19.48 |
| Simulation | Real-world | ||||||||||||||||
| Robot (500) | General (500) | Robot (100) | General (100) | ||||||||||||||
| Method | MV | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | FVD | PSNR | MEt3R | ||||
| Cosmos3-N | ✗ | 111.92 | 20.06 | 0.044 | 40.91 | 140.65 | 11.05 | 0.067 | 23.27 | 296.25 | 16.34 | 0.099 | 43.53 | 77.55 | 21.03 | 0.018 | 21.72 |
| + camera cond. | ✗ | 110.23 | 19.98 | 0.040 | 43.27 | 145.96 | 10.46 | 0.067 | 19.08 | 288.63 | 17.49 | 0.095 | 44.92 | 72.59 | 21.17 | 0.014 | 22.80 |
| VPM (V) | ✓ | 73.31 | 21.44 | 0.028 | 43.75 | 125.83 | 17.53 | 0.060 | 28.92 | 243.62 | 18.32 | 0.073 | 53.12 | 66.96 | 21.21 | 0.012 | 28.09 |
| VPM (V+T) | ✓ | 63.77 | 22.18 | 0.021 | 50.17 | 81.49 | 19.36 | 0.055 | 38.31 | 239.61 | 20.56 | 0.064 | 68.73 | 48.25 | 22.11 | 0.010 | 34.94 |
| Simulation | Real-world | ||||
|---|---|---|---|---|---|
| Robot (500) | General (500) | Robot (100) | General (100) | ||
| Method | Tracker | ||||
| VPM (V) | MVTracker | 43.62 | 28.71 | 50.83 | 26.54 |
| VPM (V+T) | MVTracker | 50.05 | 36.80 | 64.75 | 33.92 |
| + camera cond. | MVTracker | 55.05 | 40.04 | 66.75 | 38.46 |
| VPM (V) | Ours | 45.06 | 29.92 | 51.78 | 28.39 |
| Simulation | Real-world | |||||||
| Robot (500) | General (500) | Robot (100) | General (100) | |||||
| Supervision | FVD | FVD | FVD | FVD | ||||
| None | 78.52 | 43.62 | 101.37 | 28.71 | 296.83 | 50.83 | 62.85 | 26.54 |
| Per-frame geometry (no temporal identity) | ||||||||
| Depth | 77.07 | 45.21 | 100.02 | 29.88 | 285.13 | 53.73 | 62.08 | 26.98 |
| Pointmap | 75.48 | 44.90 | 99.35 | 29.69 | 281.67 | 54.50 | 61.37 | 29.46 |
| Paradigm | Model | Inputs | HOT3D | WorldTrack | DAVIS | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Frames | Text | ADE | FDE | PWT | ADE | FDE | PWT | ADE | FDE | PWT | ||
| Non- parametric | Static | 1 | ✗ | 0.180 | 0.316 | 0.293 | 0.167 | 0.317 | 0.390 | 2.281 | 4.360 | 0.085 |
| Extrapolate | 3 | ✗ | 0.159 | 0.309 | 0.351 | 0.184 | 0.432 | 0.436 | 2.683 | 5.741 | 0.104 | |
| Pixel-space | Wan2.2-5B | 1 | ✓ | 0.200 | 0.308 | 0.253 | 0.852 | 1.046 | 0.090 | 3.074 | 5.192 | 0.051 |
| Cosmos-Predict | 5 | ✓ | 0.225 | 0.294 | 0.199 | 0.831 | 0.988 | 0.072 | 4.191 | 6.368 | 0.033 | |
| 3D model | ObjectForesight | 3 | ✗ | 0.129 | 0.192 | 0.353 | – | – | – | – | – | – |
| PAIBench-G ( ) | RBench ( ) | |||
| Model | Overall | Domain | Quality | Score (%) |
| Wan2.2-A14B | 81.3 | 85.3 | 77.3 | 50.7 |
| HunyuanVideo-1.5 | 81.7 | 85.9 | 77.6 | 46.0 |
| Cosmos-Predict2.5-2B | 81.2 | 84.6 | 77.9 | 46.4 |
| Cosmos-Predict2.5-14B | 81.1 | 84.0 | 78.1 | - |
| Wan2.1-14B | 80.2 | 83.6 | 76.8 | - |
| Model | Mode | Score ( ) |
|---|---|---|
| VideoPoet | V2V | 29.5 |
| VideoGPT | V2V | 35.0 |
| Magi-1 | V2V | 56.0 |
| Cosmos3-Super | V2V | 59.7 |
| Cosmos3-Nano | V2V | 50.2 |
| VPM (ours) | V2V | 52.1 |
| ReCamMaster (100) | CMU Panoptic (100) | ||||||
|---|---|---|---|---|---|---|---|
| Method | MV | FVD | PSNR | FVD | PSNR | MEt3R | |
| Cosmos3-Nano | ✗ | 125.70 | 13.99 | 162.36 | 20.72 | 0.060 | 30.12 |
| VPM (V) | ✓ | 103.12 | 15.09 | 150.63 | 20.85 | 0.037 | 34.72 |
| VPM (V+A) | ✓ | 101.35 | 15.63 | 149.06 | 21.14 | 0.035 | 36.51 |
| VPM (V+T) | ✓ | 79.63 | 17.06 | 128.64 | 23.24 | 0.029 | 42.03 |
| VPM (V+T+A) | ✓ | 76.12 | 17.48 | 118.05 | 24.08 | 0.029 | 44.33 |
| Method | Output | 1 view | 2 views | 4 views |
|---|---|---|---|---|
| Cosmos3-Nano | Video | 15.9 | 31.8 | 63.5 |
| VPM (V) | Video | 16.3 (1.03 ) | 38.7 (1.22 ) | 101.4 (1.60 ) |
| VPM (V+T) | Video + 3D traj. | 16.5 (1.04 ) | 39.1 (1.23 ) | 102.3 (1.61 ) |
| VPM (V+T+A) | Video + 3D traj. + action | 16.6 (1.04 ) | 39.2 (1.23 ) | 102.5 (1.61 ) |
| Simulation | Real-world | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Camera cond. | Robot (500) | General (500) | Robot (100) | General (100) | ||||||
| Add. | Rot. | View | FVD | FVD | FVD | FVD | ||||
| ✗ | ✗ | ✗ | 91.22 | 33.29 | 140.06 | 24.64 | 299.51 | 45.79 | 67.80 | 23.94 |
| ✗ | ✗ | ✓ | 75.17 | 41.70 | 128.41 | 29.08 | 281.67 | 49.25 | 61.43 | 26.99 |
| ✓ | ✗ | ✓ | 70.70 | 48.18 | 84.60 | 33.94 | 268.34 | 59.00 | 59.01 | 30.05 |
| ✓ | ✓ | ✗ | 70.01 | 48.59 | 85.15 | 33.40 | 265.37 | 61.88 | 58.90 | 31.55 |
| Simulation | Real-world | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Objective | Robot (500) | General (500) | Robot (100) | General (100) | ||||||
| FVD | FVD | FVD | FVD | |||||||
| ✗ | ✗ | ✗ | 78.52 | 43.62 | 101.37 | 28.71 | 296.83 | 50.83 | 62.85 | 26.54 |
| ✗ | ✗ | ✓ | 78.44 | 42.96 | 100.45 | 29.90 | 284.17 | 52.00 | 61.57 | 27.50 |
| ✓ | ✗ | ✗ | 74.82 | 43.90 | 91.92 | 30.00 | 275.24 | 54.69 | 59.71 | 27.99 |
| ✓ | ✓ | ✗ | 69.88 | 48.54 | 85.73 | 31.54 | 271.01 | 59.94 | 59.33 | 30.75 |
| Simulation | Real-world | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Stage | Robot (500) | General (500) | Robot (100) | General (100) | ||||||
| 1 | 2 | 3 | FVD | FVD | FVD | FVD | ||||
| ✗ | ✗ | ✓ | 70.45 | 48.50 | 85.34 | 34.29 | 262.40 | 60.86 | 58.11 | 31.75 |
| ✗ | ✓ | ✓ | 69.83 | 49.15 | 83.27 | 34.51 | 259.42 | 62.00 | 58.02 | 32.80 |
| ✓ | ✗ | ✓ | 77.50 | 39.51 | 99.81 | 29.38 | 292.53 | 49.77 | 62.49 | 27.04 |
| ✓ | ✓ | ✓ | 67.35 | 50.05 | 81.92 | 36.80 | 255.19 | 64.75 | 56.48 | 33.92 |
| Simulation | Real-world | |||||||
|---|---|---|---|---|---|---|---|---|
| Robot (500) | General (500) | Robot (100) | General (100) | |||||
| Layer | FVD | FVD | FVD | FVD | ||||
| 6 | 72.81 | 45.92 | 96.28 | 31.10 | 277.11 | 57.04 | 60.26 | 28.75 |
| 12 | 69.45 | 48.30 | 85.76 | 34.90 | 266.16 | 61.21 | 58.30 | 31.88 |
| 18 | 67.35 | 50.05 | 81.92 | 36.80 | 255.19 | 64.75 | 56.48 | 33.92 |
| 24 | 68.76 | 49.16 | 84.96 | 35.28 | 259.84 | 63.80 | 58.65 | 31.60 |
| Simulation | Real-world | |||||||
| Robot (500) | General (500) | Robot (100) | General (100) | |||||
| Setting | FVD | FVD | FVD | FVD | ||||
| (a) Refinement iterations | ||||||||
| 69.46 | 47.11 | 87.23 | 33.44 | 267.42 | 61.05 | 59.83 | 30.19 | |
| 68.77 | 49.00 | 83.25 | 35.75 | 260.49 | 62.18 | 57.07 | 33.20 | |
| 67.35 | 50.05 | 81.92 | 36.80 | 255.19 | 64.75 | 56.48 | 33.92 | |