MASt3R-SLAM: 基于两视图三维重建先验的实时稠密SLAM系统
一、摘要
MASt3R-SLAM是一种实时单目稠密SLAM系统,其核心在于基于MASt3R两视图三维重建先验,实现了对未知相机模型的鲁棒处理。系统通过高效的点图匹配、跟踪与局部融合、图构建与闭环以及二阶全局优化等模块,在野外视频序列中生成全局一致的位姿和稠密几何结构,运行帧率可达15 FPS。在TUM RGB-D等数据集上的实验表明,校准后系统平均绝对轨迹误差(ATE RMSE)达0.030m,未校准情况下为0.060m,重建精度显著优于同类方法。
二、引言
2.1 研究背景与挑战
视觉同步定位与建图(SLAM)是机器人与增强现实领域的基础技术,但现有单目稠密SLAM系统仍存在以下局限:
- 依赖固定相机模型或手工设计先验,缺乏野外场景的即插即用能力
- 单视图先验(如深度预测)存在歧义性,多视图先验难以解耦位姿与几何
- 大规模场景下的全局一致性优化效率低下
2.2 技术创新点
MASt3R两视图三维重建先验的突破在于:
- 直接从两幅图像输出共坐标系点云,隐式解决对应关系、位姿与几何问题
- 为SLAM提供统一的几何基础,无需显式建模相机内参或场景结构
- 通过深度学习训练,可泛化至多种相机模型与场景类型
三、核心方法设计
3.1 预备知识与数学基础
3.1.1 MASt3R先验输出模型
给定图像对 I i , I j ∈ R H × W × 3 I^i, I^j \in \mathbb{R}^{H×W×3} Ii,Ij∈RH×W×3,MASt3R网络输出:
- 点图 X i i , X i j ∈ R H × W × 3 X_i^i, X_i^j \in \mathbb{R}^{H×W×3} Xii,Xij∈RH×W×3:分别为 I i , I j I^i, I^j Ii,Ij在 i i i坐标系下的三维点云表示
- 置信度图 C i i , C i j ∈ R H × W × 1 C_i^i, C_i^j \in \mathbb{R}^{H×W×1} Cii,Cij∈RH×W×1:点云有效性的概率度量
- 特征图 D i i , D i j ∈ R H × W × d D_i^i, D_i^j \in \mathbb{R}^{H×W×d} Dii,Dij∈RH×W×d:用于像素匹配的高维描述子
- 特征置信度 Q i i , Q i j ∈ R H × W × 1 Q_i^i, Q_i^j \in \mathbb{R}^{H×W×1} Qii,Qij∈RH×W×1:特征匹配可靠性指标
3.1.2 位姿表示与变换模型
采用Sim(3)相似变换群描述相机位姿:
T = [ s R t 0 1 ] ∈ Sim(3) T = \begin{bmatrix} sR & t \\ 0 & 1 \end{bmatrix} \in \text{Sim(3)} T=[sR0t1]∈Sim(3)
其中:
- R ∈ SO(3) R \in \text{SO(3)} R∈SO(3)为旋转矩阵, t ∈ R 3 t \in \mathbb{R}^3 t∈R3为平移向量
- s ∈ R + s \in \mathbb{R}^+ s∈R+为尺度因子,处理单目SLAM的尺度不确定性
- 位姿更新通过李代数扰动实现: T ← τ ⊕ T = Exp ( τ ) ∘ T T \leftarrow \tau \oplus T = \text{Exp}(\tau) \circ T T←τ⊕T=Exp(τ)∘T,其中 τ ∈ sim(3) \tau \in \text{sim(3)} τ∈sim(3)为李代数参数
3.1.3 通用中心相机模型
定义射线归一化函数:
ψ ( X i i ) = X i i ∥ X i i ∥ 2 \psi(X_i^i) = \frac{X_i^i}{\|X_i^i\|_2} ψ(Xii)=∥Xii∥2Xii
该函数将点云转换为单位射线,仅假设相机满足"所有射线通过唯一光心"的通用中心条件,支持时变相机模型(如变焦、畸变)。
3.2 点图匹配机制
3.2.1 迭代投影优化算法
对于点图 X i j X_i^j Xij中的点 x x x,求解其在参考帧 I i I^i Ii中的最优像素坐标 p ∗ p^* p∗:
p ∗ = arg min p ∥ ψ ( [ X i i ] p ) − ψ ( x ) ∥ 2 p^* = \underset{p}{\arg\min} \left\| \psi\left(\left[X_i^i\right]_p\right) - \psi(x) \right\|^2 p∗=pargmin
ψ([Xii]p)−ψ(x)
2
其中:
- [ X i i ] p \left[X_i^i\right]_p [Xii]p表示 X i i X_i^i Xii中像素 p p p对应的三维点
- 采用Levenberg-Marquardt算法迭代求解,平均10次迭代内收敛
- 利用GPU并行计算,单帧处理耗时仅2ms
3.2.2 射线角度误差等价性
归一化射线的欧氏距离与角度关系:
∥ ψ 1 − ψ 2 ∥ 2 = 2 ( 1 − cos θ ) , cos θ = ψ 1 T ψ 2 \left\| \psi_1 - \psi_2 \right\|^2 = 2(1 - \cos\theta), \quad \cos\theta = \psi_1^T\psi_2 ∥ψ1−ψ2∥2=2(1−cosθ),cosθ=ψ1Tψ2
其中 θ \theta θ为两射线夹角,该性质确保匹配误差与几何角度直接相关。
3.3 实时跟踪与点图融合
3.3.1 射线误差优化模型
相比传统3D点误差,射线误差对深度预测误差更鲁棒:
E r = ∑ m , n ∈ m f , k ∥ ψ ( X ~ k , n k ) − ψ ( T k f X f , m f ) w ( q m , n , σ r 2 ) ∥ ρ E_r = \sum_{m,n \in m_{f,k}} \left\| \frac{\psi(\tilde{X}_{k,n}^k) - \psi(T_{kf}X_{f,m}^f)}{w(q_{m,n}, \sigma_r^2)} \right\|_\rho Er=m,n∈mf,k∑
w(qm,n,σr2)ψ(X~k,nk)−ψ(TkfXf,mf)
ρ
参数说明:
- m f , k m_{f,k} mf,k:当前帧 f f f与关键帧 k k k的匹配点对集合
- X ~ k , n k \tilde{X}_{k,n}^k X~k,nk:关键帧规范点图, X f , m f X_{f,m}^f Xf,mf:当前帧点图
- 权重函数 w ( q , σ 2 ) = { σ 2 / q q > q min ∞ otherwise w(q, \sigma^2) = \begin{cases} \sigma^2/q & q > q_{\text{min}} \\ \infty & \text{otherwise} \end{cases} w(q,σ2)={σ2/q∞q>qminotherwise
- q m , n = Q f , m f Q f , n k q_{m,n} = \sqrt{Q_{f,m}^f Q_{f,n}^k} qm,n=Qf,mfQf,nk:匹配置信度乘积
- ∥ ⋅ ∥ ρ \|\cdot\|_\rho ∥⋅∥ρ:Huber范数,抑制外点影响
3.3.2 位姿更新迭代方程
采用Gauss-Newton迭代求解位姿扰动:
( J T W J ) τ = − J T W r , T k f ← τ ⊕ T k f (J^T W J)\tau = -J^T W r, \quad T_{kf} \leftarrow \tau \oplus T_{kf} (JTWJ)τ=−JTWr,Tkf←τ⊕Tkf
其中:
- J J J:雅可比矩阵,包含射线方向对6DoF位姿的导数
- W W W:对角权重矩阵,由匹配置信度确定
- r r r:残差向量,即射线方向误差
3.3.3 规范点图加权融合
迭代更新关键帧的规范点图:
X ‾ k k ← C ~ k k X ~ k k + C f k ( T k f X f k ) C ‾ k k + C f k , C ~ k k ← C ~ k k + C f k \overline{X}_k^k \leftarrow \frac{\tilde{C}_k^k \tilde{X}_k^k + C_f^k (T_{kf}X_f^k)}{\overline{C}_k^k + C_f^k}, \quad \tilde{C}_k^k \leftarrow \tilde{C}_k^k + C_f^k Xkk←Ckk+CfkC~kkX~kk+Cfk(TkfXfk),C~kk←C~kk+Cfk
机制说明:
- X ‾ k k \overline{X}_k^k Xkk:融合后的规范点图,消除单视图预测噪声
- C ~ k k \tilde{C}_k^k C~kk:累计置信度,随观测次数增加而增大
- C f k C_f^k Cfk:当前帧点图置信度,由MASt3R直接输出
3.4 闭环检测与全局优化
3.4.1 ASMK闭环检索框架
闭环检测流程:
- 基于Aggregated Selective Match Kernel (ASMK)提取全局特征
- 计算当前关键帧与数据库中帧的特征L2距离
- 检索分数超过阈值 ω r = 0.005 \omega_r=0.005 ωr=0.005时,触发MASt3R解码
- 匹配数超过 ω l = 0.1 \omega_l=0.1 ωl=0.1时,添加双向闭环边
3.4.2 二阶全局优化模型
最小化所有图边的射线误差:
E g = ∑ i , j ∈ E ∑ m , n ∈ m i , j ∥ ψ ( X ~ i , m i ) − ψ ( T i j X ~ j , n j ) w ( q m , n , σ r 2 ) ∥ ρ E_g = \sum_{i,j \in \mathcal{E}} \sum_{m,n \in m_{i,j}} \left\| \frac{\psi(\tilde{X}_{i,m}^i) - \psi(T_{ij}\tilde{X}_{j,n}^j)}{w(q_{m,n}, \sigma_r^2)} \right\|_\rho Eg=i,j∈E∑m,n∈mi,j∑
w(qm,n,σr2)ψ(X~i,mi)−ψ(TijX~j,nj)
ρ
关键技术:
- E \mathcal{E} E:图边集合,包含时间边与闭环边
- T i j = T W C i − 1 T W C j T_{ij} = T_{WC_i}^{-1}T_{WC_j} Tij=TWCi−1TWCj:关键帧 i , j i,j i,j的相对位姿
- 构建7N×7N稀疏Hessian矩阵,采用Cholesky分解求解
- 固定首帧7自由度,解决Sim(3)规范问题
3.5 已知相机校准的优化策略
当相机内参已知时,采用像素投影误差:
E Π = ∑ i , j ∈ E ∑ m , n ∈ m i , j ∥ p i , m i − Π ( T i j X ~ j , n j ) w ( q m , n , σ Π 2 ) ∥ ρ E_\Pi = \sum_{i,j \in \mathcal{E}} \sum_{m,n \in m_{i,j}} \left\| \frac{p_{i,m}^i - \Pi(T_{ij}\tilde{X}_{j,n}^j)}{w(q_{m,n}, \sigma_\Pi^2)} \right\|_\rho EΠ=i,j∈E∑m,n∈mi,j∑
w(qm,n,σΠ2)pi,mi−Π(TijX~j,nj)
ρ
其中:
- Π \Pi Π:针孔相机投影函数,参数化为:
K = [ f x 0 c x 0 f y c y 0 0 1 ] K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} K= fx000fy0cxcy1
f x , f y f_x, f_y fx,fy为焦距, c x , c y c_x, c_y cx,cy为光心坐标 - 投影雅可比矩阵:
∂ Π ( x ) ∂ x = 1 z [ f x 0 − f x x / z 0 f y − f y y / z ] \frac{\partial \Pi(x)}{\partial x} = \frac{1}{z} \begin{bmatrix} f_x & 0 & -f_x x/z \\ 0 & f_y & -f_y y/z \end{bmatrix} ∂x∂Π(x)=z1[fx00fy−fxx/z−fyy/z]
四、实验结果与分析
4.1 数据集与评估指标
4.1.1 实验数据集
- TUM RGB-D:室内场景,包含光照与视角变化,用于位姿精度评估
- 7-Scenes:结构化室内场景,提供深度真值,用于重建质量评估
- EuRoC:无人机序列,包含快速运动与弱纹理区域,挑战系统鲁棒性
- ETH3D-SLAM:室外场景,包含大范围相机运动,测试大规模场景能力
4.1.2 评估指标
- 绝对轨迹误差(ATE RMSE):单位为米,评估位姿全局一致性
- Chamfer距离:单位为米,评估点云重建精度
- 峰值信噪比(PSNR):单位为dB,评估纹理重建质量
- 帧率(FPS):系统实时性指标
4.2 核心实验结果
数据集 | 校准状态 | ATE RMSE (m) | Chamfer距离 (m) | 帧率 (FPS) |
---|---|---|---|---|
TUM RGB-D | 校准 | 0.030 | 0.066 | 15 |
7-Scenes | 未校准 | 0.066 | 0.056 | 14.8 |
EuRoC | 校准 | 0.041 | 0.085 | 15.7 |
ETH3D-SLAM | 校准 | 0.086 | - | - |
4.3 消融实验分析
4.3.1 点图匹配方法对比
匹配方法 | 校准ATE (m) | 未校准ATE (m) | 耗时 (ms) | 帧率 (FPS) |
---|---|---|---|---|
k-d树 | 0.061 | 0.115 | 40 | 8.8 |
MASt3R原生 | 0.042 | 0.098 | 2000 | 0.4 |
迭代投影 | 0.062 | 0.092 | 0.5 | 15.1 |
迭代+特征 | 0.039 | 0.097 | 2 | 14.9 |
4.3.2 点图融合策略对比
融合方法 | 未校准ATE (m) | 校准ATE (m) |
---|---|---|
最近帧 | 0.207 | 0.160 |
首帧 | 0.114 | 0.059 |
中位数置信 | 0.102 | 0.039 |
加权平均 | 0.097 | 0.039 |
4.4 与SOTA方法对比
在TUM RGB-D数据集上,MASt3R-SLAM校准后平均ATE RMSE为0.030m,优于:
- ORB-SLAM3(0.03m,仅部分序列)
- DROID-SLAM(0.038m)
- DeepFactors(0.233m)
未校准情况下,7-Scenes数据集平均ATE RMSE为0.066m,显著优于DROID-SLAM*(0.158m)。
五、核心贡献与未来方向
5.1 研究贡献总结
方法创新:首次将两视图三维重建先验集成到实时SLAM系统,突破传统方法对固定相机模型的依赖。
技术突破:
- 提出迭代投影点图匹配算法,效率提升1000倍
- 设计基于射线误差的位姿优化模型,增强深度噪声鲁棒性
- 实现二阶全局优化框架,处理Sim(3)位姿的尺度不确定性
性能优势:在多种场景下实现15 FPS实时运行,位姿与重建精度达到SOTA水平。
5.2 局限性与未来工作
当前局限:
- MASt3R模型仅训练于针孔相机,畸变场景性能下降
- 网络推理耗时占总处理时间64%,仍是实时性瓶颈
- 全局点图优化未完全整合,存在局部不一致风险
未来方向:
- 扩展MASt3R训练至非针孔相机模型(如鱼眼、多相机)
- 优化网络架构,提升推理效率(如知识蒸馏、模型剪枝)
- 引入全局点图联合优化,确保几何一致性
- 集成动态物体检测与语义信息,提升复杂场景鲁棒性
六、附录:关键公式速查表
公式编号 | 公式描述 | 核心参数说明 |
---|---|---|
(1) | Sim(3)位姿变换 | s s s:尺度, R R R:旋转, t t t:平移, τ \tau τ:李代数扰动 |
(2) | 迭代投影优化 | p ∗ p^* p∗:最优像素坐标, ψ \psi ψ:射线归一化函数 |
(3) | 射线角度误差等价性 | θ \theta θ:射线夹角, ψ 1 , ψ 2 \psi_1, \psi_2 ψ1,ψ2:单位射线 |
(4) | 射线误差函数 | E r E_r Er:射线角度误差,利用归一化抵抗深度误差 |
(5) | 位姿更新方程 | J J J:雅可比矩阵, W W W:权重矩阵, r r r:残差 |
(6) | 规范点图融合 | X ‾ k k \overline{X}_k^k Xkk:融合后点图, C ~ k k \tilde{C}_k^k C~kk:累计置信度 |
(7) | 全局射线误差优化 | E g E_g Eg:全局误差, E \mathcal{E} E:图边集合, T i j T_{ij} Tij:相对位姿 |
(8) | 像素投影误差(已知校准) | E Π E_\Pi EΠ:像素距离误差, Π \Pi Π:相机投影函数 |