Paper Reading

PanoContext

2020-03-09  本文已影响0人  喵小七的喵

本文只介绍PanoContext论文中核心部分。以下为原文翻译。

如图2所示,我们的输入是一个全景图,该全景图覆盖了以等距投影表示的360°水平和180°垂直FOV。我们的输出是场景的3D盒子表示。我们采用曼哈顿世界假设,假设场景由与三个主要方向对齐的3D长方体组成。

我们的方法首先生成整个房间的假设,然后对它们进行整体排名。假设生成的挑战是使用可管理数量的假设来维持高召回率,而整体排名的挑战是要具有较高的准确性。为了产生假设,我们首先根据检测到的线段通过霍夫变换估计消失点。然后,我们根据线段生成3D房间布局假设,并通过计算的几何背景和全景图上的方向图来验证它们。对于对象,我们使用矩形检测和图像分割生成3D长方体假设。接下来,我们使用采样生成整个房间的假设,每个假设都有一个3D房间和内部多个3D对象。为了选择与图像证据相一致且在结构上有意义(即满足所有上下文约束)的最佳假设,我们提取各种特征并训练SVM对这些假设进行整体排名。最后,我们在本地调整最高假设,并通过添加,删除和交换对象来寻找可最大化SVM得分的解决方案。

1.  全景的消失点估计

我们在全景图上检测线段,并使用它们对消失的方向进行投票(图3)。为了充分利用先前在标准相机照片上进行线段检测的优势,我们将全景图像转换为一组透视图图像,并在每个透视图中运行最新的线段检测(LSD)算法图像,然后将所有检测到的线段扭曲回全景图。

3D空间中的线段对应于全景球体上大圆的一部分,并在全景图像中显示为曲线。对于每条直线l,我们使用n表示其大圆所在的平面的法线方向。与直线l相关联的消失方向v应该垂直于n。我们使用霍夫变换查找所有消失的方向。通过将二十面体的三角形递归地划分,我们将单位球体均匀地划分为bins。线段l将对中心nb满足nb·n = 0的所有面元进行投票。然后,我们找到三个相互正交的bins,它们的投票总数之和为三个消失的方向。之后,我们捕捉所有线段以使其消失的方向对齐。

2.  房间布局假设生成

由于房间布局对于在3D中生成良好的对象假设至关重要,因此我们首先获得一些好的房间布局,以减轻下一步3D对象检测的负担。我们随机生成许多房间布局假设,并使这些假设与全景图上像素级表面法线方向估计一致。

可以通过采样线段作为房间角来生成3D房间布局。在几何上,除了一些退化的情况外,有5条线确定了3D空间中的长方体。根据与消失方向的关联,我们使用从上/下,前/后和右/左的两个标签对每个线段进行分类,并随机采样五条非退化线以形成房间布局假设。为了在保留较好的假设的同时减少假设的数量,我们使用表面法线和全景图中像素方向的表面方向估计的一致性来对这些假设进行排名,并选择前50个假设。

方向图(OM)和几何上下文(GC)为普通透视图图像提供像素级表面法线估计。我们将全景图转换为多个重叠的透视图图像,并分别在这些图像上应用OM和GC并投影结果回到全景图。从带有手动标记的ground truth墙方向的训练数据中,我们观察到GC在底部提供了更好的法线估计(可能是因为模型是使用稍微向下看的图像进行训练的),而OM在图像的上半部分效果更好(可能是不太凌乱),如图4所示。因此,我们结合OM的顶部和GC的底部来评估房间布局。

3.  3D对象假设生成

生成一组较好的3D房间布局假设后,下一步是为房间中的主要对象生成3D长方体假设。为了获得较高的假设生成召回率,我们使用两种补充方法:一种基于检测的方法,从检测到的矩形表面构建长方体;另一种是基于分割的方法,将长方体与二维投影进行拟合。

基于检测的长方体生成:我们将输入的全景图正交投影到六个轴对齐的视图,并分别在每个投影中运行一个矩形检测器(图5(上))。我们的矩形检测器类似于可变形部件模型,但没有类似弹簧的约束。我们在矩形的每个角和每个边缘的中间定义一个部分。我们使用SUN原始数据集包含382个带注释的长方体图像,并将每个长方体表面转换为轴对齐的矩形以独立地训练每个部件检测器。在测试过程中,我们首先计算所有零件检测器的响应图,然后根据模型对它们进行汇总。我们设置了较低的阈值以确保较高的召回率。然后,我们从3D矩形生成长方体假设。

基于分割的长方体生成:某些对象(例如床和沙发)的边缘不牢固,并且无法通过矩形检测可靠地检测到。因此,我们通过选择性搜索从图像分割(图5(底部))生成其他长方体假设。具体来说,对于每个分割,我们评估它的形状如何可以解释为一个长方体的投影。我们通过在穿过三个消失点的线段边界随机采样6条射线来创建许多长方体。在这些长方体中,我们选择最佳的长方体,其投影与该分割的联合得分的交点最大。

4. 全室场景假设生成

在获得房间布局和对象的假设池之后,我们生成了一个全房间假设池,每个假设由一个房间布局组成,其中包含几个长方体对象。为了通过可管理的多个假设实现较高的召回率,我们对每个长方体的语义类型进行分类,并使用成对上下文约束来指导我们的抽样。

语义标签:直觉上,语义对象类型与房间中的长方体形状及其3D位置密切相关。我们训练一个随机森林分类器,以根据长方体的大小,纵横比和在房间中的相对位置来估计长方体的语义类型。并且我们实现了大约70%的多标签分类精度。这表明房间和对象之间的上下文非常强烈。

成对约束:场景对象之间存在很强的成对上下文约束,例如床头柜通常在床边,电视机通常面对床。对于两种对象类型,我们从训练数据库中收集一个对象对的所有实例,每种类型一个,并在一个房间中共存。然后,我们以一对物体之间的位移为样本,通过收集到的所有样本捕获成对的位置约束。这样的一组样本被绘制出来在图6(b)中。在测试一对对象的有效性时,我们计算它们的位移并在样本集中搜索K个最近邻。到K个最近邻居的平均距离将通过Sigmoid函数转换为概率。

整个房间的采样:我们生成如下完整的场景假设:

1.根据其与GC和OM的一致性(一致性更高,概率更高)随机选择房间布局。

2.根据先验统计确定每种类型的实例数和实例的采样顺序。图6在左侧显示了一个顺序列表。

3.从第一个对象开始,根据自下而上的分数随机选择一个长方体,例如矩形检测得分,语义分类器得分。得分较高的假设将以较高的概率进行抽样。

4.转到下一个对象,我们使用所有先前选择的对象评估所有长方体假设的成对上下文约束,并将其自下而上的分数合并。根据合并分数将随机选择一个新对象。例如,一元自下而上的分数可以有效地修剪无效假设(图6(a)),而成对得分可以进一步提高(图6(c))。如图6(d)所示,床头上的矩形被进一步强调,而窗口上的矩形被削弱。我们可以看到围绕真实绘画的假设都是很高的分数,因此我们有更高的机会获得正确的对象。

5.给定到目前为止所有采样的对象,重复上一步,直到所有实例都被采样为止。

与完全随机抽样相比,我们的方法可以避免明显不合理的场景假设,从而确保在可管理的样本数量下实现较高的召回率。图7显示了一些采样结果。

5.  数据驱动的整体排名

在生成一长串全屋假设后,我们训练了一个SVM模型对它们进行排名,并从整体上为全屋选择最佳假设。

线性SVM:我们的目标是学习一个从全景图x到场景解析结果y的映射,因为y是一个结构输出,我们将这个问题表示为一个0-1 loss的支持向量机结构,即一个二元线性SVM。我们定义了一个特征向量f (x, y) 全景 x 及其假设 y。二进制标签l表示y是否足够接近手动注释的ground truth

在训练过程中,对每一个全景图xn进行采样假设,我们采样M个假设

我们使用我们的训练集中的所有N个全景图通过

的MN对来训练二值SVM。由于我们通常有数百个全景图和数千个假设,因此在测试过程中支持向量机大约有100万个训练数据,因此选择支持向量机得分最大的假设作为结果。

匹配成本

度量整个房间假设y和ground truth y*之间的差。我们首先通过匹配消失的方向和房间中心来注册这两个场景。对于具有相同语义类型的所有长方体对(每个场景中的一个),我们将其距离计算为相应顶点之间的平均3D距离。然后,我们搜索二分匹配,以最小化每个语义标签的距离。

是所有两方匹配成本加上两个场景中不匹配的长方体的恒定损失的总和。我们用这个分数来决定训练数据的标签。因为很难找到一个好的阈值,所以我们选择两个保守的阈值来确保所有正值都是好的,所有负值都是不好的。由于无法可靠地判断其质量,因此我们将所有其他数据都放在中间。

整体特征:特征向量f(x; y)是对象级特征fobject和房间级特征f room的串联。因此,它对自下而上的图像证据和自上而下的上下文约束进行编码。SVM使用训练数据以数据驱动的方式了解所有信息之间的相对重要性。fobject衡量每个单个对象的可靠性。在每个对象假设上,将提取矩形检测器分数,分割IOU分数,OM和GC的每个通道上的sum /mean / std,颜色分布熵和2D投影大小,并将其连接到列向量中。我们将类别中所有实例的特征的总和/均值/最大值/最小值连接为该类别的特征。对于没有对象的类别,我们将feature设置为零。我们将所有对象类别的特征连接为一个向量作为fobject。由于类别的数量是固定的,因此总尺寸也是固定的。

非参数房间对齐:房间水平特征f room检查是否可以在现实中找到假设的结构,即房间布局和所有对象的布置。我们通过将假设y与训练集中的所有手动3D注释{y1*,y2*,.. yN*}结合起来,提出了一种非参数数据驱动的暴力环境模型。注册两个场景后,我们可以有效地计算两个场景中所有长方体对之间的距离。距离定义为中心距离,联合上的体积交集和语义类型一致性的组合。由于我们的训练数据量有限,因此我们在ground truth间应用各种变换T来增加数据库的多样性。具体来说,我们增加/减小房间的大小,同时保持房间中所有对象的相对位置不变,或者保持它们与墙的绝对距离固定。我们进一步允许对整个场景进行通用缩放。房间级别特征Froom定义为在这些变换下,假设与训练数据中所有房间之间的假设之间的10个最小匹配成本的累加总和和乘积。

仅限房间的颜色模型:为了将所有对象一起考虑,我们将图像区域划分为前景(对象覆盖的像素)和背景(其他像素)。在每个区域中,我们提取fobject中定义的相似特征。这提供了整合自下而上和自上而下信息的上下文信息,并且它是froom的一部分。

局部调整:支持向量机返回的最高假设可能会受到我们假设池规模的限制。因此,我们对一些高分假设应用了局部改进,以得到具有更高SVM分数的结果。具体来说,我们使用成对上下文约束删除,添加或交换对象,或者完全重新采样一些新房间。如果生成的结果具有更高的SVM评分,我们将接受这一新结果,并围绕它进行另一次局部优化。



参考文献:

[1] PanoContext: A Whole-room 3D Context Model for Panoramic Scene Understanding.  http://panocontext.cs.princeton.edu/paper.pdf

上一篇 下一篇

猜你喜欢

热点阅读