用于三维形状识别的多视点卷积神经网络外文翻译资料

 2021-11-17 10:11

英语原文共 9 页

用于三维形状识别的多视点卷积神经网络

苏杭 苏布兰苏马吉 埃旺格斯·卡利亚拉基斯

Erik Learned-Miller马萨诸塞大学阿默斯特分校

摘要

计算机视觉中一个长期存在的问题是关于识别的三维形状的表示:是否应该使用以原生3D格式运行的描述符来表示3D形状,例如立体像素网格或多边形网络?它们能用基于视图的描述符有效地表示吗?我们在学习如何从二维图像上呈现的视图集合中识别三维形状的背景下解决这个问题。我们首先展示了一个经过训练的标准CNN架构,该架构能够识别形状各自呈现的视图,并展示了三维形状可以被识别,甚至从一个单一的视图,其精度远远高于使用最先进的三维形状描述符。当提供形状的多个视图时,识别率进一步提高。此外,我们提出了一种新颖的CNN架构,它将来自三维形状的多个视图的信息组合成一个单一和紧凑的形状设计程序,提供了更好的识别性能。可以应用相同的架构来准确地识别人形手绘的形状草图。 我们得出结论,2D视图的集合可以为3D形状识别提供高度信息,并且适用于新兴的CNN架构及其衍生产品。

简介

计算机视觉的基本挑战之一是从二维(2D)图像中推断出关于三维(3D)世界的推论。 由于很少有人能够访问3D对象模型,因此通常必须学习基于来自不同视点的2D外观来识别和推理3D对象。 因此,计算机视觉研究人员通常从2D图像的2D特征开发对象识别算法,并使用它们对这些对象的新2D图像进行分类。

但是如果有人可以访问每个感兴趣对象的3D模型呢? 在这种情况下,可以直接训练关于3D特征的识别算法,例如体素占据或表面曲率。 由于引入了大型3D形状存储库,例如3D Warehouse,TurboSquid和Shapeways,最近出现了直接从3D表示构建这种3D形状分类器的可能性。 例如,当吴等人。 [37]介绍了ModelNet 3D形状数据库,他们使用在体素表示上训练的深信念网络架构呈现了3D形状的分类。

直观地说,直接从3D模型构建3D形状分类器似乎是合乎逻辑的,在本文中,我们提出了一个看似违反直觉的结果 - 通过从这些形状的2D图像渲染中构建3D形状的分类,我们实际上可以显着地超越 直接建立在3D表示上的分类器。 特别是,卷积神经网络(CNN)在3D形状的固定渲染视图集上训练,并且在测试时仅提供单个视图,使类别识别精度提高了8%(77%→85%)。 最好的模型[37]训练3D表示。 在测试时提供更多视图,其性能进一步提高。

该结果的一个原因是2D与3D表示的相对效率。 特别是,虽然全分辨率3D表示包含有关对象的所有信息,但为了在深度网络中使用基于体素的表示,可以使用可用样本并在合理的时间内进行训练, 认为分辨率需要大幅降低。 例如,3D ShapeNets使用粗略表示形状,30times;30times;30网格的二进制体素。 相比之下,相同输入尺寸的3D模型的单个投影对应于164times;164像素的图像,或者如果使用多个投影则略微更小。 实际上,在增加显式深度信息(3D模型)和增加空间分辨率(投影2D模型)之间存在固有的权衡。

使用2D表示的另一个优点是我们可以利用(i)图像描述符[22,26]和(ii)海量图像数据库(例如ImageNet [9])的进步来预训我们的CNN架构。 由于图像无处不在且大型标记数据集非常丰富,因此我们可以了解有关2D图像分类的通用特征,然后对3D模型投影的细节进行微调。虽然有可能有一天可以获得尽可能多的3D训练数据,但目前这是我们代表性的一个重要优势。

图1.1 用于3D形状识别的多视图CNN(使用第一相机设置示出)

在测试时,从12个不同视图渲染3D形状,并通过CNN1传递以提取基于视图的特征。 然后将它们汇集在视图中并通过CNN2以获得紧凑的形状描述符。

虽然独立分类视图的简单策略非常有效(第3.2节),但我们提出了如何使用新的方法将对象的多个2D视图中的信息“编译”为紧凑对象描述符的新思路。 架构称为多视图CNN(图1和第3.3节)。 该描述符至少与对象的完整视图描述符集合一样,用于分类(并且用于检索的信息量略高于信息量)。 此外,它有助于使用类似的3D对象或简单的手绘草图进行有效检索,而无需采用基于图像描述符的成对比较的较慢方法。 我们介绍了3D对象分类,使用3D对象的3D对象检索以及使用草图进行3D对象检索的最新结果(第4节)。

我们的多视图CNN与“抖动”有关,其中在训练期间添加数据的变换副本以学习诸如旋转或平移之类的变换的不变性。在3D识别的背景下,视图可被视为抖动副本。多视图CNN学习将视图组合而不是平均,因此可以使用对象的更多信息视图进行预测而忽略其他视图。我们的实验表明,这可以提高性能(第4.1节),还可以让我们通过将网络的梯度反向传播到视图来可视化对象的信息视图(图3)。即使在传统的图像分类任务中,多视图CNN也可以是抖动的更好替代方案。例如,在草图识别基准[11]中,在抖动副本上训练的多视图CNN比使用相同抖动副本训练的标准CNN表现更好(第4.2节)。

http://vis-www.cs.umass.edu/mvcnn上提供了预先培训的CNN模型,数据和完整的源代码,以便在论文中重现结果。

相关工作

我们的方法涉及3D对象和基于图像的CNN的形状描述符的先前工作。 接下来我们讨论这些领域的代表性工作。

(1)形状描述符。已经开发了大量的形状描述符,用于在计算机视觉和图形文献中绘制关于3D对象的推论。形状描述符可以分为两大类:直接处理对象的原生3D表示的3D形状描述符,例如多边形网格,基于体素的离散化,点云或隐式曲面,以及描述形状的基于视图的描述符通过2D投影的集合中的“它看起来如何”的3D对象。

除了吴等人最近的工作。[37]通过3D卷积网从基于体素的对象表示中学习形状描述符,先前的3D形状描述符主要是根据形状表面或体积的特定几何属性“手工设计”。例如,形状可以用直方图或由表面法线和曲率构造的特征袋模型来表示[15],在采样表面点聚集的距离,角度,三角形区域或四面体体积[25],体积网格中定义的球函数的属性[16],在密集采样的表面点测量的局部形状直径[4],多边形网格上的热核签名[2, 19]或SIFT和SURF特征描述符到3D体素网格的扩展[17].在这种3D形状描述符之上开发分类器和其他监督机器学习算法带来了许多挑战。首先,与图像数据集相比,具有注释3D模型的有组织数据库的大小相当有限,例如,ModelNet包含大约150K形状(其40类别基准包含大约4K形状)。相比之下,ImageNet数据库[9]已经包含了数以千万计的带注释的图像。其次,3D形状描述符倾向于由于所谓的“维度诅咒”,分类器容易过度拟合。

另一方面,基于视图的描述符具有许多期望的属性:它们相对低维度,有效评估,并且对3D形状表示伪像具有鲁棒性,例如孔,不完美的多边形网格测试,噪声表面。渲染的形状视图也可以直接与其他2D图像,轮廓甚至手绘草图进行比较。基于视图的方法的早期例子是Murase和Nayar的工作[24通过匹配它们在由不同姿势和照明下的3D模型的大型2D渲染组形成的参数本征空间中的外观来识别对象。另一个在计算机图形设置中特别流行的例子是LightField描述符[5]从几个不同视点渲染的对象轮廓中提取一组几何和傅里叶描述符。或者,可以将对象的轮廓分解为多个部分,然后用有向无环图(冲击图)表示[23].Cyr和Kimia [8]基于曲线匹配和分组相似视图定义的相似性度量,称为3D模型的方面图[18].Eitz等。[12]将人体草图与基于当地Gabor滤波器从几个不同视图生成的3D模型的线条图进行比较,而Schneider等人。[30]建议使用Fisher矢量[26]关于SIFT功能[22]用于表示人体形状的草图。这些描述符在很大程度上是“手工设计的”,有些描述不能在不同的领域中很好地概括。

(2)卷积神经网络。我们的工作也与使用CNN的图像识别的最新进展有关[20].特别是在大型数据集(如ImageNet)上训练的CNN已经被证明可以学习一些视觉任务的通用图像描述符,例如物体检测,场景识别,纹理识别和细粒度分类[10, 13, 28, 7].我们展示了这些深层架构可以适应特定领域,包括3D对象,线条图和人体草图的阴影插图,以生成与各种设置中的其他基于视图或3D形状描述符相比具有卓越性能的描述符。此外,它们结构紧凑,计算效率高。已经有关于使用CNN识别3D对象的工作[21]使用两个连接视图(双目图像)作为输入。我们的网络学习了一种形状表示,它可以聚合来自任意数量的输入视图的信息而无需任何特定的排序,并且总是输出相同大小的紧凑形状描述符。此外,我们利用图像和形状数据集来训练我们的网络。

虽然在3D和2D形状描述符方面有重要的工作,并且估计对象(或方面图)的信息视图,但是学习的工作相对较少。

  1. 组合基于视图的描述符进行3D形状识别。大多数方法采用简单的策略,例如对从每个形状的不同视图中提取的描述符进行详尽的成对比较,或者从有序的一致视图中连接描述符。相比之下,我们的多视图CNN架构学习使用基于图像的CNN从形状的视图识别3D形状,但是通过视图池层在其他视图的上下文中。结果,来自多个视图的信息被有效地累积到单个紧凑的形状描述符中。

方法

如上所述,我们在本文中的重点是为可训练的3D形状开发基于视图的描述符,为识别和检索任务生成信息表示,并且计算效率高。

我们基于视图的表示从渲染引擎生成的3D形状的多个视图开始。使用多个视图的简单方法是为每个视图生成2D图像描述符,然后基于某些投票或对齐方案将各个描述符直接用于识别任务。例如,一种简单的方法是对各个描述符进行平均,将所有视图视为同等重要。或者,如果视图以可再现的顺序呈现,则还可以连接所有视图的2D描述符。不幸的是,将3D形状与规范方向对齐很困难,有时定义不明确。与上述简单方法相反,组合来自多个视图的特征的聚合表示更加理想,因为它产生表示3D形状的单个紧凑描述符。

我们的方法是学习使用包含视图池层的统一CNN架构来组合来自多个视图的信息(图。1).我们的CNN架构的所有参数都是有区别地学习的,以产生用于3D形状的单个紧凑描述符。与3D形状的单视图表示之间的详尽成对比较相比,我们得到的描述符可以直接用于比较3D形状,从而显着提高计算效率。

3.1输入:多视图表示

在线数据库中的3D模型通常存储为多边形网格,其是与形成面的边缘连接的点的集合。要生成多边形网格的渲染视图,我们使用Phong反射模型[27].网格多边形在透视投影下渲染,像素颜色通过插入多边形顶点的反射强度来确定。形状均匀缩放以适合观察体积。

要创建多视图形状表示,我们需要设置视图(虚拟摄像机)来渲染每个网格。

我们尝试了两种相机设置。对于第一个摄像机设置,我们假设输入形状沿着一致的轴(例如,z轴)竖直定向。现代在线存储库中的大多数模型(例如3D模型库)满足此要求,并且一些先前的识别方法也遵循相同的假设[37].在这种情况下,我们通过每隔30度在网格周围放置12个虚拟摄像机来创建12个渲染视图(参见图3)。1).摄像机从地平面抬高30度,指向网格的质心。质心计算为网格面中心的加权平均值,其中权重是面部区域。对于第二个摄像机设置,我们不使用关于形状的一致直立方向的假设。在这种情况下,我们从几个观点进行渲染,因为我们事先不知道哪些观点会产生良好的代表性视图。通过将20个虚拟摄像机放置在包围该形状的二十面体的20个顶点处来生成渲染。所有摄像机都指向网格的质心。然后我们从每个摄像机生成4个渲染视图,沿着穿过摄像机和对象质心的轴旋转0度,90度,180度,270度,产生总共80个视图。

我们注意到,使用不同的阴影系数或照明模型不会影响我们的输出描述符,因为学习过滤器对照明变化的不变性,这也可以在基于图像的CNN中观察到[20, 10].添加更多或不同的视点是微不足道的,但是,我们发现上述相机设置已经足以实现高性能。最后,渲染每个网格。

从所有观点来看,在现代图形硬件上所需的时间不超过10毫秒。

3.2 使用多视图表示进行识别

我们声称我们的多视图表示包含有关3D形状的丰富信息,并且可以应用于各种类型的任务。在第一个设置中,我们直接使用现有的2D图像特征,并为每个视图生成描述符。这是利用多视图表示的最直接的方法。然而,它导致每个3D形状的多个2D图像描述符,每个视图一个,需要以某种方式集成以用于识别任务。

  1. 图像描述符。我们为每个2D视图考虑两种类型的图像描述符:基于Fisher矢量的最先进的“手工制作”图像描述符[29]具有多尺度SIFT,以及CNN激活功能[10].

Fisher矢量图像描述符使用VLFeat实现[36].对于每个图像,密集地提取多尺度SIFT描述符。然后使用PCA将这些投影到80维,然后使用具有64个分量,平方根和l2 归一化的高斯混合模型进行Fisher矢量汇集。

对于我们的CNN功能,我们使用VGG-M网络来自[3其主要由五个卷积层conv1,...,5 和三个完全连接的层fc6,...,8 和一个softmax分类层组成。倒数第二层fc7 (在ReLU非线性之后,4096维)用作图像描述符。该网络在1k类别的Ima-geNet图像上进行预训练,然后在训练集中的3D形状的所有2D视图上进行微调。正如我们在实验中所展示的那样,微调可以显着提高性能。与流行的3D形状描述符相比,Fisher矢量和CNN特征在分类和检索方面都具有非常好的性能(例如,SPH [16], LFD [5])以及3D ShapeNets [37].

(2)分类。

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。