RGB-D SLAM in Dynamic Environments Using Static Point Weighting论文笔记

论文链接
IEEE ROBOTICS AND AUTOMATION LETTERS
OCTOBER 2017
代码链接

文章主要内容

本文基于帧到关键帧配对的方法,并在仅使用depth edge points(特征点名,不知道如何确切翻译)的情况下,设计了一个性能优异的实时视觉里程计。文章主要目的是减少动态物体的影响,提出了静态质量的概念(用于衡量某点为静态环境一部分的可能性),并将其整合到IAICP(intensity assisted iterative closet point)方法中,极大程度上减小了跟踪误差。

文章指出当前RGB-D视觉里程计的设计方法主要可以分为两类,一类是稠密的视觉里程计,即优化最小能量函数的方法,但其易受动态物体的影响;另一类是基于匹配(当前源和目标之间的匹配)的方法,但是当动态特征点多余静态特征点时,可能会导致对静态特征点错误的位姿估计。

视觉里程计框架

框架如下图所示
在这里插入图片描述
A A\quad A 总览:
对进入里程计的每一帧,首先提取它的foreground edge points,将其用作里程计的后续估计,并选择每次的第N帧作为关键帧。对每一个关键帧(edge point),计算它的静态质量,用来估计其属于静态环境的可能性。然后用IAICP算法估计关键帧到当前帧的相对变化。最终,根据估计的移动来更新关键帧的静态质量。


B B\quad B Foreground Depth Edge Extraction:
depth edge points和它们周围的点之间有较大的深度不连续性。其中的典型代表为foreground edge points(在其他物体前并用来体现物体边界,对移动的相机有很好的稳定性)和occluded edge points(在其他物体后面,由遮挡产生,对相机的移动敏感,在对相机的轨迹估计中需要剔除)。使用depth edge points相对于使用均匀采样点方法,可以获得更多的正确匹配。
记点云为 P t P_t Pt B t B_t Bt包含了foreground edge point的序号,每个点和它周围四个点之间的深度差异 { h i } i = 1 4 \{ h_i \}^4_{i=1} {hi}i=14计算公式如下:
在这里插入图片描述
e Z = ( 0 , 0 , 1 , 0 ) T e_Z=(0,0,1,0)^T eZ=(0,0,1,0)T用来提取一个点的深度值,四个偏移矢量 < o 1 , o 2 , o 3 , o 4 > <o_1,o_2,o_3,o_4> <o1,o2,o3,o4>可以表示为 < ( 0 , b ) T , ( 0 , − b ) T , ( b , 0 ) T , ( − b , 0 ) T > <(0,b)^T,(0,-b)^T,(b,0)^T,(-b,0)^T> <(0,b)T,(0,b)T,(b,0)T,(b,0)T>,这里b取4。
为了剔除occulded edge points,筛选出foreground edgepoints,采用下面两个条件:
在这里插入图片描述
这里分别设置 t b t_b tb t f t_f tf为0.015m和0.04m。


C C\quad CStatic Weight Estimation:
这里,记源点云(输入点云)为 P s r c P_{src} Psrc,目标点云为 P t g t P_{tgt} Ptgt,通过上面介绍,可知我们仅针对foreground depth edge points计算其静态质量( { P s r c ( i ) } i ∈ B s r c \{P_{src}(i)\}_{i∈B_{src}} {Psrc(i)}iBsrc B s r c B_{src} Bsrc是edge points的序号),记每一点的静态质量为 w i s r c , t g t w_i^{src,tgt} wisrc,tgt。通过计算 P s r c ( i ) P_{src}(i) Psrc(i)和其对应点 P t g t ( c ( i ) ) P_{tgt}(c(i)) Ptgt(c(i))的欧式距离,公式如下:
在这里插入图片描述
其中, c ( i ) ∈ B t g t c(i)∈B_{tgt} c(i)Btgt T ^ s r c t g t \hat{T}_{src}^{tgt} T^srctgt是估计的变换矩阵。
通过这一公式,可将静态点和动态点进行区分(静态点的 d i d_i di为0或者很小),静态质量 w i s r c , t g t w_i^{src,tgt} wisrc,tgt通过t分布求得:
在这里插入图片描述
v 0 v_0 v0为t分布的自由度,文中设为10,均值 μ D μ_D μD设为0, σ D σ_{D} σD为方差。
算法的流程可由下图表示:
在这里插入图片描述
下面我们来计算特征点的静态质量,记最新的关键帧为 P k P_k Pk,其中 k k k为索引,上一个关键帧为 P k − N P_{k-N} PkN t t t时刻的最新帧为 P t P_t Pt P k P_k Pk的静态质量 w s ( i ) w_s(i) ws(i)可以定义为:
在这里插入图片描述
D D\quad DIntensity Assisted Iterative Closest Point:
设源帧(输入图像的帧)为 < P s r c , I s r c > <P_{src},I_{src}> <Psrc,Isrc>,目标帧为 < P t g t , I t g t > <P_{tgt},I_{tgt}> <Ptgt,Itgt>,用IACIP方法估计源点云到目标点云的变换 T ∗ T^* T T ∗ T^* T通常用单位阵或者运动预测进行初始化,通过循环搜索的方式最优化。对每一个 P s r c ( i ) P_{src}(i) Psrc(i),对应的匹配点 P t g t P_{tgt} Ptgt的索引值记作 c ( i ) c(i) c(i):
在这里插入图片描述
然后,计算增量变换 T k T_k Tk
在这里插入图片描述
W i W_i Wi为权重系数,求解方法如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最终用下式对 T ∗ T^* T进行更新:
在这里插入图片描述

回环检测

当新的一帧关键帧 P k P_k Pk被建立,我们从之前随机的十帧中 P r P_r Pr中寻找回环检测,当下述三个条件满足时,我们认为在 P k P_k Pk P r P_r Pr之间实现了回环检测。
1)几何近似,即两帧之间的距离不会相隔太远:
在这里插入图片描述
2)两帧之间应该有至少30%的共视部分:
在这里插入图片描述
3)前后项连续检查:
在这里插入图片描述

实验结果

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值