英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
基于卷积神经网络的多角度3D形状识别
Abstract
在计算机视觉中一个长期存在的问题涉及到用于识别的3D形状的表示:
应该是3D形状用描述符表示原生3D格式,例如体素网格或多边形网格,或可以用基于视图的描述有效地表示它们吗?
我们在学习的背景下解决这个问题从渲染的集合中识别3D形状二维图像的视图。
我们首先介绍一种标准的CNN架构,该架构经过训练后可识别形状的渲染视图
彼此独立,并显示出3D形状甚至可以从单一视图中精确识别,远远高于使用最先进的3D形状描述符。当多视图的形状提供识别率进一步提高。
另外,我们提出了一种新的结合来自多个信息的CNN架构将3D形状视图转换为单一且紧凑的形状脚本提供更好的识别性能。
该可以应用相同的架构来准确识别人的手绘草图的形状。
我们得出结论一组2D视图可以为3D提供高度信息形状识别,适合新兴的CNN架构讲座及其衍生物。
1 Introduction
计算机视觉的基本挑战之一是绘制来自二维(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形状,只提供了一个测试时的单一视图比使用3D表示训练的最佳模型[37]提高了8%(77%→85%)的类别识别准确度。在测试时提供更多视图,其性能进一步提高。
该结果的一个原因是2D与3D表示的相对效率。尤其是一个完整的分辨率3D表示包含有关对象的所有信息,为了在深度网络中使用基于体素的表示,可以使用可用样本进行训练,并且在合理的时间内,分辨率需要显着降低。
例如,3D ShapeNets使用粗略表示形状,30times;30times;30网格的二进制体素。 相比之下,相同输入尺寸的3D模型的单个投影对应于164times;164像素的图像,或者如果使用多个投影则略微更小。
实际上,在增加显性深度之间存在固有的权衡信息(3D模型)和增加的空间分辨率(投影2D模型)。
使用2D表示的另一个优点是我们可以利用(i)图像描述符的进步[22,26](ii)大规模图像数据库(如ImageNet [9])预训练我们的CNN架构。
由于图像无处不在,大型标记数据集非常丰富,因此我们可以了解有关2D图像分类的通用特征,然后对3D模型投影的细节进行微调。
虽然有可能有一天可以获得尽可能多的3D训练数据,但目前这是一个我们代表的显着优势。
虽然独立分类视图的简单策略非常有效(第3.2节),但我们提出了这一点关于如何使用称为多视图CNN的新架构将对象的多个2D视图中的信息“编译”成紧凑对象描述符的新想法(图1和第3.3节)。
该描述符至少对于分类是有用的信息(并且对于检索而言,信息量稍微提高)而不是对象的基于视图的描述符的完整集合。
此外,它有助于使用其中任何一种进一个类似的3D对象或简单的手绘草图,没有采用基于图像描述符的成对比较的较慢方法。
我们提供最先进的技术三维物体分类,三维物体检索的结果3D对象和使用草图的3D对象检索(第4节)。
我们的多视图CNN与“抖动”有关,其中在训练期间添加转换的数据副本以进行学习
旋转或平移等变换的不变性。 在3D识别的背景下,视图可被视为抖动副本。 多视图CNN学习聚合视图而不是平均,因此可以使用对象的更多信息视图进行预测而忽略其他视图。 我们的实验表明,这可以提高性能(第4.1节),还可以让我们通过将网络的梯度反向传播到视图来可视化对象的信息视图(图3)。
即使在传统的图像分类任务中,多视图CNN也可以是抖动的更好替代方案。 例如,在草图识别基准[11]中,在抖动副本上训练的多视图CNN比使用相同抖动副本训练的标准CNN表现更好(第4.2节)。
预先训练的CNN模型,数据和完整的来源可以在以下网址找到重现论文结果的代码http://vis-www.cs.umass.edu/mvcnn。
图1.用于3D形状识别的多视图CNN(使用第一个摄像机设置进行说明)。 在测试时,从12个不同视图渲染3D形状,并通过CNN 1传递以提取基于视图的特征。 然后将这些汇集在视图中并通过 CNN 2获得紧凑的形状描述符。
2 Related Work
我们的方法涉及用于3D对象形状描述符和基于图像的CNN的先前工作。接下来我们讨论在这些领域的代表性工作。
形状描述符
一大堆形状描述符已经开发用于绘制关于3D对象的推论在计算机视觉和图形文献中。形状描述符可以分为两大类:直接处理对象的原生3D表示的3D形状描述符,例如多边形网格,基于体素的离散化,点云或隐式曲面,以及描述形状描述的基于视图的描述符 一个3D对象在2D投影的集合中“看起来如何”。
除了吴等人最近的工作。 [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]定义了基于相似性的指标在曲线匹配和分组相似的视图,称为方面三维模型图[18]Eitz等[12]比较手绘与3D模型的线条图生成基于本地Gabor过滤器的几种不同视图。施奈德等人[30]提出使用Fisher矢量[26]关于SIFT特征[22]用于表示手绘形状。
这些描述符主要是“手工制作”有些人并不能在不同的领域中得到很好的概括。
卷积神经网络
我们的工作也是相关的使用CNN的图像识别的最新进展[20]。特别是在大数据集上训练的CNN,
例如已经证明ImageNet可以学习通用的图像描述符,用于许多视觉任务,如对象检测,场景识别,纹理识别和精细粒度分类[10,13,28,7]。我们展示了这些深层架构可以适应特定领域也包括3D物体的阴影插图,线条图和手绘,与基于其他基于多视图的3D形状分类器相比,可以产生具有卓越性能的描述符各种设置中的描述符。
而且,他们是紧凑而高效的计算。已存在使用CNN [21]使用两个来识别3D对象连接视图(双目图像)作为输入。
我们的网络是学习形状代表,聚合任意数量的输入视图中的信息并且没有任何特定的顺序,输出结果是相同大小的紧凑形状描述符。此外,我们利用图像和形状数据集两者训练我们网络。
虽然在3D和2D形状描述符上已经有重要的工作,并且估计对象的信息视图(或方面图),但是学习用于基于视图描述符的3D形状识别的工作相对较少。大多数方法采用简单的策略,例如对从每个形状的不同视图中提取的描述符进行详尽的成对比较,或者连接来自有序,一致视图的描述符。相比之下我们多视图CNN架构使用基于图像的CNN但在多视图的条件下通过一个背景视图池层从多个视图中学习识别3D形状。最终,来自多个视图的信息被有效地累积到单个紧凑的形状描述符中。
3 Method
如上所述,我们在本文中的重点是开发可训练的、能够为识别和检索任务提供信息、计算效率高的基于视图的3D形状描述符。
我们基于视图的表示从多个由渲染引擎生成的3D形状的视图开始。
一个使用多个视图的简单方法是生成2D图像每个视图的描述符,然后根据某些投票或者对齐方案直接使用各个描述符进行识别任务。例如,一种简单的方法将平均各个描述符,对待所有这些观点同样重要。或者,如果是意见以可再现的顺序呈现,也可以连接所有视图的2D描述符。但是,将3D形状与规范方向对齐很难,有时是不明确的。与上述简单方法相反,组合特征的聚合表示从多个视图中更加理想,因为它产生表示3D形状的单个紧凑描述符。
我们的方法是使用包含视图池层的统一CNN架构,学习结合来自多个视图的信息(图1)。
我们的CNN架构中的所有参数经过特殊的学习,以产生用于3D形状的单个紧凑描述符。
与3D形状的单视图表示之间的详尽成对比较相比,我们得到的描述符可直接用于比较3D形状,从而显着提高计算效率。
3.1 输入:多视图表示
在线数据库中的3D模型通常存储为多边形网格,其是与形成面的边缘连接的点的集合。为了生成多边形网格的渲染视图,我们使用Phong反射模型[27]。
网格多边形在透视投影下渲染,像素颜色通过插入多边形顶点的反射强度来确定。形状均匀缩放以适合观察体积。
要创建多视图形状表示,我们需要设置用于渲染每个网格的视点(虚拟摄像机)。我们尝试了两种相机设置。对于第一种相机设置,我们假设输入形状沿着一致的轴(例如,z轴)竖直定向。现代在线存储库中的大多数模型(例如3D模型库)满足此要求,并且一些先前的识别方法也遵循相同的假设[37]。
在这种情况下,我们通过每隔30度在网格周围放置12个虚拟摄像机来创建12个渲染视图(参见图1)。摄像机从地平面抬高30度,指向网格的质心。质心计算为网格面中心的加权平均值,其中权重是面部区域。
对于第二种相机设置,我们没有使用关于形状的一致直立方向的假设。在这种情况下,由于我们事先并不知道哪些产生了对象的良好代表性观点,我们从更多的视点来渲染。
通过在一个包围对象形状的二十面体的20个顶点处放置20个虚拟相机生成渲染视图。所有相机指向网格的质心。
然后我们从每个相机生成4个渲染视图,沿轴线旋转0,90,180度,270度,方向为相机到物体质心,共产生80个视图。
我们注意到使用不同的着色系数或照明模型不会影响我们的输出描述符,由于训练过的过滤器对照明变化的不变性,也在基于图像的CNN中观察到[20,10]。
添加更多或不同的视点是微不足道的,但是,我们发现上述相机设置已经足够了实现高性能。
最后,在现代图形硬件上渲染来自所有视点的每个网格不会超过10毫秒。
3.2 使用多视图表示进行识别
我们认为我们的多视图表示包含有关3D形状的足够信息,可应用于各种类型的任务。
在第一个设置中,我们直接使用现有的2D图像特征,并为每个视图生成描述符。
这是利用多视图表示的最直接的方法。 但是,它会为每个3D形状生成多个2D图像描述符,每个视图一个,需要以某种方式聚合以进行识别任务。
图像描述符
我们为每个2D视图考虑两种类型的图像描述符:基于具有多尺度SIFT的Fisher矢量[29]的最先进的“手工制作”图像描述符,以及CNN激活特征[10]。
Fisher矢量图像描述符使用VLFeat [36]实现。对于每个图像,密集地提取多尺度SIFT描述符。 然后用PCA将它们投影到80维,然后使用具有64个分量,平方根和ℓ2归一化的高斯混合模型进行Fisher矢量汇集。
对于我们的CNN特征,我们使用来自[3]的VGG-M网络,其主要由五个卷积层conv 1,...,5组成,接着是三个完全连接的层fc 6,...,8和softmax分类层。 倒数第二层fc 7(在ReLU非线性之后,4096维)用作图像描述符。 网络在1k类别的ImageNet图像上进行预训练,然后在训练集中的3D形状的所有2D视图上进行微调。 正如我们在实验
全文共16972字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[2745]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。