Projective Feature Learning for 3D Shapes with Multi-View Depth Images

来源:互联网 发布:星际争霸2辅助软件 编辑:程序博客网 时间:2024/04/29 07:27
Projective Feature Learning for 3D Shapes with Multi-View Depth Images

摘要:3D图形的特征学习很具有挑战性,因为缺乏自然的参数化的3D曲面模型。我们采用多视角的深度图像表示,提出了多视角的深度极限学习机(MDV-ELM)来实现3D图形的快速的、高品质的特征投影学习。和已经存在的多视角学习方法形成对比,我们的方法确保从相互依赖的不同的视角通过在每一层共享权值来学习特征映射,他们的这些预测通过用标准化的卷积核可以对输入的3D图形进行有效的重建。因为在几个应用中的令人鼓舞的结果的表现,促进了更加精确的3D特征的学习。此外,3D重构的性能能够清晰的可视化学习到的特征,这就进一步证明了我们的特征学习是富有意义的。

1、引言:3D图形理解在计算机视觉和计算机图形学领域已经是一个长期存在的研究话题。在这其中一个共同努力就是提取描绘具有几何结构的特征。3D图形特征,全局的或者局部的,到目前为止主要还是人工设计的,或者手工制作的,捕获3D图形一些特殊的方面,例如几何结构、拓扑结构、部分结构等。
目前,成功的自动的特征学习已经引起了机器学习和计算机视觉研究团体的兴趣。他们的方法努力在收集到的训练书上自动的学习特征,而不是根据人为事先设计好的特征。这对深度学习技术的快速发展非常有益,学习到的特征在分类和识别任务上有着巨大性能的提升。

然而,当我们把深度学习技术用到3D图形的特征学习上时,首要的挑战是3D模型,向典型的2D图形的表示一样,没有一个像2D图像一样的标准表示。怎样利用已经存在的技术,对于不同的3D模型,参数化或者采样来编码3D几何信息,把它编码成大多数深度学习方法的输入所要求的统一维度的矩阵,这是很不明确的。

为了缓和这些问题,最自然的想法就是把3D图形转换成图像表示,目前有几个工作尝试过这种方法,证明是有希望的。例如,【15】成功的应用卷积深度自信网络(CDBN)在体积之上表示3D图形,或者3D图像。然而,由于输入数据增加的维度,CDBN的训练非常费时,这就把他们实施时的立体像素的像素值限制在了48*48*48。【14】把3D图形译成多视角的深度图像,然后在2D图像上执行自动编码器,很好的实现了3D图像的恢复。然而,这种投影变换的方法可能会丢失3D信息,因为投影的角度都是相互独立的。因此,他们的方法必须合并手工制作的图像特征来实现3D图形的分类。

生物学的研究推断,人类视觉皮层的3D形状知觉可以通过多视角的深度线索来形成。根据这个观点,我们也运用多视角深度的表示方法。为了解决上述的问题,实现强有力的特征学习,我们开发了一种叫做多视角深度极限学习机(MVD-ELM)的卷积神经网络,它是从单隐层前馈神经网络ELM推断而来的。我们的方法用友如下几个关键特征:

  • 第一,MVD-ELM包含了多个通道,没一个通道对应一个投影视角,他们通过在所有的卷基层上共享权值来实现互相连接。
  • 第二,通过引进标准化的卷积核,所有通道的特征映射能够在每一个隐含层重建输入图像。
  • 第三,由于ELM训练的很快速,我们的方法比现存的深度学习的方法在训练上要快两个数量级。这就允许我们用更高分辨率的深度图像(128*128)。
  • 最后,当实现一个全卷积版本的MVD-ELM时,我们的方法能够实现像素级的特征抽取。这些像素级的特征支持在一个单独的3D图像上进行多类别预测,这对3D图形分割特别有用。

实验证明,我们方法学习到的特征在3D图形的分类问题上比手工制作的特征有很大的提升。对于3D分割,我们学习到的特征与传统方法从很多种不同的手工制作的特征中进行特征选择,实现了可比较的效果。此外,我们的方法快速而且容易实现,使其在真实的应用中可实用。

2、相关工作:

多视角3D图形分析:通过将3D图形看作是2D图像从不同方向的投影,多视角投影分析已经广泛的应用在3D图形分析和理解中。【CK01】利用多视角投影来确认3D物体和它的位置。【CTSO03】提出了LFD,这是一个3D图形的旋转不变性的描述子,通过从多个视角投影2D图像的轮廓。投影的图形的描述子也被用来基于草图的3D图像检索。最近,【WGW13】用有标签的图像数据集来实现投影图形的分割。我们的3D图形分割也是投影的。最大的不同就是,我们的方法用了学习到的特征图谱来实现像素标签的预测,而不是直接匹配有标签的样本图像。

3D数据的深度学习:研究者已经成功的建立了多种深度模型,例如CNN,Deep Auto-Encoder Network,DBN,ELM AutoEncoder,来学习数据驱动发的特征。这些特征被证明是很有区分能力的。最近,一些工作试图通过深学习的方法来学习3D图形的特征。【WSK15】用3D图形的体积表示法,应用3D深度自信网络(DBN),得到图像分类的好的结果。【ZWB14】利用Auto-Encoder通过多视角深度图像来学习3D图形特征,得到了很好的3D检索的效果。【SMKLM15】提出了多视角CNN,用来做3D图形的识别,多视角的特征用另外的一个CNN来整合。

通过深度学习来实现多标签学习:深度神经元网络,例如CNN,已经被证明是在图像分类上有很好的性能。最近,有一些工作在多标签图像分割上【LSD15,CPK14,WXH14】.这些工作把CNN的全连接层转化为卷积层,是分裂的网络能够达到像素级别的标签预测。这些像素级别的标签可以被用来当做有标签的分割的输入图像。我们没有意识到有任何的工作在多标签的3D图像分割上运用深度学习。为了实现,我们实现了全卷积的MVD-ELM来预测多视角深度图像的像素级别的标签。

3、ELM和基于ELM的特征学习:ELM很早就被当做一个单隐层前馈神经网络提出来了。跟其他的神经网络不同的是它没有反向传播(BP),ELM中的隐含节点不需要调整,但是可以随机生成,只要神经元的激活函数是非线性分段连续函数。隐含层和输出层的权值可以用一个解析解的形式来优化。ELM包含两个阶段,特征映射和学习。

ELM特征映射:给定的输入数据x,ELM的输出函数为:


是隐含层的输出向量,是隐含层(K个节点)和输出层(M个节点)之间的输出权重。h被叫做ELM特征映射,它把输入数据映射到特征空间。任何的非线性分段连续函数(Sigmoid,Gaussian)都可以选择来当做h来生成特征映射。在ELM中,h的参数是基于一个连续概率分布来随机生成的。

ELM学习:第二各阶段是有监督的和特定任务的。我们把N个训练数据提供的目标矩阵表示成H=包含N个第一阶段产生的随机特征映射。目标函数是最小化训练误差的加权和和规范输出权值:

可以用一种解析解得形式获得:

I是单位矩阵。

基于ELM的局部感受野(LRF):【HBK15】开发了一种叫做ELM-LRF的特征学习的框架。ELM-LRF接替了ELM的两个关键特性。第一,ELM可以用不同类型的局部感受野只要它们是根据任何连续概率分布随机生成的。第二,ELM的每一个隐层节点可以合并几个隐层节点(子网络)。这两个特征与CNN中的卷积和池化操作相一致。对于基于局部感受野的特征学习任务来说,ELM-LRF提供了确定的解决方案。和ELM一样,ELM-LRF也只有一个隐含层。

多层ELM-LRF:基于特征学习模型的ELM可以延伸到一个有多个隐含层的深度。和其它深度模型一样,例如CNN,前一层的特征映射的输出可以用来当做下一层的输入。最后一层的特征映射用来训练优化输出权值。不同层之间的连接可以是特征映射的稀疏合并。随着层数的增加,池化层用来提取越来越抽象的特征。有很多中池化的方法可以用,例如,max pooling,average pooling等。

基于ELM Auto-Encoder的深度ELM的想法第一次在【CZH13】中提出并实现。这个深度网络在一个全局的样式提取特征编码。相反,我们的多层ELM是建立在ELM-LRF上的,由于有局部的连接(LRF),它可以实现全局和局部特征的提取。

4、用MVD-ELM学习特征用作3D图形分类:我们设计的MVD-ELM被用来训练3D图形分类任务。因此,我们模型学习的特征期望描绘出可能多的多的形状特征。

4.1 模型概述:通过2D图像来学习3D图形的投影特征是不平凡的。一个基本的需求就是多视角应该相互连接的,以至于3D信息能够在整个训练过程中被保存在深度网络中。在这一部分,我们首先描述我们模型的输入表示,然后介绍实现3D信息保存的两个基础部分。

输入表示:给定一个3D图形的集合,我们通过多视角的方向,一个图形的球体中心统一的采样投影,生成每一个图形的2.5D深度图像的集合。在我们的实现中,视点是在一个十二面体的一个单元的制高点上采样的,视点方向朝着十二面体的中心,如图所示:



因此,对于每一个3D图形,D=20深度图像(分辨率为d*d)用OpenGL深度缓冲区生成。背景像素设为最大的深度。我们在第n个视角表示深度图像为。对于每一个视角n,在执行卷积和池化操作之后,我们使前景掩码Mn把背景像素排除在外。

为了能够有效的学习特征,所有的训练图形都被处理成统一的大小单元。注意,图形不需要特别的对方向一致性进行调整,因为多视角学习具有旋转不变性。为了促进神经元的可视化,我们记录了所有视角的投影矩阵。

标准化的卷积核:在训练卷积神经网络的时候,所有的训练图像需要标准化,通过减去它们的均值、然后除以它们的方差。然而,这没有用在我们的例子上,因为这些非线性的操作将会破坏每一个视角的深度几何结构。此外,多视角深度图像是用非线性视角投影来得到的。直接在深度图像上运用卷积将会破坏它们的对齐,使3D重建不可实行,在图3中右边部分:



为了记住整个MVD-ELM网络中每一个2.5D特征映射的几何结构的信息,我们在不同的卷积层选择使用标准化的卷积核,用这种方法,特征图谱能够总是保存输入的深度图像的3D几何结构信息。图3的左边部分,我们展示了通过标准化的卷积核生成的多视角的特征图谱重建的3D模型。

多隐层:ELM-LRF的单层结构对于学习3D图形特征不太合适,因为3D图形通常具有非常复杂的结构,这应该用一个更好的分层特征,来提取更加抽象的特征。为了在多层模型上实现全局的和局部的特征提取,我们引进了多层ELM-LRF。

在多层的ELM-LRF中,我们对特征图谱采用随机的卷积,这是一个非线性分段连续的。此外,根据【HBKV15】,拥有局部随机连接的隐藏节点的ELM-LRF能够被看做是一个特殊的ELM,满足通用逼近性和分类能力。堆叠这些层的非线性隐藏节点也满足需求,使我们的多层ELM-LRF拥有学习能力。

多视角通道:为了适应多视角学习,我们在网络中设计了多视角通道,每一个通道有一个多层的ELM-LRF。为了保证多视角学习到的特征图谱能够相互的连接,我们在不同的视角采用共享权值(卷积核)的方法。在不同的视角通道采用权值共享有两个好处。第一,不同视角的深度图像能够一直的映射到共享的特征空间,使在任何层上反投影特征图谱都能对输入图形形成有效的3D重建。第二,使用共享权值,多视角通道的输出权重能够用一个统一的封闭解来优化,这能够极大的减少训练时间。

4.2 MVD-ELM的构想:我们在这一部分来介绍我们的MVD-ELM构想。图4显示了MVD-ELM的结构。输入数据N=M*D深度图像(M个图形和每个图形有D个视角)用一个矩阵(d*d*N)表示,一个有N个深度图像,每个图像的分辨率为d*d的数组。我们现在详细说明MVD-ELM的关键部件,包括特征映射、池化、学习和测试。



多视角特征映射:假设MVD-ELM包含L层卷积层和池化层。拿第l层来举例,它把第l-1层的特征图谱(在第一层输入深度图像)当做输入,生成个特征图谱(分辨率为)在输入图像和随机生成的卷积核之间进行卷积。因此,我们在第l层得到个不同的特征图谱。随机生成的卷积核如同【HZS06】一样生成,为了保证他们的权重加起来为1,每一个卷积核都是标准化的,并且在所有的视角通道的相同曾共享。对于给定的l层的标准的随机的卷积核表示为:

包含个标准化的卷积核、大小为。特别的,第K个标准化的、随机的卷积核按如下的方式生成:

rand(0,1)是随机生成一个0到1的随机数。

卷积操作在前一层的特征图谱上执行(图4左边)。如果当前层是输入,卷积操作直接在输入的深度图像上操作。l层的卷积核在所有视角上共享。特别的,对于给定的视角n的第l层的第k个特征图谱按如下的方式计算:

*是卷积操作,是元素的乘法,用前景的掩码来去掉背景。对于输入层,。我们接下来利用池化操作来对特征图谱进行下采样,生成下一层的输入。

多视角池化:我们选择average pooling,因为相对于其他方法(例如max pooling)来说,它对深度图像的几何结构产生相对较小的变形。对于第l层,我们使用尺寸大小为,这会产生池化映射的尺寸大小为。对于视角n的第l层,在第k个特征图谱上通过使用average pooling操作得到的第k个池化映射为:
作为下一层的输入特征图谱:。注意,前景掩码也要进行池化,用和特征图谱池化相同的方法进行池化,产生下一层的掩码。

输出权重学习:最后一层的输出特征图谱被用在MVD-ELM学习阶段来训练输出权值。全连接的最后一层有一个输出层,如图4左边。我们简单的连接所有M个训练图形的特征图谱成为M个行向量,得到一个全连接层的矩阵分别是每一个视角最后一层的特征图谱的数量、特征图谱的大小、池化的尺寸。输出权值可以这样计算:

w是方程2中描述的权值。

测试:在测试过程中,一个测试的3D图形的多视角深度图像,通过整个网络,以至于能够得到测试数据的特征映射H。输出的类别标签是根据计算的出的最大概率的类别标签。

5、神经元可视化:理解MVD-ELM的性能,需要诠释多层上的神经元的激活。因为在我们的网络中卷积核是随机生成的,为了更好的可视化我们的MVD-ELM模型学习到的特征,我们使用优化的输出权值来加到输出的特征图谱上,得到的激活映射。这些激活值随后会从输出层映射到3D输入层,通过卷积和池化的相反的操作,与【ZF13】类似。图4右边根据MVD-ELM训练网络显示了可视化的网络。

形式上,给定一个3D网络,让我们把表示成输出的特征图谱的矩阵和,学习到的特征能够通过下面的操作可视化:

invConv表示的是反卷积操作,unpooling是反average pooling操作。给定一个2D的输入图像x和一个卷积核w,卷积操作是。反卷积操作被定义为,flip意思是在输入的卷积核上沿着它的第二维度左右翻过来。unpooling通过在pool区域放置平均值来支撑每个像素。在图5中,我们显示了在输入上的颜色编码的激活映射。

为了可视化学习到的3D模型的有判别性的小块,我们剪裁3D模型基于激活图谱的输入。在所有的加权的输出特征图谱之间,我们选择前n个神经元激活值最大的(特征图谱的像素值)。为了可视化选择的特征图谱的神经元的激活值,我们只留下最大激活值附近的像素值,其他的地方的像素值设为0,得到了一个激活图谱的掩码。这些掩盖的激活值图谱然后通过可视化网络来重建底层网络的激活值(通过反卷积操作和反池化操作),知道到达输入层。最后,我们通过基于相同的投影矩阵反投影激活图谱的区域到3D空间。

正如图6所示,学习到的MVD-ELM特征能够在3D空间中可视化为点云,也能够得到部分与输入的3D模型中相同的最大激活值的区域。因为我们的MVD-ELM网络是对图形分类任务来训练的有区别的网络,这些特征本质上隐含着输入模型区域有区分类别的特征。



7、实验和评价

通过提出的MVD-ELM来学习3D图形特征,能够用在很广泛的应用上。在这一部分,我们来评价一下我们的MVD-ELM模型的特征学习的性能。我们已经用MATLAB2014b实现了MVD-ELM。

7.1 3D图形分类

参数设定:在我们的实现中,我们采用4层的MVD-ELM网络(L=4)。视角的数量设为D=20,规则化权重为w=0.01。表1总结了我们所用的参数。



数据集:为了验证通过MVD-ELM学习到的特征的表示能力,我们在一个大规模的有相当大得类内变化的3D图形数据集上来跑我们的算法,Princeton ModeNet,目前可以得到的在线图形数据集,包含662类127915个CAD模型。我们在它的两个子数据集上运行我们的算法:(ModeNet10和ModeNet40)。在ModeNet10上我们手动的调整一样的方向,但是在ModeNet40上我们不做这些处理。如下图:



和可选择的方法比较:对于ModeNet10,我们的MVD-ELM花了674秒来训练,得到88.99%的分类正确率。我们的方法和CDBN相比较,他们的方法花费了大约两天的时间来训练网络,得到了83.54%的正确率。我们也和两种手工制作的描述子做了比较,Light Field Descriptor(LFD)和Spherical Harmonics(SPH)。对于LFD和SPH,我们用线性的SVM来训练分类器,在表3上显示出,我们的MVD-ELM实现了比两种描述子都好的精度。



为了更好的证明我们学习到的特征的性能,我们在低分辨率(48*48)的深度图像上来训练我们的MVD-ELM,和CDBN做比较。同时,我们在相同的数据集上训练CNN。此外,我们也训练SVM分类器,用我们MVD-ELM学习到的特征作为数据驱动。图4显示了不同方法的分类的精度和训练的时间。结果证明,我们的特征表现出更好的性能,甚至用分辨率相对较低的2D投影。此外,我们的方法比其他方法有更好的性能,不管是在深度还是在浅层模型中。



和单层的ELM-LRF相比较:堆叠的多层的ELM-LRF能够使我们的模型学习到分层的特征,这可能比单层模型更加有表现力。为了证明这个问题,我们比较了多层的、以及单层的ELM-LRF在MNIST数据集上的性能,它包括60K训练数据,10K测试数据。两种方法我们都用40个卷积核。对于多层的,我们选择两层的版本。如表5所示,两层的ELM-LRF的到了更好的分裂性能。



我们也比较了单层、两层、四层几个不同版本的MVD-ELM在ModeNet10上的性能。对于所有的版本,标准化的卷积和都为8,输出层的特征图谱的大小设为8*8。表6所示,多层的MVD-ELM得到了更好的分类性能。因为多层的特征图谱。多层的ELM-LRF需要更多的时间来训练。



投影视角的数量:对于多视角的学习方法,输出的精度应该是随着视角数量大的增加而提升。为了证明视角数量的作用,我们用不同数量的视角做实验。图8所示,随着视角数量的增加,分类的精度也增加。



MVD-ELM的旋转不变性:为了测试MVD-ELM的旋转不变性,我们在ModeNet40数据集上对方向不做限制。我们旋转每个模型30度来生成更多的模型实例。训练数据集合测试集安排好,避免重复。如表3底部所示。我们的方法花费了306.4秒来训练,得到了81.39%的正确率。然而,CDBN得到了77.32%的精度,LFD75.47%,SPH63.59%。

8、结论
我们采用多视角深度图像表示,提出了基于ELM-LRF的多视角深度神经网络,实现了3D图形的快速的、高质量的投影特征学习。和现存的3D图形特征学习的方法相比,我们的方法保证了从相互独立的不同的视角通过共享权值来学习特征。此外,每一层的反投影特征映射能够组成一个有效的3D重建。通过可视化引导我们学习到更加精确的3D特征。此外,我们的训练过程更加快速,使它能够在现实中得到更多的应用。

缺陷:我们的模型有几个缺陷。第一,算法中有很多参数需要调整。这是所有深度学习都面临的问题。然而,MVD-ELM的快速训练能够使参数调整的更快。第二,因为3D图形的内在几何结构可能不能通过基于视角的投影来获得它的全部,我们的特征学习可能不能捕获3D图形的全部的特征。最后,我们的方法需要很多视角的深度图像作为输入,在现实场景中很难捕获到。然而,随着3D场景技术的快速发展,甚至的实时获取装置,例如微软的Kinect,3D数据会更加容易的获得。

将来的工作:首先,基于我们的深度特征学习的模型的应用非常值得去发展。一些可能的应用包括室内的3D物体识别、3D场景理解和3D物体分析等。在机器人学中,发展在线的特征学习也会很有趣,训练数据从机器人的动作中得到。第二,发现新的方法来学习更加全面的D特征也会很有趣,例如,根据相机放置的不同距离生成分层的深度图像。最后,我们队利用我们的深度投影学习特征模型来连接2D和3D图像很感兴趣,因此更多的朝着2D-3D数据融合的研究机会。










0 0
原创粉丝点击