题目:SPDET: Edge-Aware Self-Supervised Panoramic Depth Estimation Transformer With Spherical Geometry
边缘感知自监督全景深度估计Transformer与球面几何
作者:Chuanqing Zhuang; Zhengda Lu; Yiqun Wang; Jun Xiao; Ying Wang
源码链接: https://github.com/zcq15/SPDET
摘要
全景深度估计已成为3D重建技术中的一个热点话题,因为它提供了全方位的空间视场。然而,由于缺乏全景RGB-D相机,全景RGB-D数据集难以获得,这限制了监督全景深度估计的实用性。基于RGB立体图像对的自监督学习有潜力克服这一限制,因为它对数据集的依赖性较低。在这项工作中,我们提出了SPDET,这是一个结合了变换器和球面几何特征的边缘感知自监督全景深度估计网络。具体来说,我们首先引入全景几何特征来构建我们的全景变换器,并重建高质量的深度图。此外,我们引入了预过滤的深度图像基础渲染方法来合成新视角图像进行自监督。同时,我们设计了一个边缘感知损失函数来改进全景图像的自监督深度估计。最后,我们通过一系列比较和消融实验展示了我们SPDET的有效性,同时实现了最先进的自监督单目全景深度估计。我们的代码和模型可在GitHub上找到。
关键词
边缘感知,单目深度估计,全景相机,预过滤深度图像基础渲染,自监督,球面几何。
Ⅰ. 引言
全景相机是一种能够捕获具有全方位视场的全景图像的相机。全景图像感知场景的全局上下文和完整的空间结构,因此全景深度估计已成为3D重建技术中的一个热点话题。
单目深度估计有潜力在大规模RGB-D数据集上实现高精度重建和良好的泛化能力。然而,构建大规模全景RGB-D数据集既耗时又费力,并且需要昂贵的全景RGB-D相机。因此,基于RGB图像序列的自监督学习方法已成为一种重要的发展趋势,它提供了一种低成本的解决方案。
目前,一些工作已经涉及到全景深度估计中的自监督应用。NonLocal-DPT引入自监督作为监督学习的数据增强方法,但这项工作并没有研究如何通过完全自监督学习来提高性能。SvSyn渲染了一个立体全景数据集,并且它也验证了在一般自监督框架上使用轻量级CNN模型进行自监督全景深度估计的可行性。然而,SvSyn仍然没有利用自监督方法在全景深度估计中的潜力以实现精确的性能。因此,有必要进一步研究自监督流程在全景深度估计中的应用。
我们首先尝试将最先进的监督模型引入自监督框架。我们观察到,在监督任务中显示的特点和优势在自监督框架中没有得到很好的利用,导致深度估计结果较弱。例如,卷积模型HoHoNet和UniFuse由于其对全景场景的丰富空间结构的拟合能力较弱,无法有效建模。与此同时,基于变换器的模型NonLocal-DPT和OmniFusion能够捕获全景图像的全空间上下文和长距离依赖性。然而,这些复杂的变换器模型在自监督框架中难以优化,因为它们没有很好地将变换器与全景成像模型结合起来。因此,我们引入了球面几何特征到变换器中以克服这一缺点,并通过自监督框架获得准确的深度估计。
总的来说,自监督方法合成可微的新视角图像以优化深度估计。然而,合成图像在视图转换中由于遮挡和解遮挡在物体边缘产生了不匹配的监督信号。尽管深度图像基础渲染(DIBR)通过生成与合成图像相对应的可见性掩码来过滤这些信号,但一些被遮挡的背景纹理仍然与合成的新视角图像中的前景对象混合在一起。因此,它们预测的深度图在边界处有出血伪影。此外,以前的全景自监督流程通常使用光度一致性损失和深度平滑损失来训练网络。然而,光度一致性损失的局部窗口使其更容易陷入无纹理区域的局部最优,特别是在室内环境中。同时,深度平滑损失导致预测的深度图过于平滑。因此,我们通过改进自监督的渲染方法和损失函数来解决这些问题。
在这项工作中,我们提出了SPDET,这是一个利用变换器和球面几何特征的边缘感知自监督全景深度估计网络。一方面,我们构建了具有球面几何特征的全景变换器。具体来说,我们首先将全景几何特征引入到补丁嵌入阶段并生成不重叠的标记。然后,我们设计了一个全景空间池化模块,以进一步聚合全空间上下文并重建空间中标记的位置关系。此外,我们提出了一个偏移场重采样模块,以重采样特征并生成具有清晰边缘的细粒度全景深度图。
另一方面,我们为自监督架构提出了预过滤的DIBR和边缘感知损失函数。具体来说,我们首先通过反向DIBR计算源视图图像的遮挡掩码。然后我们在前向预过滤DIBR期间过滤掉被遮挡的背景纹理,渲染出未混合的目标视图图像,以减轻由于纹理混合导致的边缘出血伪影。此外,我们设计了边缘感知损失函数,以减轻局部最优问题并加强深度边缘,同时保持深度图的局部平滑性。
总结来说,我们工作的贡献包括四部分:
我们为自监督架构中的全景深度估计构建了具有球面几何特征的全景变换器。
我们提出了预过滤的DIBR来合成未混合的新视角图像进行自监督,这减轻了自监督单目深度估计中的边缘出血伪影。
我们设计了边缘感知损失函数来减轻局部最优问题并保留更好的深度结构。
我们的自监督流程SPDET,如图1所示,实现了最先进的自监督单目全景深度估计。
Ⅲ. 方法
对于自监督单目全景深度估计,我们提出了SPDET,它由全景变换器、预过滤的深度图像基础渲染(DIBR)和边缘感知损失函数组成。在本节中,我们首先描述全景相机的球面成像模型。然后,我们引入了一个全景深度估计网络,该网络结合了变换器和球形全景几何特征来模拟全景图像的全方位上下文。之后,我们提出了一种预过滤的DIBR方法来过滤掉纹理混叠并合成新视角图像作为监督信号。最后,我们提出了一个边缘感知损失函数来减轻先前自监督损失函数中的局部最优解和过平滑问题。
A. 全景成像模型
在全景成像模型中,3D空间中的物体被投影到位于相机中心的单位球面上。如图2(a)所示,设点P的笛卡尔坐标为P = (x, y, z) ∈ R^3,则其在球面上的方位角u ∈ [-π, π]和极角v ∈ [-π/2, π/2]投影为:
B. 具有球面几何的全景变换器
几何嵌入(GeoEmbed):为了指导变换器来模拟全景的全方位全空间上下文,我们设计了几何嵌入(GeoEmbed)模块来用标记嵌入全景几何特征。 给定一个输入全景图I,我们首先使用ResNet50v2作为主干网络来为变换器层生成标记。注意,主干网络在1/4、1/8和1/16的下采样级别提取特征图,分别表示为R1、R2和R3。前两个特征通过重组装层并传递到解码器,而最后一个大小为1024 × H/16 × W/16的特征被转换为标记。 此外,我们附加了一个球面坐标分支来在提取特征时提供全景几何信息,如图3(a)所示。为了将ERP坐标(u, v)表示为连续的球面特征图,u和v各自需要两个三角函数sin(·)和cos(·)来表示其原始的相位信息。此外,u和v的联合表示代表球面上的一个点,而单独的一个不能表示。因此,我们引入几何信息和球面坐标的表示如下: 为了将几何表示嵌入到特征空间中,我们将G(u, v)输入到VGG19网络并提取大小为256 × H/16 × W/16的几何特征。为了适应5D输入G(u, v),我们用一个新的卷积层替换了VGG19网络的第一个卷积层,该层的输入通道为5,并随机初始化参数。其他层用在ImageNet上预训练的参数初始化。之后,VGG19网络与完整模型一起训练。 之后,我们融合图像特征R3和几何特征FG,得到融合特征FMLP,使用一个简单的MLP如下: 其中⊗表示连接操作符,输出通道为768。 接下来,特征图FMLP被展平为标记集{t1, t2, ..., tN},其中N = HW/256是标记的数量。最后,一个读出标记t0和一个可学习的位置编码集{p0, p1, ..., pN}被附加到标记集。因此,最终的标记集T表示为: 变换器编码器:为了提取全景图像的全局信息,我们使用变换器编码器来模拟标记之间的长距离依赖性。首先,标记T通过连续的12个变换器层来模拟长距离依赖并聚合全局信息,其中第9层和第12层之后的标记被选为变换器输出,分别标记为T9和T12。为了利用全局信息并重建类似图像的特征图,我们将t0合并到{t1, t2, ..., tN}中,使用读出操作符如下: 输出的N个标记被展平为大小为768 × H/16 × W/16的2D特征。在将2D特征图{R1, R2, T9, T12}传递到解码器之前,重组装层将其通道变换为256,并且一个步幅为2的卷积将T12下采样到256 × H/32 × W/32。 全景空间池化(PanoSP):尽管变换器有效地模拟了全局上下文并引入了位置编码来保持标记之间的位置信息,但它们不能像卷积网络那样显式地引入标记之间的邻接关系。此外,变换器和卷积层都没有关注ERP坐标中经度和纬度的方向差异。为此,我们提出了一个全景空间池化(PanoSP)模块来进一步聚合全空间信息,并在保持各向异性的同时重建空间中标记的位置关系,如图3(b)所示。 具体来说,以T12作为输入,我们使用四个不同尺度的池化模块来聚合空间信息,每个池化模块后面都跟着一个1×1的卷积。这些池化模块包括像素级池化(即,不处理)、经度平均池化、纬度平均池化和全局平均池化,其输出特征分别表示为Fp、Flon、Flat和Fg。之后,SE层被引入以通道注意力增强特征如下: 最后,输出通道被压缩为256,以供后续的卷积解码器使用。 卷积解码器:卷积解码器使用输入特征{T'{12}, T9, R2, R1}来预测深度图。首先,在最低分辨率的融合块中,T'{12}在两个残差单元后被上采样作为下一个融合块的输入,如图3(c)所示。然后,在下一个分辨率的融合块中,T9通过一个残差单元传递并添加到上采样的T'_{12}。之后,结果特征通过另一个残差单元和上采样操作符作为下一个融合块的输入。这个过程在接下来的两个融合块中重复进行。 融合块中的双线性插值上采样在ERP坐标(u, v)上的球面上对特征图进行采样。然而,其采样点(u', v')并不反映球面特征空间(c, u, v)中的最佳采样位置,其中c是通道索引。因此,我们提出了一个偏移场重采样(OFRS)模块,以球面几何特征的指导来重采样特征图,它专注于基本特征点,如图3(d)所示。具体来说,给定输入特征Fi,我们首先引入几何图G(u, v)来提供球面几何信息。然后附加两个卷积层来预测重采样偏移场如下
C. 预过滤的深度图像基础渲染(Pre-Filtered DIBR)
D. 边缘感知损失函数
Ⅳ. 实验
A. 实现细节
3D60: 3D60是一个大规模合成数据集,由包括Matterport3D、Stanford2D3D和SunCG的真实和合成数据集渲染而成。它包含超过20,000个视点的三目立体对,虚拟相机放置在中心、右侧和上方视点,固定基线距离为0.26米。在我们的实验中,我们使用包括Matterport3D和Stanford2D3D场景的真实子集,并且训练策略遵循其官方拆分。此外,我们分别提供Matterport3D和Stanford2D3D测试场景的结果。 PNVS: PNVS由Structured3D数据集中的模型合成。每个源视图对应一个房间,并可渲染到多达三个目标视图。同时,该数据集被分为两个子集,包括一个容易的子集,其中平移向量t ∈ (0.2米, 0.3米)沿随机方向,以及一个困难的子集,其中t ∈ (1.0米, 2.0米)。我们分别在两个子集上进行训练和测试,并使用官方数据拆分。 PanoSUNCG: PanoSUNCG是一个从SunCG收集的全景室内视频数据集。它包含80个训练场景和23个测试场景,每个场景由5个相机轨迹组成。整个数据集包括约25,000张图像,相应的深度图和相机姿态。
B. 比较实验
定量比较:本小节比较了3D60、PNVS和PanoSUNCG数据集上的量化结果,如表I所示。在3D60数据集上,相机通过固定步骤垂直或水平移动,大多数模型表现良好。我们的SPDET在完整数据集和子集上均取得了最佳性能,其在完整数据集上AbsRel指标上超过第二名13.5%,在MAE指标上超过15.6%。与其他基于变换器的方法相比,我们将全景几何特征嵌入到模型中,以适应全景视图中的深度结构。因此,我们的SPDET网络可以更好地模拟全景图像的场景结构,并实现更准确的深度估计。在PNVS和PanoSUNCG数据集上,基于变换器的模型NonLocal-DPT和OmniFusion的表现不如卷积模型UniFuse,而我们的网络仍然保持最佳性能。因此,我们通过将全景成像模型与变换器网络结合起来,实现了更准确的深度预测,而不是依赖于大规模的模型参数。 视觉比较:在本小节中,我们可视化估计的深度图来比较不同模型的性能。如图7所示,我们的方法有效地提取了全景图像的全局上下文和场景结构,产生了结构化的墙面和完整的家具对象,如图7第2行的梁、第5行的冰箱和橱柜。同时,偏移场重采样模块产生了更好的全景上采样结果,以区分相邻空间位置的混乱特征,这允许深度图分离相邻对象并获得清晰的对象边缘,如图7第3行和第4行的沙发和桌子。
模型泛化:自监督深度估计的重要性在于将模型泛化到真实场景中,通过大规模训练数据。我们在3D60和PNVS数据集上进行定量泛化测试,然后将在PNVS上训练的模型迁移到真实视频序列的360Video上进行视觉比较。如表II所示,当跨数据集评估时,所有模型的性能都比表I中报告的指标差。这是因为当单目深度估计模型接受新场景中的未知对象作为输入时,很难确定图像中的纹理是位于对象表面还是具有空间结构。尽管如此,我们模型的准确性和泛化性超过了其他模型。提出的SPDET具有优越的能力来感知场景的几何结构,而不仅仅是使用复杂模型来记录训练数据的分布。
C. 消融研究
网络结构:我们首先研究了我们网络中不同模块的功能,如表III和图9所示。我们使用DPTHybrid作为基线模型,然后依次添加第三节中的GeoEmbed、PanoSP和OFRS来构建我们的全景变换器。 由于GeoEmbed和PanoSP模块专注于全景图像的全局上下文,我们可以与DPTHybrid相比重建更完整的结构(见图9(d)-(f))。然后,OFRS模块通过优化上采样的特征图来重建细粒度的深度图,其边界更清晰,如图9(g)所示。然而,OFRS容易受到局部窗口中无结构纹理的影响,并产生多余的几何结构,如图9第一行壁画外不必要的平面。此外,这个问题通过结合GeoEmbed和PanoSP模块有效地缓解了,它们可以提取全局信息(见图9(i)和(j))。最后,我们的全景变换器结合了上述三个模块,产生了最佳结果,如图9(k)所示。
深度监督下的性能:为了进一步证明模型设计的有效性,我们在Stanford2D3D上测试了模型的性能,并讨论了不同提出的网络结构的效果。我们采用了与UniFuse相同的损失函数、优化器和超参数。注意,为了公平比较,这里我们遵循先前监督工作中的深度评估指标,即没有球形加权的指标。如表V所示,我们的完整模型在几乎所有评估指标上都优于其他模型。它将AbsRel指标提高了2.5%,RMSE指标提高了2.4%。此外,我们观察到随着不同结构设计的引入,结果的准确性逐渐提高,这与我们在自监督中观察到的特性一致,进一步证明了模型设计的有效性。 球面几何表示:为了证明G(u, v)表示GeoEmbed和OFRS模块中球面几何信息的有效性,我们在表VI中比较了不同几何表示的影响。这些表示包括: 带有连续极点的球面几何表示 带有不连续极点的球面几何表示 正弦函数 余弦函数 球面法向量网格 UV坐标网格
边缘感知损失函数:在本小节中,我们研究了边缘感知损失函数的不同组成,并将其与现有工作中的常见损失函数进行比较,以证明其有效性,如表VII所示。
预过滤的DIBR:训练图像对的适当渲染过程对自监督深度估计的准确性有显著影响,尤其是在对象边缘。这里我们比较了不同的渲染方法。如表VII中的第7-9行所示。使用双线性插值的反向变形报告了最差的结果,因为它无法识别两个视图中的不匹配像素。在SvSyn中使用DIBR进行渲染时,深度加权遮挡过滤减少了合成图像中被遮挡纹理的干扰。然而,被遮挡的纹理仍然以较少的权重保留在合成图像中。我们的预过滤DIBR消除了渲染目标视图中由于遮挡导致的纹理混合,并生成了清晰可靠的监督图像对。这大大减轻了自监督深度估计中的边缘出血伪影,使边缘更清晰,并提高了表VII中的指标。我们还在图10中可视化了这一结果,当在训练期间逐渐通过DIBR和预过滤消除纹理混叠时,墙面的深度边缘更清晰、更锐利,而不是扩散到背景中。 模型复杂性和计算效率:这里我们比较了不同方法的模型复杂性和计算效率,如表VIII所示。提出的GeoEmbed、PanoSP和OFRS模块与基线模型相比分别引入了13.0%、4.5%和0.2%的参数。与此同时,它们在推理期间分别增加了0.2%、1.6%和3.3%的MACs。根据表VIII,GeoEmbed中的VGG提取网络为模型引入了更多的参数。但在推理过程中,只需要记录VGG的输出特征,因为输入G(u, v)是固定的,几乎没有引入额外的复杂性。尽管总体模型复杂性较高,但主要复杂性来自基线模型。最后,我们的SPDET与NonLocal-DPT具有相似的计算复杂性,但在定量和可视化方面都有较大的改进。
Ⅴ. 限制
A. 户外场景
B. 深度监督
Ⅵ. 结论
声明
编辑:PaperEveryDay