4D Reconstruction from a Single Video
Qianqian Wang · Vickie Ye · Hang Gao · Weijia Zeng · Jake Austin · Zhengqi Li · Angjoo Kanazawa
Explicit, persistent 3D motion from casual monocular videoThe input is a casually captured monocular video of a dynamic scene. The method assumes camera intrinsics and poses are available or estimated, then optimizes one globally consistent 4D scene representation.
The output is a persistent set of 3D Gaussians. Their appearance and shape parameters remain attached to the same scene elements, while their positions and orientations change over time.
This single representation supports both real-time novel-view rendering and long-range 3D tracking of arbitrary visible surface points.
At every timestamp, a moving scene element is observed from only one camera position and in only one pose. The system therefore cannot obtain conventional multi-view constraints for that object state.
Unlike reconstructing an independent point cloud at every frame, the method keeps one set of scene elements. This gives every Gaussian a persistent identity.
Because the representation is explicit and differentiably rasterized, it can render RGB, depth, masks, and projected trajectories. These outputs can all be compared against input priors during optimization.
Static and dynamic Gaussians are modeled separately but rendered and optimized together, allowing the method to preserve a stable background while explaining moving foreground regions.
The scene contains far more Gaussians than motion bases: B ≪ N. Instead of learning an independent trajectory for every Gaussian, the model learns a small set of global rigid-motion trajectories.
Each Gaussian receives a coefficient vector that blends these bases. Gaussians that move similarly are encouraged to have similar coefficients, producing a soft decomposition into approximately rigid motion groups.
In implementation, rotation is represented with a 6D rotation parameterization and combined separately from translation using the same weights.
For a query pixel in frame t, the renderer identifies the Gaussians contributing to that pixel. Instead of rasterizing their current colors, it rasterizes their 3D positions at another target time t′.
The alpha-composited result is the expected world-space position of the corresponding surface point at time t′. Projecting this point into the target camera gives a 2D correspondence; its camera-space z-coordinate gives the target depth.
This formulation allows a point visible at one time to be queried at any other time—even when it becomes occluded—because its motion is stored in the persistent 4D representation.
The relative depth maps are aligned to metric depth using a per-frame scale and shift. The authors report that relative depth retains finer local details than directly using metric-depth estimates.
Foreground 2D tracks are unprojected with the aligned depth maps to obtain noisy initial 3D trajectories. Their TAPIR visibility and uncertainty scores are retained for weighted initialization.
Moving-object masks require a few user clicks in the reported system. Static background points are initialized by directly unprojecting the aligned depth maps.
For in-the-wild sequences, MegaSaM camera poses are further refined as learnable parameters during optimization.
A random motion initialization can explain individual frames without finding a coherent full-length trajectory. The explicit SE(3) fitting stage gives each basis a physically meaningful starting motion before photometric optimization begins.
L_reconMatches rendered RGB, depth, and foreground masks independently at each frame.
L_track-2DMatches rendered long-range correspondences to TAPIR trajectories across randomly sampled frame pairs.
L_track-depthRequires the tracked point's predicted target depth to agree with the rendered target depth.
L_rigidityPreserves distances between dynamic Gaussians and their k-nearest neighbors across time.
Per-frame reconstruction losses ensure the representation renders each observed frame, but they do not by themselves establish persistent point identity.
Cross-time track losses bind a Gaussian's motion to long-range correspondences, preventing each timestamp from being explained independently.
Track-depth consistency connects image-space tracking to three-dimensional geometry rather than treating them as separate signals.
Local rigidity is a physical motion prior: nearby scene elements should not arbitrarily change their pairwise distances over short neighborhoods.
Each example is best read as a three-part diagnostic: the input defines what was observed, the trajectory view shows whether point identity remains coherent through time, and the novel view tests whether geometry and appearance are globally consistent.
| Method | EPE ↓ | δ3D@10 ↑ | AJ ↑ | OA ↑ | PSNR ↑ | LPIPS ↓ |
|---|---|---|---|---|---|---|
| HyperNeRF | 0.182 | 45.8 | 10.1 | 52.0 | 15.99 | 0.51 |
| Deformable 3DGS | 0.151 | 55.3 | 14.0 | 63.9 | 11.92 | 0.66 |
| TAPIR + Depth Anything | 0.114 | 63.2 | 27.8 | 67.4 | — | — |
| SpatialTracker (world) | 0.125 | 63.9 | 24.9 | 73.5 | — | — |
| Shape of Motion | 0.082 | 73.3 | 34.4 | 86.6 | 16.72 | 0.45 |
Selected results from the iPhone dataset. δ3D@10 is the percentage of predictions within 10 cm; AJ and OA are TAP-Vid 2D tracking metrics.
Against tracking-only baselines: the method improves over simply lifting TAPIR trajectories with Depth Anything. This shows that global 4D consolidation corrects noisy per-frame geometry and correspondence.
Against rendering-focused baselines: dynamic NeRF and deformation-based Gaussian methods can render, but their implicit motion is less accurate for long-range trajectory queries.
Why the joint task matters: tracking baselines do not synthesize novel views, while the best rendering baselines are weaker trackers. Shape of Motion is designed to perform both with one representation.
| Variant | EPE ↓ | δ3D@5 ↑ | δ3D@10 ↑ |
|---|---|---|---|
| Full model | 0.082 | 43.0 | 73.3 |
| Translation bases | 0.093 | 42.3 | 69.9 |
| Per-Gaussian SE(3) | 0.083 | 43.6 | 70.2 |
| Per-Gaussian translation | 0.087 | 41.2 | 69.2 |
| No SE(3) initialization | 0.111 | 39.3 | 65.7 |
| No 2D tracks | 0.141 | 30.4 | 57.8 |
The same scene representation supports accurate 3D trajectory queries and dynamic novel-view synthesis.
Persistent world-space trajectories are easier to query, visualize, and evaluate than an implicit deformation field.
Shared SE(3) bases dramatically reduce the freedom of monocular dynamic reconstruction.