camera-pose-nvs-eval
Benchmarking Efficient & Effective Camera Pose Estimation Strategies for Novel View Synthesis — Meza et al. (2026) (arXiv:2603.20428, 2026)
What this evaluates
Evaluates the efficiency-effectiveness trade-off of Structure-from-Motion (SfM) strategies for novel view synthesis. It probes how different feature extractors, matchers, and mappers impact rendering quality and computational runtime across diverse indoor and outdoor scenes.
Datasets
- Mip-NeRF 360 — total ?; splits: test (-1)
- Tanks and Temples — total ?; splits: test (-1)
- Zip-NeRF — total ?; splits: test (-1)
Metrics
PSNR(primary) — range: other- Peak Signal-to-Noise Ratio computed between rendered novel views and ground truth images. Higher values indicate better reconstruction fidelity.
SSIM— range: other- Structural Similarity Index measuring perceived structural changes between rendered and ground truth images. Ranges from -1 to 1, where 1 is identical.
LPIPS— range: other- Learned Perceptual Image Patch Similarity using deep features to measure perceptual distance between rendered and ground truth images. Lower values indicate better perceptual quality.
reconstruction runtime— range: other- Total wall-clock time required to execute the SfM pipeline stages (feature extraction, matching, mapping, bundle adjustment) for a scene.
Input / output format
Input: A set of input images for a scene. The evaluation varies the number of extracted features per image (e.g., 128 to 8192 keypoints) and uses different feature detectors (SIFT, SuperPoint, DoG-HardNet, ALIKED), matchers (MNN, LG), and mappers (COLMAP, GLOMAP).
Output: Reconstructed 3D scene, camera poses, and rendered novel views. Metrics are computed by comparing rendered images to ground truth and measuring total SfM pipeline execution time.
Scoring recipe
def compute_metrics(rendered_imgs, gt_imgs, runtime):
psnr = mean([psnr(r, g) for r, g in zip(rendered_imgs, gt_imgs)])
ssim = mean([ssim(r, g) for r, g in zip(rendered_imgs, gt_imgs)])
lpips = mean([lpips(r, g) for r, g in zip(rendered_imgs, gt_imgs)])
return {'psnr': psnr, 'ssim': ssim, 'lpips': lpips, 'runtime': runtime}
Common pitfalls
- Using too few features (e.g., 128 or 256) often causes the mapping stage to fail or yields poses of insufficient quality, making it impossible to train the NeRF/Gaussian Splatting model.
- Runtime measurements must include all SfM pipeline stages; comparing only feature extraction time or only mapper time gives a misleading efficiency profile.
- Learned features do not universally outperform classical SIFT; performance heavily depends on the mapper (COLMAP vs GLOMAP) and feature count.
Evidence (verbatim from paper)
In this section, we present the PSNR and reconstruction runtime plots for Mip-NeRF 360, Tank and Temples, and Zip-NeRF datasets using the Mutual Nearest Neighbors (MNN) matcher in Figure 7. ... We also report the SSIM and LPIPS results corresponding to the rendering experiments with Mip-Splatting from Section 4.1 from the main paper.
Citation
@misc{meza2026cameraposenvs,
title={Benchmarking Efficient & Effective Camera Pose Estimation Strategies for Novel View Synthesis},
author={Meza et al. (2026)},
year={2026},
note={arXiv:2603.20428}
}
- arXiv: 2603.20428