SLAM文献之KernelGPA: A Globally Optimal Solution to Deformable SLAM in Closed-form
KernelGPA: A Globally Optimal Solution to Deformable SLAM in Closed-form
提出了一种在非刚性变形环境下求解 SLAM 问题的闭式全局最优解方法。下面是对其算法原理和核心推导过程的系统解析。
一、算法背景与目标
问题描述:
传统 SLAM 主要假设环境为刚性,而在一些应用场景(如医疗、软体机器人)中,环境本身具有可变形性。KernelGPA 针对该问题,提出了一种既考虑传感器位姿、又能建模环境变形的非刚性 SLAM 方法,并提供了 闭式解。
二、核心建模思想:从 Procrustes 到 KernelGPA
1. Generalized Procrustes Analysis (GPA)
GPA 是一种将多个形状对齐到共同参考框架的统计方法。对于输入点集 { X i } i = 1 n \{\mathbf{X}_i\}_{i=1}^n {Xi}i=1n,它寻找刚性变换 R i , t i \mathbf{R}_i, \mathbf{t}_i Ri,ti 使得对齐误差最小化:
min R i , t i , M ∑ i = 1 n ∥ R i X i + t i − M ∥ F 2 \min_{\mathbf{R}_i, \mathbf{t}_i, \mathbf{M}} \sum_{i=1}^n \|\mathbf{R}_i \mathbf{X}_i + \mathbf{t}_i - \mathbf{M}\|_F^2 Ri,ti,Mmini=1∑n∥RiXi+ti−M∥F2
其中 M \mathbf{M} M 是对齐后形状的平均。
2. KernelGPA 的扩展
GPA 假设刚性变换,KernelGPA 拓展为可变形变换模型:
每一帧传感器的点云 X i ∈ R N × 3 \mathbf{X}_i \in \mathbb{R}^{N \times 3} Xi∈RN×3 经变换后对齐到全局模板 M \mathbf{M} M,目标是估计:
- 每一帧的变换 Φ i ( ⋅ ) \Phi_i(\cdot) Φi(⋅):考虑环境变形与相机运动的组合
- 全局地图 M \mathbf{M} M
三、核回归变形模型(Kernel-based deformation model)
设变形变换为:
Φ i ( x ) = x + K x W i \Phi_i(\mathbf{x}) = \mathbf{x} + \mathbf{K}_\mathbf{x} \mathbf{W}_i Φi(x)=x+KxWi
其中:
- K x ∈ R 1 × M \mathbf{K}_\mathbf{x} \in \mathbb{R}^{1 \times M} Kx∈R1×M:核矩阵(如高斯核);
- W i ∈ R M × 3 \mathbf{W}_i \in \mathbb{R}^{M \times 3} Wi∈RM×3:每一帧的权重参数(表示非刚性变形);
- 核函数如 k ( x , c j ) = exp ( − ∥ x − c j ∥ 2 / 2 σ 2 ) k(\mathbf{x}, \mathbf{c}_j) = \exp(-\|\mathbf{x} - \mathbf{c}_j\|^2 / 2\sigma^2) k(x,cj)=exp(−∥x−cj∥2/2σ2)
将所有点堆叠成矩阵形式 X i \mathbf{X}_i Xi,则有:
Φ i ( X i ) = X i + K i W i \Phi_i(\mathbf{X}_i) = \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i Φi(Xi)=Xi+KiWi
四、闭式解推导过程
Step 1: 构建损失函数
目标是将所有帧经过变形变换后的点云对齐到一个模板 M \mathbf{M} M:
min M , { W i } ∑ i = 1 n ∥ Φ i ( X i ) − M ∥ F 2 = ∑ i = 1 n ∥ X i + K i W i − M ∥ F 2 \min_{\mathbf{M}, \{\mathbf{W}_i\}} \sum_{i=1}^n \| \Phi_i(\mathbf{X}_i) - \mathbf{M} \|_F^2 = \sum_{i=1}^n \| \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i - \mathbf{M} \|_F^2 M,{Wi}mini=1∑n∥Φi(Xi)−M∥F2=i=1∑n∥Xi+KiWi−M∥F2
对 W i \mathbf{W}_i Wi 和 M \mathbf{M} M 求导并令导数为 0,得到一组闭式最小二乘方程。
Step 2: 闭式解 W i \mathbf{W}_i Wi
固定 M \mathbf{M} M,对每个 W i \mathbf{W}_i Wi 有:
W i = ( K i ⊤ K i ) − 1 K i ⊤ ( M − X i ) \mathbf{W}_i = (\mathbf{K}_i^\top \mathbf{K}_i)^{-1} \mathbf{K}_i^\top (\mathbf{M} - \mathbf{X}_i) Wi=(Ki⊤Ki)−1Ki⊤(M−Xi)
将其代入总损失函数中,再对 M \mathbf{M} M 求闭式解:
M = 1 n ∑ i = 1 n ( X i + K i W i ) \mathbf{M} = \frac{1}{n} \sum_{i=1}^n (\mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i) M=n1i=1∑n(Xi+KiWi)
此过程迭代一次即可收敛(线性系统)。
详细推导过程如下:
原始优化目标
考虑 n n n 帧点云 { X i } i = 1 n \{\mathbf{X}_i\}_{i=1}^n {Xi}i=1n,每帧 N N N 个点,每个点三维坐标。引入核变形模型:
Φ i ( X i ) = X i + K i W i \Phi_i(\mathbf{X}_i) = \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i Φi(Xi)=Xi+KiWi
- X i ∈ R N × 3 \mathbf{X}_i \in \mathbb{R}^{N \times 3} Xi∈RN×3:第 i i i 帧原始点云
- K i ∈ R N × M \mathbf{K}_i \in \mathbb{R}^{N \times M} Ki∈RN×M:第 i i i 帧的核矩阵(如高斯核)
- W i ∈ R M × 3 \mathbf{W}_i \in \mathbb{R}^{M \times 3} Wi∈RM×3:待优化的变形系数
- M ∈ R N × 3 \mathbf{M} \in \mathbb{R}^{N \times 3} M∈RN×3:全局模板
最小化目标函数:
L = ∑ i = 1 n ∥ X i + K i W i − M ∥ F 2 \mathcal{L} = \sum_{i=1}^n \left\| \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i - \mathbf{M} \right\|_F^2 L=i=1∑n∥Xi+KiWi−M∥F2
对 W i \mathbf{W}_i Wi 的导数与闭式解推导
我们先固定 M \mathbf{M} M,对每帧的 W i \mathbf{W}_i Wi 求解:
记:
L i = ∥ K i W i − ( M − X i ) ∥ F 2 \mathcal{L}_i = \left\| \mathbf{K}_i \mathbf{W}_i - (\mathbf{M} - \mathbf{X}_i) \right\|_F^2 Li=∥KiWi−(M−Xi)∥F2
展开 Frobenius 范数:
L i = tr [ ( K i W i − Y i ) ⊤ ( K i W i − Y i ) ] 其中 Y i : = M − X i \mathcal{L}_i = \operatorname{tr}\left[(\mathbf{K}_i \mathbf{W}_i - \mathbf{Y}_i)^\top (\mathbf{K}_i \mathbf{W}_i - \mathbf{Y}_i)\right] \quad \text{其中 } \mathbf{Y}_i := \mathbf{M} - \mathbf{X}_i Li=tr[(KiWi−Yi)⊤(KiWi−Yi)]其中 Yi:=M−Xi
求导:
∂ L i ∂ W i = 2 K i ⊤ ( K i W i − Y i ) \frac{\partial \mathcal{L}_i}{\partial \mathbf{W}_i} = 2 \mathbf{K}_i^\top (\mathbf{K}_i \mathbf{W}_i - \mathbf{Y}_i) ∂Wi∂Li=2Ki⊤(KiWi−Yi)
令导数为零:
K i ⊤ K i W i = K i ⊤ Y i ⇒ W i = ( K i ⊤ K i ) − 1 K i ⊤ ( M − X i ) \mathbf{K}_i^\top \mathbf{K}_i \mathbf{W}_i = \mathbf{K}_i^\top \mathbf{Y}_i \Rightarrow \boxed{ \mathbf{W}_i = (\mathbf{K}_i^\top \mathbf{K}_i)^{-1} \mathbf{K}_i^\top (\mathbf{M} - \mathbf{X}_i) } Ki⊤KiWi=Ki⊤Yi⇒Wi=(Ki⊤Ki)−1Ki⊤(M−Xi)
这是典型的多变量线性最小二乘解。
对 M \mathbf{M} M 的导数与闭式解推导
将上面得到的 W i \mathbf{W}_i Wi 代入损失函数,对 M \mathbf{M} M 求导:
目标函数重新写成:
L ( M ) = ∑ i = 1 n ∥ X i + K i W i − M ∥ F 2 \mathcal{L}(\mathbf{M}) = \sum_{i=1}^n \left\| \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i - \mathbf{M} \right\|_F^2 L(M)=i=1∑n∥Xi+KiWi−M∥F2
记 Z i = X i + K i W i \mathbf{Z}_i = \mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i Zi=Xi+KiWi,有:
L = ∑ i = 1 n ∥ Z i − M ∥ F 2 = ∑ i = 1 n tr [ ( Z i − M ) ⊤ ( Z i − M ) ] \mathcal{L} = \sum_{i=1}^n \| \mathbf{Z}_i - \mathbf{M} \|_F^2 = \sum_{i=1}^n \operatorname{tr}\left[(\mathbf{Z}_i - \mathbf{M})^\top (\mathbf{Z}_i - \mathbf{M})\right] L=i=1∑n∥Zi−M∥F2=i=1∑ntr[(Zi−M)⊤(Zi−M)]
对 M \mathbf{M} M 求导:
∂ L ∂ M = − 2 ∑ i = 1 n ( Z i − M ) ⇒ n M = ∑ i = 1 n Z i ⇒ M = 1 n ∑ i = 1 n ( X i + K i W i ) \frac{\partial \mathcal{L}}{\partial \mathbf{M}} = -2 \sum_{i=1}^n (\mathbf{Z}_i - \mathbf{M}) \Rightarrow n \mathbf{M} = \sum_{i=1}^n \mathbf{Z}_i \Rightarrow \boxed{ \mathbf{M} = \frac{1}{n} \sum_{i=1}^n (\mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i) } ∂M∂L=−2i=1∑n(Zi−M)⇒nM=i=1∑nZi⇒M=n1i=1∑n(Xi+KiWi)
小结:闭式解流程
-
初始化 M \mathbf{M} M(例如平均点云)
-
对每帧计算:
W i = ( K i ⊤ K i ) − 1 K i ⊤ ( M − X i ) \mathbf{W}_i = (\mathbf{K}_i^\top \mathbf{K}_i)^{-1} \mathbf{K}_i^\top (\mathbf{M} - \mathbf{X}_i) Wi=(Ki⊤Ki)−1Ki⊤(M−Xi)
-
更新全局模板:
M = 1 n ∑ i = 1 n ( X i + K i W i ) \mathbf{M} = \frac{1}{n} \sum_{i=1}^n (\mathbf{X}_i + \mathbf{K}_i \mathbf{W}_i) M=n1i=1∑n(Xi+KiWi)
-
若需要可继续迭代一次或两次,实际收敛很快。
五、尺度模糊与刚性优化
由于所有变形都是相对的,闭式解存在全局尺度不确定性。KernelGPA 引入一个后处理优化:
刚性最大化约束(Rigidity Maximization):
通过优化使每帧变形尽可能刚性(例如保持局部距离),如下:
max s ∑ i = 1 n ∥ J Φ i ( x ) ⊤ J Φ i ( x ) − I ∥ F 2 \max_{s} \sum_{i=1}^n \| J_{\Phi_i}(\mathbf{x})^\top J_{\Phi_i}(\mathbf{x}) - \mathbf{I} \|_F^2 smaxi=1∑n∥JΦi(x)⊤JΦi(x)−I∥F2
此步骤用于解析尺度并加强物理约束。
六、实验与性能
在多个非刚性数据集(肝脏、面部、肺部 CT)上实验,结果表明:
- KernelGPA 在 精度、鲁棒性 和 收敛速度 上优于现有非刚性 SLAM 方法;
- 闭式解显著减少了迭代优化的计算开销。
七、总结
特性 | 描述 |
---|---|
目标 | 解决可变形环境下的 SLAM 问题 |
方法 | 基于核回归的变形建模 + Procrustes 闭式对齐 |
优势 | 闭式解、无初值依赖、全局最优、低计算量 |
应用 | 医学成像、软体机器人、动态环境建图 |