原文:Quadtree-accelerated Real-time Monocular Dense Mapping

摘要:

在本文中,我们提出了一种新的机器人导航建图方法。通过移动已定位的单目相机能够实时估计高质量的深度图并融进三维重建中。应用四叉树结构在图像上来减少估计多分辨率的深度图的计算负担,提出了一种基于四叉树的像素选择和动态belief传播来加速mapping过程:根据像素在四叉树中的Levels来选择像素及优化,已求解的深度将进一步插值,在时间上融合到全分辨率深度图中,并使用截断符号距离函数(TSDF)融合到密集的3D地图中。

INTRODUCTION

生成高质量的稠密深度图是单目稠密建图的关键步骤,为了在机器人上应用,深度估计必须高效并且密集覆盖低纹理区域,我们的方法收到了单目深度估计两个视角的启发:

1、低纹理区域的深度估计往往需要全局优化,通过最小化一个能量函数来平滑深度图,同时考虑patch的匹配cost和深度图平滑度。

2、同一四叉树内的像素share相似的像素值和深度值,像素根据其局部纹理以树的形式组织,具有相似RGB值的像素分配到同一四叉树块中,以相应的分辨率表示。

如Fig2,在大多数情况下,图像像素的四叉树Level等于或优于深度图,这意味着图像中相同四叉树块中的像素也属于深度图的相同块,因此具有相同的深度值,换句话说,像素的深度可以用其四叉树Level中其他对应的像素来表示。

 受到这两个observations的启发,我们提出了一种新颖的单目稠密建图方法,该方法使用单个已定位的相机估计深度图并进行三维重建,通过全局优化提高深度的密度和精度,通过估计图像四叉树结构对应的多分辨率深度图来减少计算负担。像素根据其四叉树Level来选择,密度与需要估计的resolution成正比,动态belief传播用于由粗到细的方式估计所选像素的深度,其深度以相应的resolution进行提取以提高效率。所有的深度估计都会插值到一个完整的稠密深度图中,并与之前的深度图在时间上融合,最后,将深度图融合到高质量的全局3D map中。

我们的方法贡献如下:

1、一种新的像素选择方法,根据像素在图像四叉树的Level来选择像素估计深度,所选像素分布在整幅图像上,更加关注高纹理区域。

2、一种动态belief传播,以粗到细的方式估计所选像素的深度,像素根据其四叉树level进行优化,优化跳过粗分辨率像素来生成高质量的深度图,同时保持效率。

3、一个单目稠密重建系统,通过已定位的单目相机生成高质量的稠密深度图,深度图可以直接融合到3D地图中进行三维重建和无人机自主飞行。

RELATED WORK

目前已经提出了许多方法来解决单目周密mapping 的问题。在计算机视觉中,使用图像重建环境的问题也被称为运动恢复结构(sfm),给定一系列图像,sfm重建环境结构并估计相机运动,结果通常是稀疏的需要离线处理,另一方面,我们的方法使用图像和相应的相机运动实时稠密重建环境。

DTAM[8]、VI-MEAN[9]和REMODE[10]是使用全局或半全局信息解决密集映射问题的方法。DTAM [8] 通过累积多帧并使用全变分优化提取深度图来构建成本量。VI-MEAN [9] 使用半全局匹配 [11] (SGM) 来规范成本量。然而,4路径优化导致VI-MEAN[9]估计深度图中的“条纹”伪影。REMODE[10]使用总变化来平滑概率更新估计的深度图像。由于优化不像DTAM[8]、REMODE[10]那样以成本量搜索深度不能很好地处理低纹理区域。MonoFusion[12]、MobileFusion[13]和Go[14]上的3D建模从双视图立体匹配构建密集映射。每个输入图像都与选定的测量帧进行比较。虽然双视图匹配速度很快,但这些方法在单目情况下包含许多异常值。后处理技术,如左右一致性检查、大成本删除、随时间的一致性,用于处理该问题。

多级映射[15]是与我们的工作最相似的方法。在多级映射[15]中,四叉树结构用于增加补丁的局部纹理,以便使用局部信息估计更多的像素。然后进行全变分优化,从多分辨率平滑深度图。该方法是有效的,增加了深度图的密度。多级映射[15]与我们的方法之间最重要的区别是估计深度图的密度。使用全局优化,我们的方法可以恢复纹理低的区域的深度,甚至没有纹理。另一方面,多级映射[15]使用局部强度信息估计像素的深度。因此,只能估计具有足够梯度的像素的深度。估计的深度图的密度对机器人应用的安全性和三维重建的完整性具有重要意义。

SYSTEM OVERVIEW

受图像四叉树结构与相应深度图之间关系的启发, 我们的方法解决了多分辨率深度估计的问题,并将其融入到高质量全分辨率深度图和密集网格中。

我们的方法由五个步骤组成:(1)基于四叉树的像素选择,(2)匹配成本向量计算,(3)动态belief传播,(4)深度插值和时间融合,以及(5)TSDF融合。系统的pipeline和中间结果如Fig3所示。首先将输入图像转换为3级四叉树结构,并将每个像素分配到四叉树级别。

 像素是根据其四叉树级别在图像中选择的,计算匹配成本向量进行全局优化。动态belief传播提取相应分辨率下每个选定像素的深度估计。最后,深度估计被插值并在时间上融合到全分辨率深度图中,用于构建全局3D地图。

MONOCULAR DENSE RECONSTRUCTION

系统输入是一系列图像及其位姿,对于每个输入图像Ik,使用Ik作为参考帧估计深度图,并使用多个前输入图像作为测量帧。

Quadtree Based Pixel Selection

我们使用四叉树为每个像素找到最合适的分辨率表示 ,对于每个输入图像Ik,我们计算一个3级四叉树结构,其最精细级别对应于4 × 4像素块,最粗级别对应于16 × 16像素块,如图2所示,四叉树同一块中的像素具有相似的强度和深度值,因此可以一起估计。选择四叉树块中的第一个像素构造匹配代价向量,利用动态belief传播估计深度。Fig 4 显示了基于图像的四叉树结构选择像素的示例。

 对于这一步未选择的像素,它们的深度估计将通过后续插值和融合获得。根据强度图像的四叉树结构选择像素使我们能够在不牺牲大部分精度的情况下以良好的效率解决深度图。

Matching Cost Vector Calculation

计算四叉树选择像素的匹配成本向量,用于动态belief传播。我们的方法选择之前的五个帧作为测量帧。在这项工作中,我们对均匀分布在逆深度空间上的Nd深度值进行采样。采样深度 d 和相应的深度索引 L具有关系:

其中 l ∈ [0, Nd − 1], l ∈ N。dmax 和 dmin 是最大和最小采样距离。对于图像Ik中的每个四叉树选择像素uk,深度d的代价定义为

 对于图像Ik中的每个四叉树选择像素uk,深度d的代价定义为

 其中 M 是所选测量帧的集合。对于每个测量帧Im和深度d,测量帧Im中uk的对应像素由um = π(T−1w,mTw,kπ−1(uk, d)给出。SAD(Im, Ik, uk, d)简单地计算图像Im和Ik中位于um和uk的两个3 × 3patch的绝对差之和。

Dynamic Belief Propagation 

 提出了一种动态belief传播来估计分布在图像上的四叉树选择像素的深度。belief传播的工作原理是沿着连通图像网格传递消息来正则化估计的深度图。消息是Nd维向量,表示从一个像素到其邻居的深度分布的belief。图像网格中的每个像素都通过并从其 4 邻居接收四个消息。结合匹配代价向量和消息,图像Ik中像素uk的最终置信向量Buk (d)为

其中 V (dq, dp) 通过惩罚 dq 和 dp 之间的差异来规范深度图。动态信念传播以两种方式加快。首先,通过简化正则化函数 V (dq, dp) 并使用并行加速,将消息更新时间减少到 O(log(Nd)。其次,根据所选像素的四叉树级别,通过多分辨率提取深度估计来减少更新迭代。

方程 5 的时间复杂度为 O(N 2d ) 和 Felzenszwalb 等人。 [6] 通过前向和后向扫描将其简化为 O(Nd)。我们进一步通过并行加速减少消息更新时间,并采用SGM的正则化函数

 其中 l(dp) 是等式 1 中定义的 dp 的深度索引,P 1 和 P 2 控制深度图的平滑度,如 SGM 所示。请注意,虽然等式 6 与 SGM [11] 中的公式 6 相同,但消息更新和传递是不同的。SGM 沿着几个预定义的 1D 路径聚合成本,而我们的方法将消息传递给 2D 图像网格。2D全局优化使我们的方法能够在没有SGM中的“条纹”伪影的情况下生成平滑的深度图。在并行减少操作的帮助下,从像素 p 到像素 q 更新消息可以加速到 O(log(Nd))) 时间。算法 1 显示了在 O(log(Nd))) 时间内更新像素消息的方法。使用算法 1 并行更新消息。

 为了加快收敛速度并提取相应分辨率的深度,消息以从粗到细的方式更新。与适用于具有规则形状的 2D 成本体积的标准信念传播 [6] 不同,所提出的动态信念传播适用于从四叉树选择像素构建的成本量。成本量仅在四叉树选择的像素上有效,等于第IVC节计算的匹配成本向量。对于不是四叉树选择的其他像素,成本量是零向量,成本量被下采样为传统方法[6],但根据四叉树选择像素的数量进行平均。尽管从粗到细的方式加快了消息的收敛速度,但图像精细级别的计算对于实时应用来说仍然很重。由于像素的深度可以用相应的分辨率表示,如图2所示,在相应级别的优化超过后,可以提取深度估计。提取的像素的消息被传递到更精细的级别,如[6]。但是,这些消息不再更新,而是仅用于推断其他像素的深度。在一次优化中提取四叉树选择像素的深度估计的动态信念传播整个过程如图5所示。

 Depth Interpolation and Temporal Fusion

虽然四叉树选择像素的深度估计分布在图像上,但它不是完全密集的深度估计。在本节中,我们首先将估计插值到完整的密集深度图中,然后将它们与前一个结果在时间上以概率方式融合。

1)深度插值:在插值过程中,为了进一步利用包含高梯度纹理而不是四叉树采样的像素,我们使用类似于Eigen等人[16]的方法来估计这些像素的深度。高梯度估计在 GPU 上完全并行化,更新一帧大约需要 2 毫秒。

动态信念传播和高梯度估计的深度估计被组合并在空间上插值到与传入帧Ik对应的全分辨率深度图Dk中。动态信念传播和高梯度估计估计估计的深度覆盖整个图像,更加关注纹理丰富的区域。插值估计以获得全密集结果是解决光流的常用方法[17]。在这里,我们通过最小化最小二乘成本来提取完整的密集深度图。

插值的全密集深度图Dk的成本定义为

其中 d′p 是像素 p 的融合深度值,dp 是如果存在信念传播或高梯度估计的相应深度估计。hp 是一个索引函数,如果 dp 存在则为 1,否则为 0。wp,q = exp(−(∆I2p,q/σ2up)是基于图像Ik上像素p和q的强度差∆Ip,q的深度差的权重。λ 和 σ2up 控制插值深度图的平滑度。最小化成本 E 的计算成本很高。在这里,我们采用了Min等人[18]的方法,该方法近似于两个一维插值问题中的问题。在一个维度上插值深度可以通过高斯消除有效地解决。我们首先以行方向插值深度,然后在列方向上。

2) 时间融合:完全密集深度图进一步与之前的估计融合,以概率方式拒绝异常值估计。每个像素的估计是使用Vogiatziset等人提出的离群值稳健模型来建模的。[19], 

其中 ^d 是地面实况深度,ρ 是估计的内点概率。μk, σ2k分别从帧Ik估计深度和对应的方差。ak和bk是建模内部概率的参数

 与REMODE[10]和Vogiatzis等人[19]不同的是,它使用彼此独立的概率模型估计帧的深度图,我们在整个运行时维护一个概率图来融合顺序估计。对于每个输入图像Ik,Ik−1的概率深度图被扭曲并与提取的密集深度图融合。输出内部概率 p(ρ) >Pρinlier 的深度估计结果,而 p(ρ) <Pρoutlier 被删除为异常值。

Truncated Signed Distance Function (TSDF) Fusion

使用Klingensmith等人[20]提出的方法,将滤波深度融合到全局地图中。由于我们的深度估计包含很少的异常值,这要归功于动态信念传播、插值和时间深度融合,我们直接融合输出,而不需要任何额外的过滤器。

 

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值