【论文简述】Edge-Aware Spatial Propagation Network for Multi-view Depth Estimation(NPL 2023)

一、论文简述

1. 第一作者:Siyuan Xu

2. 发表年份:2023

3. 发表期刊:NPL

4. 关键词:多视角立体,深度估计,边缘线索,三维重建

5. 探索动机:边缘信息是一种信息丰富的几何先验,但在多视图深度估计中仍有待探索。为了进一步说明边缘的作用,提取了图像和深度图上的真实边缘,如下图所示,边缘能够表示深度变化较大的尖锐区域。在这些领域,准确预测深度结果是困难的,但对于保留真实场景的整体结构很重要。然而,对于那些尖锐的区域,特别是边缘,不加选择地引入平滑约束可能会导致边缘模糊或错误的深度结果。由于常规回归机制,邻近区域的深度值趋于连续。

Edge information is an informative geometric prior, but still remains under explored in multi-view depth estimation. To further illustrate the role of edges, we extract real edges both on images and depth maps as in Fig.1. As depicted in the figure, edges are able to indicate those sharp areas where depth changes greatly. In these areas, accurately predicting depth results is difficult, but important for preserving the whole architecture of real scenes.

However, for those sharp areas especially on edges, introducing smoothness constraints indiscriminately might cause blurred edges or wrong depth results. The depth values tend to be continuous in neighbouring areas, due to the routine regression mechanism.

6. 工作目标:基于这一观察,希望利用边缘的上述特征来指导深度网络。我们的目标是通过引入边缘信息来揭示尖锐区域的位置分布,然后利用位置来指导正则化或传播过程,从而减轻深度变化对边缘的负面影响。在将边缘信息引入深度网络时,仍然存在两个困难。(1)图像边缘往往与真实物体或深度边缘不重合,如图所示。对于那些直接从原始图像中检索边缘或特征的网络,预测的深度关系可能是混乱的。(2)如何在深度估计网络中合理地利用边缘信息。通过对边缘信息的编码,我们希望网络能够学习到尖锐区域的位置,从而理解场景真实的几何关系。

7. 核心思想:为此,提出了一种边缘感知空间传播网络ESPDepth,创新地将边缘信息引入到基于学习的多视图深度估计中。利用边缘信息的独特刻画精细结构特征的能力,引导网络学习场景的几何特征,特别是高曲率区域的几何特征。

  1. A probability-guided edge information encoding module (EIE) is proposed to construct edge-aware features from initial depth edges.
  2. An edge-aware propagation module (EAP) is proposed to utilize edge information as the guidance of cost volume propagation.
  3. We design ESPDepth, an edge-aware spatial propagation network that fuses depth edges explicitly into basic MVS architectures.

8. 实验结果:

Experiments on public datasets validate that our method achieves promising results
compared with existing methods.

9.论文下载:

https://link.springer.com/article/10.1007/s11063-023-11356-4

二、实现过程

1. 整体架构

包括三个阶段:1. VolumeNet,2. ESP-Network,3. RefineNet。在第一阶段,VolumeNet以源-参考图像对作为输入,通过生成各自特征的差异来构造一个初始代价体。在阶段二,首先检测阶段一的初始深度上的边缘,并将边缘信息以概率编码为相似度矩阵。然后,利用相似度矩阵和提出的EAP模块在每个图像对的初始代价体实现边缘感知空间传播。这种传播方式使ESP-Network能够在学习过程中很好地捕捉几何形状。在第三阶段,使用RefineNet对多幅图像对的代价体和深度图进行整合,生成参考图像的精细化深度图。算法流程如下:

2. VolumeNet

通过计算差值构建逐试图对的代价体,进行卷积得到初始代价体,再通过卷积得到初始深度图Dinit。

3. Edge-Aware Spatial Propagation Network

在第二阶段,提出了边缘感知空间传播网络(ESP-Network),希望引入边缘信息,从而进一步提高VolumeNet的初始深度。具体而言,首先将边缘信息编码为概率引导的相似性矩阵,该矩阵绘制深度变化较大的区域。然后利用关相似性矩阵来指导成代价体的传播。该方法减轻了深度变化较大的尖锐区域的传播影响,而在平坦区域则相反,能够充分利用边缘信息。

3.1 边缘信息的概率编码

首先提取场景的深度边缘作为输入。考虑到在边缘检测领域出色的鲁棒性和有效性,使用传统的Canny检测器在边缘细化模块中显式地显示边缘。图像边缘与深度边缘存在一定的差异。对于平坦而纹理化的区域,在几何结构建模过程中,丰富的图像边缘会变得混乱。我们认为深度边缘比图像边缘更能捕获结构信息,具有更强的相关性。因此,采用深度边缘来构建边缘感知特征。因为
第1阶段生成的深度Dinit是从一致性体中获得的,它可以作为一个粗糙的几何结构的描述。因此,作为一个中间结果,Dinit是可信的,可以用于边缘检测,并且可以在接下来的网络中进一步改进。

在获得上述边缘后,将其与参考图像Ir结合起来,在不忽略全局图像特征的同时,对局部尖锐区域进行强化。然后,将边缘合并后的图像输入到边缘细化网络中。为了扩大感受野并捕获这些像素的特征,在前三层采用了空洞卷积,而没有降低图像分辨率或引入额外的参数和计算量。每个函数后面都有一个ReLU函数。由于从初始参考深度检测和编码边缘信息,这意味着边缘信息和代价体在相同的相机视图下对齐。换句话说,直接从Ir和Dinit中将边缘信息编码为参考视图下的边缘感知特征图,并采用该特征图来指导代价体在微分域中的传播。

在实际应用中,由于Dinit值不准确,边缘感知特征图可能会包含噪声,从而导致初始边缘出现错误。所以决定生成一个概率图来过滤掉深度不太令人信服的地方。对代价体C进行Softmax运算,得到概率体Pv,表示C中每个匹配值的置信度。利用Dinit从Pv中检索初始深度的概率图P。对于Dinit上的每个像素q (i, j),将q处的深度值转换为假设的深度范围[0,1,…, dmax],表示为dn。然后取dn作为Pv中沿深度方向的搜索索引。对于像素q,假设深度dn,其对应的概率值为Pv(dn, i, j),从而形成Dinit上所有像素的概率图P。另一种获得概率图的方法是直接从浅CNN预测P,以Pv的熵作为输入。实验中比较了这两种方法,前者在大多数评估指标上的实验表现更好。因此采用第一种方法生成P。为了消除边缘图中的干扰噪声,将边缘感知特征与P相乘,目的是减少不正确区域的权重,同时突出显示概率得分高的区域。将输出特征F∈R(8,H,W)编码为边缘感知的相似性矩阵,引导边缘信息传播。

3.2 代价体上的边缘感知传播

有了从EIE中学到的高频区域的边缘感知相似性矩阵,利用这些特征在代价体而不是深度图上传播边缘感知特征。在靠近边缘或角落的区域,深度梯度趋于尖锐,即边缘两侧的深度值存在较大差异。理想情况下,将边缘附近的深度值视为独立的,并赋予它们较低的权重,以减轻它们在传播过程中对平坦区域中的点的影响。相反,赋予平坦区域的深度值更高的权重,以保持它们在传播过程中的完整性和平滑性。

受传播策略的启发,提出了一种边缘感知的空间传播策略(EAP)模块。在空间上采用线性扩散方法,并使用边缘感知的相似性矩阵作为传播权重。利用上述获得的传播权值,通过卷积运算实现扩散过程,这得益于其在传播过程中能够专注于局部上下文,避免误差积累。不像通常的线性扩散方法通常使用扫描行/列传播,卷积方式不需要等待从左到右(或从上到下)更新,因此能够更有效地传播。此外,以迭代的方式循环地应用卷积扩散运算。迭代使EAP能够保持长距离特征,因此在局部区域收集时不会忽略全局上下文。EAP模块的示意图如图所示。

形式上,设初始代价体为C = {D1, D2,…, Dn},其中Dn为C中第n个假设深度平面上的匹配代价映射,平面总数为dmax。在每个Dn上迭代地操作传播,第n次迭代可以表示为:

其中迭代权值计算如下:

这种方法为平坦区域分配更高的权重,为尖锐区域分配更低的权重,以减轻深度变化的影响。初始权矩阵F来自边缘感知相似性矩阵。对于Dn上的每个像素q (i, j),fi, j的权重表示q (i, j)与其相邻点之间的相似性。这里在扩散前fi, j被归一化为wi, j。然后在第n次迭代后,将代价体与所有匹配的代价图重新合并,从而在每个假设深度平面上保持边缘改进的上下文: 

在传播步骤之后,生成一个边缘引导代价体C。类似地,使用2D卷积层和Softmax从C中检索深度图。对不同的源-参考图像对重复进行上述传播操作,并取所有边缘引导代价体的平均值Ci作为RefineNet后续的输入,以及相应的深度图。

​4. RefineNet

在第三阶段,对从上一阶段获得的所有代价体进行平均。由于这种简单而有效的方法,RefineNet可以将任意数量的cost volume作为输入,使网络能够处理多个图像。RefineNet也是一个由几个卷积层组成的浅沙漏网络。它将平均代价体和深度图的拼接作为输入,并对代价体进行细化,以估计最终的深度图Dref。在这个阶段,不同视角下的深度特征被整合在一起。

5. Loss

用于训练的损失分为两个方面:

其中ldepth为深度损失,lnormal为法线损失。

5.1 深度损失

在三个阶段中有一系列的深度图和逆深度图,对所有的深度图和反深度图采用像素级深度损失,如下所示:

式中,Q表示深度图上所有有效点,|Q|为有效点的总数。D(q)为像素q处的估计深度值,D(q)为像素q处的真值深度。特别地,在前两个阶段的训练中,在不同的源视图下分别生成了不同的深度图,所以取它们的平均损失。ⅰ、ⅱ、ⅲ阶段总深度损失计算公式为:

其中n是源视图的个数。

5.2 法线损失

在训练阶段,也采用法线监督来保留几何结构。我们使用组合法线图作为真值,计算损失为:

式中,Q表示深度图上所有有效点,|Q|为有效点的总数。N(q)为像素点q处的估计法线,N(q)为像素点q处的真值法线。与深度损失类似,我们在训练前两个阶段时平均损失,并取所有阶段的总和。

其中n是源视图的个数。

6. 实验

6.1. 数据集

在ScanNet数据集上进行训练和评估过程,该数据集是一个真实的室内RGB-D视频数据集,用于MVS、深度估计和语义分割的训练和测试。选择大约52k的图像超过1k的ScanNet场景,并将它们全部调整为192×256进行训练。为了评估模型的泛化能力,在7-Scenes上进行了测试实验。7-Scenes也是一个由Kinect摄像头记录的室内场景的RGB-D数据集,其中包含真实深度、相机轨迹和密集的3D模型。网络在ScanNet和7-Scenes的官方测试中进行了评估。在KITTI数据集上训练和测试了我们的方法,KITTI数据集是一个包含彩色图像和激光深度的真实世界的自动驾驶基准。

6.2. 与先进技术的比较

ScanNet和7-Scenes

KITTI

6.3. Image Edge vs Depth Edge

图像边缘与深度边缘的视觉效果比较。a图像边缘,B深度边缘。通过沿通道维度取平均值来可视化边缘感知特征。我们在网络中采用了不同的边缘类型。如图所示,当边缘感知模块在参考图像上直接检测边缘时,学习到的特征往往在纹理丰富而平坦的区域中含有令人费解的信息,从而导致生成的深度误解了场景的结构。图像边缘和深度边缘之间的差距仍然难以消除。这个比较证明了选择的深度边缘更有可能代表真实的结构信息。

猜你喜欢

转载自blog.csdn.net/qq_43307074/article/details/132101309