卷积递归深度学习在3D物体分类中的应用
(Convolutional-Recursive Deep Learning for 3D Object Classification)
Richard Socher, Brody Huval, Bharath Bhat, Christopher D. Manning, AndrewY. Ng
Computer Science Department, StanfordUniversity, Stanford, CA 94305, USA
摘 要
3D传感技术的最新进展使人们有可能轻松地拍摄彩色和深度信息并存的图片,以提高物体识别的图像。目前,大多数方法对于这个新的3D方式依赖于非常精心设计的特征。引入一个基于卷积和递归神经网络(CNN和RNN)组合的模型,用于特征学习和RGB-D图像分类。CNN层用于学习低水平的平移不变性的特征,然后作为多个固定树RNN的输入,以组成高阶特征。RNN可以被看作是结合卷积,并汇集到一个高效的、分层的操作。我们的主要结果是,甚至随机权重的RNN也组成强大的特征集。我们的模型在标准RGB-D对象集上获得了较好的艺术表现力,与其他可比的架构相比(如两层CNN),在训练和测试的阶段能更准确、快捷地得到结果。
1.简介
物体识别是计算机视觉中最困难的问题之一,并对于实用化家庭环境下的机器人十分重要。新的传感技术(如Kinect)可以记录高品质RGB和深度图象(RGB-D)信息,并且现在已经结合标准视觉系统在家用机器人中运用了。深度模式为复杂问题的总体目标检测提供有用的额外信息,由于深度信息是不随亮度或颜色的变化而变化的,并提供了几何线索使得可以更好地从背景中分离。目前,大多数基于RGB-D图像的物体识别使用手工设计的特征集,如二维图像的SIFT [2],三维点云的旋转图片[3],或特定的颜色,形状和几何特征[4,5]。
本文介绍了用于对象识别的第一卷积递归深度学习模型,该模型可以借鉴原始RGB-D图像。相比近期其他3D特征学习方法[6,7],我们的做法具有更快速度、不需要额外的输入渠道(如表面法线)、艺术性地检测家用物品的特点。图图1列出了我们的做法。训练和测试代码在www.socher.org上可以找到。
模型采用原始的RGB和深度图像进行分析,并首次分别从中提取特征。每一种模式首先输入一个卷积神经网络层(CNN,[8]),这个网络层提供了低层特征(如边缘)上有效的平移不变性,并且允许对象在一定程度上变形。汇集的滤波器相应随后传送给一个递归神经网络(RNN,[9]),它可以学习成分特征和部分交互作用。通过绑定权重和非线性的多个层次,将RNN分层地投入到低维空间中。
本文也探索了计算机视觉中新的深度学习架构。之前,RNN在自然语言处理和计算机视觉[9,10]方面的工作中,(i)为每组输入使用了不同的树型结构,(ii)采用具有一组权重的单一RNN,(iii)限制树状结构为二叉树,及(iv)通过结构的反向传播训练RNN[11,12]。在本文中,利用固定树结构、输入多个BNN和N叉树的方法,针对这四个方面拓展基于RNN结构的可能性。由此表明,由于CNN层中固定的树结构不仅不会降低性能,而且提高了识别速度。类似于近期的工作[13,14]可见,随着特征数量的增加,RNN模型的性能也随之提高。每种模式分层组成的RNN特征相互连接,作为联合SOFTMAX分类器的输入
图1:模型概述:一个从RGB和深度图像信息中提取低层特征的单一CNN层。这两种表示法都作为一组随机加权RNN的输入。若干个RNN(每个模式约100个)将特征递归映射到一个较低的维空间中,所有结果向量的串联形成最终的SOFTMAX分类器特征向量。
最重要的是,经证实,随机权重的RNN也可以得到高质量的特征。到目前为止,随机权重仅被证明可用于卷积神经网络[15,16]。由于监督训练减少了最终SOFTMAX分类器的权重的优化,可以很快地发掘大量的RNN结构。综上所述,得到了一个既能快速训练,又能在测试阶段高度并行的3D物体分类艺术系统。
首先,本文简要介绍了过滤器权重及其卷积的无监督学习,由此得到低级的特征。其次,详细描述了如何用多个随机RNN用来获得整幅图像的高水平特征。最后,讨论了相关工作。实验中,定量比较了不同的模型,分析了模型的消融,描述得到Lai[2]等人的RGB-D数据集结果
2.卷积递归神经网络
本节描述了新建立的CNN-RNN模型。首先,利用随机曲面的聚类使CNN过滤器进行无监督学习,然后将这些曲面转化成CNN层。将所得低级别、平移不变的特征传递给递归神经网络。由高阶特征组成的RNN可被用于图像分类。
2.1 CNN过滤器的无监督预训练
根据Coates[13]等人描述的过程,学习在卷积中要使用的过滤器。首先,根据模式(RGB和深度)提取随机曲面到两个集合中,然后对每组曲面进行规范化和白化。预处理后的曲面用简单k-means方法进行聚类操作,图2展示了两种方法得到的过滤器,他们捕获了标准边缘和颜色特征。在深度通道应用此方法的一个结果是锐化物体边界,这是因为物体边界和背景较大的不连续性,虽然深度通道往往有很多噪声,但是大部分特征依然平滑。
图2:非监督预训练后CNN层中k-means过滤器的可视化:(左)标准RGB过滤器(颜色显示效果最好)捕获边缘和颜色。当此方法适用于深度图象(中),由于物体边界强烈的不连续性,所得到的过滤器具有较明显的边缘。与使用图像的灰度信息训练得到的过滤器(右)相比,得到的结果是类似的,尽管边缘锐化程度较小。
2.2 单层CNN
由于CNN结构具有平移不变性特点,选择CNN生成RNN层的特征。 CNN的主要思想是,将输入图像卷积过滤,从而提取特征集。文中使用的单层CNN与Jarrett[17]等提出的类似,在矫正和局部对比度标准化(LCN)后包含一个卷积过程。LCN的设计灵感来自于计算神经科学,被用于在一个特征映射内对比特征以及相同空间位置的跨特征映射[17 , 18 ,14 ] 。
将每个图像的大小(高和宽)dI与K方形过滤器的大小dp进行卷积,每个维度大小为dI-dp+1,得到K滤波器的响应。然后用方形区域大小dl和步幅大小s取均值,汇集得到一个宽和高都等于r=(dI-dl)/s+1的响应。因此,一幅图像通过CNN层得到的输出X是一个K×r×r的三维矩阵。分别在颜色和深度图像信息中进行以上步骤。
2.3固定树递归神经网络
递归神经网络[19,10]的思路是在一个树状结构中递归地应用相同的神经网络,学习分层特征表示形式。本例中,树的叶节点是K维向量(一张图像切片的CNN汇集结果在所有K过滤器上重复),一共有r2个。
在我们之前的递归神经网络的工作[9,10,20]中,树的结构取决于输入。虽然这样做有更大的灵活性,但是对于在关联CNN层的物体分类任务中获得高性能是不必要的。此外,在最优树上的搜索大大降低了这个方法的速度,因为并行搜索和并行化大矩阵产品不容易实现。后者可以从新的多核硬件(如GPU)中获益匪浅。在这项工作中,重点在于设计出平衡的固定树结构。之前的工作只是合并了向量对,本文将RNN结构由合并向量对推广到允许合并各层邻向量块。
由每个图像的3D矩阵X∈RK×r×r开始(列是K维的),定义一个全为相邻列向量的块,合并为一个父向量p∈RK。为方便起见,下文只使用方形块,块的大小为K×b×b。例如,如果以b=3合并一个向量组为一个块,最终得到大小为128×3×3的块和一张向量组结果列表(x1,…,x9)。一般情况下,在每个块中有b2个向量,神经网络中计算父向量的公式是
(1)
其中,参数矩阵W∈RK×b2K,f是非线性的(如tanh),由于偏置对下面的实验没有影响,省去这个术语。式1以相同权重W,应用于X中所有向量的块。一般而言,有(r/b)2个父向量p组成一个新的矩阵P1。正如在矩阵X中运用公式1一样,P1中的向量以同样固定的权重合并成块,形成矩阵P2。重复以上步骤直到只剩一个父向量位置。图3给出了一个从K×4×4合并输出CNN及有4个子块的RNN树结构的例子
图3:块中应用递归神经网络:对于每个节点,运用相同的神经网络计算一组子向量的父向量。原始输入矩阵是卷积合并的输出。
目前为止,模型是非监督的。但是,最初的任务是将每个块分类成许多对象类别。因此,选取顶层向量Ptop作为softmax分类的特征向量。为了尽量减小softmax的交叉熵误差,可以通过递归神经网络[12]和卷积层[8]反向传播。实践证明,该操作速度较慢,将在本文下一节中讨论其他方法。
2.4多元随机RNN
以前的工作只使用了一个RNN,实际上可以采用3D矩阵X作为一组RNN的输入,每N个RNN输出一个K维向量。在通过所有RNN向前传播后,将所有输出串联成N个K维向量,随后传递给softmax分类器。
采用RNN中W矩阵的导数需要通过结构反向传播,实验发现,随机权重的RNN能够得到高质量的特征向量组,类似的结果在随机权重密切相关的CNN中也存在。在对比其他方法前,先简要回顾一下相关工作。
3.相关工作
使用RGB-D数据进行目标识别和场景理解一直是研究热点,Silberman和Fergus已经发表了关于全场景理解的三维数据[21],Koppula等人近期也整理出了室内场景分割的新数据集[4]。
如今在标准对象识别方面最常用的方法是利用基于方向直方图设计的特征集,如SIFT、SURF和纹理基元,将他们作为分类器(如随机森林)的输入。尽管这些方法有成功的方面,但是,也有一些缺点:如只能适用于一种模式(SIFT只能用于灰度图像);不容易适应新的模式,如RGB-D或不同的图像域。本研究尝试以下方法:通过颜色直方图修改这些特征以适应彩色图像,干脆将SIFT方法拓展到深度通道中[2]。内核描述符[5]作为一种更先进的方法可以概括这些想法,并且可以结合几个重要的RGB-D图像特性(如大小、三维形状和深度边缘)。
另一条相关工作线是对象分类中的空间锥体,特别是与内核匹配的锥体[24]。相似之处在于,设计的模型也学习了分层图像表示,可用于对象分类。
上述问题的另一种解决方案,是(在其他方面)采用无监督的特征学习方法[25,26,27],这个方法在对象识别方面已经取得了很大的进展。目前,许多深度学习的方法是从RGB图像中学习得特征,几乎没有研究三维图像的深度结构。最近,Blum等[6]在RGB-D数据中引入卷积k-means描述符(CKM)。他们采用了SURF相关的点,与[28]类似以k-means学习特征。在用非监督方法学习特征方面,他们的工作跟我们是类似的。
Bo[7]等最近的工作,是采用基于稀疏编码的非监督学习的特征,从包括灰度强度、RGB、深度标量和表面法线的8个不同渠道中学习词典。这些特征随后用于包含两层的分层匹配追踪,每层由三个模块:批处理正交匹配追踪,合并最大锥体和标准化对比度。最后得到一个非常大的用于分类的特征向量,这个向量的维度大小是188300。
最后,Pollack[19]和Socher[10]等为在实验环节中定量对比,引入递归自编码。递归神经网络已经被用于全场景分割[9],但是他们使用的是手工设计特征。Farabet[29]等也在场景分割中引入了一个模型,这个模型基于多标度卷积神经网络和学习特征表示形式。
4.实验
实验基于Lai等人[2]最近的RGB-D数据集。其中,有51个不同类别的家用物品和300个这些类别的实例,每个对象实例从3个不同的角度成像,每个实例获得将近600幅图像,数据集包含一共207920张RGB-D图像。在600张图像中以每5帧的间隔进行二次抽样,对每个实例汇总成120张图像。
此项工作注重于类别识别的问题,采用与[2]相同的设置以及他们所提供的10个随机分割。所有的动向在一个单独的分割上进行,模型消融在这10个分割中的一个中进行。对于每个分割的测试集,从每个类中列举一个对象,形成51个测试对象,每个对象有大约120张独立分类的图像,由此产生34000张图像来训练模型。在图像被传递给CNN前,调整其大小为dI=148。
在所有实验中对CNN过滤器都使用非监督预训练,在从每个分块的训练集中随机抽取的500000张图像曲面中运用k-means。在非监督预训练前,分别将原值减去均值并除以方差,对9×9×3的RGB曲面和9×9的深度曲面标准化。此外,原始图像采用ZCA白化去除像素间的关联和冗余特征[30]。执行一个有效的卷积包含K=128的过滤器组和长宽都为9的过滤器。执行合并界限为dl=10、步长为s=5的均值合并,每张图像得到一个大小为128×27×27的三维矩阵。
每个RNN在空间上都有大小为3×3的不重叠的子集,由此,在树的每个深度上可得:X∈R128×27×27到P1∈R128×9×9到P2∈R128×3×3最终得P3∈R128。在每种模式中用随机采用128个原始RNN。通过串联最终维数为2×1282=32768的特征集,将RGB和深度信息组合起来。
4.1 与其他方法的对比
表1:对比本文的CNN-RNN方法与其他多个相关方法。我们的方法优于出来Bo等人的其他方法,Bo等的方法利用了一个额外输入模式:表面法线。
在本节中,对比在文献中的其他相关模型。表1列举了主要的精度数据,与[2,5,6,7]发布的结果对比,Bo[5]等人最近的工作探讨了许多特征(包括3D形状、对象的物理大小、深度边缘、梯度、PCA内核、局部二进制模式等)上的多内核描述符。相反,我们实验中的特征是从原始颜色和深度图像中通过非监督学习得到的。Blum等人[6]的实验中也学习了特征描述符,并且稀疏地应用于感兴趣的方面。我们的方法优于除了Bo等[7]以为的其他方法,与我们的方法相比,他们的方法在需要5倍于我们内存大小的最终特征集的基础上,比我们的方法效果大了0.7%。他们在RGB和深度通道的基础上另外使用了表面发现和灰度信息,并且用基于稀疏编码的非监督方法学习这些输入信息。就大输入维数的速度而言,稀疏编码不能很好地扩展[31]。
4.2 模型分析
通过几个消融和模型的变化,分析本文的模型。除非另有说明,本研究选取一个分块作为实验对象,重点在于RGB图像和随机权重的RNN。
两层CNN:图4(左)展示了我们的CNN-RNN模型和一个两层CNN的对比。对比了以前推荐的CNN体系和一个用k-means训练的过滤器,在两种设置中,CNN-RNN优于两层CNN。因为它涉及的矩阵乘法更少,在实验中,与一个第二层的CNN层比较大约快了4倍。然而,我们方法中的主要瓶颈仍然在第一层的CNN中。两种模型均可受益于快速GPU的实现[32,33]。
无条件权重的树型结构神经网络:图4(左)同样给出了当随机RNN的权重在树中各层中是无条件情况下的结果(TNN)。换言之,在树的不同深度中使用不同的随机权重。由于权重仍然与各层相关联,这样的设置可看作步长大小与过滤器大小相等的卷积。由于在技术性这不是一个递归神经网络,因此,称之为树神经网络(TNN)。虽然这样大大增加了参数,降低了性能,但是事实上,在RNN中分配权重是有益的。
训练后的RNN:图4(左)中展示了另一个对比,多个随机RNN和单个训练后的RNN。对RNN训练程序、目标(如同[10]所示,在各层中添加重建成本;在各层或只在顶端节点中分类)、正规化、层的大小进行仔细的交叉验证。与128个随机RNN(差异2%)相比,最佳性能仍然存在缺陷,训练时间也更长一些。随着更有效的基于GPU的实施,训练多个RNN有可能实现。
随机RNN数:图4(中)表明,增加随机RNN数目可以提高性能,在这个数据集上,最后当数目取64时趋于稳定。
RGB与深度的组合及特征集:图4(右)表面,从RNN中将RGB和深度特征集结合起来可以提高性能。两种模式相互补充,产生的特征集具有充分的独立性,因而,分类可以从他们的组合中获益。
像素和深度上的全局自编码:本实验探究了相比单纯使用原始像素的单层特征集,使用CNN-RNN方法是否能得到更好的特征集。例如Coates and Ng [28]等人的方法展示了一个单一广泛层的显著效果。全局自编码只达到了61.1%(在93.3%的训练精度下是过拟合的)。本研究对隐藏单元和稀疏参数的数目进行了交叉验证。结果表明,在特征表示形式中,与单层自编码相比,随机递归神经网络可以清晰地捕捉到更多的相关类结构。
图4:开发块的模型分析。左:不同预训练下两层CNN和CNN-RNN的对比([17]和[13])。TNN是在各层中权重是无条件的树型结构神经网络,tRNN是经过方向传播训练的单个RNN(详情见本文)。我们模型在随机RNN的情况下达到最优性能(以*标记)。中:增加RNN数量能够提高性能。右:在开发块上组合两种模式可以将性能提高到88%。
4.3 误差分析
图5:CNN-RNN模型的混淆矩阵。y轴表示真实标签,x轴表示预测标签。大多数错误分类集中在(a)大蒜和蘑菇(b)食品盒和纸巾。
图5展示了所有51类的混淆矩阵。大多数模型的混淆矩阵合理地表明,在原始像素和深度信息中递归深度学习方法可以获得高质量的特征。我们最后分类错误的唯一一个类是蘑菇,因为它外观跟大蒜很像。
图6展示了4对容易混淆的类。大蒜和蘑菇在外观和颜色上都很像。矿泉水瓶和洗发水瓶在分类上也是有问题的,因为红外传感器不能从表面上正确反映。
图6:混淆类例子:洗发水瓶和水杯,蘑菇被标为大蒜,由于形状和颜色类似棒球投手被分类为帽子,白色棒球帽在某个角度被分为纸巾盒
5.结论
本文基于卷积和递归神经网络引入了一个新的模型。不同于以前的RNN模型,我们固定了树的结构,允许合并多个向量,利用了多个RNN权重,保持参数的初始化是随机的。这个结构支持并行化和高速,结构优于两层CNN,并且在没有任何外部特征的情况下获得了很好的性能(state of the art)。本文还论证了卷积和递归特征学习在深度图像新领域下的适用性。
致谢
感谢Stephen Miller and Alex Teichman在三维图像上的建议,Adam Coates的图像预处理提示,Ilya Sutskever和Andrew Maas的纸上意见。我们感谢匿名评论有见地的意见。Richard是由微软研究院的博士研究生奖学金支持的。该作者特别感谢美国国防部高级研究计划局(DARPA)的支持机读计划在美国空军研究实验室(AFRL)主合同号no. FA8750-09-C-0181,和DARPA的合同编号FA8650-10-C-7020的深度下的学习计划。任何意见,结果,结论或建议,在这份材料中隶属与作者,不反映DARPA,美国空军研究实验室,或美国政府的观点。
参考文献
[1] M. Quigley, S. Batra, S. Gould, E. Klingbeil, Q. Le, A.Wellman, andA.Y. Ng. High-accuracy 3D sensing
for mobile manipulation: improvingobject detection and door opening. In ICRA, 2009.
[2] K. Lai, L. Bo, X. Ren, and D. Fox. A Large-Scale HierarchicalMulti-View RGB-D Object Dataset. In
ICRA, 2011.
[3] A. Johnson. Spin-Images: A Representation for 3-D Surface Matching. PhD thesis, Robotics Institute,
Carnegie Mellon University, 1997.
[4] H.S. Koppula, A. Anand, T. Joachims, and A. Saxena. Semantic labelingof 3d point clouds for indoor
scenes. In NIPS, 2011.
[5] L. Bo, X. Ren, and D. Fox. Depth kernel descriptors for objectrecognition. In IROS, 2011.
[6] M. Blum, J. T. Springenberg, J. Wlfing, and M. Riedmiller. A LearnedFeature Descriptor for Object
Recognition in RGB-D Data. In ICRA, 2012.
[7] L. Bo, X. Ren, and D. Fox. Unsupervised Feature Learning for RGB-D BasedObject Recognition. In
ISER, June 2012.
[8] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-basedlearning applied to document recognition.
Proceedings of the IEEE, 86(11), November 1998.
[9] R. Socher, C. Lin, A. Y. Ng, and C.D. Manning. Parsing Natural Scenesand Natural Language with
Recursive Neural Networks. In ICML, 2011.
[10] R. Socher, J. Pennington, E. H. Huang, A. Y. Ng, and C. D. Manning.Semi-Supervised Recursive
Autoencoders for Predicting Sentiment Distributions. In EMNLP, 2011.
[11] C. Goller and A. K¨uchler. Learning task-dependent distributedrepresentations by backpropagation
through structure. In Proceedings of the International Conference on NeuralNetworks (ICNN-96), 1996.
[12] R. Socher, C. D. Manning, and A. Y. Ng. Learning continuous phraserepresentations and syntactic parsing
with recursive neural networks. In Proceedings of the NIPS-2010 DeepLearning and Unsupervised
Feature Learning Workshop, 2010.
[13] A. Coates, A. Y. Ng, and H. Lee. An Analysis of Single-Layer Networksin Unsupervised Feature Learning.
Journal of Machine Learning Research - Proceedings Track: AISTATS, 2011.
[14] Q.V. Le, M.A. Ranzato, R. Monga, M. Devin, K. Chen, G.S. Corrado, J.Dean, and A.Y. Ng. Building
high-level features using large scale unsupervised learning. In ICML, 2012.
[15] Kevin Jarrett, Koray Kavukcuoglu, Marc’Aurelio Ranzato, and YannLeCun. What is the best multi-stage
architecture for object recognition? In ICCV, 2009.
[16] A. Saxe, P.W. Koh, Z. Chen, M. Bhand, B. Suresh, and A. Y. Ng. Onrandom weights and unsupervised
feature learning. In ICML, 2011.
[17] K. Jarrett and K. Kavukcuoglu and M. Ranzato and Y. LeCun. What isthe Best Multi-Stage Architecture
for Object Recognition? In ICCV. IEEE, 2009.
[18] N. Pinto, D. D. Cox, and J. J. DiCarlo. Why is real-world visualobject recognition hard? PLoS Comput
Biol, 2008.
[19] J. B. Pollack. Recursive distributed representations. ArtificialIntelligence, 46, 1990.
[20] R. Socher, E. H. Huang, J. Pennington, A. Y. Ng, and C. D. Manning.Dynamic Pooling and Unfolding
Recursive Autoencoders for Paraphrase Detection. In NIPS. MIT Press, 2011.
[21] N. Silberman and R. Fergus. Indoor scene segmentation using astructuredlight sensor. In ICCV -
Workshop on 3D Representation and Recognition, 2011.
[22] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool. Speeded-Up RobustFeatures (SURF). Computer Vision
and Image Understanding, 110(3), 2008.
[23] A. E. Abdel-Hakim and A. A. Farag. CSIFT: A SIFT descriptor withcolor invariant characteristics. In
CVPR, 2006.
[24] K. Grauman and T. Darrell. The Pyramid Match Kernel: DiscriminativeClassification with Sets of Image
Features. ICCV, 2005.
[25] G. Hinton and R. Salakhutdinov. Reducing the dimensionality of datawith neural networks. Science,
313(5786), 2006.
[26] Y. Bengio. Learning deep architectures for AI. Foundationsand Trends in Machine Learning, 2(1), 2009.
[27] M. Ranzato, F. J. Huang, Y. Boureau, and Y. LeCun. Unsupervisedlearning of invariant feature hierarchies
with applications to object recognition. CVPR, 0:1–8, 2007.
[28] A. Coates and A. Ng. The Importance of Encoding Versus Training withSparse Coding and Vector
Quantization . In ICML, 2011.
[29] Farabet C., Couprie C., Najman L., and LeCun Y. Scene parsing withmultiscale feature learning, purity
trees, and optimal covers. In ICML, 2012.
[30] A. Hyv¨arinen and E. Oja. Independent component analysis: algorithmsand applications. Neural Netw.,
13, 2000.
[31] J. Ngiam, P. Koh, Z. Chen, S. Bhaskar, and A.Y. Ng. Sparse filtering.In NIPS. 2011.
[32] D. C. Ciresan, U. Meier, J. Masci, L. M. Gambardella, and J.Schmidhuber. Flexible, high performance
convolutional neural networks for image classification. In IJCAI, 2011.
[33] C. Farabet, B. Martini, P. Akselrod, S. Talay, Y. LeCun, and E.Culurciello. Hardware accelerated convolutional neural networks for syntheticvision systems. In Proc. International Symposium on Circuits andSystems (ISCAS’10), 2010.