当前位置: 首页 > news >正文

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=1nRiXi+tiMF2

其中 M \mathbf{M} M 是对齐后形状的平均。

2. KernelGPA 的扩展

GPA 假设刚性变换,KernelGPA 拓展为可变形变换模型

每一帧传感器的点云 X i ∈ R N × 3 \mathbf{X}_i \in \mathbb{R}^{N \times 3} XiRN×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} KxR1×M:核矩阵(如高斯核);
  • W i ∈ R M × 3 \mathbf{W}_i \in \mathbb{R}^{M \times 3} WiRM×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(xcj2/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=1nΦi(Xi)MF2=i=1nXi+KiWiMF2

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=(KiKi)1Ki(MXi)

将其代入总损失函数中,再对 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=1n(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} XiRN×3:第 i i i 帧原始点云
  • K i ∈ R N × M \mathbf{K}_i \in \mathbb{R}^{N \times M} KiRN×M:第 i i i 帧的核矩阵(如高斯核)
  • W i ∈ R M × 3 \mathbf{W}_i \in \mathbb{R}^{M \times 3} WiRM×3:待优化的变形系数
  • M ∈ R N × 3 \mathbf{M} \in \mathbb{R}^{N \times 3} MRN×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=1nXi+KiWiMF2


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(MXi)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[(KiWiYi)(KiWiYi)]其中 Yi:=MXi

求导:

∂ 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) WiLi=2Ki(KiWiYi)

令导数为零:

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) } KiKiWi=KiYiWi=(KiKi)1Ki(MXi)

这是典型的多变量线性最小二乘解。


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=1nXi+KiWiMF2

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=1nZiMF2=i=1ntr[(ZiM)(ZiM)]

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) } ML=2i=1n(ZiM)nM=i=1nZiM=n1i=1n(Xi+KiWi)


小结:闭式解流程
  1. 初始化 M \mathbf{M} M(例如平均点云)

  2. 对每帧计算:

    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=(KiKi)1Ki(MXi)

  3. 更新全局模板:

    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=1n(Xi+KiWi)

  4. 若需要可继续迭代一次或两次,实际收敛很快。


五、尺度模糊与刚性优化

由于所有变形都是相对的,闭式解存在全局尺度不确定性。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=1nJΦi(x)JΦi(x)IF2

此步骤用于解析尺度并加强物理约束。


六、实验与性能

在多个非刚性数据集(肝脏、面部、肺部 CT)上实验,结果表明:

  • KernelGPA 在 精度、鲁棒性收敛速度 上优于现有非刚性 SLAM 方法;
  • 闭式解显著减少了迭代优化的计算开销。

七、总结

特性描述
目标解决可变形环境下的 SLAM 问题
方法基于核回归的变形建模 + Procrustes 闭式对齐
优势闭式解、无初值依赖、全局最优、低计算量
应用医学成像、软体机器人、动态环境建图

相关文章:

  • 宏观经济2
  • 自学嵌入式 day 16-c语言-第10章 指针
  • 基于redis的定时状态更新
  • 【c++】继承详解
  • UOS安装AMD显卡驱动
  • AI优化高频PCB信号完整性:猎板PCB的技术突破与应用实践
  • PCIe控制器介绍(二)
  • RDD实现单词计数
  • TDengine 在新能源行业应用
  • 华为网路设备学习-21 路由过滤(filter-policy)
  • C++ STL入门:set 集合容器
  • TDEngine 与 Grafana
  • Unicode字符集字符流
  • QT:获取软件界面窗口的尺寸大小2025.5.8
  • Java—— 集合 Collection
  • [GESP202409 六级] 小杨和整数拆分 Java
  • ​​​​​​​MySQL数据库故障排查指南
  • 382_C++_在用户会话结束时,检查是否有其他会话仍然来自同一个客户端 IP 地址,没有连接状态设置为断开,否则为连接
  • 【并发编程】MySQL锁及单机锁实现
  • [数据库之十四] 数据库索引之位图索引
  • 时隔14个月北京怀柔区重启供地,北京建工以3.59亿元摘得
  • 人民财评:网售“婴儿高跟鞋”?不能让畸形审美侵蚀孩子身心
  • 越怕出错越会出错,“墨菲定律”的魔咒该怎么破?
  • 习近平同俄罗斯总统普京茶叙
  • 北上广深均宣布下调个人住房公积金贷款利率
  • 定位真核生物起源于约27.2亿年前,华东师大团队在《自然》发文