[2023]RGB-D-Inertial SLAM in Indoor Dynamic Environments with Long-term Large Occlusion

[2023]RGB-D-Inertial SLAM in Indoor Dynamic Environments with Long-term Large Occlusion

1.作者

Ran Long, Christian Rauch, Tianwei Zhang, Vladimir Ivan, Tin Lun Lam, Sethu Vijayakumar

2.时间

2023

3.框架

在这里插入图片描述
解决的问题:

  • 当相机大部分视角被多个目标长期遮挡,剩下的视觉信息不足以很好的支持定位,目前的方法动态目标只占输入的一小部分,因此可以被视为外点移除
  • 对于预先未定义的动态目标造成长时间的大面积遮挡,存在两个挑战:
    • 机器人不能够辨别从静止背景中动态目标,因为不能语义分割出来,也不能视为外点
    • 即使动态目标被正确移除, 静态背景上剩余的颜色、深度信息可能不足以支持准确的定位或建图。

贡献:

  • 一种结合稀疏和稠密特征的动态目标检测方法
  • 一种创新的BA,可以同时提供动态对象的稠密分割,跟踪相机并构建环境地图
  • 基于RGB-D的视觉惯性SLAM方法,对于被动态目标大面积长时间遮挡鲁棒

4.方法

概述

  • 以RGB-D相机和IMU作为输入,与ORB_SLAM3类似,分别估计pose T i T_{i} Ti、速度 v i v_{i} vi、以及bias b a , b g b_{a}, b_{g} ba,bg
  • 对于深度图像,将其分割为K个类,对于深度无效的分为第K+1类,对于每一簇,有个score代表静止的可能性,另外,假设同一簇的所有像素点具有相同的分数
  • 对于BA,使用滑窗内的共视关键帧和这些关键帧观测到3D地图点
    • 地图点: X ^ = { X 0 , ⋯ X L − 1 } \hat{X} =\left \{ X_{0},\cdots X_{L-1} \right \} X^={X0,XL1}, 分数 B ^ = { β 0 , ⋯ β M } \hat{B } =\left \{ \beta _{0},\cdots \beta _{M} \right \} B^={β0,βM}
    • 关键帧: S ^ = { S 0 , ⋯ S M } \hat{S} =\left \{ S_{0},\cdots S_{M} \right \} S^={S0,SM},分数 Γ ^ = { Γ 0 , ⋯ Γ M } \hat{\Gamma } =\left \{ \Gamma _{0},\cdots \Gamma _{M} \right \} Γ^={Γ0,ΓM}

BA

优化代价函数:
min ⁡ S ^ , Γ ^ , B ^ ( U ( S ^ ) + R ( S ^ , Γ ^ , B ^ ) + G ( Γ ^ , B ^ ) + H ( S ^ , Γ ^ ) ) ,  s.t.  γ i k , β j ∈ [ 0 , 1 ] ∀ i , j , k , \begin{array}{l} \min _{\hat{S}, \hat{\Gamma}, \hat{B}}(U(\hat{S})+R(\hat{S}, \hat{\Gamma}, \hat{B})+G(\hat{\Gamma}, \hat{B})+H(\hat{S}, \hat{\Gamma})), \\ \text { s.t. } \gamma_{i k}, \beta_{j} \in[0,1] \forall i, j, k, \end{array} minS^,Γ^,B^(U(S^)+R(S^,Γ^,B^)+G(Γ^,B^)+H(S^,Γ^)), s.t. γik,βj[0,1]i,j,k,

  • IMU残差项: U ( S ^ ) = ∑ i = 1 M ∥ r i − 1 , i I ∥ Σ i − 1 − 1 , 2 U(\hat{S})=\sum_{i=1}^{M}\left\|\mathbf{r}_{i-1, i}^{I}\right\|_{\Sigma_{i-1}^{-1},}^{2} U(S^)=i=1M ri1,iI Σi11,2
  • 地图点和关键帧残差项:
    在这里插入图片描述
    其中, u i j u_{ij} uij表示地图点j在第i帧关键帧上的观测, γ ( u i j ) \gamma\left(u_{ij}\right) γ(uij)表示观测点属于静止的概率
  • 先验信息:
    在这里插入图片描述
    其中, γ ~ \tilde{\gamma } γ~为:稀疏地图点和深度图像的深度差异
    在这里插入图片描述
    β ~ \tilde{\beta } β~为:如果此地图点在大多数可以观察该地图点的关键帧中都是静止的,那么它为静态背景
    在这里插入图片描述
    其中, ϕ ( λ ϕ , x ) = m a x ( 0 , x − λ ϕ 1 − λ ϕ ) \phi \left(\lambda _{\phi}, x\right)=max\left (0, \frac{x-\lambda _{\phi}}{1-\lambda _{\phi}} \right ) ϕ(λϕ,x)=max(0,1λϕxλϕ) λ ϕ = 0.5 \lambda_{\phi} =0.5 λϕ=0.5意味着如果 k j k^{j} kj中超过 50% 的关键帧将地图点j分类为动态,则地图点j 是动态的。
  • 稠密分割的平滑度并在IMU偏差上添加正则化:
    在这里插入图片描述
    其中:相邻簇的得分接近,代表关键帧i的第j和第k簇在空间上相邻,另外imu的bias是缓慢变化的
    在这里插入图片描述
    总结:
  • 相对于StaticFusionPlanarFusion,估计了输入图像的稠密分割,结合稠密和稀疏特征估计了地图点的稀疏分割
  • 利用滑动窗口+BA优化关键帧的状态 S ^ \hat{S} S^以及分割 Γ ^ \hat{\Gamma} Γ^ β ^ \hat{\beta} β^
  • 首先初始化最新关键帧的状态和稠密分割,并为所有地图点设置β = 1。对于每次迭代,我们固定 Γ ^ \hat{\Gamma} Γ^ β ^ \hat{\beta} β^,同时为M +1个关键帧找到最优解 S ^ \hat{S} S^。然后,我们固定 S ^ \hat{S} S^,而 Γ ^ \hat{\Gamma} Γ^ β ^ \hat{\beta} β^通过固定一个并解析求解另一个来迭代优化。优化后,我们删除所有动态地图点。

分割和图像帧状态的初始化

  • 帧与帧之间的优化:
    在这里插入图片描述
  • U i n i ( S i ) U_{ini}\left(S_{i}\right) Uini(Si):IMU残差
  • R i n i ( S i , Γ i ) R_{ini}\left(S_{i}, \Gamma_{i}\right) Rini(Si,Γi):连续两帧灰度和深度图像的残差,为灰度残差和深度残差的加权和
    在这里插入图片描述
  • 剩余两个和BA中的相似

重定位与闭环

采用词袋DBow2,方法与ORB_SLAM3类似,不同之处在于:

  • 移除了每帧关键帧的动态区域
  • 只有静态背景区域超过80%才被视为候选关键帧
  • 在闭环检测后,对于静止区域的关键帧和地图运用BA进行优化

5.实验

设备

在这里插入图片描述

相机定位

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

动态目标分割

在这里插入图片描述

背景重建

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

火柴的初心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值