今天读一篇ECCV 2024 oral的文章,Scene Coordinate Reconstruction: Posing of Image Collections via Incremental Learning of a Relocalizer,文章提出方法从无位姿图像中恢复相机参数,作者来自Niantic和Oxford。
项目地址:ACE0 (ACE Zero)
文章目录
-
- Abstract
- [1 Introduction](#1 Introduction)
- [2 Related Work](#2 Related Work)
-
- [1. Structure-from-Motion (SfM)](#1. Structure-from-Motion (SfM))
- [2. Visual Relocalization](#2. Visual Relocalization)
- [3. Neural Scene Representation (NeRF相关)](#3. Neural Scene Representation (NeRF相关))
- [3 Method](#3 Method)
-
- [1. 场景坐标回归 (Scene Coordinate Regression, SCR)](#1. 场景坐标回归 (Scene Coordinate Regression, SCR))
- [2. 增量训练流程](#2. 增量训练流程)
- [3. Calibration Refinement](#3. Calibration Refinement)
- [4. Initialization](#4. Initialization)
- [4 Experiments](#4 Experiments)
-
- [0. 数据集](#0. 数据集)
- [1. 比较方法](#1. 比较方法)
- [2. 评估方式](#2. 评估方式)
- [3. 结果](#3. 结果)
- [5 Limitations and Conclusion](#5 Limitations and Conclusion)
Abstract
本文提出了一种基于visual relocalizer的新颖结构,从无位姿图像中恢复相机参数(姿态和内参)。不同于传统基于特征匹配的SfM(如COLMAP),作者将SfM过程重新解释为基于 场景坐标回归 (Scene Coordinate Regression) 的增量重定位问题。该方法能无需位姿先验、高效地从上千张图像中重建隐式场景表示,并能达到接近传统SfM的姿态估计精度,最终通过新视角合成验证其效果。
1 Introduction
- 背景:SfM长期以来依赖局部特征匹配,如SIFT等,虽然精度高但依赖明确的特征和大量匹配。
- 挑战 :近年来,NeRF等神经隐式表示方法崛起,但基于学习的SfM方法存在 需要位姿先验 、顺序输入 或 无法扩展到大规模数据 的问题。
- 创新点 :
- 将 增量式SfM 重新定义为 视觉重定位器 的反复应用与优化过程。
- 提出 ACE0 框架,从一张图像出发,无需位姿先验,迭代式优化图像的相机参数与隐式场景。
2 Related Work
1. Structure-from-Motion (SfM)
- 经典SfM基于图像特征匹配与三角化,结合Bundle Adjustment。
- Incremental SfM 从少量图像出发,逐步扩展。
- Global SfM 同步估计所有图像位姿(如运动/旋转平均)。
- 现有挑战:特征匹配昂贵、对初始化敏感、难以扩展。
2. Visual Relocalization
- 场景坐标回归 (Scene Coordinate Regression) 能将图像像素直接预测为3D坐标,从而通过PnP+RANSAC估计相机位姿。
- 现有学习方法如ACE虽快但需位姿监督。
- 本文使场景坐标回归 无需位姿先验,通过自监督实现。
3. Neural Scene Representation (NeRF相关)
- NeRF虽擅长新视角合成,但需要已知位姿,且训练慢。
- 本文方法比NeRF类方法训练速度快。
3 Method
目标:从一组 无位姿RGB图像 中重建场景,并估计所有图像的 相机位姿和内参 。
输入:
- 一组无序 RGB 图像 I = { I i } \mathcal{I} = \{I_i\} I={Ii},未知相机内外参。
输出:
- 每张图像的相机参数 H = { ( K i , T i ) } \mathcal{H} = \{(K_i, T_i)\} H={(Ki,Ti)}:
- 内参 K i K_i Ki(焦距等, 3 × 3 3 \times 3 3×3 矩阵)。
- 外参 T i T_i Ti(rotation和translation, 3 × 4 3 \times 4 3×4 矩阵)。
整个pipeline如下图:
1. 场景坐标回归 (Scene Coordinate Regression, SCR)
- 输入图像块,输出对应3D坐标。
- 通过预测的2D-3D点对,结合PnP+RANSAC估计相机位姿。
- 无需已知位姿,通过自监督(重投影误差)优化。
2. 增量训练流程
- 从单张图像+初步深度 (如 ZoeDepth) 开始训练SCR。
- 每一轮:
- Relocalization: 使用当前SCR尝试为更多图像估计位姿。
- Neural Mapping: 使用新增图像优化SCR,联合优化相机位姿和场景坐标回归模型。
- Pose Refinement: 通过MLP对位姿进一步微调以减少重投影误差。

3. Calibration Refinement
- 自动优化焦距,假设主点居中,无失真。
- 以全图像共享焦距为假设,逐步调整以拟合场景。
4. Initialization
- 随机选择起始图像,结合深度初始化。
- 如果起始图像不佳,会影响重建,因此尝试多个种子选取效果最佳的进行重建。
4 Experiments
0. 数据集
- 7-Scenes(室内、RGB-D、带伪GT位姿)
- Mip-NeRF 360(小规模全景场景)
- Tanks and Temples(大规模、室内外混合)
1. 比较方法
- COLMAP(传统SfM)
- RealityCapture(商业SfM工具)
- NeRF系列(NoPe-NeRF、BARF)
- DUSt3R(学习型SfM)
2. 评估方式
由于缺乏真实GT位姿,使用 新视角合成 (Novel View Synthesis) 评估,训练Nerfacto基于估计位姿渲染测试图像,计算PSNR、SSIM等。
3. 结果
结论:ACE0在速度和精度之间取得了平衡,重建速度远超基于特征的方法,精度接近COLMAP,显著优于现有NeRF-based和learning-based SfM方法。
5 Limitations and Conclusion
不足:
- 重复结构:对于如楼梯等重复纹理区域,场景坐标预测存在歧义。
- 大规模场景:单个MLP难以表达特别大的空间,需考虑后续分块等方法。
- 极端视角/光照变化:在大视差或昼夜变化下,重定位困难。
- 相机模型:目前仅支持针孔模型,未处理畸变参数。
总结:
ACE0 提供了一种全新的 SfM 思路:
- 无需特征匹配,无需位姿先验。
- 仅凭RGB图像即可重建,适用于数千图像大规模场景。
- 未来工作包括:增强重复结构处理、适应更复杂相机模型、提升极端视角重定位性能。