PlaneMVS:多视点立体三维平面重建

Abstract

我们提出了一个名为PlaneMVS的新框架,用于从已知相机姿态的多个输入视图中重建3D平面。以往大多数基于学习的平面重建方法都是从单幅图像重建三维平面,高度依赖单视图回归,存在深度尺度模糊。相比之下,我们利用多视图几何的优势,用多视图立体(MVS)管道重建三维平面。我们将平面重构解耦为语义平面检测分支和平面MVS分支。语义平面检测分支基于单视图平面检测框架,但存在差异。平面MVS分支采用一组倾斜平面假设代替传统的深度假设进行平面扫描策略,最终学习像素级平面参数及其平面深度图。我们介绍了两个分支如何以平衡的方式学习,并提出了一个软池损失来关联两个分支的输出,并使它们相互受益。在各种室内数据集上的大量实验表明,PlaneMVS在平面检测和三维几何指标上都明显优于最先进的(SOTA)单视图平面重建方法。由于学习到的平面先验,我们的方法甚至优于一组基于SOTA学习的MVS方法。据我们所知,这是第一个在端到端MVS框架内进行3D平面重建的工作。

1. Introduction

基于RGB图像的三维平面结构重建一直是计算机视觉领域中一个重要而又具有挑战性的问题。该方法旨在从RGB图像中分段检测平面区域并预测相应的三维平面参数。复原的3D平面可用于各种应用,如机器人[46],增强现实(AR)[4]和室内场景理解[51]。传统方法[9,13,43]在某些情况下工作良好,但通常高度依赖于一些假设(例如,曼哈顿世界假设[9])的目标场景,因此在复杂的现实情况下并不总是稳健的。最近,一些基于卷积神经网络(Convolutional Neural Networks, cnn)的方法[31,32,47,56,61]被提出用于从单视角图像中恢复平面。与传统方法相比,这些方法在完整性和鲁棒性方面都能更好地重建三维平面。然而,这些方法虽然在二维平面分割上取得了合理的结果,但都试图从单幅图像中恢复三维平面几何,这是一个不适定问题,因为平面参数只依赖于单视图回归,深度尺度恢复具有模糊性。因此,这些方法所恢复的三维平面精度较低。这些方法的局限性促使我们考虑在端到端框架中使用cnn从多个视图重建3D平面的可能性。

与从单个图像重建三维几何结构相比,多视角立体(MVS)[10]以已知相对相机姿态的多个图像作为输入。与单视角方法相比,MVS方法在三维重建中具有更好的性能,因为可以通过对校准图像[17]上的匹配特征点进行三角测量来解决场景的尺度问题。最近,一些基于学习的MVS方法被提出[16,19,57,58],并在广泛的场景中取得了很好的改进。虽然可以有效地重建纹理丰富的区域,但在无纹理的区域(通常属于平面区域)中寻找特征匹配时会出现模糊性。此外,由于平面结构解析不明确,生成的深度图通常缺乏平滑性。最近的一些MVS方法[26,34,63]提出联合学习深度和法线之间的几何关系来捕获局部平面性。然而,这些方法通常分别估计深度和法线,并且仅通过附加损失的约束来学习像素级的平面性。分段平面结构,例如墙壁和地板,通常表明强大的整体几何平滑,在这些方法中没有很好地捕获。

在这项工作中,如图1所示,我们利用这两组方法,提出在MVS框架中重构平面结构。该框架由两个分支组成:平面检测分支和平面MVS分支。平面检测分支预测一组二维平面掩码,其对应的目标图像的语义标签。平面MVS分支是我们的主要贡献,它将目标和源图像作为输入。受MVS管道中广泛使用的正面平面扫描公式的启发,我们提出了一种倾斜平面扫描策略,以无歧义地学习平面参数。具体来说,与传统MVS方法中使用一组正面平面假设(即深度假设)进行平面扫描不同,我们使用一组倾斜平面假设进行平面扫描,以构建逐像素平面参数回归的平面成本量。

图1。对比:(a)单视图平面重构框架,(b)传统的基于深度的MVS框架,(c)提出的多视图平面重构框架。该系统采用斜平面假设进行平面扫描,构建平面MVS分支,并与平面检测分支相互作用。这两个部门可以相互受益。

为了使两个分支相互关联,我们提出了一种软池策略,以获得分段的平面参数,并在此基础上提出了一个损失目标,使两个分支相互受益。我们在不同的损失项上应用学习过的不确定性[25]来平衡地训练多任务学习系统。此外,该系统在不同数据分布的新环境中具有良好的泛化能力。使用简单而有效的微调策略,无需地真值平面注释,可以进一步改善结果。

据我们所知,这是第一个在端到端MVS框架中重建平面结构的工作。重构深度图利用多视图几何结构解决了比例尺模糊问题。与解析平面结构的基于深度的MVS方案相比,它在几何上更加平滑。在不同室内数据集上的实验结果表明,我们提出的PlaneMVS不仅显著优于单视图平面重建方法,而且也优于几种基于SOTA学习的MVS方法。

2. Related Work

Piece-wise planar reconstruction——分段平面重建

传统的平面重建方法[9,13,43]通常以单幅或多幅图像作为输入,检测消失点、线等原语作为几何线索来恢复平面结构。这种方法对环境做了强有力的假设,通常不能很好地推广到各种场景中。最近的基于学习的方法[31,32,39,47,56,61]用深度神经网络(DNNs)处理单张图像的平面重建问题,并取得了有前景的结果。PlaneNet[32]提出了一个多分支网络来共同学习平面掩码和参数。planerrecover[56]提出分段分割平面,只有地面真相深度监督,但没有任何平面地面真相。PlaneAE[61]和PlaneTR[31]学习使用自下而上的框架将图像像素聚类为分段平面。或者,PlaneRCNN[31]利用两级检测框架[18]来估计几个并行分支中的平面分割和平面几何。Qian和Furukawa[39]对平面间关系进行建模,进一步细化初始平面重建。然而,虽然可以用单幅图像学习二维平面分割,但仅用单视图回归学习精确的三维平面几何仍然具有挑战性。最近,Jin等人[23]提出了一个框架,用于联合重建平面和从稀疏视图估计相机姿势。在我们的工作中,我们假设摄像机姿态是从一些SLAM系统中获得的,并基于PlaneRCNN[31]设计了我们的平面检测分支,但在一个单独的多视立体(MVS)分支中学习平面几何。

Multi-view stereo——多视点立体

与单视角深度估计不同[7,15,22,49,64],多视角立体视觉将深度估计问题转化为将一对摆姿图像中的对应点进行三角剖分。因此,它可以解决单视图情况下的尺度模糊问题。传统的MVS方法大致可以分为基于体素的方法[27,41]、基于点云的方法[10,28]和基于深度映射的方法[3,11,50]。

近年来,一些基于学习的方法被提出,并显示出良好的鲁棒性和泛化性。V光度法如[21,24]聚合多视图信息,以学习场景的体素表示。然而,由于体积表示的高内存消耗,它们只能应用于小型场景。对于深度的方法,MVSNet[58]采用端到端框架重构深度图,基于平面扫描策略的多视图输入参考图像。一些后续方法旨在实现更好的精度-速度权衡[52,59,60]或在级联框架中细化深度图[16,57],或将可见性和不确定性纳入框架[35,55,62]。这些基于深度图的MVS方法通常应用前端平行平面假设进行平面扫描,旨在学习正确深度下的像素级特征对应关系。然而,对于无纹理的区域或重复的模式,网络很难准确匹配像素级的特征,从而使得推断的深度不那么准确。与基于深度映射的MVS不同,Atlas[37]NeuralRecon[45]提出从姿态图像中学习TSDF[5]表示进行三维表面重建,避免了多视图深度融合。

由于无纹理区域的匹配模糊,一些MVS工作[1,2,12]旨在建模局部平面性,因为无纹理区域通常是平面的。传统上,Birchfield和Tomasi[1]引入带有马尔可夫随机场的斜面来进行立体匹配。盖洛普等[12]首先估计主导平面方向,并根据平面扫描沿这些平面弯曲。一些方法[2,40,54]基于迭代优化或概率框架在无纹理区域执行立体补丁匹配。对于基于学习的方法,源自patchmatch立体思想的一系列作品[26,34,63]将深度与表面法线之间的几何关系纳入MVS框架。虽然我们分享的是高层次的想法,但我们的工作与这些方法在几个方面有所不同。首先,一些工作[34]分段分段平面作为离线预处理步骤,以生成平滑一致的法线。但是,我们在提出的框架内共同学习平面分割和平面几何。其次,它们通常分别学习深度和法线,并基于局部平面性将损失目标作为额外约束。相比之下,我们在一个MVS管道中直接学习用一组倾斜平面假设和平面扫描策略回归像素级平面参数,因此隐式学习深度与法线之间的联合关系。第三,虽然这些工作旨在利用平面先验来辅助多视点立体,但我们的目标是利用MVS框架来重建分段平面结构。

3. Method

本节组织如下:我们首先在3.1节介绍语义平面检测分支,在3.2节介绍平面MVS分支。然后我们在第3.3节描述分段平面重建过程。最后,我们在第3.4节中介绍了我们的损失目标。

3.1. Plane detection

An overview of PlaneRCNN

PlaneRCNN[31]是最先进的单视角飞机重建方法之一,它建立在Mask-RCNN[18]之上。它设计了几个独立的分支来估计2D平面掩模和3D平面几何。首先应用FPN[29]提取特征图,然后采用两阶段检测框架预测二维平面掩码M。采用编码器-解码器架构对特征图进行处理,得到逐像素深度图d。实例级平面特征从ROI-Align[18]传递到平面法线分支,预测平面法线N。他们还设计了一个细化网络来细化初始平面掩码和相邻视图之间的重投影损失,以在训练过程中加强多视图几何一致性。利用预测的M、N和D,可以重建分段平面深度图Dp。

Our semantic plane detection,语义平面检测

我们的检测头是基于PlaneRCNN[31],但有几个修改。首先,我们去掉了所有的几何估计模块,包括平面法线预测模块和单眼深度估计模块,因为三维平面几何是由我们的MVS分支估计的。其次,我们还去掉了PlaneRCNN中使用的平面细化模块和多视图重投影损失以节省内存。此外,由于语义信息有助于场景理解,如Mask-RCNN[18],我们为每个平面实例添加语义标签预测,以获得其语义类。我们将在第4.2节详细介绍如何定义和生成语义平面注释。综上所述,对于分辨率为H × W的输入图像,我们的平面检测头预测了一组平面包围框B = {b1, b2,…, bk},他们的信心分数S = {s1, s2,…, sk},其中si∈(0,1),二元平面掩码M = {m1, m2,…, mk},其中mi∈RH×W,以及它们对应的语义标签C = {c1, c2,…, ck}。

3.2. Planar MVS

接下来,我们介绍了我们的平面MVS头部,这是我们在这项工作中的关键贡献。图2显示了这个分支的架构,我们将依次展示每个部分。

图2。我们提出的平面MVS头部的架构。它由平面回归模块对初始像素级平面参数进行回归,平面细化模块对初始预测进行细化。我们的工作与传统的MVS方法的关键不同之处在于我们应用斜面假设进行单应性翘曲。为了简单起见,省略了训练期间的损失目标。

Feature extraction

MVS头的二维图像特征提取与平面探测头共享。具体而言,我们从FPN特征主干中获得L = 5层的多尺度二维特征映射。这里我们只利用了最优级特征:

为了进一步平衡内存消耗和精度,我们将f0传递给维数推演层和平均池化层,得到简化的特征表示:

f ' 0作为MVS网络的特征图输入。使用多层特性是否会带来好处值得探讨,但这不是我们目前的重点,我们把它留给未来的工作。

Differentiable planar homography,可微平面单应性

先前的MVS方法[19,58]提出用正面平行平面(即深度假设)将源特征扭曲到目标视图。这在关联多重特征时是有效的在目标视图的正确深度值处添加三个视图。在我们的设置中,目标是学习每像素的平面参数,而不是深度。为此,我们建议利用倾斜平面假设来执行平面扫描,以使用MVS框架学习逐像素平面参数。用斜面假设表示可微单应性与用深度假设表示相同。两个视图在

平面上的单应性,其中ni为平面法线,ei为目标视图在像素i处的偏移量,可以表示为:

其中符号∼表示“达到一定比例的相等”。K是内禀矩阵。R和t分别是两个视图之间的相对摄像机旋转和平移矩阵。因此可以得出,在不考虑遮挡和物体运动的情况下,两视图之间像素i处的单应性仅由已知相机姿态的平面:

决定。这与我们用MVS学习3D平面参数的目标完全一致。通过在MVS框架中使用倾斜平面扫描,我们可以学习像素级平面参数:

这是一个平面的明确表示。

Slanted plane hypothesis generation,斜面假设生成

我们的框架与传统的MVS方法的主要区别之一在于假设表示。在基于深度的MVS管道中,他们的平面假设是正面平行的。因此,一组覆盖目标三维空间深度范围的一维深度假设足以进行深度回归。然而,在我们的工作中,我们需要一套三维斜面假设nT /e。寻找斜面假设是一个非平凡的任务,因为通过一个3D点的候选平面的数量是无限的。我们需要为nT /e的每个维度确定合适的假设范围。为此,我们随机抽取10000张训练图像,绘制出groundtruth平面nT /e每个轴的分布,它反映了各个场景中平面参数的一般分布。然后,通过确保大多数地真值位于选定的范围内,为每个轴选择上界和下界。我们沿着每条轴的边界对假设进行均匀抽样。关于我们选择的假设范围和数量,请参见我们的补充材料。

Cost volume construction,成本量建设

在确定平面假设后,我们通过Eq.(1)将源特征映射扭曲成目标视图。对于每一个倾斜平面假设,我们将扭曲后的源特征和目标特征连接起来进行关联,这比使用距离度量[58]更好地保持了原始的单视图特征表示。然后,我们沿着假设维度堆叠特征,以构建特征代价体积c。遵循[58],我们利用带有3D CNN层的编码器-解码器架构来正则化特征代价体积。最后,我们使用单个带有softmax激活的3D CNN层将成本体积C转换为平面概率体积U。

Per-pixel plane parameters inference and refinement,逐像素平面参数推断与细化

为了使整个系统可微,在[58]之后,应用soft-argmax得到初始像素级平面参数。给定平面假设集Ph = {p0, p1,…, pN−1},像素i处的三维平面参数pi可推导为:

U(pi)是假设pi在像素i处的概率。

利用soft-argmax,我们可以得到一个初始像素级平面参数张量:

我们需要把它还原到原始图像的分辨率。我们发现直接应用双线性上采样将导致过平滑问题。这里我们采用了RAFT[48]提出的上采样方法。具体来说,对于P的每个像素,我们学习一个凸组合,首先预测一个8 × 8 ×3 ×3网格,然后对其3 ×3粗邻居的权重应用加权组合,以得到上采样的平面参数:

这种上采样方法更好地保留了重构平面深度图中的平面边界和其他细节。

在[58]之后,我们应用了一个细化模块,其目的是学习初始平面参数w.r.t. groundtruth的残差。将上采样的初始平面参数P '与归一化的原始图像It作为输入,保存图像细节,然后传递到多个2D CNN层中,预测其残差δP '。然后我们得到细化的像素级平面参数Pr = P ' + δP ',这是我们最终的逐像素平面参数预测。

3.3. Planar depth map reconstruction

在本小节中,我们将介绍如何将上述两个分支关联起来,使它们相互受益。我们还演示了如何得到分段的平面深度图作为最终的重建平面表示。

Plane instance-aware soft pooling,平面实例感知软池

在从两个分支获得像素平面参数和平面掩码后,自然的问题是,我们能否将两个头部关联起来,使它们相互受益?为此,受到[56,61]的启发,我们设计了一种软池操作,并在深度图上提出了损失监督。对于一个被检测的平面,我们输出它的软掩码ms∈RH×W,其中ms的每个像素i处的每个元素σi是预测的前景概率,而不是可微的二进制值∈{0,1}。然后实例平面参数pt可以通过加权平均的软池操作计算:

然后可以重构实例级平面深度图:

其中1i是标识前景像素的指示器变量。对σi施加0.5的阈值来确定像素i是否被识别为前景。K−1是内禀矩阵逆,xi是像素i的齐次坐标。

Depth map representation and loss supervision,深度图表示和损失监督

通过用公式(4)中的实例平面深度图填充平面像素,我们可以为图像获得一个缝合的深度图:

由于学习到的像素级平面参数捕获了局部的平面性,我们用重建的像素级平面深度图填充非平面像素。然后,我们可以在重构深度图D和地真深度图D *之间设计一个软池损失Lsp, L1损失监督作为我们的软池损失Lsp:

通过Lsp监督模型,由于式(3),平面深度图不仅由平面MVS头决定,还由平面检测头决定。也就是说,该模型应该使学习到的二维平面分割和三维平面参数保持一致。在训练过程中,一个模块能够从另一个模块的输出中获得约束。请注意,尽管这一损失与[56,61]有相似之处,但他们的工作与我们的工作之间存在差异。planerrecover[56]应用类似的损失来为不同的平面实例分配像素。PlaneAE[61]将损失构建在平面参数上,而不是深度图和目标上,以改进实例级参数。相比之下,我们的软池损失主要是为了使二维平面分割和三维参数预测之间的交互成为可能。

3.4. Supervision with loss term uncertainty,亏损期限不确定性的监管

我们的监督包括三个部分:平面检测损耗LD,平面MVS损耗LM和软池化损耗Lsp。LD包括两阶段分类和边界盒回归损失,以及第二阶段的掩码损失。LM包括建立在初始每像素平面参数及其重构深度图上的损失,以及细化后的损失。对于LM的每一项,我们都采用掩码L1损失,只应用于具有有效地真值的像素上。由于平面检测和平面MVS分支的目标是不同的,我们通过[25]中介绍的学习不确定性来加权每个损失项。这在我们的实验中是有效的,并且可以在不应用不确定性的情况下比结果表现更好。我们的最终损失目标可以写成:

其中w是每个损失项的学习不确定性。

4. Experiments

4.1. Implementation details

我们在Pytorch[38]中实现我们的框架。SGD优化器的初始学习率为3×10−3,权值衰减为5×10−4。批处理大小设置为6,模型在3个NVIDIA 2080Ti gpu上进行端到端训练,在ScanNet[6]基准测试上进行10次。学习率在第7纪元和第9纪元分别衰减到3 × 10−4和3 × 10−5。我们在[31]之后重新实现了平面检测模块,但是使用了公开发布的Mask-RCNN[18]的实现[36]。在[31]之后,我们使用在COCO[30]上预训练的检测模型初始化权重。在训练和测试时,输入图像大小设置为640 × 480。由于我们的批尺寸比较小,所以我们在训练时冻结了飞机检测头的所有批归一化[20]层。我们应用组归一化[53]作为平面MVS头部的归一化函数。

表1,不同方法对扫描网[6]上平面几何和检测的评价结果。

4.2. Training data generation

Semantic plane groundtruth generation,语义平面基础真理生成

为了构建带有语义标签的平面数据集,我们首先从[31]中获取并预处理原始渲染的平面掩码,然后从ScanNet[6]中获得二维原始语义映射。然后将语义标签从ScanNet映射到NYU40[42]。我们将NYU40中一些语义相似的标签进行合并,最后选出11个可能包含平面结构的标签。我们通过将每个平面实例的掩码投影到语义映射上,然后执行多数投票来获得每个平面实例的语义标签。如果投票结果不属于我们选择的任何标签,我们简单地将原始掩码标记为非平面,并在训练和评估时将其视为负样本。

View selection for MVS,MVS的视图选择

我们必须从ScanNet[6]单目序列中采样立体对,如果对中的图像有足够大的相机基线和足够的重叠,则认为立体对是合适的。在本研究中,我们选择相对位移在0.05m ~ 0.15m之间的立体对作为合格立体对。在训练和测试期间,我们选择2个视图(目标视图和源视图)。我们相信添加更多视图可以进一步提高性能,但这超出了本文的范围。

4.3. Datasets

在我们的实验中,我们使用ScanNet[6]进行训练和评估。我们进一步将我们的模型推广到另外两个RGB-D室内数据集,即7-Scenes[14]和TUMRGBD[44],通过带微调和不带微调的测试来证明其可泛化性。由于这两个数据集不包含任何平面基础事实,我们只评估了平面几何指标,并在这些指标上给出了一些平面检测的定性结果。由于篇幅所限,这里只介绍如何使用ScanNet。有关其他数据集的信息,请参阅我们的补充资料。

ScanNet

ScanNet[6]是一个包含数百个场景的大型室内基准。我们分别从其官方训练和验证分割中对训练和测试立体对进行抽样。按照PlaneRCNN[31]中的步骤对不合格数据进行预处理和过滤后,我们随机抽取2万对进行训练。然而,由于ScanNet的原始3D网格并不总是完整的,在相当多的图像中,网格渲染的平面掩模是有噪声和不准确的。如果我们直接对这些图像进行测试,这将导致无法令人信服的飞机检测评估。为此,我们手动从原始测试集中挑选了950个平面掩码注释在视觉上干净且完整的立体声对进行评估。

4.4. Evaluation metrics

在以往的平面重构方法[31,32]的基础上,我们主要通过改变深度误差阈值[0.2m, 0.4m, 0.6m, 0.9m]的平面检测平均精度(AP)和广泛使用的深度指标[8]来评价平面重构质量。由于我们在我们的框架中引入了平面语义,我们还评估了平均平均精度(mAP)[30],它将语义分割和检测结合在一起,就像在目标检测论文中使用的那样。

4.5. Comparison with state-of-the-arts,

Single-view plane reconstruction methods,单视角平面重建方法

我们首先将我们的PlaneMVS与SOTA单视图平面重建方法PlaneRCNN[31]进行比较,后者也作为我们模型的基线。我们在重新实现的版本上测试它,使用平面语义预测,使用与我们相同的训练和测试数据。从表1可以看出,我们的方法在平面几何和三维平面检测方面都大大优于PlaneRCNN。如图所示,PlaneRCNN在获取几何平滑的平面深度图方面做得很好,但其平面参数远不够准确(如图3的第2行和第4行),依赖于单视图回归,存在深度尺度模糊问题(如图3的第1行和第3行)。对于不考虑深度的AP,我们也通过多任务学习和提出的软池损失得到了相当大的改进。尽管PlaneRCNN是一个强基线,但图4清楚地表明,我们的方法更好地感知平面边界,并且我们的分割更好地与3D平面几何对齐。对于mAP评估,考虑到平面语义精度的检测,我们的方法也优于PlaneRCNN以一个不小的差距。

Learning-based MVS methods.

我们还将我们的方法与几种有代表性的MVS方法进行了比较。我们选择了两种具有代表性的基于深度的MVS方法,MVSNet[58]和DPSNet[19],因为我们的MVS模块与它们具有相似的网络架构。此外,我们还与旨在加强深度的NAS[26]进行了比较MVS的正态几何一致性。我们训练和测试这些方法在我们的ScanNet数据与他们发布的代码进行公平比较。我们还与最先进的多视图深度估计方法之一ESTDepth[33]进行了比较。从表1中,我们的方法明显优于那些MVS方法。请注意,[33]是为时间较长的帧设计的,这可能解释了它在双视图测试时可能的性能下降。图3中的定性结果清楚地表明,与传统的基于深度的MVS方法相比,我们从像素级平面参数重构的“PlaneMVS-pixel”结果显示了更准确的深度,特别是在无纹理区域,这可以认可所提出的学习平面几何的倾斜平面假设。通过对检测到的平面掩码应用软池化(即我们的“PlaneMVSfinal”),可以在平面区域上实现全局几何平滑和更清晰的边界。我们的方法也可以有效避免其他方法在某些情况下(如图3第一行)的纹理复制问题。

图3,ScanNet[6]深度重建图的定性结果。“PlaneMVS-pixel”表示像素级平面参数重构的深度。“PlaneMVS-final”表示平面软池化后实例平面参数的最终深度。我们的结果与其他结果有显著差异的地区用蓝色和红色框突出显示。最好在放大屏幕上观看。

4.6. Results on 7-Scenes

我们在7场景[14]数据集上评估我们的方法,以检查其泛化性。由表2可知,我们的方法也显著优于PlaneRCNN[31],优于或与其他MVS方法相当[19,26,33,58]。由于PlaneRCNN[31]从单个视图中学习平面几何,因此超越训练场景领域的泛化能力是有限的。然而,我们的方法得益于多视图几何来学习多视图特征对应关系,因此对未见数据具有更好的泛化能力。我们把如何对7- scene进行微调留给补充材料,只有groundtruth深度。

表2,在7-Scenes[14]数据集上采用不同方法重构深度。“我们的”是指直接使用scannet预训练的模型进行测试。“our - ft”是指使用7场景微调模型进行测试。

4.7. Ablation study,消融实验

在本小节中,我们将评估每个提议的组件(即软池损失、损失项不确定性、凸上采样和斜面假设)的有效性。我们把一些关于超参数和设置的比较留给补充材料

Soft-pooling loss,Soft-pooling损失

为了实现平面检测与平面几何的耦合,设计了软池损失。从表3中可以看出,它在所有指标上都显著提高了平面深度和3D检测。它有助于同一平面内的像素学习一致的平面参数,有利于平面几何。对于平面检测,如图4所示,我们检测的平面也更好地与三维平面几何对齐,特别是在平面边界上。

Training with loss term uncertainty,损失期限不确定的训练

从表3可以看出,通过对每个损失项进行学习不确定度的加权,我们的模型可以在平面几何和三维检测方面得到进一步的改进。有两个可能的原因。首先,我们的模型有不同的分支,对于2D或3D目标有多个损失。将每个损失设置为相同的权重可能不会使它们平滑地收敛。其次,如第4.1节所介绍的那样,使用coco预训练的模型初始化飞机检测头。但是对于MVS头部,我们从头开始训练。因此,如果我们不自适应地改变每个项的权重,两个分支的学习过程可能是不平衡的。采用可学习不确定性后,在训练过程中自动调整不同术语的权重,带来了很大的效益。

Convex upsampling

我们分析了用凸组合上抽样代替双线性上抽样的效果。如表3所示,我们得到了相当大的改善。学习凸上采样比双线性上采样能更好地保持细粒度细节。

表3,对所提方法各组分的烧蚀研究。

图4。基于扫描网[6]的飞机检测定性结果。在我们的方法和PlaneRCNN之间有显著差异的区域用红色框突出显示。

表4,消融研究:倾斜与额平行平面。

Slanted plane hypothesis

我们进行了一项额外的消融研究,即使用相同的网络结构,用正面平行平面假设取代斜平面假设。我们还应用凸上采样和损失项不确定性进行公平比较。采用最小二乘算法将预测得到的逐像素深度图和平面掩码进行平面拟合,然后将平面参数转换为平面深度图。如表4所示,我们提出的方法在3D平面检测和深度指标上都优于“FrontoMVS”基线。此外,我们的模型以端到端的方式学习平面参数,而不是将平面拟合作为后处理步骤。这验证了所提出的斜面假设w.r.t.额平行假设的有效性

5. Conclusion and Future Work

在这项工作中,我们提出了PlaneMVS,一个用于多视图平面重建的深度MVS框架。基于我们提出的平面扫描的倾斜平面假设,深度MVS可以端到端地学习三维平面参数。我们还将平面检测分支和平面MVS分支与所提出的软池化损失耦合起来。与单视图方法相比,该系统可以以更好的精度、鲁棒性和可泛化性重建三维平面。没有复杂的设计,我们的系统甚至优于一些最先进的MVS方法。请参考我们的补充材料,以获得更多的结果,讨论和潜在的局限性。未来有几个方向值得探索。首先,可以结合近期深度MVS系统的先进设计[16,52,57,62],进一步改进MVS重建。其次,来自视频的时间信息(我们目前使用的是超过两帧的视频)可以被利用来实现时间一致的平面重建,这样一致的单视角预测可以融合到整个场景的全局3D模型中。

PlaneMVS: 3D Plane Reconstruction from Multi-View Stereo介绍相关推荐

  1. 【3d face reconstruction】综述阅读

    paper:State-of-the-art in 3D face reconstruction from a single RGB image 一.methods 第一步就是要选择一个face mo ...

  2. [读论文] Monocular 3D Object Reconstruction with GAN inversion (ECCV2022)

    概述 项目主页:https://www.mmlab-ntu.com/project/meshinversion/ 方法名称:MeshInversion 输入:单目图像 (in the wild,有背景 ...

  3. 多目立体视觉(Multiple View Stereo, MVS)

    多目立体视觉(Multiple View Stereo,MVS) 概念   定义:可以用来从照片中提取几何图形的线索有: 纹理.散焦.阴影.轮廓和立体匹配.多目立体视觉(MVS)是一组以立体匹配为主要 ...

  4. [ECCV2020]Self-Supervised Monocular 3D Face Reconstruction by Occlusion-Aware Multi-view Geometry

    标题:Self-Supervised Monocular 3D Face Reconstruction by Occlusion-Aware Multi-view Geometry Consisten ...

  5. [论文阅读][深度学习-三维重建]Single-Shot 3D Shape Reconstruction Using Structured Light and CNN

    Single-Shot 3D Shape Reconstruction Using Structured Light and Deep Convolutional Neural Networks 文章 ...

  6. 人脸对齐(十八)--Joint Face Alignment and 3D Face Reconstruction

    Joint Face Alignment and 3D Face Reconstruction(2016) 本文主要提出了一种新的方法来解决任意姿态和表情的2D人脸图片的特征点定位和3D人脸重构.该方 ...

  7. [读论文]弱监督学习的精确 3D 人脸重建:从单个图像到图像集-Accurate 3D Face Reconstruction with Weakly-Supervised Learning:From

    论文地址:Accurate 3D Face Reconstruction with Weakly-Supervised Learning:From Single Image to Image Set ...

  8. 论文阅读(3):Image-Based 3D Object Reconstruction:State-of-the-Art and Trends in the Deep Learning Era

    论文标题:Image-Based 3D Object Reconstruction:State-of-the-Art and Trends in the Deep Learning Era 论文类型: ...

  9. 【论文阅读】A Point Set Generation Network for 3D Object Reconstruction from a Single Image

    论文题目: A Point Set Generation Network for 3D Object Reconstruction from a Single Image (由单张图像进行三维物体重建 ...

最新文章

  1. 数字图像处理——第九章 形态学图像处理
  2. Swift之深入解析构造过程和析构过程
  3. iOS开发的一些奇巧淫技2
  4. java调度:(二)在项目中调度策略的选择
  5. 取重复记录最大的id列表
  6. OCEval-动态执行ObjectiveC的热修复方案
  7. 浅谈逆向——从案例谈OD的使用(OD的使用2)
  8. Linux日志系统与日志库zlog
  9. 局部图像运动复原matlab,运动模糊图像复原算法实现及应用.docx
  10. 【财经期刊FM-Radio|2021年03月02日】
  11. 群晖7.X版安装cpolar内网穿透套件
  12. 用VBA程序开发Excel工具
  13. 【过滤器】(1)过滤器原理、使用方式的简单介绍
  14. 墨尘 - UE4 入门教程笔记 —— 二
  15. 微信小程序获取用户信息后的解密操作
  16. 农历公历万年历互查系统
  17. 一起领略css3动画的强大
  18. 亿道信息丨12.2英寸加固平板丨三防平板丨工业平板丨货物追踪好助手
  19. 数学建模——房屋贷款问题——python实现
  20. blur事件和ajax,js关于blur事件阻塞click事件

热门文章

  1. 【华为OD机试真题 Python】简易压缩算法
  2. 煙青色的雨,煙青色的鼓浪嶼
  3. jq.html()改变颜色,jquery怎么更改css样式?
  4. Java Script 一些有趣易上手的小项目
  5. c语言写一元一次函数图像,【仿真】绘制一次函数图像
  6. 怎么把多张动图拼在一起?怎样制作动态拼图?
  7. Flash 系列:Nor/Nand/OneNand
  8. 阅读论文:Suggestive Annotation: A Deep Active Learning Framework for Biomedical Image Segmentation
  9. CAEE广东家电配件展-家电零部件展——CAEE家电与电子电器供应链博览会
  10. 【Deep Learning 1】GA遗传算法