UniMetric: Universal Metric Scale Recovery for Visual Geometry Foundation Models
Organizations: Nanyang Technological University · Carnegie Mellon University · The Hong Kong Polytechnic University · Tongji University ·
Abstract
Recent advances in multimodal foundation models, exemplified by GPT-6 Astra, raise the prospect of general-purpose embodied reasoning and planning. Using Internet videos for embodied pretraining calls for reliable physical-scale annotations. Yet visual geometry foundation models often recover scene structure and camera motion without reliable metric scale. We show that uncertain size priors of familiar objects can jointly constrain a reconstruction's shared scale. Building on this insight, we present UniMetric, a universal and training-free metric scale recovery framework for geometry foundation models, without additional sensors or task-specific metric supervision. Specifically, Metric Prior Acquisition elicits object height intervals from a vision-language model. Semantic-Geometric Alignment measures reconstructed object heights along the estimated support-surface normal in each frame and converts the priors into scale intervals. Global Scale Recovery reconciles these intervals through a convex objective, yielding a jointly feasible scale when they overlap and a unique compromise otherwise. The estimated sequence-level scale is applied uniformly to reconstructed points and camera translations. Controlled experiments with real VLM priors show that combining observations improves scale accuracy with exact relative object heights. To evaluate metric accuracy on GFM reconstructions without ground-truth scale alignment, we introduce MetricBench, covering twelve embodied, driving, and roadside subsets with sensor-derived ground truth. Across nine geometry foundation models, UniMetric reduces mean depth Abs Rel, reconstruction Chamfer distance, and trajectory error by 54.2%, 83.8%, and 65.6%, respectively, improving every model on all three tasks at the suite level. We release the UniMetric code and MetricBench data.
Figures & tables
| Dataset | [95% CI] | Reduction (%) | |||
| nuScenes | 7.245 | 2.707 | 2.152 | 1.691 [1.178, 2.279] | 76.7 |
| JRDB | 6.627 | 2.761 | 2.275 | 2.175 [1.762, 2.576] | 67.2 |
| 3EED | 5.435 | 1.954 | 1.501 | 1.097 [0.768, 1.441] | 79.8 |
| V2X-Radar-I | 4.526 | 1.717 | 1.337 | 1.086 [0.886, 1.310] | 76.0 |
| Dataset | Hardware platform(s) | Reference | Seq. | Frames | Median depth (m) |
| Driving and infrastructure | |||||
| KITTI | passenger vehicle | LiDAR | 96 | 5,211 | 11.755 |
| nuScenes | passenger vehicle | LiDAR | 116 | 4,627 | 11.585 |
| Waymo | passenger vehicle | LiDAR | 149 | 5,951 | 19.095 |
| Argoverse | passenger vehicle | LiDAR | 70 | 6,613 | 21.215 |
| V2X-Radar-I | roadside unit | LiDAR | 30 | 1,092 | 36.865 |
| Model | Scale Recovery | Autonomous Driving and Infrastructure | Embodied AI | ||||||||||
| KITTI | nuScenes | Waymo | Argoverse | V2X- Radar-I | DAIR- V2X-I | CEAR | JRDB | Fusion Portable | DROID | Humanoid Everyday | 3EED | ||
| VGGT | None | 0.974 | 0.983 | 0.983 | 0.974 | 0.943 | 0.965 | 0.850 | 0.805 | 0.949 | 0.439 | 0.359 | 0.936 |
| UniMetric | 0.722 | 0.316 | 0.311 | 0.311 | 0.392 | 0.866 | 0.551 | 0.520 | 0.676 | 0.332 | 0.335 | 0.534 | |
| VGGT- | None | 0.971 | 0.979 | 0.983 | 0.972 | 0.949 | 0.966 | 0.786 | 0.790 | 0.885 | 0.294 | 0.311 | 0.937 |
| UniMetric | 0.347 | 0.152 | 0.154 | 0.244 | 0.123 | 0.542 | 0.538 | 0.312 | 0.331 | 0.284 | 0.221 | 0.343 | |
| None | 0.190 | 0.297 | 0.165 | 0.282 | 0.341 | 0.704 | 0.328 | 0.310 | 0.330 | 0.315 | 1.009 | 0.354 | |
| Model | Scale Recovery | Autonomous Driving and Infrastructure | Embodied AI | ||||||
| Abs Rel | CD (m) | ATE (m) | Abs Rel | CD (m) | ATE (m) | ||||
| VGGT | None | 0.970 | 0.0 | 20.186 | 42.574 | 0.723 | 11.5 | 5.354 | 10.302 |
| UniMetric | 0.486 | 48.9 | 4.038 | 14.878 | 0.491 | 35.5 | 1.189 | 6.406 | |
| VGGT- | None | 0.970 | 0.0 | 19.167 | 42.332 | 0.667 | 13.8 | 4.763 | 9.885 |
| UniMetric | 0.260 | 73.8 | 1.292 | 6.746 | 0.338 | 55.7 | 0.628 | 2.037 | |
| None | 0.330 | 33.0 | 2.506 | 8.869 | 0.441 | 34.1 | 0.880 | 3.298 | |
| Model | Scale Recovery | Autonomous Driving and Infrastructure | Embodied AI | ||||||||||
| KITTI | nuScenes | Waymo | Argoverse | V2X- Radar-I | DAIR- V2X-I | CEAR | JRDB | Fusion Portable | DROID | Humanoid Everyday | 3EED | ||
| VGGT | None | 23.094 | 15.127 | 20.034 | 16.584 | 22.986 | 23.293 | 3.216 | 3.466 | 18.317 | 0.224 | 0.119 | 6.783 |
| UniMetric | 6.797 | 1.850 | 3.073 | 1.737 | 4.089 | 6.685 | 1.222 | 1.418 | 2.859 | 0.187 | 0.117 | 1.328 | |
| VGGT- | None | 22.773 | 14.594 | 19.060 | 15.462 | 21.698 | 21.415 | 2.555 | 3.090 | 15.848 | 0.158 | 0.151 | 6.778 |
| UniMetric | 1.906 | 0.726 | 0.630 | 1.215 | 1.244 | 2.033 | 1.037 | 0.772 | 0.653 | 0.118 | 0.135 | 1.053 | |
| None | 1.668 | 1.710 | 0.848 | 1.596 | 3.454 | 5.761 | 0.893 | 0.952 | 0.971 | 0.090 | 0.259 | 2.116 | |
| Model | Scale Recovery | Autonomous Driving | Embodied AI | ||||||||
| KITTI | nuScenes | Waymo | Argoverse | CEAR | JRDB | Fusion Portable | DROID | Humanoid Everyday | 3EED | ||
| VGGT | None | 83.455 | 24.125 | 34.825 | 27.892 | 8.296 | 2.418 | 41.462 | 0.015 | 0.150 | 9.471 |
| UniMetric | 36.194 | 5.146 | 12.331 | 5.840 | 8.838 | 2.397 | 21.360 | 0.015 | 0.158 | 5.666 | |
| VGGT- | None | 83.272 | 23.792 | 34.364 | 27.901 | 7.374 | 2.442 | 39.863 | 0.007 | 0.136 | 9.485 |
| UniMetric | 15.511 | 2.476 | 5.090 | 3.906 | 2.715 | 0.921 | 4.238 | 0.009 | 0.101 | 4.237 | |
| None | 15.176 | 6.738 | 5.780 | 7.781 | 3.054 | 0.964 | 10.318 | 0.018 | 0.346 | 5.090 | |
| Scale calibration | nuScenes | FusionPortable | ||||||
| Abs Rel | CD | ATE | Abs Rel | CD | ATE | |||
| None | 0.979 | 0.0 | 14.594 | 23.792 | 0.885 | 0.9 | 15.848 | 39.863 |
| Depth Pro | 0.212 | 55.6 | 1.107 | 5.134 | 0.543 | 22.6 | 9.378 | 66.352 |
| UniDepth v2 | 0.278 | 53.1 | 1.638 | 13.515 | 0.485 | 14.8 | 1.450 | 23.485 |
| Depth Anything V2 | 0.347 | 29.0 | 1.705 | 11.423 | 0.396 | 47.0 | 0.702 | 10.855 |
| ZoeDepth-NK | 0.218 | 65.9 | 1.044 | 6.965 | 0.432 | 49.4 | 3.940 | 56.668 |
| Variant | nuScenes | FusionPortable | ||||||
| Abs Rel | CD | ATE | Abs Rel | CD | ATE | |||
| Point priors | 0.172 | 79.1 | 0.989 | 5.231 | 0.452 | 47.4 | 1.806 | 19.430 |
| Uniform weights | 0.180 | 67.5 | 1.235 | 5.902 | 0.469 | 46.9 | 1.828 | 22.636 |
| Single anchor | 0.334 | 45.4 | 1.983 | 21.643 | 0.683 | 18.0 | 6.086 | 48.649 |
| UniMetric (full) | 0.152 | 82.0 | 0.726 | 2.476 | 0.331 | 52.2 | 0.653 | 4.238 |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | Setting |
| VLM | seed-1.8-max |
| Sampling temperature | 0.2 |
| Extended reasoning | Disabled |
| Segmentation model | SAM2.1 Hiera Large |
| Segmentation prompt and output | Bounding box; one mask per region |
| Category reliability weights | 0.95 / 0.85 / 0.70 / 0.55 |
| Dataset | Median depth (m) | P90 depth (m) | Trajectory / seq. (m) |
| KITTI | 11.755 | 29.345 | 167.160 |
| nuScenes | 11.585 | 40.495 | 94.325 |
| Waymo | 19.095 | 47.595 | 135.491 |
| Argoverse | 21.215 | 53.165 | 109.193 |
| V2X-Radar-I | 36.865 | 68.115 | – |
| DAIR-V2X-I | 33.655 | 81.245 | – |
| Model | Scale | KITTI | nuScenes | Waymo | Argoverse | V2X-Radar-I | DAIR-V2X-I | ||||||
| Recovery | Abs Rel | Abs Rel | Abs Rel | Abs Rel | Abs Rel | Abs Rel | |||||||
| VGGT | None | 0.974 | 0.0 | 0.983 | 0.0 | 0.983 | 0.0 | 0.974 | 0.0 | 0.943 | 0.0 | 0.965 | 0.0 |
| UniMetric | 0.722 | 46.7 | 0.316 | 57.7 | 0.311 | 42.9 | 0.311 | 51.1 | 0.392 | 45.6 | 0.866 | 49.3 | |
| VGGT- | None | 0.971 | 0.0 | 0.979 | 0.0 | 0.983 | 0.0 | 0.972 | 0.0 | 0.949 | 0.0 | 0.966 | 0.0 |
| UniMetric | 0.347 | 58.2 | 0.152 | 82.0 | 0.154 | 77.9 | 0.244 | 67.4 | 0.123 | 86.5 | 0.542 | 71.0 | |
| None | 0.190 | 64.7 | 0.297 | 20.3 | 0.165 | 68.7 | 0.282 | 25.3 | 0.341 | 18.2 | 0.704 | 0.8 | |
| Model | Scale | CEAR | JRDB | FusionPortable | DROID | Humanoid Everyday | 3EED | ||||||
| Recovery | Abs Rel | Abs Rel | Abs Rel | Abs Rel | Abs Rel | Abs Rel | |||||||
| VGGT | None | 0.850 | 0.1 | 0.805 | 0.2 | 0.949 | 0.2 | 0.439 | 33.1 | 0.359 | 35.5 | 0.936 | 0.1 |
| UniMetric | 0.551 | 43.7 | 0.520 | 35.1 | 0.676 | 18.2 | 0.332 | 40.9 | 0.335 | 40.4 | 0.534 | 34.9 | |
| VGGT- | None | 0.786 | 0.4 | 0.790 | 0.5 | 0.885 | 0.9 | 0.294 | 42.6 | 0.311 | 38.2 | 0.937 | 0.1 |
| UniMetric | 0.538 | 65.3 | 0.312 | 54.9 | 0.331 | 52.2 | 0.284 | 51.5 | 0.221 | 60.1 | 0.343 | 50.2 | |
| None | 0.328 | 47.4 | 0.310 | 39.0 | 0.330 | 31.8 | 0.315 | 49.5 | 1.009 | 4.3 | 0.354 | 32.9 | |
| Model | Scale | KITTI | nuScenes | Waymo | Argoverse | V2X-Radar-I | DAIR-V2X-I | ||||||
| Recovery | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | |
| VGGT | None | 14.798 | 17.982 | 17.519 | 22.928 | 23.318 | 27.824 | 26.115 | 31.689 | 38.772 | 42.720 | 39.580 | 46.124 |
| UniMetric | 9.622 | 11.842 | 5.613 | 9.099 | 7.653 | 10.055 | 8.387 | 12.292 | 15.102 | 18.630 | 19.193 | 24.132 | |
| VGGT- | None | 14.799 | 17.988 | 17.455 | 22.824 | 23.142 | 27.529 | 26.197 | 31.729 | 38.872 | 42.672 | 39.962 | 46.505 |
| UniMetric | 5.140 | 9.442 | 3.061 | 6.885 | 3.726 | 6.568 | 6.675 | 11.954 | 5.029 | 8.210 | 9.063 | 13.800 | |
| None | 3.010 | 4.899 | 5.659 | 8.776 | 4.085 | 6.110 | 7.854 | 11.170 | 14.543 | 17.074 | 24.687 | 28.306 | |
| Model | Scale | CEAR | JRDB | FusionPortable | DROID | Humanoid Everyday | 3EED | ||||||
| Recovery | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | |
| VGGT | None | 3.633 | 4.641 | 6.386 | 8.146 | 9.811 | 12.805 | 0.508 | 0.695 | 0.347 | 0.472 | 13.116 | 16.615 |
| UniMetric | 2.238 | 3.136 | 3.645 | 5.456 | 6.345 | 9.117 | 0.391 | 0.542 | 0.328 | 0.452 | 6.138 | 9.111 | |
| VGGT- | None | 3.339 | 4.281 | 6.253 | 7.884 | 9.247 | 12.108 | 0.335 | 0.442 | 0.314 | 0.425 | 13.148 | 16.624 |
| UniMetric | 1.891 | 2.836 | 2.329 | 3.951 | 2.665 | 4.607 | 0.291 | 0.393 | 0.256 | 0.374 | 4.475 | 7.481 | |
| None | 1.446 | 2.331 | 2.664 | 4.218 | 3.388 | 5.125 | 0.300 | 0.382 | 0.825 | 0.932 | 5.191 | 8.218 | |
| Model | Scale | KITTI | nuScenes | Waymo | Argoverse | V2X-Radar-I | DAIR-V2X-I | ||||||
| Recovery | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | |
| VGGT | None | 45.367 | 51.918 | 29.785 | 34.824 | 39.999 | 46.320 | 33.105 | 38.572 | 40.887 | 45.105 | 41.042 | 47.989 |
| UniMetric | 22.942 | 26.723 | 8.332 | 11.292 | 14.638 | 17.650 | 9.581 | 12.927 | 15.938 | 19.585 | 20.931 | 26.192 | |
| VGGT- | None | 45.317 | 51.897 | 29.458 | 34.420 | 38.892 | 45.109 | 33.079 | 38.518 | 40.955 | 45.016 | 41.446 | 48.391 |
| UniMetric | 12.269 | 16.408 | 4.489 | 8.125 | 6.426 | 9.430 | 7.581 | 12.889 | 5.498 | 8.717 | 9.335 | 14.245 | |
| None | 8.557 | 10.743 | 9.214 | 11.803 | 7.331 | 9.445 | 10.445 | 13.500 | 15.238 | 17.910 | 25.513 | 29.335 | |
| Model | Scale | CEAR | JRDB | FusionPortable | DROID | Humanoid Everyday | 3EED | ||||||
| Recovery | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | MAE | RMSE | |
| VGGT | None | 6.951 | 7.776 | 7.059 | 8.507 | 37.490 | 42.829 | 0.521 | 0.672 | 0.438 | 0.592 | 14.534 | 17.992 |
| UniMetric | 6.740 | 7.969 | 5.254 | 6.779 | 19.452 | 23.547 | 0.444 | 0.575 | 0.432 | 0.582 | 8.253 | 11.274 | |
| VGGT- | None | 6.416 | 7.166 | 6.817 | 8.212 | 35.921 | 41.015 | 0.379 | 0.480 | 0.479 | 0.614 | 14.522 | 17.965 |
| UniMetric | 4.934 | 6.054 | 3.538 | 5.095 | 5.374 | 6.896 | 0.307 | 0.423 | 0.445 | 0.583 | 6.786 | 9.606 | |
| None | 4.273 | 4.951 | 3.828 | 5.323 | 10.405 | 12.636 | 0.257 | 0.359 | 0.724 | 0.866 | 8.537 | 11.349 | |
3D Reconstruction
3D reconstruction recovers a scene’s shape, appearance, and camera motion from images, video, depth, or other sensor measurements.
See all 950 papers