原文:Bilateral Propagation Network for Depth Completion
双边传播网络
(Bilateral Propagation Network,BP-Net)
摘要
-
目前主流的深度补全方法都是基于前向传播的,通过在初步得到的稠密深度图不断迭代优化来起作用。
-
本文中,我们给出了双边传播网络(BP-Net)。为了避免直接卷入稀疏信息,我们在前阶段传播深度信息。具体来说,我们的方法通过非线性模型在附近的深度信息中传播目标深度信息。
-
该网络不论在室内还是室外数据集中都展现出出色的表现。网络在NYUv2中得到出色表现,在KITTI中目前排行第一。
1 引言
Dense depth perception, i.e. estimating per-pixel distance to the camera, is crucial for 3D tasks, with a rapid growth of applications, such as augmented reality, autonomous driving and robotics. However, due to current hardware limitations, it is still difficult to directly measure dense depth maps.
-
在深度补全任务中,基于深度学习的方法取得了巨大成功。
-
如图1a所示,早期方法通常用多模态融合网络采取单平台深度补全来恢复稠密深度图。这些方法大多数都在深度边界受到过度的平滑操作,这会导致细节的损失。
-
最近的研究更多开始采取双平台的方法,如图1b所示。这些方法在基于传播的网络中添加了一个后处理平台。
-
通过再读取稀疏深度信息的方式来迭代优化深度信息,这种带有后处理阶段的基于传播的网络能够减轻过度平滑的问题。因此,这种方法有着更好的表现,占据了当今的前沿。
-
-
对比传统的方法,尽管基于深度学习的方法能够得到更优秀的结果,但总的来说,这些单平台和双平台方法都有着普遍的问题。
-
第一,这些方法通常都在稀疏深度图中的未知像素中赋以0值,这会在有效值和无效值间导致歧义。
-
第二,对于不规则的系数深度样本点来说,空间稀疏卷积不是一个理想的操作方式。
-
这些问题会影响多模态融合网络的表现,且后处理平台可能并不能很有效地处理好这些问题。
-
-
为了解决上述问题,在本文中,我们提出了BP-Net,如图1c所示。网络是一个三平台的,带有预处理平台,为后续的多模态融合网络计算出初始深度图。最初的稠密深度信息由有效的深度信息传播而来,避免了上述的歧义和不变卷积问题。具体来说,我们引出了一种非线性传播模型,其输出是附近有效深度带权信息的结合,其系数是可学习的。
-
我们提出了一种全新的多层感知来生成这些结合系数条件下的辐射差和空间距离。我们设计了一种多尺度的损失值计算方式来更好地监督多尺度网络。
-
为了验证BP-Net的效果,我们在室内(NYUv2)和室外(KITTI)场合进行了实验。该网络不论在室内还是室外数据集中都展现出出色的表现。网络在NYUv2中得到出色表现,在KITTI中目前排行第一。实验结果不仅展示了双边传播的有效性,还强调了早期平台传播与后处理平台相比下的重要性。代码和训练好的模型如下:GitHub - kakaxi314/BP-Net: Implementation of our paper 'Bilateral Propagation Network for Depth Completion'。
2 相关工作
-
稀疏数据处理。
-
多模态融合。深度图与彩色图的融合。
-
深度精细化。
3 研究方法
3.1 概览
-
我们令I表示一张彩图,S表示稀疏深度图。
-
彩色图像I为场景信息提供了丰富的、良好的边界信息和精确的语义信息。
-
尽管与彩色图像有着相同的分辨率,深度图S,由稀疏的、不规则但准确的深度信息和确切的几何信息构成。
-
-
如图2所示,我们提出的方法是一个有6个尺度的多尺度的网络,尺度标号从0到5。
-
每个不同尺度的稠密深度图D从最小的分辨率在尺度5到最大的分辨率在尺度0被预测出来。
-
在该网络中的每一个尺度s,稠密深度图都会在三平台被对应生成出来,如图1c所示:
-
一个预处理平台,通过双边传播模块从稀疏深度信息中生成初始稠密深度图。
-
一个多模态融合平台,通过一个简单的U-Net来融合彩图特征和深度图特征在早期的融合模块中生成残差深度图。
-
一个精细化平台,通过深度传播模块,用稀疏深度信息,以迭代的方式更新稠密深度图
-
-
-
最后,我们还引入了实现该方法的细节。
3.2 双边传播模块
3.2.1 深度参数方法
-
我们希望从稀疏深度图S中得到一个稠密深度图D'。我们没有简单的采取卷积操作的方式来对不规则的稀疏深度图进行操作,而是显示地将传播过程表示为如下式:
D'_i=\sum_{j\in N(i)}\omega_{ij}D'^c_{ij}=\sum_{j\in N(i)}\omega_{ij}(\alpha_{ij}S_j+\beta_{ij}). D'_i是深度图在像素点i上的深度值,是由N中的关于稀疏深度值S_j局部线性组合计算而来的,其中j\in N(i)是i的邻域像素点。我们用欧氏距离来定义邻域的大小N。
-
我们的深度参数方法是一种一般公式。许多传统的插值方法都可以看作是这种共识的特殊形式。如
-
最邻近插值可以看作是N=1,\omega_{ij}=1的情形。
-
双边插值…
-
-
并且,在我们的公式中,三个参数都是可以根据图像的内容和空间距离动态生成的,提供了对不同稀疏信息和不规则深度信息的适应性贡献。
-
相较于普通的局部近邻方法,我们的深度参数方法更加有力。
3.2.2 参数生成
MLP(Multi-Layer Perception),多层感知器,也叫人工神经网络。
-
本文提出的神经网络(多层感知器)由四层组成。
-
批归一化层(Batch Normalization)。
-
GeLU层。
-
跳跃连接层。连接了第二层和最后一层。
-
Softmax层。特别用来得出\omega,保证\sum_j\in N(i) \omega_{ij} = 1。
-
-
该神经网络在所有像素对(i,j)中,参数是共享的,但有着不一样的编码方式(?)。
-
这种依赖于图背景的参数生成的范例在以往的深度补全方法中已经被使用过并且得到了鲁棒的结果。我们采取的方法和显存的方法存在着两个显著的差异。
-
第一,在以往的方法中,依赖图背景的参数仅仅在图像中学习,通常忽视了目标像素和邻域深度信息的空间距离。相反,我们的方法将图像信息和空间距离都进行了考虑。这使得深度信息的传播在邻域值中会有优先考虑。
-
第二,在以往的方法中,依赖图背景的参数通常在多模态融合或精细化平台中采用。而我们扩展此使用方法到了更早期的预处理平台,使得后面的平台能够更有效地克服稀疏问题。
-
3.2.3 先前的编码
…
3.3 多模态融合
-
对于每一个大小的尺度,我们都会从双边传播模块中输出一个适合卷积神经网络处理的稠密深度图D'^s。
-
我们沿用了早期融合方法,简单的将图像特征和深度特征拼接在一起,将拼接后的特征作为U-Net结构的网络的输入来实现多模态融合。
3.4 深度精细化
-
我们采用了一个简单的卷积空间传播模块,类似于CSPN++,来作为每个尺度的深度精细化平台的操作。