SLAM文献之-NR-SLAM: Non-Rigid Monocular SLAM

NR-SLAM(Non-Rigid SLAM)是一种用于非刚性场景(如人体、软体物体)的SLAM方法,能够在动态形变环境下实现相机跟踪与三维重建。其核心挑战在于同时估计相机位姿和场景的非刚性形变,而传统SLAM(如ORB-SLAM)假设场景是静态或刚体运动的。以下是NR-SLAM的详细原理与推导,涵盖数学建模、优化方法及实现细节。


1. NR-SLAM核心思想

NR-SLAM的目标是:

  • 输入:单目/RGB-D视频序列。
  • 输出
    • 相机位姿 ( T t ∈ S E ( 3 ) ) ( \mathbf{T}_t \in SE(3) ) (TtSE(3))(每帧)。
    • 场景的非刚性形变场 ( ϕ t : R 3 → R 3 ) ( \phi_t: \mathbb{R}^3 \to \mathbb{R}^3 ) (ϕt:R3R3)(描述3D点的运动)。
    • 动态场景的规范模型(canonical model) ( M ) ( \mathcal{M} ) (M)(未形变的基准3D结构)。

关键创新
将非刚性形变建模为时变形变场,并通过优化联合估计相机位姿与形变参数。


2. 数学建模与推导

(1) 非刚性形变表示

NR-SLAM通常采用以下形变表示之一:

  • 基于网格的形变(如Embedded Deformation Graph, ED-Graph):

    • 定义稀疏控制点 ( { g i } ) ( \{\mathbf{g}_i\} ) ({gi}),形变由控制点的变换 ( { T i ∈ S E ( 3 ) } ) ( \{\mathbf{T}_i \in SE(3)\} ) ({TiSE(3)}) 插值得到。
    • 任意点 ( p ) ( \mathbf{p} ) (p) 的形变后位置:
      [ ϕ ( p ) = ∑ i w i ( p ) ⋅ T i p ] [ \phi(\mathbf{p}) = \sum_i w_i(\mathbf{p}) \cdot \mathbf{T}_i \mathbf{p} ] [ϕ(p)=iwi(p)Tip]
      • ( w i ( p ) ) ( w_i(\mathbf{p}) ) (wi(p)) 是权重(如基于距离的高斯核)。
  • 基于潜变量的形变(如PCA、神经网络):

    • 形变场 ( ϕ t ) ( \phi_t ) (ϕt) 由低维潜变量 ( z t ) ( \mathbf{z}_t ) (zt) 参数化:
      [ ϕ t ( p ) = p + f ( p , z t ) ] [ \phi_t(\mathbf{p}) = \mathbf{p} + f(\mathbf{p}, \mathbf{z}_t) ] [ϕt(p)=p+f(p,zt)]
      • ( f ) ( f ) (f) 可以是MLP(如NeRF类方法)或线性基(如PCA)。

(2) 相机投影模型

对于形变场景,3D点 ( X j ) ( \mathbf{X}_j ) (Xj) 在时刻 ( t ) ( t ) (t) 的位置为 ( ϕ t ( X j ) ) ( \phi_t(\mathbf{X}_j) ) (ϕt(Xj)),其投影到图像平面的2D坐标为:
[ x t j = π ( T t ϕ t ( X j ) ) ] [ \mathbf{x}_{tj} = \pi(\mathbf{T}_t \phi_t(\mathbf{X}_j)) ] [xtj=π(Ttϕt(Xj))]

  • ( π ( ⋅ ) ) ( \pi(\cdot) ) (π()):相机投影函数(透视或RGB-D模型)。
  • ( T t ) ( \mathbf{T}_t ) (Tt):相机到世界坐标系的变换。

(3) 能量函数(优化目标)

NR-SLAM通过最小化以下能量函数联合优化相机位姿、形变场和3D结构:
[ E = E photo + λ reg E reg + λ prior E prior ] [ E = E_{\text{photo}} + \lambda_{\text{reg}} E_{\text{reg}} + \lambda_{\text{prior}} E_{\text{prior}} ] [E=Ephoto+λregEreg+λpriorEprior]

(a) 光度误差(Photometric Error)

基于RGB或深度一致性:
[ E photo = ∑ t , j ρ ( ∥ I t ( x t j ) − I t + 1 ( x ( t + 1 ) j ) ∥ 2 ) ] [ E_{\text{photo}} = \sum_{t,j} \rho \left( \| I_t(\mathbf{x}_{tj}) - I_{t+1}(\mathbf{x}_{(t+1)j}) \|^2 \right) ] [Ephoto=t,jρ(It(xtj)It+1(x(t+1)j)2)]

  • ( ρ ( ⋅ ) ) ( \rho(\cdot) ) (ρ()) 是鲁棒核函数(如Huber)。
  • 若使用深度数据,可替换为几何误差:
    [ E depth = ∑ t , j ∥ d t ( x t j ) − ∥ ϕ t ( X j ) − c t ∥ ∥ 2 ] [ E_{\text{depth}} = \sum_{t,j} \| d_t(\mathbf{x}_{tj}) - \| \phi_t(\mathbf{X}_j) - \mathbf{c}_t \| \|^2 ] [Edepth=t,jdt(xtj)ϕt(Xj)ct2]
    • ( c t ) ( \mathbf{c}_t ) (ct) 是相机中心。
(b) 形变正则化(Deformation Regularization)

防止形变场过度自由:
[ E reg = ∑ i ∥ T i − T i , prev ∥ F 2 + ∑ adjacent  i , k ∥ T i − T k ∥ F 2 ] [ E_{\text{reg}} = \sum_{i} \| \mathbf{T}_i - \mathbf{T}_{i,\text{prev}} \|^2_F + \sum_{\text{adjacent } i,k} \| \mathbf{T}_i - \mathbf{T}_k \|^2_F ] [Ereg=iTiTi,prevF2+adjacent i,kTiTkF2]

  • 第一项:时序平滑性。
  • 第二项:空间平滑性(控制点间的形变一致性)。
© 先验约束(Prior Term)
  • 物理约束(如弹性形变能量):
    [ E prior = ∑ edges  ( i , j ) ∥ ( T i − T j ) g i ∥ 2 ] [ E_{\text{prior}} = \sum_{\text{edges } (i,j)} \| (\mathbf{T}_i - \mathbf{T}_j) \mathbf{g}_i \|^2 ] [Eprior=edges (i,j)(TiTj)gi2]
  • 学习到的形变先验(如用VAE建模形变分布)。

(4) 优化方法

NR-SLAM通常采用交替优化联合优化

  1. 跟踪(Tracking)

    • 固定形变场 ( ϕ t ) ( \phi_t ) (ϕt),优化相机位姿 ( T t ) ( \mathbf{T}_t ) (Tt)
      [ min ⁡ T t E photo ( T t , ϕ t ) ] [ \min_{\mathbf{T}_t} E_{\text{photo}} (\mathbf{T}_t, \phi_t) ] [TtminEphoto(Tt,ϕt)]
      • 使用Gauss-Newton或Levenberg-Marquardt算法。
  2. 形变估计(Deformation Estimation)

    • 固定 ( T t ) ( \mathbf{T}_t ) (Tt),优化形变参数 ( { T i } ) ( \{\mathbf{T}_i\} ) ({Ti}) ( z t ) ( \mathbf{z}_t ) (zt)
      [ min ⁡ ϕ t ( E photo + λ reg E reg ) ] [ \min_{\phi_t} \left( E_{\text{photo}} + \lambda_{\text{reg}} E_{\text{reg}} \right) ] [ϕtmin(Ephoto+λregEreg)]
      • 线性系统求解(如共轭梯度法)或深度学习推理。
  3. 全局优化(Bundle Adjustment)

    • 联合优化所有变量:
      [ min ⁡ { T t } , { ϕ t } , { X j } E ] [ \min_{\{\mathbf{T}_t\}, \{\phi_t\}, \{\mathbf{X}_j\}} E ] [{Tt},{ϕt},{Xj}minE]
      • 使用稀疏BA(如g2o、Ceres Solver)。

3. 关键技术与实现细节

(1) 形变场的初始化

  • 静态初始化:先运行传统SLAM获取初始3D点,再通过非刚性配准(如ICP)估计形变。
  • 动态初始化:结合光流和语义分割(如人体姿态估计)提供形变先验。

(2) 鲁棒性处理

  • 外点剔除
    • 使用RANSAC剔除不符合形变模型的匹配点。
  • 层次化优化
    • 先优化低频形变(全局运动),再优化高频细节。

(3) 实时性优化

  • 稀疏形变表示:ED-Graph比稠密形变场更高效。
  • 关键帧策略:仅对关键帧优化形变场,非关键帧通过插值得到。

4. 与刚性SLAM的对比

模块刚性SLAM(如ORB-SLAM)NR-SLAM
场景假设静态或刚体运动非刚性形变
形变建模显式形变场(ED-Graph/PCA/MLP)
优化变量相机位姿 + 静态地图点相机位姿 + 形变参数 + 规范模型
计算复杂度较低高(需优化形变场)
应用场景室内/室外静态环境人体重建、医疗影像、软体机器人

5. 相关论文与扩展

  • 经典论文
    • “DynamicFusion: Reconstruction and Tracking of Non-Rigid Scenes in Real-Time” (CVPR 2015)
      • 首个实时非刚性RGB-D SLAM,使用ED-Graph表示形变。
    • “NR-SLAM: Non-Rigid Monocular SLAM” (ECCV 2020)
      • 单目NR-SLAM,结合深度学习与几何优化。
  • 前沿方向
    • 神经形变场(如NeRF+SLAM):用MLP隐式建模形变(如iMAP、D-NeRF)。
    • 物理约束:引入有限元分析(FEM)提升形变真实性。

6. 总结

NR-SLAM通过显式建模非刚性形变场,解决了动态场景下的SLAM问题,其核心在于:

  1. 形变参数化(ED-Graph/PCA/神经网络)。
  2. 联合优化相机位姿、形变场与3D结构。
  3. 正则化与先验保证形变的合理性与鲁棒性。

未来方向包括结合深度学习提升形变建模能力,以及轻量化实现实时应用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云SLAM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值