美文网首页
[论文笔记]StaticFusion: Background R

[论文笔记]StaticFusion: Background R

作者: liampayne_66d0 | 来源:发表于2019-07-07 18:02 被阅读0次

    StaticFusion: Background Reconstruction for Dense RGB-D SLAM in Dynamic Environments

    StaticFusion:动态环境下高密度RGB-D SLAM的背景重建

    论文笔记

    [TOC]

    摘要

    提出了一种在动态环境中检测运动目标同时重建背景结构的鲁棒稠密RGB-D SLAM方法。动态环境对于视觉SLAM来说是一个挑战,因为运动的物体会破坏相机的姿态跟踪,并导致破坏被整合到地图中。虽然大多数方法采用隐式鲁棒惩罚器或离群滤波技术来处理运动对象,但我们的方法是同时估计相机的运动以及当前RGB D图像对的概率静态/动态分割。然后利用该分割进行加权稠密RGB-D融合,通过利用3D模型进行框架到模型的对齐以及静态/动态分割,相机运动估计降低了整体漂移,并且对场景中动态的存在更加鲁棒。使用静态和动态序列将所提出的方法与最先进的方法进行比较。该方法在静态环境中获得了相似的性能,在动态场景中提高了准确性和鲁棒性。


    图1:系统架构:首先接收一个新的RGB-D图像(Cp. Zp),将其像素分组成几何簇c。根据模型和最后一个位姿估计T(S)绘制预测(CM, ZM),用于联合对齐和背景分割。然后利用这两个结果对C'p、Zp的静态簇与map进行加权融合。

    FRAMEWORK AND NOTATION 系统框架和符号

    • 本节提供课题主要组件的概述如图1,本课题的SLAM系统着重于背景分割和在前景中滤除动态物体
    • 输入:配准的RGB-D图像对序列(包含RGB图像和深度图像),还提出了灰度图像
    • 对每个输入图像通过K-means对3D坐标分割成K个几何簇,认为每个几何簇都是刚体(对估计运动物体的精确运动不感兴趣,而是专注于构件厂集中静态结构的保守重建)
    • 其次,(通过在构建到该点之前的静态场景的当前映射中,)之前的相机位姿估计值处放置一个虚拟相机来呈现一个人工图像对(I_M,Z_M)。通过当前图像(I_D,Z_D)和最后预测(I_M,Z_M),联合获得相机运动 ξ\in se(3)和两个时间实例之间场景的基于运动的分割。每个聚类 i被分配一个对应于动态水平b_i\in[0,1],分数:b接近1的聚类对应于静态聚类,b接近0的聚类对应于移动聚类,0<b<1 对应于中间不确定性水平。
    • 在计算出联合估计问题的解后,利用聚类结果和分数计算属于背景的每个点的逐像素分割图像B_D(这一步理解为利用聚类结果和分数把背景提取出来?),并结合当前的颜色和深度图像(C_D,Z_D)进行加权三维融合。

    相机运动和场景分割的联合估计

    最小化能量函数(目标函数):
    min_{ξ,b} \ \ {D(ξ,b)+S(b)} \ \ \ s.t. \ \ \ b_i\in[0,1] \ \ \ \ \forall i

    其中 b 代表所有分数的集合。D(ξ,b)只对属于静态集群的像素执行光度和几何一致性,从而编码直接的图像对齐。第二项 S(b)是对D(ξ,b)的补充,当它们的残差非常高时,迫使聚类被分割为动态的,反之亦然。它还包括空间正则化以鼓励聚类的平滑分割,并利用先验几何知识来帮助优化收敛到正确的最小值。

    A.相机运动

    每一个新的RGB-D图像对,通过最小化当前的RGB-D图像和从地图获得的最后预测之间的几何和光度重投影误差来计算相机的增量运动。相应的重投影误差(或残差)定义为:
    r_Z^p(ξ)=Z_M(W(x^p,ξ))-|T(ξ)\pi^{-1}(x^p,Z_D(x^p))|_z
    r_I^p(ξ)=I_M(W(x^p,ξ))-I_D(x^p)

    x^p是像素坐标,| \ \ |_z代表3D点坐标,函数\pi将3D点投影到图像平面上的映射(相机的真空膜下),T()是李代数到李群的映射???

    W(x^p,ξ)=\pi(T(ξ)\pi^{-1}(x,Z_D(x^p)))

    公式的新颖之处在于对这些残差进行加权,用分数b做权重,这样只有与场景静态部分相关的残差才有较高的贡献:
    D(ξ,b)=\sum_{p=1}^Nb_i(p)[F(w_Z^pr_Z^p(ξ))+F(\alpha_Iw_I^pr_I^p(ξ))]

    N是所有像素的数量,b_i(p)代表像素p属于第i类的分数,由于几何项和强度项以不同的单位计算误差,参数 α_I 重新缩放光度项,使得它在比例上具有与几何项相当的效果。

    函数 F(r)是柯西鲁棒罚函数:
    F(r)=\frac{c^2}{2}log(1+(\frac{r}{c}^2))

    其中c表示F(r)的拐点,控制如何最小化鲁棒残差。最后,w_Zw_I根据测量值的噪声(\sigma_z\sigma_I)对光度和几何残差进行加权,并惩罚通过高时空梯度观测到的遮挡和不连续:
    w_Z=\frac{1}{k_{\sigma}^Z\sigma_Z^2+|\nabla_xZ_D|+|Z_D-Z_M|}
    w_I=\frac{1}{k_{\sigma}^I\sigma_I^2+|\nabla_xI_D|+|I_D-II_M|}
    参数 k^Z_σk^I_σ 控制噪声对导数的相对重要性。

    B.动静分割

    总目标函数中第二项S的目标是将平均残差高的簇划分为动态簇,将残差低的簇划分为静态簇。其基本思想是“具有高残差的集群是那些相对于摄像机的运动与摄像机运动本身不一致的集群。”下面量化“高残差”:

    这篇文章中设定,大残差是那些明显高于参数 c 的残差,即那些位于函数 F(r)的较平边的残差(见图2)。 图2
    • S_D(b)=\sum _{i=1}^K2(1-b_i)F(\hat c)K_i

    像素的总数在每个集群由K_i表示,\hat c>c是一个启发式的选择阈值定义低和高残差之间的边界。当聚类 I 的平均残差高于 c’时,该项与D(ξ; b)的组合基本上鼓励 bi 尽可能低(最小为 0);否则,它倾向
    于 bi 的高值(最大值为 1)。

    • 还定义了一个正则化项,此外,鼓励相邻集群具有相似的得分:
      S_R(b)=\lambda_R\sum_{i=1}^K\sum_{j=i+1}^KG_{ij}(b_i)(b_j)^2

    G_{ij}是一个连通性映射:当集群i和j在空间上是连续的时,它等于1,否则为0。参数\lambda_RS_R(b)相对于其他项进行加权。

    • 还加入几何约束项,基于移动对象不在映射中出现这一事实,因此对于移动集群,Z_DZ_M之间的深度差异将非常大。这个约束表示为分割先验:
      S_P(b)=\lambda_P\sum_{i=1}^K(b_i-b_i^P)^2
      其中:
      b_i^P=1-k_p\frac{\sum_{k=1}^{K_i}|Z_D(x^k)-Z_M(x^k)|}{K_i}

    其中 k_P 控制深度差异的大小,以便执行动态评分,λ_P 是在整体优化中加权该约束的参数。

    • 上面三个约束项组成S(b)
      S(b)=S_D(b)+S_R(b)+S_P(b)

    C.求解

    D(ξ,b)是非线性的,并且相对于 ξ 是非凸的。然而,组合优化问题是凸的,并且可以相对
    于 b 解析求解。因此,我们使用迭代重加权最小二乘(IRLS)来最小化目标函数 求解 ξ,并且在IRLS 算法的每次迭代之后获得 b 的近似解。

    基于surfelbased的三维重建

    3D模型被表示为surfel的无序列表,surfel是一个三维圆盘,具有相关的位置和正常(标准)的p,n\in R^3,颜色c\in N^3,半径r\in R,可行性w\in[0,1](其中w→1时表示可行)(这里的可行性是指什么)。初始化时间戳t_0,最新更新的时间戳t和表示已更新的surfel的次数计数器h\in N
    在每个时间步长,每次以最后一个RGB-D对(C_D, Z_D)作为输入,同时输入每个点都属于背景的逐像素分割图像B_D。为了便于可视化,我们维护了一个融合的彩色模型,但是在渲染(表示)图像预测时,我们将其转换为强度(光度/灰度)。
    本文采用与文献[1]、[4]相同的方法进行预处理和数据关联。不同的是,我们提出了一种策略,判断每一个surfel的可行性,以便使模型能够删除那些与动态输入点匹配的surfel。融合方法在算法1中列出。

    算法1

    A.surfel可行性

    • 如果一个Surfel被反复观察到并与静态输入点匹配,则认为Surfel是可行的。这些条件确保了一个可行的sufel既不是虚假的,也不是静态的。只有在这种情况下,我们才要求w→1。
    • 每一个新的Surlel都被引入模型中,都设置其生存能力较低,为w→0。在后续的观测中,w 通过匹配输入点的log-odds概率的累计和来更新。这个策略非常适合我们的应用,因为只有通过静态点(B_D^i>0.5)的重复匹配才能提高生存能力,而动态匹配会自动降低生存能力(B_D^i<0.5):
      sign(ln(\frac{w}{1-w}))=\left\{ \begin{aligned} -1 & & if& &w<0.5 \\ 0 & & if& &w=0.5 \\ 1 & & if& &w>0.5 \end{aligned} \right.

    B.融合

    在融合过程中,采用加权平均的方法对图像的位置、颜色和法线进行更新。除了Bp,我们还使用了两个额外的权值来表示每个输入点的质量:

    1. 1)对于每个像素i,高斯权值γ_D^i偏向于靠近中心像素的点x_c:
      γ_D^i=exp(-\frac{||-x_i-x_c||}{2\sigma^2||x_c||})

    上面函数图类似这样,越接近中心点x_c权值越大。

    示意图
    1. 速度权重 v_D\in [0,1]偏向慢动作期间观察到的点:
      v_D=max(1-\frac{1-max(||||,0.15)}{0.15},0.5)

    和相机运动大小有关,第一项是基于距离相机中心更近的测量值更容易交流的假设来衡量点的权重,而第二项则是对快速运动中记录的点的影响进行惩罚,这些点会在模型中引入模糊。

    C.Surfel删除

    最后,删除 阶段移除 w < 0.5 的连续 10 帧以上的表面。我们还执行自由空间违规检查,以移除存活冲浪板前面的剩余点。这确保了从地图中移除动态对象和噪声测量,并长期保持环境结构的清晰表示。

    实现细节

    A.初始化

    因为我们依赖地图来进行里程计和场景的静态/动态分割,所以我们需要初始化流
    以生成第一个可靠的地图。系统观察到的初始帧(前 1- 2 秒)应包含不超过 20-30%的移动元素,以便成功初始化地图。
    当前的公式首先按照第四节中描述的步骤对齐摄像机读取的前两个RGB-D对。通过求解(1),我们还获得了用于生成地图第一个实例的最后一个图像(B_D)的分割。在这第一步之后,算法总是将传入的RGB-D对与从映射中得到的最后一个预测对齐。

    B.分析和处理残差

    • 在第四节中给出的参数,最重要的是c\hat c(见图2)。
    • 参数c通常被选为一个线性函数的中值或平均绝对偏差(MAD)的残差[9],[20]。由于这个度量计算量很大,我们牺牲了精度,转而计算残差的平均值(\hat r):
      \hat r =\frac{1}{2N}\sum_{p=1}^{N}|w_Z^pr_Z^p(ξ)|+|\alpha_Iw_I^pr_I^p(ξ)|

    F实际上代表了预加权余量的均值。为了提供可靠的估计,我们设置c=0.57 \hat r

    • 对于参数\hat c,我们选择一个较低的值来保证很好的动态分割。

    这样做的原因是假阳性(静态区域分割为动态)要优于假阴性(动态区域分割为静态)。此外,我们在初始化阶段将这个阈值设置得更低,以确保只使用场景的静态部分构建初始地图:

    \hat c==\left\{ \begin{aligned} max(r_{min},\hat r)& & During initialization \\ 1.5max(r_{min},\hat r) & & Otherwise \end{aligned} \right.

    变量 r_{min} 设置为最小剩余值,低于该值时,集群应始终被分割为静态的。当图像完全对齐时,平均残差 c非常低,阈值 1.5 c 也非常低,这将导致静态聚类被分割为动态的,而不管对齐有多精确。r_{min} 的引入解决了这个问题。

    VII.评估

    • 在静态和动态环境中对我们的方法进行了全面的评估。
    • 对Freiburg数据集的几个序列给出了结果[211]。这个数据集提供真实的地面相机轨迹,这让我们可以测量相对和绝对漂移。Freiburg数据集包含少量具有高动态的序列,我们还包含了用手持摄像机记录的额外序列,以提供对不同场景和更长的轨迹的更一般的评估。
    • 通过和最小的相关方法比较,证实我们的方法的准确性。相关方法有VO-SF、EF、CF、BaMVO。
    • 实验是在一台使用intel (R) Core(TM) i7-3770 CPU (3.40GHz)和GeForceGTX 1070 GPU(使用Ubuntu 16.04操作系统)的工作站上进行的。我们使用配准的RGB-D图像,并为我们比较的方法维护默认参数。在图像分辨率方面,我们使用了OVGA (320 x 240),并保留了比较中包含的其他方法的默认分辨率(VO-SF, BaMVO也使用QVGA,其余使用VGA)。

    A.定量评估

    关于姿态估计的准确性,通过Sturm等人[21]提出的度量标准进行评估:

    • 平移和旋转相对姿态误差(RPE),用于测量平均每秒局部漂移。
    • 平移绝对轨迹误差(ATE),用于测量轨迹的整体质量。

    为完整起见,序列以静态形式记录。低dynamic和高动态场景包含在这个评估中。结果列于表一和表二。可以看出,在静态环境下,静态融合的性能在ATE和RPE准则上都与弹性融合相当。表二展示了框架对模型比对里程计方法在减少总体漂移方面的优势。在高动态序列中。我们的系统优于其他方法的原因如下:

    • EF 不是为处理场景中的动态而设计的。因此,运动物体破坏了它的三维重建,进而破坏了它的姿态估计。
    • VO-SF 和 BaMVO 是基于里程计的方法,不能从较差的对准或分割中恢复。
    • CF适用于慢速相机运动,但它的性能当相机速度增加时,性能会明显下降。

    如第六节所述,静态融合(StaticFusion)在模型初始化阶段需要动力学有限的序列,因此它在fr3/walking_halfsphere。我们包括额外的序列 fr3/walking_halfsphere*,它以高动态跳过最初的 5 秒,以便说明当最初的帧不那么具有挑战性时,该方法在同一场景中表现良好的能力(注意,在这种情况下其他方法仍然失败)

    为了说明我们的背景模型如何处理移动的对象。图3为fri3/walking_static序列构建的map的时间演化过程。可以看出,地图的演变反映了场景的变化。它能有效地去除运动部件,只保留代表精确分割动力学有价值的先验结构。

    B.手持相机情况下的定量评估

    在本节中,我们将在具有不同级别的动态性的场景中评估我们的方法。为此,我们用手持的RGB-D摄像机记录了两个序列。在第一个序列中,摄像机观察一个人与物体互动,并以不同的速度做不同的动作。有时候,人会一动不动地靠近摄像头,这对跟踪系统构成了挑战,因为它必须能够在人一移动时就将其分割出来,以免失去对传感器的跟踪。在第二个测试中,我们记录了一个“自拍序列”,在这个过程中,一个人拿着相机,相机指着他们。这是一个非常复杂的测试,因为人通常占据了图像的50%以上,相对于相机,他看起来是准静态的(这代表了对于任何不明确分割部分的方法的运动估计的一个强局部极小值)

    第一个序列的结果如图6所示。可以看出,这个人最初被插入地图是因为他没有移动,但是他一移动地图就被删除了。静态融合估计的分割在整个序列中几乎是完美的:人总是被正确分割,球和门被关闭时也是如此。

    第二个序列开始和结束时相机处于完全相同的位置(见图5),这允许我们测量整个轨迹的总体漂移。可以看出,我们的算法能够提供很好的预测(C_M, Z_M),即使人覆盖了相机的大部分视图,并且能够准确地跟踪相机,这对于一个基于直接图像对齐的系统来说似乎是非常复杂的。

    ElasticFusion[11和Co-Fusion[16]也用这些序列进行了测试,它们都不能提供良好的姿态估计。图4演示了其中一些失败。图4 (A)显示了第一个序列在失去对摄像机的跟踪之前通过ElasticFusion重建的地图(注意双椅和错位的墙壁)。图4 (B)显示。如何在第二序列中发现太多移动的物体,并随机跟踪场景的这些部分,从而破坏整个地图。序列。估计轨道长度为9.5米,我们的方法的最终漂移只有1.5厘米,而弹性融合和共融合的漂移分别为1.03米和0.88米。

    八、VIII 结论

    本文提出了一种快速准确估计RGB-D相机在运动物体运动状态下运动的新方法。它基于构建和开发一个只包含场景静态部分的三维背景模型,因此得名为staticfusion。定量和定性结果表明,当测试序列包含多个移动对象时,我们的方法性能优于最先进的技术,并且在非常具有竞争力的运行时(30毫秒)内达到了这种精度。

    鉴于开发视觉里程计和SLAM算法的热度越来越大,它们可以在高动态的环境中工作。未来,我们计划为此创建一个新的RGB-D数据集。该数据集应包含轨迹较长的序列、摄像机的快慢运动以及场景中不同程度的动态元素。关于我们的方法,我们对研究多帧策略很感兴趣,这些策略允许我们初始化背景模型,即使在观察到许多移动的对象时也是如此。还将探索更有效的策略来融合和删除地图上的数据。

    相关文章

      网友评论

          本文标题:[论文笔记]StaticFusion: Background R

          本文链接:https://www.haomeiwen.com/subject/vakihctx.html