Camera-controlled novel view synthesis
Trend on a fixed twelve-case subset of the evaluation: Mundo against video-generation and feed-forward baselines that render a ground-truth camera trajectory from posed context views.
Setup
- Cases. A fixed subset of the test set: the first two test scenes of ScanNet++ [7], DL3DV [8] and CA-1M [9] in identifier order, each with a near and a far trajectory, twelve cases in total. A trajectory is a real capture segment of thirteen keyframes; the far trajectory leaves the coverage of the context views.
- Inputs. Every method receives ground-truth camera poses and intrinsics and no depth. Methods that accept several images receive the same nine context views; FramePack receives the first one, Holo4D a 49-frame video that contains the nine views. FramePack and MiniMax H3 take no camera input and follow a text description of the trajectory.
- Metrics. Frames are cropped to a shared 4:3 canvas of 512×384 with identical rays for every method. PSNR, SSIM and LPIPS (VGG) on keyframes 1 to 12, over the full image and over the pixels that the context views see. Camera following, two ways. Fitted: Pi3X estimates the cameras of the thirteen keyframes of each video, aligned to the ground truth with a similarity transform; ATE is divided by the extent of the trajectory, so a path with the right shape but the wrong amount of motion is not penalised. Anchored: Pi3X estimates the nine context views together with the thirteen keyframes, the transform that maps the context estimates onto their ground truth is applied to the generated cameras, and their errors are measured directly in metres; the path ratio compares the generated and true path lengths.
- Training overlap. The DL3DV test scenes belong to DL3DV-10K, which is part of the training data of LagerNVS and Gen3C; whether these scenes were held out is not documented. Mundo was not trained on DL3DV or ScanNet++, and CA-1M test scenes are absent from its training data.
- Holo4D in this round. Holo4D builds its 3D tracks from the first frame of its source video and expects the trajectory to start at that camera. Here the source video follows capture order, so the trajectory start lies inside the video (median position 15 of 49) and the first generated frames often show another view. The next round starts the source video at the trajectory start.
- Status. A method with fewer than twelve cases is still running; its means cover the cases listed and are not ranked. MiniMax H3 ran its four CA-1M cases with four-way tensor parallelism instead of eight.
Results
best in columnsecond bestA number in parentheses is the count of cases when a method lacks some; such entries are not ranked.
All twelve cases: fidelity
| Method | Full image | Covisible pixels | ||||
|---|---|---|---|---|---|---|
| PSNR ↑ | SSIM ↑ | LPIPS ↓ | PSNR ↑ | SSIM ↑ | LPIPS ↓ | |
| Mundo 9 views | 15.181 | 0.528 | 0.452 | 15.390 | 0.540 | 0.442 |
| Stable Virtual Camera [1] 9 views | 15.109 | 0.534 | 0.454 | 15.295 | 0.547 | 0.440 |
| Gen3C [2] 9 views | 13.934 | 0.538 | 0.491 | 14.197 | 0.556 | 0.480 |
| Holo4D [3] 49-frame video | 12.092 | 0.467 | 0.585 | 12.126 | 0.478 | 0.584 |
| LagerNVS [4] 9 views | 19.126 | 0.686 | 0.389 | 19.712 | 0.704 | 0.370 |
| FramePack [5] 1 view + text | 9.989 | 0.368 | 0.673 | 10.046 | 0.369 | 0.668 |
| MiniMax H3 [6] 9 views + text | 10.398 | 0.381 | 0.662 | 10.444 | 0.392 | 0.662 |
All twelve cases: camera following
| Method | Fitted to the trajectory (Sim(3)) | Anchored by the context views | |||||
|---|---|---|---|---|---|---|---|
| ATE ↓ | RPE-R ↓ | RotErr ↓ | ATE (m) ↓ | ATE rel ↓ | Rot (°) ↓ | Path ratio →1 | |
| Mundo 9 views | 0.028 | 1.316 | 3.268 | 0.144 | 0.082 | 3.123 | 1.011 |
| Stable Virtual Camera [1] 9 views | 0.025 | 0.964 | 2.496 | 0.111 | 0.063 | 2.852 | 1.017 |
| Gen3C [2] 9 views | 0.063 | 2.536 | 8.234 | 0.219 | 0.125 | 8.633 | 0.941 |
| Holo4D [3] 49-frame video | 0.155 | 11.457 | 40.112 | 1.244 | 0.769 | 49.944 | 1.704 |
| LagerNVS [4] 9 views | 0.029 | 1.233 | 2.749 | 0.121 | 0.064 | 4.764 | 1.007 |
| FramePack [5] 1 view + text | 0.231 | 10.415 | 47.273 | 1.435 | 0.575 | 47.042 | 0.228 |
| MiniMax H3 [6] 9 views + text | 0.130 | 13.637 | 58.257 | 2.188 | 1.117 | 54.092 | 1.666 |
| Ground truth reference / estimator floor | 0.012 | 0.418 | 1.113 | 0.046 | 0.029 | 1.488 | 1.021 |
Near trajectories (covisibility at least 0.85)
| Method | Full image | Covisible pixels | ||||
|---|---|---|---|---|---|---|
| PSNR ↑ | SSIM ↑ | LPIPS ↓ | PSNR ↑ | SSIM ↑ | LPIPS ↓ | |
| Mundo 9 views | 16.326 | 0.570 | 0.404 | 16.542 | 0.581 | 0.396 |
| Stable Virtual Camera [1] 9 views | 15.556 | 0.570 | 0.414 | 15.675 | 0.580 | 0.409 |
| Gen3C [2] 9 views | 15.397 | 0.615 | 0.434 | 15.410 | 0.624 | 0.429 |
| Holo4D [3] 49-frame video | 12.838 | 0.508 | 0.540 | 12.842 | 0.516 | 0.538 |
| LagerNVS [4] 9 views | 20.429 | 0.723 | 0.337 | 20.681 | 0.733 | 0.328 |
| FramePack [5] 1 view + text | 10.227 | 0.383 | 0.664 | 10.219 | 0.387 | 0.663 |
| MiniMax H3 [6] 9 views + text | 10.834 | 0.399 | 0.640 | 10.824 | 0.404 | 0.639 |
| Method | Fitted to the trajectory (Sim(3)) | Anchored by the context views | |||||
|---|---|---|---|---|---|---|---|
| ATE ↓ | RPE-R ↓ | RotErr ↓ | ATE (m) ↓ | ATE rel ↓ | Rot (°) ↓ | Path ratio →1 | |
| Mundo 9 views | 0.020 | 0.925 | 1.802 | 0.086 | 0.052 | 2.445 | 1.054 |
| Stable Virtual Camera [1] 9 views | 0.023 | 0.769 | 2.142 | 0.091 | 0.056 | 2.226 | 1.034 |
| Gen3C [2] 9 views | 0.043 | 1.454 | 2.256 | 0.134 | 0.081 | 2.654 | 1.026 |
| Holo4D [3] 49-frame video | 0.098 | 7.027 | 17.103 | 0.647 | 0.519 | 32.988 | 1.609 |
| LagerNVS [4] 9 views | 0.016 | 0.578 | 1.141 | 0.047 | 0.027 | 2.314 | 1.025 |
| FramePack [5] 1 view + text | 0.281 | 10.930 | 44.742 | 1.635 | 0.562 | 45.010 | 0.242 |
| MiniMax H3 [6] 9 views + text | 0.114 | 11.929 | 42.849 | 1.213 | 0.773 | 42.910 | 1.534 |
| Ground truth reference / estimator floor | 0.015 | 0.352 | 0.886 | 0.037 | 0.022 | 1.320 | 1.017 |
Far trajectories (covisibility 0.45 to 0.80)
| Method | Full image | Covisible pixels | ||||
|---|---|---|---|---|---|---|
| PSNR ↑ | SSIM ↑ | LPIPS ↓ | PSNR ↑ | SSIM ↑ | LPIPS ↓ | |
| Mundo 9 views | 14.035 | 0.485 | 0.500 | 14.238 | 0.498 | 0.489 |
| Stable Virtual Camera [1] 9 views | 14.661 | 0.499 | 0.494 | 14.914 | 0.514 | 0.471 |
| Gen3C [2] 9 views | 12.471 | 0.460 | 0.547 | 12.983 | 0.488 | 0.530 |
| Holo4D [3] 49-frame video | 11.345 | 0.425 | 0.630 | 11.410 | 0.440 | 0.630 |
| LagerNVS [4] 9 views | 17.824 | 0.649 | 0.442 | 18.743 | 0.676 | 0.411 |
| FramePack [5] 1 view + text | 9.751 | 0.352 | 0.682 | 9.873 | 0.350 | 0.672 |
| MiniMax H3 [6] 9 views + text | 9.963 | 0.362 | 0.683 | 10.065 | 0.380 | 0.685 |
| Method | Fitted to the trajectory (Sim(3)) | Anchored by the context views | |||||
|---|---|---|---|---|---|---|---|
| ATE ↓ | RPE-R ↓ | RotErr ↓ | ATE (m) ↓ | ATE rel ↓ | Rot (°) ↓ | Path ratio →1 | |
| Mundo 9 views | 0.036 | 1.707 | 4.735 | 0.202 | 0.111 | 3.801 | 0.967 |
| Stable Virtual Camera [1] 9 views | 0.026 | 1.160 | 2.851 | 0.131 | 0.071 | 3.477 | 1.000 |
| Gen3C [2] 9 views | 0.084 | 3.618 | 14.212 | 0.303 | 0.169 | 14.612 | 0.855 |
| Holo4D [3] 49-frame video | 0.212 | 15.887 | 63.120 | 1.840 | 1.019 | 66.900 | 1.799 |
| LagerNVS [4] 9 views | 0.042 | 1.889 | 4.357 | 0.195 | 0.101 | 7.214 | 0.989 |
| FramePack [5] 1 view + text | 0.182 | 9.900 | 49.803 | 1.235 | 0.588 | 49.073 | 0.215 |
| MiniMax H3 [6] 9 views + text | 0.147 | 15.346 | 73.665 | 3.163 | 1.462 | 65.274 | 1.797 |
| Ground truth reference / estimator floor | 0.010 | 0.485 | 1.341 | 0.055 | 0.036 | 1.656 | 1.024 |
ScanNet++ [7] · near trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 16.673 | 0.659 | 0.387 | 17.204 | 0.077 | 1.987 |
| Stable Virtual Camera [1] 9 views | 13.556 | 0.580 | 0.466 | 13.908 | 0.123 | 2.992 |
| Gen3C [2] 9 views | 13.661 | 0.605 | 0.522 | 13.746 | 0.116 | 2.645 |
| Holo4D [3] 49-frame video | 10.715 | 0.526 | 0.580 | 10.695 | 0.949 | 26.539 |
| LagerNVS [4] 9 views | 19.427 | 0.734 | 0.363 | 19.981 | 0.045 | 1.091 |
| FramePack [5] 1 view + text | 8.847 | 0.414 | 0.690 | 8.810 | 1.030 | 54.501 |
| MiniMax H3 [6] 9 views + text | 9.847 | 0.476 | 0.653 | 9.837 | 1.261 | 64.257 |
| Ground truth reference / estimator floor | – | – | – | – | 0.047 | 1.290 |
ScanNet++ [7] · far trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 12.184 | 0.507 | 0.548 | 12.441 | 0.156 | 4.315 |
| Stable Virtual Camera [1] 9 views | 12.698 | 0.538 | 0.549 | 12.635 | 0.132 | 2.513 |
| Gen3C [2] 9 views | 9.437 | 0.432 | 0.655 | 10.016 | 0.206 | 9.050 |
| Holo4D [3] 49-frame video | 9.448 | 0.456 | 0.669 | 9.045 | 2.030 | 81.902 |
| LagerNVS [4] 9 views | 15.294 | 0.644 | 0.521 | 15.883 | 0.082 | 3.462 |
| FramePack [5] 1 view + text | 7.583 | 0.370 | 0.690 | 7.758 | 0.958 | 48.325 |
| MiniMax H3 [6] 9 views + text | 8.564 | 0.412 | 0.682 | 8.477 | 2.555 | 113.333 |
| Ground truth reference / estimator floor | – | – | – | – | 0.078 | 1.780 |
DL3DV [8] · near trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 15.664 | 0.411 | 0.367 | 15.641 | 0.079 | 1.454 |
| Stable Virtual Camera [1] 9 views | 17.199 | 0.494 | 0.306 | 17.217 | 0.086 | 1.734 |
| Gen3C [2] 9 views | 17.774 | 0.573 | 0.298 | 17.801 | 0.059 | 0.998 |
| Holo4D [3] 49-frame video | 13.820 | 0.337 | 0.491 | 13.816 | 0.343 | 2.006 |
| LagerNVS [4] 9 views | 22.255 | 0.697 | 0.240 | 22.336 | 0.026 | 0.851 |
| FramePack [5] 1 view + text | 11.163 | 0.254 | 0.624 | 11.135 | 2.899 | 43.308 |
| MiniMax H3 [6] 9 views + text | 11.666 | 0.237 | 0.597 | 11.628 | 1.556 | 13.334 |
| Ground truth reference / estimator floor | – | – | – | – | 0.025 | 0.604 |
DL3DV [8] · far trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 16.066 | 0.377 | 0.387 | 16.146 | 0.118 | 1.716 |
| Stable Virtual Camera [1] 9 views | 15.818 | 0.381 | 0.392 | 15.863 | 0.154 | 1.532 |
| Gen3C [2] 9 views | 16.541 | 0.494 | 0.356 | 16.871 | 0.068 | 0.496 |
| Holo4D [3] 49-frame video | 13.228 | 0.282 | 0.541 | 13.405 | 2.488 | 5.449 |
| LagerNVS [4] 9 views | 20.024 | 0.618 | 0.308 | 20.467 | 0.039 | 0.306 |
| FramePack [5] 1 view + text | 11.631 | 0.218 | 0.628 | 11.715 | 1.711 | 20.800 |
| MiniMax H3 [6] 9 views + text | 11.656 | 0.220 | 0.628 | 11.531 | 6.138 | 51.312 |
| Ground truth reference / estimator floor | – | – | – | – | 0.034 | 0.281 |
CA-1M [9] · near trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 16.642 | 0.640 | 0.457 | 16.782 | 0.102 | 1.964 |
| Stable Virtual Camera [1] 9 views | 15.914 | 0.636 | 0.468 | 15.900 | 0.065 | 1.699 |
| Gen3C [2] 9 views | 14.758 | 0.667 | 0.482 | 14.684 | 0.229 | 3.124 |
| Holo4D [3] 49-frame video | 13.981 | 0.663 | 0.549 | 14.017 | 0.649 | 22.764 |
| LagerNVS [4] 9 views | 19.604 | 0.739 | 0.407 | 19.725 | 0.071 | 1.480 |
| FramePack [5] 1 view + text | 10.673 | 0.481 | 0.678 | 10.712 | 0.976 | 36.418 |
| MiniMax H3 [6] 9 views + text | 10.989 | 0.485 | 0.670 | 11.007 | 0.821 | 50.956 |
| Ground truth reference / estimator floor | – | – | – | – | 0.040 | 0.763 |
CA-1M [9] · far trajectories (2 cases)
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Cov. PSNR ↑ | ATE anch. (m) ↓ | RotErr ↓ |
|---|---|---|---|---|---|---|
| Mundo 9 views | 13.855 | 0.572 | 0.565 | 14.126 | 0.332 | 8.174 |
| Stable Virtual Camera [1] 9 views | 15.468 | 0.577 | 0.541 | 16.245 | 0.106 | 4.508 |
| Gen3C [2] 9 views | 11.435 | 0.455 | 0.630 | 12.061 | 0.637 | 33.089 |
| Holo4D [3] 49-frame video | 11.358 | 0.536 | 0.680 | 11.779 | 1.003 | 102.010 |
| LagerNVS [4] 9 views | 18.155 | 0.684 | 0.498 | 19.878 | 0.464 | 9.301 |
| FramePack [5] 1 view + text | 10.037 | 0.469 | 0.728 | 10.145 | 1.035 | 80.285 |
| MiniMax H3 [6] 9 views + text | 9.668 | 0.453 | 0.740 | 10.187 | 0.797 | 56.351 |
| Ground truth reference / estimator floor | – | – | – | – | 0.052 | 1.962 |
Cases
ScanNet++ · 0529d56cce · near trajectorycovisibility 0.87, 2.8 m, 82°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





ScanNet++ · 0529d56cce · far trajectorycovisibility 0.55, 1.8 m, 68°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





ScanNet++ · 1ada7a0617 · near trajectorycovisibility 0.86, 0.8 m, 170°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





ScanNet++ · 1ada7a0617 · far trajectorycovisibility 0.72, 1.0 m, 117°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





CA-1M · 42897521 · near trajectorycovisibility 0.89, 1.1 m, 95°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





CA-1M · 42897521 · far trajectorycovisibility 0.66, 1.3 m, 179°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





CA-1M · 42897545 · near trajectorycovisibility 0.92, 2.2 m, 57°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





CA-1M · 42897545 · far trajectorycovisibility 0.49, 2.1 m, 106°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





DL3DV · 165f5af8bf · near trajectorycovisibility 0.96, 5.2 m, 75°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





DL3DV · 165f5af8bf · far trajectorycovisibility 0.88, 2.6 m, 31°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





DL3DV · 341b4ff3df · near trajectorycovisibility 1.00, 4.5 m, 63°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





DL3DV · 341b4ff3df · far trajectorycovisibility 0.80, 3.7 m, 35°
Context views (the first is the trajectory start)









Ground-truth keyframes 0, 3, 6, 9, 12





References
- Zhou et al. Stable Virtual Camera: generative view synthesis with diffusion models. arXiv 2503.14489.
- Ren et al. GEN3C: 3D-informed world-consistent video generation with precise camera control. CVPR 2025.
- Lan et al. Holo4D: holistic 4D reconstruction as geometric control for video diffusion. arXiv 2610.25276.
- Szymanowicz et al. LagerNVS: latent geometry for fully neural real-time novel view synthesis. CVPR 2026.
- Zhang and Agrawala. Packing input frame context in next-frame prediction models for video generation (FramePack). arXiv 2504.12626.
- MiniMax. MiniMax-H3 (Ref2VA), open-weight video generation model.
- Yeshwanth et al. ScanNet++: a high-fidelity dataset of 3D indoor scenes. ICCV 2023.
- Ling et al. DL3DV-10K: a large-scale scene dataset for deep learning-based 3D vision. CVPR 2024.
- Lazarow et al. Cubify Anything: scaling indoor 3D object detection (CA-1M). CVPR 2025.