当前位置: 首页 > 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 闭式对齐
优势闭式解、无初值依赖、全局最优、低计算量
应用医学成像、软体机器人、动态环境建图
http://www.xdnf.cn/news/345133.html

相关文章:

  • Kafka消息不丢失处理
  • MATLAB界面——valueChangedFcn回调和valueChanging回调
  • 数值分析——条件数
  • 04-redis
  • 从零开始了解数据采集(二十四)——工业4.0讲解
  • 企业微信自建消息推送应用
  • 【JS逆向基础】爬虫核心模块:request模块与包的概念
  • MySQL创新应用:分布式数据库与AI融合的智能分析平台
  • 问鼎昇腾AI创新大赛金奖!aiXcoder如何重塑软件开发新范式?
  • 为什么强调 RESTful 的无状态性?-优雅草卓伊凡
  • Python实例题:Python获取喜马拉雅音频
  • 【AI入门】CherryStudio入门5:创建知识库,对接Obsidian 笔记
  • C++ 深入解析 数据结构中的 AVL树的插入 涉及的旋转规则
  • 手撕基于AMQP协议的简易消息队列-2(所用第三方库的介绍与简单使用)
  • C++:扫雷游戏
  • 解决正点原子IMX6U开发板Buildroot构建qt根文件系统解压后,没有库文件
  • MySQL数据库初级体验
  • 2025年道路运输安全员考试题库及答案
  • 物流无人机自动化装卸技术解析!
  • Python开发系统
  • 网络接入服务商查询
  • 解决:‘java‘ 不是内部或外部命令,也不是可运行的程序-Java环境变量配置(含JDK8、JDK21安装包一站式配置)
  • 手写Promise的静态方法
  • Memgraph 的安装教程
  • 从一城一云到AI CITY,智慧城市进入新阶段
  • Oracle数据库DBF文件收缩
  • 基于大型语言模型的高效时间序列预测模型选择
  • 语音合成之十二 TTS声学编解码器的演进
  • 探索 C++23 的 views::cartesian_product
  • 【AI】DeepWiki 页面转换成 Markdown 保存 - Chrome 扩展