室内场景的语义重建是指场景理解和物体重建。 现有作品要么解决了这一问题的一部分,要么专注于独立的对象。在本文中,我们弥补了理解和重构之间的差距,提出了一种从单一图像中联合重构房间布局、对象包围盒和网格的端到端解决方案。我们的方法建立在整体场景上下文的基础上 而不是分别解决场景理解和对象重建,并提出了一个由三个组成部分的从粗到细的层次结构:
从室内图像进行语义重建显示了其在室内设计和房地产等应用中的独特重要性。 近年来,计算机视觉和图形社区的研究人员对该主题的兴趣日益增长。 然而,深度感知固有的模糊性,现实环境的混乱和复杂性使得仅从单个图像完全恢复场景上下文(语义和几何)仍然具有挑战性。(缺陷)
先前的工作试图通过各种方法来解决它。场景理解方法[38,14,3]获得房间布局和室内物体的3D边界框而没有形状细节。场景级重构方法使用上下文知识来恢复物体形状(房间布局和对象位置)以进行场景重建,但是目前大多数方法都采用深度或体素表示[39、22、46、19]。体素网格比框体具有更好的形状描述,但其分辨率仍然有限,体素质量的提高成倍地增加了计算成本,这在场景级重建中更为明显。网格检索方法[17、15、16]使用3D模型检索模块改善了场景重建中的形状质量。 由于这些方法需要渲染或模型搜索的迭代,因此网格相似度和时间效率取决于模型存储库的大小,并引起了更多关注。面向对象的网格重建在效率和准确性方面均显示出优势[50、10、30、18、9],其中目标网格是在其自己的以对象为中心的坐标系中端对端地预测的。 考虑到对象对齐,遮挡关系和其他图像背景的挑战,在高级别网格重建,预测对象孤立实例的情况下可能无法产生理想的结果。 尽管Mesh R-CNN [9]能够从一个图像中预测多个物体的网格,但是它的面向对象的方法仍然忽略了场景的理解,并遭受了在立体像素上生成网格的假象。 ***到目前为止,就作者所知,几乎没有作品同时考虑了网格重构和场景上下文(房间布局,相机姿态和对象位置)来获得整体3D效果 ***
为了弥合场景理解和对象网格重建之间的差距,我们将它们与联合学习结合在一起,并同时预测房间布局,相机姿势,3D对象边界框和网格(图1)。 其观点是,对象在场景中网格化,这有助于3D对象检测,而3D检测提供了对象对齐,使以对象为中心的实例级重建成为可能。
与体素网格不同,重建网格的坐标是可区分的,因此可以通过将输出网格与场景点云进行比较(例如,在SUN RGB-D [41]上)来进行联合训练。 通过以上设置,我们观察到在场景理解和网格重建方面的性能可以进一步提高,并在SUN RGB-D [41]和Pix3D [42]数据集上达到最新水平。总而言之,我们列出了我们的贡献如下:
自从单张照片进行形状推断的第一项工作[37]以来,单视图场景重建在计算机视觉和图形方面提出了一项艰巨的任务。 对于室内场景重建,难度随着杂波,遮挡和物体多样性等的复杂性而增加。
早期作品仅关注房间布局估计[12,21,25,5,35],以表示带有边界框的房间。 随着CNN的发展,人们开发了更多的方法来估计布局以外的对象姿势[7,14,1]。 尽管如此,这些方法仍限于对每个家具的3D边框的预测。 为了恢复物体的形状,一些方法[17、16、15]采用形状检索方法从数据集中搜索外观相似的模型。 但是,其准确性和时间效率直接取决于数据集的大小和多样性
由于存在大量不同类别的室内物体,因此实例级别的场景重建仍然存在问题。 这导致对象形状的高维潜在空间受到各种几何形状和拓扑的影响。 为了首先解决单个对象的重建问题,有些方法以点云[8,26,20,29],面片[10,51]和图元[45,47,32,6]的形式表示形状,这些形状适用于复杂的拓扑,但是 需要后处理以获得网格。 体素网格[4,23,49]的结构是规则的,同时在分辨率和效率之间保持平衡,因此需要使用Oc树来改善局部细节[36,44,51]。 一些方法使用有符号距离场[31]和隐式曲面[2,28,52,27]的形式产生令人印象深刻的网格结果。但是,这些方法既费时又计算量大,因此在场景中重建所有对象不切实际 。 另一种流行的方法是从模板[50、10、18]重构网格,但是重构网格的拓扑受到限制。 到目前为止,最先进的方法已修改了网格拓扑以逼近地面真相[30,43]。 但是,现有方法无法估计以对象为中心的系统中的3D形状,因此无法直接应用于场景重建。
与我们最相关的作品是[22,46,19,9],它们将单个图像作为输入并在场景中重构多个对象形状。 但是,方法[22、46、19]设计用于分辨率有限的体素重建。 Mesh R-CNN [9]生成对象网格,但是在不考虑场景上下文(房间布局,对象位置等)的情况下,将对象作为孤立的几何体进行静止处理。 MeshR-CNN使用立体像素作为中间表示,并且存在分辨率受限的问题。与上述工作不同,我们的方法将以对象为中心的重建与3D场景理解相结合,实现了房间布局,相机姿态,对象边界的联合学习 框和单个图像的网格
我们在图2a中说明了我们的方法的概述。网络体系结构遵循“盒中盒”的方式,由三个模块组成:1.布局估算网络(LEN); 2. 3D对象检测网络(ODN); 3。 网格生成网络(MGN)。 我们首先从单个图像中使用Faster R-CNN预测2D对象边界框[34]。 LEN将完整图像作为输入并产生相机姿势和布局边界框。 在对对象进行2D检测后,ODN会在相机系统中检测3D对象边界框,而MGN在其以对象为中心的系统中生成它们的网格几何形状。 我们通过将所有网络的输出与联合训练和推理一起嵌入来重建全场景网格,其中将MGN的对象网格缩放并放置到其边界框(通过ODN)中,并通过摄像机姿势(通过LEN)转换为世界系统 。 我们将在本节中详细说明每个网络的详细信息。
figure2 :我们的方法概述。
(a)我们的方法的层次结构遵循“盒中盒”的方式,使用三个模块:布局估计网络(LEN),3D对象检测网络(ODN)和网格生成网络(MGN)。 通过将它们与联合推理一起嵌入来重建全场景网格。
(b)在LEN和ODN中我们学习目标的参数
为了使布局和对象的边界框易于学习,我们将一个框参数化为先前的工作[14](图2b)。 我们将世界系统设置为位于相机中心,其垂直轴(y-)垂直于地板,并且其向前轴(x-)朝向相机,因此相机姿态R(β,γ)可以由俯仰决定 和rollangles(β,γ)。 在世界系统中,可以通过3D中心C∈R3,空间大小∈R3,方位角θ∈[-π,π)确定盒子。 对于室内物体,3D中心C由其2D投影c∈R2表示在像平面上,其距摄像机中心的距离为R。 给定相机固有矩阵K∈R3,C可由下式表示:
二维投影中心c可以进一步通过cb +δ解耦。c划分二维边界框中心,δ∈R2是要学习的偏移量。 从2D检测到3D边界框角,网络可以用F(I |δ,d,β,γ,s,θ)∈R3×8表示。 ODN估计每个对象的盒属性(δ,d,s,θ),LEN通过布局盒(C,sl,θl)决定相机姿态R(β,γ)
物体检测网络(ODN):在室内环境中,物体姿态通常遵循一组内部设计原则,使其成为可以学习的潜在模式。 通过解析图像,先前的工作要么在对象上智能地预测3D框[14、46],要么仅考虑成对关系[19]。 在我们的工作中,我们假设每个对象在其周围环境之间都具有多边关系,并在预测其边界框时将所有房间内的对象都考虑在内。网络如图3所示。我们的方法受到持续关注度提高的启发 2D对象检测中的机制[13]。 对于3D检测,我们首先使用ResNet-34 [11]从2D检测中客观地提取外观特征,然后使用[13,48]中的方法将2D对象框之间的相对位置和大小编码为几何特征。 对于每个目标对象,我们使用对象关系模块[13]计算其与其他对象的关系。 它采用分段特征求和,该特征求和由目标与其他对象在外观和几何形状上的相似性加权,在图3中称为“注意总和”。然后,我们将目标对象的关系特征逐元素添加并回归每个框 带有两层MLP的参数in(δ,d,s,θ)。 对于室内重建,对象关系模块反映了物理世界的内在意义:对象通常与相邻或外观相似的其他对象具有更强的关系。 我们在消融分析中证明了其在改善3D对象检测方面的有效性。
布局估计网络(LEN)。LEN可以预测世界系统中的相机姿态R(β,γ)及其3D框(C,sl,θl)。 在这一部分中,我们采用与ODN相同的体系结构,但删除了相关特征。(β,γ,C,sl,θl)在ResNet之后为每个目标对象具有两个完全连接的层进行回归。 与[14]相似,通过学习与平均布局中心的偏移量来预测3D中心。
我们的网格生成网络通过一项最新工作直接解决了主要问题,即拓扑修改网络(TMN)[30]:TMN通过变形和修改网格拓扑来近似对象形状,其中需要预先定义距离阈值才能删除 与目标形状分离的面孔。 但是,为不同比例的对象网格给出通用阈值并非易事(请参见图5e)。 一种可能的原因是室内物体在不同类别之间的形状差异较大。 另一个原因是复杂的背景和遮挡通常会导致无法估算出精确的距离值。
密度与 距离:与TMN不同,在TMN中使用严格距离阈值进行拓扑修改,我们认为是否保留脸部应由其局部几何形状确定。 在这一部分中,我们提出一种自适应方法,该方法基于地面真相的局部密度来修改网格。 我们将pi∈R3设置为重构网格上的一个点,qi∈R3对应于地面真相上最近的邻居(见图4)。 我们设计了一个二元分类器f(*)来预测方程2中的piis是否接近地面真实网格。其中N(qi)是地面真实网格的qion的邻居,D(qi)定义为其局部密度。 这个分类器是根据我们的见识设计的:在形状近似中,如果一个点属于地面真相的邻居N(∗),则应该保留该点。 我们还观察到,与使用距离阈值相比,该分类器在不同的网格比例下显示出更好的鲁棒性(参见图5)。
边缘与 面:我们选择切除网格边缘以进行拓扑修改,而不是移除面。 我们随机采样网格边缘上的点,并使用分类器f(∗)剪切平均分类得分较低的边缘。 考虑到切割假边缘可以减少因边缘损失而造成的错误连接[50],并创建紧凑的网格边界。
网格生成网络。我们在图4中说明了网络架构。它以2D检测为输入,并使用ResNet-18生成图像特征。 我们将检测到的对象类别编码为一个热点向量,并将其与图像特征连接起来。 根据我们的观察,类别代码提供了形状先验并有助于更快地逼近目标形状。 增强的特征向量和模板球体被馈送到AtlasNet [10]中的解码器中,以预测球体上的形变位移,并输出拓扑不变的合理形状。 边缘分类器与形状解码器具有相同的体系结构,其中最后一层被完全连接的层替换以进行分类。 它共享图像特征,将变形的网格作为输入,并预测f(∗)以删除多余的网格。 然后,我们在网络上附加边界优化模块[30],以优化边界边缘的平滑度并输出最终网格。
在本节中,我们用相应的损失函数来总结学习目标,并描述我们的联合损失端到端培训.
单一损失:ODN预测(δ,d,s,θ)恢复相机系统中的3D对象框,LEN产生(β,γ,C,sl,θl)代表布局框,并转换相机姿势 3D对象进入了世界体系。 由于直接回归绝对角度或长度而损失L2容易出错[14,33]。 我们通过使用分类和回归损失Lcls,reg = Lcls +λrLreg优化(θ,θl,β,γ,d,s,sl)与它们保持一致。 有关详细信息,请参考[14]。 由于Candδ是通过与预先计算的中心的偏移量计算得出的,因此我们用L2loss对其进行预测。 对于MGN,我们采用倒角损耗Lc,边缘损耗Le,边界损耗Lbas [10、50、30]和交叉熵损耗Lce来修改网格生成中的边缘。
联合损失:我们基于以下两个见解定义了ODN,LEN和MGN之间的关节损失:
1、相机姿态估计应改善3D对象检测,反之亦然;
2、场景中的对象网格呈现出的空间占用率应该有益于3D检测,反之亦然。
首先,我们采用合作损失Lcofrom [14],以确保布局和对象框的预测世界坐标与地面真实性之间的一致性。 第二,询问场景中靠近点云的重建网格。 它通过将网格坐标与地面真实性对齐来显示全局约束。
在整个系统中,pan分别表示重构的网格Mi和地面真实表面上的一个点。物体的个数为| Si |,表示Si上的点数。 与单个对象网格不同,实景点云通常比较粗糙且部分覆盖(使用深度传感器扫描),因此我们不使用倒角距离来定义Lg。
其中前三项为个体损失inODN、LEN和MGN,后两项为联合项。是用来平衡它们重要性的权重
数据集:我们在实验中根据提供的真实数据的类型使用了两个数据集。
1)SUN RGB-Ddataset [41]由10,335张真实的室内图像组成,具有la-beled 3D布局,对象边界框和粗糙的点云(深度图)。 我们使用官方的训练/测试区和NYU-37对象标签[40]来评估布局,相机估计和3D对象检测。
2)Pix3Ddataset [42]包含395种具有9个类别的家具模型,它们与10,069张图像对齐。我们将其用于网格重建,并使训练/测试拆分与[9]保持一致。
补充文件中列出了从NYU-37到用于场景重建的Pix3D的对象标签映射。指标:我们的结果是在场景理解和网格重建指标上进行测量的。 我们用联盟(IoU)上的平均3D交集评估布局估计。 相机姿态由平均绝对误差评估。 使用所有对象类别的平均精度(AP)测试对象检测。 我们使用倒角距离测试单对象网格生成,如先前的工作[9,30],并使用公式3评估场景网格。
实现:我们首先在COCO数据集[24]上训练2D检测器(图2a),然后在SUNRGB-D上对其进行微调。 ODN和LEN都具有带有ResNet-34 [11]的图像编码器,而MGN带有ResNet-18。 在LEN和ODN中,我们采用两层MLP来预测每个目标。 在MGN中,模板球体具有2562个顶点,单位ra-dius。 我们剪切平均分类得分低于0.2的边缘。 由于SUN RGB-D不提供用于3D监视的背景网格,因此Pix3D每个图像仅带有一个对象,而没有布局信息。 我们首先分别训练ODN,在SUN-RGBD上的LEN和在Pix3D上的MGN,分别以32e的批量大小和1e-3的学习率训练(每20个周期以0.5的比例缩放,总共100个周期)。 然后,我们将Pix3D组合到SUN RGB-D中,以提供网格监控,并使用lossLin公式4联合训练所有网络。这里,我们使用一个分层批处理(每个批处理包含一个具有Nobjectimages的场景图像),并将学习率设置为1e-4(永远按0.5缩放) 5个纪元,总共20个纪元)。 我们在补充文件中解释了我们网络的完整架构,培训策略,时间效率和参数设置。
在这一部分,我们评估我们的方法在物体和场景层次上的定性表现。
对象重建:我们将MGN与Pix3D上最新的网格预测方法[9,10,30]进行比较。 因为我们的方法旨在在真实场景中完成场景重建,所以我们训练了所有带有对象图像但没有遮罩的输入方法。 对于Atlas-Net [10]和拓扑修改网络(TMN)[30],我们还将对象类别编码为图像特征,从而实现公平的比较。 TMN和我们的方法都经过“变形+修改+细化”过程的训练(参见[30])。 对于Mesh R-CNN [9],它涉及对象识别阶段,我们直接与他们论文中报道的结果进行比较。 比较结果如图5所示,从中我们观察到从真实图像进行重构具有挑战性。 室内家具通常被杂物(例如书架上的书)覆盖。 根据Mesh R-CNN的结果(图5b),它从低分辨率的体素网格(243vox-els)生成网格,从而在网格表面上产生明显的伪影.TMN从AtlasNet进行了改进并完善了形状拓扑,但是其距离阈值τ确实 对于室内环境中的所有形状(例如,图5e中的凳子和书架),都没有显示出一致的适应性。 我们的方法依赖于边缘分类器。 它根据局部密度切割边缘,使拓扑修改适应各种对象类别之间不同的形状比例(图5f)。 结果还表明,我们的方法保留了更好的边界平滑度和细节。
场景重建:因为这是第一次工作,结合场景理解和网格生成以进行全场景重建,我们在图6的SUN RGB-D测试集上说明了我们的结果(请参阅补充文件中的所有样本)。 请注意,SUN RGB-D不包含用于训练的真实对象网格物体。 我们在不同场景类型和复杂性下呈现结果,以测试我们方法的鲁棒性。 图6中的第一行显示了具有大量重复和遮挡的场景。 我们在第二行展示了对象定向混乱的情况。 第三行和第四行表示各种场景类型下的结果,第五行表示处理混乱和“视线外”对象的性能。 所有结果表明,在复杂性不同的情况下,我们的方法通过合理的对象放置来保持视觉上吸引人的对象网格。
我们在四个方面比较了我们方法的定量表现与现状:
1.布局esti-mation;
2. 相机的姿势预测;
3. 三维物体检测;
4.物体和场景网格重建。
网格重建在Pix3D上进行了测试,而其他重建在SUN RGB-D上进行了评估。 我们还通过取消联合训练来消除我们的方法:每个子网络都经过单独训练,以研究结合场景理解和对象重建的互补优势。
在SUN RGB-D上比较3D布局和相机姿势估计。 我们报告平均IoU以评估布局预测(越高越好),以及俯仰和侧倾角的绝对绝对误差(以度为单位)以测试相机姿态(越低越好)。 请注意,我们的相机轴是用[14]定义的不同顺序(请参阅补充文件)
布局估计:我们将我们的方法与现有的布局理解作品进行了比较[3,15,14]。 如表1所示,对房间布局,对象边界框和网格的联合训练有助于改进布局估计,比最新技术提高2点。
摄像机姿态估计:摄像机姿态由R(β,γ)定义,因此我们估算俯仰角β和侧倾角γ具有地面真实性的绝对误差。 结果显示在表1中,我们观察到联合学习也有利于相机姿势估计。
3D对象检测:我们使用与[14]一致的基准研究对象检测,其中使用3D边界框IoU采用平均精度(mAP)。 如果与地面真相的IoU大于0.15,则认为检测结果为真阳性。 我们将我们的方法与表2中共享对象类别上现有的3D检测工作[3、15、14]进行了比较。所有对象类别的完整表都列在补充文件中。 比较表明,我们的方法大大改进了现有技术的方法,并不断提高了烧蚀版本。 原因可能有两个。 一是全局lossLgin联合学习涉及确保物理合理性的几何约束,另一是ODN中的多边关系特征有利于3D检测以预测空间占用。
我们还将我们的工作与[46]进行比较,以评估目标预测。 通过在NYU v2数据集[40]上训练它们的六个对象类别和真实的2D框,我们与它们保持一致。 结果报告在表3中。测试对象姿势时,对象平移,旋转和缩放出现错误。 我们建议读者参考[46]指标的设置。 结果进一步证明,我们的方法不仅获得了合理的空间占有率(mAP),而且还检索了真实的物体姿态。
网格重建:我们在对象和场景级别上都评估了网格重建。 对于对象重建,我们将MGN与表4中的最新技术进行比较[10,30]。我们用两种版本烧蚀我们的拓扑修改方法:1.去除面而不是边缘(不包括边缘) ; 2.使用距离阈值[30]代替我们的局部密度(w / o。dens)进行拓扑修改。结果表明,每个模块都提高了平均ac精度,并将它们结合起来将我们的方法发展为最新技术 。 一个可能的原因是,使用局部密度会保留小规模的拓扑结构,并且在避免正确的网格修改方面,刀刃比去除面更易碎。 场景的网格重建使用Lgin方程3进行评估,其中损失的计算是从每个对象的点云到重建网格上最近邻的平均距离。 与单对象重建不同,场景网格是在世界系统中考虑对象对齐方式进行评估的。 在我们的测试中,通过共同学习,Lg从1.89e-2降低到1.43e-2
为了更好地理解每种设计对最终结果的影响,我们使用五种配置对方法进行了消融:
我们还观察到,全局损失Lg对目标检测和场景重建显示出最大的影响,而合作损失Lg则比其他布局估计提供了更多的好处。 此外,随着物体检测性能的提高,场景网格损失减少。 根据直觉,对象对齐会显着影响网格重建。 在SUN RGB-D上微调MGN无法改善Pix3D上的单个对象重建。 它反映了对象重建依赖于干净的网格进行监督。 以上所有事实说明,用于全场景重建的目标对象实际上是交织在一起的,这使得联合重建成为实现对整体场景理解的可行解决方案。
我们从单个图像开发端到端的室内场景重构方法。 它嵌入场景理解和网格重建以进行联合训练,并自动生成房间布局,摄像机姿势,对象边界框和网格,以完全恢复房间和对象的几何形状。 大量的实验表明,我们的联合学习方法显着提高了每个子任务的性能,并提高了技术水平。 它表明,每个单独的场景解析过程对其他场景都具有隐式8的影响,这表明有必要对它们进行整体培训以进行整体3D重建。 我们的方法的局限性是需要密集的点云来学习对象网格,而在现实场景中获取对象网格很费力。 为了解决这个问题,在将来的工作中,一种自我弱监督的场景重建方法将是理想的解决方案。