A Point Set Generation Network for 3D Object Reconstruction from a Single Image

摘要

利用深度神经网络生成三维数据已经引起了学术界越来越多的关注。大多数现存的作品诉诸于规则的表示,如体积网格或图像集合;然而,这些表示模糊了三维形状在几何变换下的自然不变性,并且还存在许多其他问题。在本文中,我们解决了从单幅图像进行三维重建的问题,生成了一种直接形式的输出点云坐标。伴随着这个问题出现了一个独特而有趣的问题,即输入图像的真值形状可能是模糊的。在这种非正统的输出形式和基础真理固有的模糊性的驱动下,我们设计了新颖有效的架构、损失函数和学习范式。我们的最终解决方案是一个条件形状采样器,能够从输入图像中预测多个可信的3D点云。在实验中,我们的系统不仅在基于单图像的三维重建基准上优于最先进的方法;但它也显示出较强的三维形状补全性能和良好的多重可信预测能力。

关键词

无。

1. Introduction

当我们试图在3D领域复制当前深度卷积架构的成功时,我们面临着一个基本的代表性问题。信号域中判别学习和生成学习的现有深度网络架构非常适合定期采样的数据,如图像、音频或视频。然而,大多数常见的3D几何表示,如2D网格或点云不是规则结构,并且不容易适合利用这种规则的架构用于权重分担等。这就是为什么大多数使用深度网络处理3D数据的现有工作都诉诸于体积网格或图像集合(几何图形的2D视图)。然而,这样的表示导致采样分辨率和净效率之间难以权衡。此外,它们嵌入了量化工件,模糊了刚性运动下数据的自然不变性等。

图1所示。从单幅图像可以重建完整物体的三维点云。每个点都被想象成一个小球体。重建在两个视点(沿方位角0和90)观看。分割掩码用于指示图像中对象的范围。

在本文中,我们解决了基于该对象的单个图像生成该对象的三维几何形状的问题。我们探索基于点云表示的三维几何生成网络。与使用几何原语或简单网格的CAD模型相比,点云表示在表示潜在的连续3D几何图形方面可能没有那么有效,但对于我们的目的而言,它有许多优点。点云是一种简单、统一的结构,更容易学习,因为它不需要编码多个原语或组合连接模式。此外,当涉及到几何变换和变形时,点云允许简单的操作,因为连接性不允许必须更新。我们的管道推断由输入图像和推断的视点位置确定的3D帧中的点位置。

鉴于这种非正统的网络输出,我们面临的挑战之一是如何在训练期间测量损失,因为相同的几何形状可能在相同的近似程度上承认不同的点云表示。与通常的L2型损失不同,我们使用基于推土机距离(EMD)的运输问题解决方案,有效地解决了分配问题。我们利用对EMD的近似来提供速度以及确保端到端训练的可微分性。

我们的方法有效地尝试解决三维结构恢复的病态问题,从一个单一的投影使用一定的学习先验。该网络必须估计图像可见部分的深度,并对物体几何形状的其余部分产生幻觉,评估几种不同补全的合理性。从统计学的角度来看,如果我们能够完全描述地面真实空间的景观,或者能够相应地对合理的候选者进行抽样,那将是理想的。如果我们把它看作一个回归问题,那么它有一个相当独特和有趣的特征,这是由某些视图中固有的对象模糊性引起的。在这种情况下,2D图像有多个同样好的3D重建,这使得我们的问题与经典的回归/分类设置非常不同,在经典的回归/分类设置中,每个训练样本都有一个唯一的基础真值注释。在这种情况下,正确的损失定义对于获得最有意义的结果至关重要。

我们最后的算法是一个条件采样器,它从给定输入图像的估计地面真值空间中采样可信的3D点云。在合成数据和实际数据上的实验验证了我们方法的有效性。我们的贡献可以总结如下:

我们的系统源代码可以从 https://github.com/fanhqme/PointSetGeneration获取。

2. Related Work

2.1. 从单个图像进行3D重建

单幅图像的三维重建,而大多数的研究都集中在多视图几何上,如SFM和SLAM[10,9],理想情况下,人们期望可以从丰富的单视图图像中重建3D。

然而,在这种情况下,问题是不适定的,必须考虑先验因素。ShapeFromX[12,1]等早期工作对形状或环境照明条件做出了强有力的假设。[11,18]率先使用基于学习的方法来研究简单的几何结构。图像集合中的粗对应也可用于粗略的3D形状估计[14,3]。随着商品3D传感器的普及,RGBD数据库已被建立并用于训练基于学习的系统[6,8]。尽管这些方法已经取得了很大的进步,但仍然不能从单个图像中鲁棒地重建完整和高质量的形状。缺少更强的形状先验。

最近,引入了大型3D CAD模型存储库,如ShapeNet[4]。它们在3D重建任务中具有巨大的潜力。例如,[19,13]提出对已有的形状进行变形和重组,形成一个新的模型来拟合观察到的图像。这些系统依赖于高质量的图像形状对应,这本身就是一个具有挑战性和不适定的问题。

与我们的工作更相关的是[5]。给定一张图像,他们使用神经网络来预测潜在的3D物体作为3D体积。我们的工作与[5]之间有两个关键的区别:首先,[5]中的预测对象是一个3D体;而我们的是点云。如5.2节所展示和分析的,点集为神经网络形成了更好的形状空间,因此预测的形状更趋于完整和自然。其次,我们允许对单个输入图像进行多个重建候选。这个设计反映了一个事实,即一个单一的图像不能完全确定三维形状的重建。

2.2. 几何对象合成的深度学习

一般来说,如何以端到端方式预测几何形状的领域是一片处女地。特别是,我们的输出,3D点集,在深度学习社区仍然不是一个典型的对象。点集包含来自度量空间的无序样本。因此,等价类的定义一直到置换为止;此外,还必须考虑到地面距离。据我们所知,我们还没有意识到之前的深度学习系统具有预测此类对象的能力。

3. 问题和注释

我们的目标是从单个2D图像(RGB或RGB- d)中重建物体的完整3D形状。我们以无序点集S = {(xi, yi, zi)} N i=1的形式表示三维形状,其中N是预定义常数。我们观察到,对于大多数对象,使用N = 1024足以保留主要结构。

点集的一个优点是它的无序性。与深度图等基于2D的表示不同,所表示的对象没有拓扑约束。与3D网格相比,该点集只对表面上的点进行编码,效率更高。此外,当对象旋转或缩放时,坐标值(xi, yi, zi)会进行简单的线性变换,这与体积表示的情况相反。

为了对问题的不确定性建模,我们将基础真值定义为基于输入I的形状上的概率分布P(·|I)。在训练中,我们可以从P(·|I)中获取每个图像I的一个样本。

我们训练一个神经网络G作为P(·|I)的条件采样器:

式中Θ为网络参数,r ~ N(0, I)为对输入1进行扰动的随机变量。在测试期间,可以使用r的多个样本来生成不同的预测。

4. Approach

4.1. 概述

我们为点集构建条件生成网络的任务是具有挑战性的,这是由于无序的表示形式和基础真理固有的模糊性。这些挑战促使我们发明新的架构、损失函数和学习范式。具体来说,我们必须解决三个子问题:

点集生成器架构:预测点集的网络在文献中几乎没有研究,这给我们的设计选择留下了巨大的探索空间。理想情况下,网络应该充分利用其数据统计并拥有足够的表示能力。我们提出了一个具有两个预测分支的网络,一个分支在捕获复杂结构方面具有很高的灵活性,另一个分支利用几何连续性。参见第4.2节。

用于点集比较的损失函数:对于我们的新型预测,点集,如何测量尚不清楚预测与实际情况之间的距离。我们提出了两个点集的距离度量——倒角距离和大地震源距离。我们证明了这两个度量几乎在任何地方都是可微的,并且可以用作损失函数,但在捕获形状空间方面具有不同的性质。参见第4.3节。

地面真值的不确定性建模:我们从单幅图像中恢复三维结构的问题是不确定的,因此在训练和测试期间会产生地面真值的模糊性。描述给定输入的基础真值的模糊性是非常重要的,并且能够生成多个预测在实践中是可取的。令人惊讶的是,这个目标可以巧妙地通过简单地使用min函数作为上述建议的损失的包装器,或者通过条件变分自编码器来实现。参见第4.4节。

4.2. 点集预测网络

建立一个用于点集预测的网络是一个新的任务。我们以对复杂结构具有较强的表征能力为目标设计了一个网络,并充分利用了几何数据的统计特性。为了逐步介绍我们的网络,我们从一个简单的版本开始,逐步添加组件。

如图2(顶部)所示,我们的网络有一个编码器阶段和一个预测阶段。编码器将图像I和随机向量r的输入对映射到嵌入空间中。预测器以N × 3矩阵M的形式输出形状,每行包含一个点的坐标。

图2-PointOutNet结构

编码器由卷积层和ReLU层组成;此外,还包含了一个随机向量r,因此它会干扰来自图像i的预测。我们将如何使用r的解释推迟到第4.4节。预测器通过一个完全连接的网络生成N个点的坐标。虽然简单,但这个版本在实践中运行得相当好。

我们进一步改进了预测分支的设计,以更好地适应自然物体中常见的大而光滑的表面。上述的全连通预测器不能充分利用这种自然几何统计量,因为每个点都是独立预测的。图2(中)中的改进预测器利用了这种几何平滑特性。

这个版本有两个并行的预测器分支-一个全连接(fc)分支和一个反卷积(deconv)分支。fc分支像以前一样预测N1个点。反卷积分支预测大小为H × W的3通道图像,其中每个像素处的三个值是一个点的坐标,给出另一个H × W点。他们的预测后来被合并在一起,形成m中的整个点集。多个跳跃链接被添加,以促进编码器和预测器之间的信息流。

使用fc分支,我们的模型具有很高的灵活性,在描述复杂结构方面表现出良好的性能。通过反褶积分支,我们的模型不仅通过权值共享使参数更加精简;而且由于deconv和conv引起的空间连续性,对大型光滑表面也更友好。参见第5.5节的实验证据。

以上介绍了我们在Eq 1中网络G的设计。然而,为了训练这个网络,我们仍然需要设计一个合适的损失函数来预测点集,并使角色r用于多候选预测。我们将在接下来的两节中进行解释。

4.3. 点集之间的距离度量

一个关键的挑战是设计一个好的损失函数来比较预测的点云和地面真值。要插入一个神经网络,一个合适的距离必须至少满足三个条件:1)对点的位置可微;2)计算效率高,因为数据会被多次转发和反向传播;3)对集合中少量离群点(例如:豪斯多夫距离会失效)。

我们在r3中求子集之间的距离d,使损失函数L({S pred i}, {S gt i})的形式为:

其中i为训练样本,S predi和S gt i分别为每个样本的预测值和真实值。

我们提出了两个候选参数:倒角距离(Chamfer distance, CD)和地球移动距离(Earth Movers distance, EMD)[17]。

4.3.1. 倒角距离

我们将S1、S2的倒角距离定义为:

在严格意义上,dCD不是距离函数,因为三角不等式不成立。然而,我们使用术语距离来指代定义在点集对上的任何非负函数。对于每个点,CD算法在另一个集合中找到最近的邻居,并将距离的平方求和。作为S1和S2中点位置的函数,CD是连续的,分段平滑的。每个点的范围搜索是独立的,因此可以并行化。此外,像KD-tree这样的空间数据结构可以用来加速最近邻搜索。CD虽然简单,但在实践中产生了合理的高质量结果。

4.3.2. 地球移动距离

考虑S1、S2等大小的拟物3 s = |S1| = |S2|。A和B之间的EMD定义为:

其中φ: S1S2为双射。

EMD距离解决了一个优化问题,即分配问题。对于点集对的除零测度子集外的所有子集,在点的无穷小运动下,最优双射φ是唯一不变的。因此,EMD几乎在任何地方都是可微的。在实践中,EMD的精确计算对于深度学习来说过于昂贵,即使在图形硬件上也是如此。因此,我们实现了[2]给出的(1 + o)近似格式。我们为每个实例分配固定的时间,并逐步调整允许错误率以确保终止。对于典型的输入,该算法给出了高度精确的结果(近似误差在1%左右)。该算法易于在GPU上并行化。

4.3.3. 形状空间

尽管深层神经网络具有非凡的表达能力,但在预测物体的精确几何形状时,神经网络不可避免地会遇到不确定性。这种不确定性可能来自有限的网络容量,输入分辨率的使用不足,或者由于3D-2D投影中的信息丢失而导致的真实情况模糊。面对固有的无法精确解析形状的问题,神经网络倾向于预测一个平均形状,平均出不确定性空间。平均形状带有距离本身的特征。

在图3中,我们通过随机梯度下降最小化Es ~ S[L(x, S)]来说明EMD和CD在合成形状分布上的不同平均形状行为,其中S是给定的形状分布,L是距离函数之一。

图 3. EMD 和 CD 的平均形状行为。形状分布为:(a) 半径不等的圆形;(b) 沿对角线移动的尖弧形;(c) 长方形条形,四个角上随机分配一个正方形附件;(d) 条形,旁边以 0.5 的概率出现一个圆形圆盘。红点绘制的是根据 EMD 和 CD 计算出的平均形状。

图 4. 系统结构 通过插入分布建模模块,我们的系统能够生成多种预测结果。

在第一种和第二种情况中,存在一个连续变化的隐藏变量,即(a)中圆的半径和(b)中弧的位置。EMD 大致捕捉到了与隐藏变量平均值相对应的形状。与此相反,CD 会诱导出一种模糊形状几何结构的花哨形状。在后两种情况下,都存在分类隐藏变量:即角的位置(c),以及除了横条外是否还有一个圆(d)。为了解决不确定是否存在变化部分的问题,CD 的最小化方法将主体外的一些点分布在正确的位置上;而 EMD 的最小化方法则被严重扭曲。

4.4. 生成多种似是而非的形状

为了更好地模拟不确定性或固有的模糊性(例如单一视图中未见的部分),我们需要使系统能够生成分布式输出。我们希望传给 G 的随机变量 r(见公式 (1))能帮助它探索地面实况分布。然而,天真地将公式 (1) 中的 G 插入损失 (2) 来预测 S pred i 是行不通的,因为损失最小化会使随机性失效。我们发现了一种简单有效的不确定性建模方法:MoN(N 的最小值)损失:

通过给予 n 次机会来最小化距离,网络学会了在接收到不同的随机向量时分散其预测。在实践中,我们发现设置 n = 2 已能使我们的方法探索到真实空间。

原则上,要对不确定性进行建模,我们应该使用生成式框架,如条件 GAN(CGAN)[15] 或变异自动编码器(VAE)。其中一个关键因素是这些方法都有一个互补网络(GAN 中的判别器,或 VAE 中的编码器),它消耗目标模态(在我们的例子中是三维点集)的输入来生成预测或分布参数。然而,如何将三维点集输入深度神经网络仍是本文撰写过程中的一个未决问题。我们的点集表示法将大大受益于这一方向的未来进展。

图 5. 与 3D-R2N2 的视觉对比。我们的方法能更好地保留物体的细部结构。

图 6. 与 3D-R2N2 的定量比较。(a) 基于点集的指标 CD 和 EMD。(b) 基于体积表示的指标 1 - IoU。条形图越小误差越小。我们的方法在所有三个指标上都取得了更好的结果。

5. Experiment

5.1. 通过合成生成训练数据

首先,我们介绍一下我们的训练数据准备工作。我们采用从 CAD 物体模型渲染 2D 视图的方法。我们的模型来自 ShapeNet 数据集[4],该数据集包含大量经过人工清理的带纹理的 3D 物体模型。具体来说,我们使用了 220K 个模型的子集,涵盖 2000 个物体类别。许多现有的工作都采用了合成数据的方法 [5, 16]。

表 1. 三维重建比较(每个类别)。请注意,在单视图重建设置中,我们在所有类别中都获得了更高的 IoU。平均值是按类别计算的。在 13 个类别中的 8 个类别中,我们的结果甚至比给定 5 个视图的 3D-R2N2 更好。

对于每个模型,我们将其边界半球的半径归一化为单位 1,并对齐它们的地平面。然后,根据 Blinn-Phong 阴影公式和随机选择的环境贴图,将每个模型渲染成二维图像。在实验中,为了节省计算时间,我们使用了一个简单的局部光照模型。不过,我们的方法可以直接扩展到全局光照算法和更复杂的背景。

5.2. 从 RGB 图像重建 3D 形状

与最先进技术的比较 我们将我们的工作与 3D-R2N2[5] 进行了比较,后者是基于深度学习的 3D 物体生成领域的最先进技术。3D-R2N2 可将单视角或多视角图像中的 3D 重构为体积表示。为了进行比较,我们在 3D-R2N2 作者使用的数据集上重新训练了我们的网络。在 CD、EMD 和 IoU(intersection over union)三种不同指标下对结果进行了比较。3D-R2N2 仅报告了 IoU 值,因此我们使用作者提供的训练有素的网络来计算其预测结果。为了计算 CD 和 EMD,我们通过迭代最远点采样[7]对其预测体积和地面实况体积进行采样,采样点的离散度与我们的相同。在计算 IoU 时,我们将点集后处理为与 3D-R2N2 相同分辨率的体积集。详情请参见补充资料。

在图 6 中,我们报告了我们的网络与单视角 3D-R2N2 的比较结果。为了确定 CD 和 EMD 的绝对比例,我们将单位 1 定义为 3D-R2N2 数据集中用于编码地面真实形状的三维网格长度的 1/10。虽然没有经过 IoU 的直接训练,但我们的网络在所有三个指标上的表现都要好得多。

我们按照 [5] 的方法报告了每个类别的 IoU 值。从表 1 中我们可以看出,对于单视图重建,建议的方法在所有类别中都获得了更高的 IoU 值。3R-R2N2 还能预测多个视图的三维形状。在许多类别中,我们的方法甚至优于 3D-R2N2 的 5 视图预测。

请注意,这两种方法都能学习到比预测物体类别更多的知识。例如,在 3D-R2N2 的数据集中,从形状到其分类平均值的平均 CD 值为 1.1,远远大于任何方法的结果。

我们在图 5 中对重构示例进行了直观比较。正如文献[5]所述,他们的方法经常会遗漏物体的细部特征(如家具的腿)。我们推测,这是由于他们的体积表示法和体素损失函数不适当地惩罚了定位错误的薄结构。相比之下,我们基于点云的目标函数鼓励保留细小结构,使我们的预测在结构上更加合理。

在我们目前的实现中,处理一张输入图像在笔记本电脑 CPU 上只需 0.13 秒。

5.3. 注入附加信息

图 7. 根据单张 RGBD 图像完成形状绘制。

我们的方法有一个有趣的特点,那就是我们可以轻松地为系统注入额外的输入信息。当神经网络获得 RGBD 输入时,我们的系统就可以被看作是一种三维形状补全方法。图 7 展示了预测的实例。

神经网络成功猜测出模型缺失的部分。通过使用对象库中嵌入的形状先验,系统可以利用对称性(例如飞机应该有对称的侧面)和功能性(拖拉机应该有轮子)的线索。点集的灵活表示有助于解决对象的一般形状和拓扑结构问题。直接利用局部几何线索的更细粒度的方法可以是在我们的预测之后进行级联,以丰富更高频率的细节。

图 8. 单一输入图像的多重预测。每个对象的点集从不同的视角进行可视化,以更好地显示差异。

5.4. 预测多种似是而非的形状

我们的网络具有随机性,因此可以在输入相同图像的情况下预测出不同的形状。为了说明这一点,我们将 RGB 图像作为输入。在训练过程中,我们使用 Mo2 或 VAE 方法来处理随机性。测试时,当地面实况未知时,随机数从预定义的分布中采样。

图 8 展示了我们的方法预测结果的示例。该网络能够揭示其对输入中的形状或模糊性的不确定性。神经网络可以确定其位置的点在不同预测之间几乎不会移动。而沿着模糊方向(例如企鹅身体的厚度)的变化则要大得多。在本图中,我们使用 Mo2 和倒角距离对网络进行了训练。其他设置和方法的组合也会产生类似的结果。

图 9. 通道的可视化。

5.5. 网络设计分析

结合 deconv 和 fc 分支进行重建的效果 我们比较了神经网络架构的不同设计。如图 12 所示,我们比较了不同设计的神经网络架构的性能值、去卷积技术的引入大大提高了性能。

图 10. 解卷积分支(蓝色)与全连接分支(红色)预测点的可视化对比。

为了更好地理解这两个分支的功能,我们还分别对解旋分支和全连接分支的输出进行了可视化处理。图 9 是其中一个模型的 x、y 和 z 通道值的二维图像。在去卷积分支中,网络学会使用卷积结构来构建一个围绕物体旋转的二维曲面。在全连接分支中,由于通道没有排序,因此输出组织性较差。

图 10 显示了三维空间中的两组预测结果。一般来说,deconv 分支能很好地捕捉物体的 "主体",而完全连接分支则能用更多细节部分(如枪尖、飞机尾翼、沙发扶手)来补充形状。这显示了两个分支的互补性。当预定义的权重共享和节点连接与所需的输出结构一致时,解构分支的效率更高。完全连接的分支更灵活,但每个点的独立控制会消耗更多的网络容量。

距离指标分析 损失函数的不同选择对网络预测模式有不同的影响。图 13 举例说明了由 CD 和 EMD 分别训练的两个网络之间的差异。由 CD 训练的网络往往会在其不确定区域(如门后)分散一些点,但能更好地保留握把的细节形状。相比之下,用 EMD 训练的网络能得到更紧凑的结果,但有时会过度缩小局部结构。这与合成数据的实验结果一致。

5.6. 更多结果及在现实世界数据中的应用

图 11 列出了对合成数据和真实世界照片的更多预测示例。这些真实世界照片的拍摄视角和距离与我们用于合成数据的环境相似。此外,还需要一个分割掩码来指示对象的范围。

图 11. 合成数据和真实世界数据预测的可视化。

图 12. 通过倒角距离(CD)和地球移动距离(EMD)对不同网络进行比较。网络越复杂,结果越好

图 13. 用 CD(蓝色,左侧)和 EMD(绿色,右侧)训练的网络预测结果对比

6. Discussion

我们在生成三维点云时面临的主要困难,即如何表示无序数据以及如何处理模糊性,在机器学习中是普遍存在的。我们希望我们展示的基于单一图像的 3D重建工作有助于推动这两个领域的进一步发展。

Acknowledgements

该项目得到了美国国家科学基金会 IIS1528025 号基金、斯坦福人工智能实验室-丰田人工智能研究中心、三星 GRO 基金和谷歌重点研究奖的支持。

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值