Learning 3D Reconstruction with Priors in Test Time
Organizations: Stony Brook University
Abstract
We introduce a test-time framework for multiview Transformers (MVTs) that incorporates priors (e.g., camera poses, intrinsics, and depth) to improve 3D tasks without retraining or modifying pre-trained image-only networks. Rather than feeding priors into the architecture, we cast them as constraints on the predictions and optimize the network at inference time. The optimization loss consists of a self-supervised objective and prior penalty terms. The self-supervised objective captures the compatibility among multi-view predictions and is implemented using photometric or geometric loss between renderings from other views and each view itself. Any available priors are converted into penalty terms on the corresponding output modalities. Across a series of 3D vision benchmarks, including point map estimation and camera pose estimation, our method consistently improves performance over base MVTs by a large margin. On the ETH3D, 7-Scenes, and NRGBD datasets, our method reduces the point-map distance error by more than half compared with the base image-only models. Our method also outperforms retrained prior-aware feed-forward methods, demonstrating the effectiveness of our test-time constrained optimization (TCO) framework for incorporating priors into 3D vision tasks.
Figures & tables
| Method | Compat | Pose | Intr | Acc. | Comp. | N.C. | |||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | ||||
| Fast3R [ 48 ] | ✗ | ✗ | ✗ | 0.832 | 0.691 | 0.978 | 0.683 | 0.667 | 0.766 |
| CUT3R [ 44 ] | ✗ | ✗ | ✗ | 0.617 | 0.525 | 0.747 | 0.579 | 0.754 | 0.848 |
| FLARE [ 53 ] | ✗ | ✗ | ✗ | 0.464 | 0.338 | 0.664 | 0.395 | 0.744 | 0.864 |
| Pow3R ( asym. ) [ 19 ] | ✗ | ✓ | ✓ | 0.230 | 0.146 | 0.188 | 0.119 | 0.865 | 0.968 |
| MapAnything [ 22 ] | ✗ | ✓ | ✓ | 0.167 | 0.100 | 0.131 | 0.066 | 0.866 | 0.968 |
| Method | Compat | Pose | Intr | Acc. | Comp. | N.C. | |||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | ||||
| Fast3R [ 48 ] | ✗ | ✗ | ✗ | 3.340 | 1.919 | 2.929 | 1.125 | 0.671 | 0.755 |
| CUT3R [ 44 ] | ✗ | ✗ | ✗ | 4.742 | 2.600 | 3.400 | 1.316 | 0.679 | 0.764 |
| FLARE [ 53 ] | ✗ | ✗ | ✗ | 2.541 | 1.468 | 3.174 | 1.420 | 0.684 | 0.774 |
| Pow3R [ 19 ] | ✗ | ✓ | ✓ | 1.234 | 0.620 | 2.357 | 0.833 | 0.680 | 0.765 |
| MapAnything [ 22 ] | ✗ | ✓ | ✓ | 2.731 | 1.570 | 2.209 | 0.892 | 0.681 | 0.767 |
| Method | Compat | Pose | Intr | Acc. | Comp. | NC. | |||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | ||||
| Fast3R [ 48 ] | ✗ | ✗ | ✗ | 0.096 | 0.065 | 0.145 | 0.093 | 0.672 | 0.760 |
| CUT3R [ 44 ] | ✗ | ✗ | ✗ | 0.094 | 0.051 | 0.101 | 0.050 | 0.703 | 0.804 |
| FLARE [ 53 ] | ✗ | ✗ | ✗ | 0.085 | 0.058 | 0.142 | 0.104 | 0.695 | 0.779 |
| Pow3R [ 19 ] | ✗ | ✓ | ✓ | 0.034 | 0.019 | 0.041 | 0.022 | 0.763 | 0.880 |
| MapAnything [ 22 ] | ✗ | ✓ | ✓ | 0.026 | 0.015 | 0.032 | 0.018 | 0.773 | 0.889 |
| Method | Compat | Pose | Intr | Acc. | Comp. | NC. | |||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | ||||
| Fast3R [ 48 ] | ✗ | ✗ | ✗ | 0.135 | 0.091 | 0.163 | 0.104 | 0.759 | 0.877 |
| CUT3R [ 44 ] | ✗ | ✗ | ✗ | 0.104 | 0.041 | 0.079 | 0.031 | 0.822 | 0.968 |
| FLARE [ 53 ] | ✗ | ✗ | ✗ | 0.053 | 0.024 | 0.051 | 0.025 | 0.877 | 0.988 |
| Pow3R [ 19 ] | ✗ | ✓ | ✓ | 0.062 | 0.029 | 0.062 | 0.029 | 0.844 | 0.983 |
| MapAnything [ 22 ] | ✗ | ✓ | ✓ | 0.040 | 0.024 | 0.041 | 0.020 | 0.875 | 0.985 |
| Stride | Method | Compat | Depth | ATE | RPE trans | RPE rot |
|---|---|---|---|---|---|---|
| Pow3R [ 19 ] | ✗ | ✓ | 0.0172 | 0.0258 | 0.4614 | |
| 1 | VGGT [ 43 ] | ✗ | ✗ | 0.0094 | 0.0160 | 0.3781 |
| TCO-VGGT | ✓ | ✓ | 0.0072 | 0.0139 | 0.3731 | |
| Pow3R [ 19 ] | ✗ | ✓ | 0.0201 | 0.0335 | 0.7114 | |
| 4 | VGGT [ 43 ] | ✗ | ✗ | 0.0127 | 0.0215 | 0.5706 |
| TCO-VGGT | ✓ | ✓ | 0.0106 | 0.0190 | 0.6026 |
| Setting | Acc. | Comp. | N.C. | |||
|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | |
| Fine-tuning strategy | ||||||
| Finetune decoder (Ours) | 0.114 | 0.060 | 0.116 | 0.054 | 0.901 | 0.984 |
| + Camera head | 0.158 | 0.107 | 0.191 | 0.113 | 0.864 | 0.966 |
| + Depth head | 0.162 | 0.081 | 0.098 | 0.054 | 0.850 | 0.954 |
| + Camera + depth head | 0.183 | 0.088 | 0.195 | 0.116 | 0.817 | 0.937 |
| Setting | Acc. | Comp. | N.C. | |||
|---|---|---|---|---|---|---|
| Mean | Med. | Mean | Med. | Mean | Med. | |
| VGGT (base) | 0.280 | 0.185 | 0.305 | 0.182 | 0.853 | 0.950 |
| Rendering loss | ||||||
| Radius scale = 0.5 (def.) | 0.114 | 0.060 | 0.116 | 0.054 | 0.901 | 0.984 |
| Radius scale = 0.05 | 0.122 | 0.066 | 0.124 | 0.058 | 0.895 | 0.983 |
| Radius scale = 5 | 0.143 | 0.072 | 0.207 | 0.123 | 0.871 | 0.972 |
| Rot pert. (deg) | Trans pert. (%) | Focal pert. (%) | Acc. | Comp. | N.C. |
|---|---|---|---|---|---|
| VGGT (base) | 0.280 | 0.305 | 0.853 | ||
| 0 | 0 | 0 | 0.1765 | 0.1816 | 0.8822 |
| 1 | 0 | 0 | 0.1755 | 0.1755 | 0.8791 |
| 3 | 0 | 0 | 0.2111 | 0.2108 | 0.8669 |
| 5 | 0 | 0 | 0.2344 | 0.2143 | 0.8569 |
| 0 | 1 | 0 | 0.1702 | 0.1700 | 0.8790 |
| TTT Steps | Render Loss | Avg (s) | Std (s) | Min (s) | Max (s) |
|---|---|---|---|---|---|
| 0 | ✗ | 1.301 | 0.198 | 1.104 | 1.499 |
| 10 | ✗ | 43.630 | 0.218 | 43.412 | 43.848 |
| 10 | ✓ | 45.598 | 0.440 | 45.158 | 46.037 |
| 40 | ✓ | 161.547 | 1.424 | 160.123 | 162.971 |
Multi-View 3D Reconstruction
Multi-View 3D Reconstruction recovers scene geometry and appearance from images captured at multiple viewpoints.
See all 277 papers