APP下载

基于双流混合变换CNN特征的图像分类与识别

2015-12-05汤鹏杰谭云兰李金忠

关键词:池化集上个数

汤鹏杰,谭云兰,李金忠,谭 彬



基于双流混合变换CNN特征的图像分类与识别

*汤鹏杰1,谭云兰2,李金忠2,谭 彬2

(1.井冈山大学数理学院,江西,吉安 343009;2.井冈山大学电子与信息工程学院,江西,吉安 343009)

具有表达能力及可辨别性更强的特征是图像分类与识别技术的关键。深度CNN特征经过多次中间非线性变换,特征鲁棒性更强,在图像分类与识别领域已取得重大进展。但传统的CNN模型只增加变换层次,下层变换依赖于上层输出结果,因此其中间特征冗余度较低,最终得到的特征向量信息丰富程度不够。本文提出一种基于双流混合变换的CNN模型——DTM-CNN 。该模型首先使用不同大小的感受野卷积核提取图像不同的中间特征,然后在多次深度变换时,对中间特征进行混合流动,经过多次混合变换,最终得到1024维的特征向量,并使用Softmax回归函数对其分类。实验结果表明,该模型经过多次卷积、池化及激活变换,提取的特征更加抽象、语义及结构信息更加丰富,对图像具有更强的表达能力及辨别性,因此图像分类及识别性能优越。

图像分类;识别;双流混合;CNN

0 引言

基于内容的图像分类与识别技术是计算机视觉领域的核心技术,在图像检索、目标检测及视频理解分析等方面有着重要应用。以往经典的做法是首先提取图像的特征,然后对特征进行编码,得到能够表达图像的特征向量,最后使用分类器对特征向量进行分类。在整个过程中,表达图像的特征向量是提高分类与识别精度的关键。传统的方法是根据图像的颜色、纹理及形状信息等手工设计特征,如根据颜色信息而设计的颜色直方图特征、根据纹理信息而设计的LBP(Local Binary Pattern,局部二值模式)特征[1]、基于梯度信息而设计的HOG(Histogram of Oriented Gradient,梯度方向直方图)特征[2]和SIFT(Scale Invariant Feature Transform,尺度不变特征变换)特征[3]等。基于这些特征的图像分类与识别方法在取得巨大成功的同时,也存在着很多缺点,如特征表达能力不强,图像中物体的结构信息及语义信息丢失等问题; BoW/BoF(Bag of Words/Bag of Features,词袋)模型[4]和FV(Fisher Vector)编码方法[5]通过对特征进行聚类,提高了特征的表达能力;基于BoW/BoF而设计的SPM(Spatial Pyramid Match,空间金字塔匹配)技术[6]将不同分辨率下的特征向量组合在一起,对解决图像结构信息丢失问题效果显著。从视觉技术发展的过程来看,对于图像内容和特征的非线性变换越来越复杂,变换层次越来越多;而随着深度的不断增加,其分类和识别效果也越来越好。同时,视觉生理学也证明,人脑是一个高度复杂的深度变换系统,低层特征经过一系列非线性变换被编码成高层特征,从低层到高层其特征表达越来越抽象,结构和语义信息越来越丰富。但传统的手工特征由于其使用的低层特征较为单一,提取特征的粒度较粗,甚至方法存在先天缺陷,导致难以真正对其进行深度变换和编码,编码后的特征表达能力有限。

基于CNN(Convolution Neural Network,卷积神经网络)技术的图像分类与识别模型由于其从原始图像直接提取特征,中间经过多次卷积、池化(降采样)及非线性变换操作,拟合了一个参数规模巨大且高度复杂的非线性函数,完整的模拟了人眼视觉发现的原理,其提取的特征包含了丰富的结构和语义信息,表达能力强,性能优越,在多个数据集上的实验证明,其性能远远超越传统的方法。鉴于CNN强大的表现能力,其已经成为当前计算机视觉领域的研究热点和主流技术之一。本文在当前Alex-Net[7]和ZFCNN[8]模型基础上,提出了一种DTM-CNN网络模型(Deep Two stream Mixed CNN features,深度双流混合CNN特征),通过模拟人眼视觉发现的视神经交叉原理,使用两条不同的深度变换流,提取更为丰富的图像特征信息;同时通过减少顶层全连接的神经元个数,控制网络规模,与同类其他主流模型相比,其神经元个数更少,运算复杂度更低。实验证明,该模型对于图像分类与识别效果显著,明显超过了当前其他几个常用模型。

1 相关工作

自Mcculloch和Pitts提出神经元的数学模型以来,已经出现了众多的ANN(Artificial Neural Network,人工神经网络)模型,其中BP(Back Propagation,反向传播)网络以其坚实的理论基础和优越的性能已经成为ANN的主流模型。但BP网络也存在着梯度弥散的致命缺陷[9],若网络中存在多个隐层,当误差反向传播到输入层时,其误差能量已经变得极其微弱,难以起到调整网络权值和偏置的作用。由于构建网络复杂,没有统一的模型设计规则,也使得众多研究人员对ANN持怀疑态度,使得ANN技术发展一度陷入瓶颈。LeCun等人在90年代提出了基于CNN的LeNet5模型[10],用于识别图片中的手写字体;它通过对图像进行两次卷积和池化操作提取图像特征,使用Softmax回归函数对特征进行分类识别,其识别精度达到了商用级别。但由于当时硬件计算性能限制,其更深层次的特征变换没能实现。Hinton于2006年提出了深度学习的概念,并设计了DBN(Deep Belief Network,深度信念网络)模型[11-12],通过堆叠多个RBM(Restricted Boltzmann Machine,限制玻尔兹曼机),并使用逐层训练的方法,使得对于特征的深度变换成为现实。但RBM训练复杂,运算复杂度高,对于大规模的图像数据分类与识别任务难以在常规硬件条件下完成。Krizhevsky和Hinton等人结合深度学习思想和CNN技术,设计了Alex-Net深度模型[7],它使用了5个卷积层、3个池化层和两个全连接层构建整个网络,神经元个数和参数规模分别达到了0.66 M和62 M;在Imagenet2012数据集上,通过使用两块GPU进行并行训练,其得到的模型在测试集上使得Top5的正确率达到84.7%,超过当时性能最好的SIFT+FV模型10%以上。Krizhevsky 和Hinton的工作使人们意识到了基于CNN的深度模型在计算机视觉领域的巨大潜力。Zeiler等人通过对使用Alex-Net模型提取的各层特征进行可视化,发现该模型中的第一个卷积层没有对图像的原始信息提取完全,使得后续的卷积操作所得到的特征存在先天表达能力不足的缺陷;他们通过对Alex-Net的底层卷积层进行修改,得到了ZFCNN网络模型[8],在Imagenet数据集上的实验证明,该模型使得分类精度得到了小部分提升。但由于减小了底层卷积核的大小和步长,使得ZFCNN的神经元个数比Alex-Net增加了一倍以上。为了进一步提高分类精度,Simonyan和Zisserman等人设计了VGG16和VGG19超深度模型[13],其卷积层分别达到了13层和16层,其中VGG19在Imagenet测试集上Top5的分类精度达到了93.2%;但该模型的神经元及参数规模非常巨大,在VGG19中其分别达到了14.8M和144M。相比来说,Szegedy C等人设计的GoogLeNet模型虽然层数更多,但由于其控制了每个卷积层的卷积核大小及特征图个数,神经元及参数个数更少,且其分类性能比VGG19更优。在小图像识别中,Lin等人提出了NIN(Network In Network,网中网)模型[14],它在每次池化之前经过多次卷积,尽量提取更丰富的图像特征,且每次卷积时,保证特征图的大小不变;在Cifar10和Cifar100数据集上,NIN模型分类识别精度分别达到了92%和64.3%。但这种在池化之前连续多次卷积的方法与每次卷积时增加特征图的个数是等价的,导致网络中神经元个数在600 K以上,是相同配置下Alex-Net模型的2倍以上。

综合以上各种深度模型可以发现,为了提取更加抽象的特征,各模型层次越来越多,神经元个数越来越多,而每个神经元则是由一次卷积运算而得到,因此,其模型运算复杂度越来越高。本文所提出DTM-CNN在Alex-Net和ZFCNN的基础上,在提取两条深度CNN特征的过程中,在每次卷积运算和池化之后,对提取的临时特征进行混合交叉,混合后的特征作为下一次卷积运算和池化的输入。该模型在CalTech101[15]、CalTech256[16]和Scene15[17]三个数据集上,其分类识别性能显著,尤其是在CalTech101和CalTech256上,其性能明显超越当前其他几个同类主流模型。

2 DTM-CNN

2.1 问题描述与模型设计

在CNN中,通过设计卷积核(权值矩阵)来模拟人眼中局部感受野;对于一张图像在一次卷积运算时其使用同一个卷积核,通过这种权值共享的方式减少连接和参数个数。由于每个卷积核只能提取图像的某一类特征,因此为了得到更多的图像信息,需要在一个卷积层中同时设计多个卷积核,最终生成多张特征图;然后使用非线性函数对特征图中的信息进行激活和抑制,增强特征图中信息的对比度;为了进一步减少神经元和参数个数,同时也为了提取特征图中更具代表性的信息,需要设计池化核对各特征图使用均值池化或最大值池化操作进行降采样。经过多次“卷积—激活—池化”操作,得到能够描述整张图像的特征向量。整个网络模型使用有监督的学习机制,在训练时,通过前向操作提取图像特征,通过对误差进行反向传播对卷积核和池化核及其偏置进行更新,以更好的拟合训练集数据。

如图1所示, DTM-CNN模型中,对于一张图像,使用Stream A和Stream B两个变换流提取图像的深度特征。在Stream A中,其配置和Alex-Net完全相同,Stream B中,其第一个卷积层的卷积核由11×11变为7×7,其步长保持不变,这样能够使卷积后得到的特征图大小相同,便于下一步的池化和特征混合操作,同时由于Stream B中使用的卷积核更小,因此能够提取更加丰富的特征;经过一次池化操作之后,将两组临时特征进行交叉混合,并作为下一个卷积层的输入;同理,在每次卷积运算和池化之后,都对生成的临时特征进行交叉混合,但在两个变换流的最后一个池化层,取消两个流的临时特征混合,分别直接连接到一个全连接层;在两个流的两个全连接层之间再次分别交叉混合,并输入到各自的下一个全连接层中;在Stream A和Stream B之后,将得到的两组特征进行组合连接,送入顶层全连接层中,最终得到一个1024维的特征向量,并将其作为分类的依据。在分类时,仍然使用Softmax回归函数,对每个特征计算其属于某一类的置信度,其置信度最大的特征向量对应其属于某类图像的标签。为了控制参数规模,模型将两个变换流中的每个全连接层神经元个数由原来的4096变为2048。模型各层中的参数配置如表1所示。

表1 DTM-CNN模型各层配置参数

图1 DTM-CNN模型

2.2 模型原理与分析

整个网络模型可形式化定义为:

(1)式中,W为权值矩阵,为偏置,为输入向量,为样本类别标签,为非线性变换函数(激活函数),需要特别指出的是,是经由上一层变换函数所得到;整个网络的前向计算属于逐次迭代过程,每次迭代需要经过一次或多次卷积、池化和归一化操作。

网络模型的目标函数可描述为以下(2)式:

(2)式中,为最后一个全连接层中神经元个数,为损失(误差)函数,(k)为第个神经元的输入,(k)为第个神经元的输出;对于顶层连接层的某个神经元来说,使用如下(3)式表示其损失函数。

式(3)中为惩罚因子,为网络总层数,s为其中一条变换流中网络的第神经元个数层,t为第+1层神经元个数。整个网络模型的目标是调整W和,使得达到最小或收敛,一般使用BP算法进行误差修正;z为第个神经元经过函数变换的输出,z是对应标签。函数采用ReLU(Rectified Linear Unit,线性修正单元),其函数形式如(4)式所示:

其中在不同的操作中,形式有所不同,在全连接层,的形式为:

与函数和函数相比,ReLU具有运算复杂度低、收敛速度快的优点,同时能够使变换后的数据具有更好的稀疏性。在大规模图像分类与识别中,为加速收敛过程,优化时一般使用随机梯度下降算法对权值和偏置进行更新。其更新公式可使用简单的链式求导法则,如(6)式所示(式中为学习率):

由于是多层网络,应对各卷积层的权值矩阵及偏置进行迭代优化;在前向传播时,其卷积层运算如(7)式所示:

(7)式中,x为该层卷积核所对应大小的特征图块,M为所选的第张特征图,k为该卷积层第特征图所对应卷积核,b为该特征图的偏置。经过卷积的特征图在池化时一般不做激活。

对误差进行逐层反向传播时,为防止梯度弥散,需要保证各层中的误差之和保持一致。若池化层的上一层为卷积层,且池化时使用最大值池化,则应首先对该池化层进行反池化操作,读取池化层中相应位置数据在卷积层的对应位置,然后将对应求导后的激活输出与之做点积求和,卷积层中其他相应位置置为0;求得卷积层误差矩阵之后,将其求和并与乘性偏置()相乘,即得到偏置的更新项;在求取卷积核矩阵的更新项时,首先将卷积误差矩阵与与本池化层神经元相连的卷积特征图进行点积求和,再将其与相乘。其形式化描述如(8)式所示[18]:

(8)式中为本层特征图中神经节点所在位置,p为上层特征图与本层卷积核相对应大小的块,为误差矩阵,其形式化定义为:

上述(9)式中,(.)为反池化操作,若池化层核大小为2×2,池化步长为2,()=1,其误差矩阵计算过程如图2所示(‘●’为点积运算符,‘*’为卷积运算符)。

图2 卷积层误差矩阵计算过程

设计CNN网络模型,通常要考虑整个网络的神经元个数及参数规模,神经元个数决定了模型的时间复杂度,同时对存储空间也有一定影响,参数规模反映了模型的空间复杂度和训练出来的模型大小,因此,在保证足够深度的情况下,应尽量减少神经元个数及参数规模。各层神经元个数主要由输出特征图个数及其大小所决定,而卷积核大小及卷积步长则决定了特征图的大小,若要控制神经元个数,则应该增大卷积核的大小及步长,但过大的卷积核及步长会使得提取的图像信息过于粗糙,不利于下层卷积的特征提取,因此,需要在神经元个数与信息提取粒度之间做平衡。参数规模则是由输入特征图个数,输出特征图个数、卷积核及池化核大小所共同决定,但各层特征图个数则决定了信息提取的丰富程度,因此在控制参数规模时,也应综合考虑各参数之间的平衡。表2比较了DTM-CNN及当前其他几个同类模型的神经元个数及参数。

表2 各深度模型神经元个数及参数规模

从表2中可以看出,在控制神经元个数方面,由于DTM-CNN模型采用基于Alex-Net模型的卷积核大小和步长,但又采用了双流变换的结构,因此,其神经元个数是Alex-Net的两倍,但均少于其他几个模型,仅是VGG19模型的8.9%;而在控制参数规模时,目前则GoogLeNet模型做的最好,整个模型参数仅为6.8 M左右,其训练出来的模型大小约为55 M,DTM-CNN模型大小约为其4倍。

3 实验设置与分析

3.1 实验设置

为检验模型效果,我们采用了CalTech256、CalTech101和Scene15三个数据集对其进行实验验证,同时在相同实验配置下,对其他几个模型上做对比实验。在CalTech256数据集上,我们在每类中随机选取60张图像作为训练数据,数据集中剩余其他图像作为测试数据;在CalTech101数据集上,从每类中随机选取30张图像作为训练数据,剩余其他图像作为测试数据;在Scene15数据集上,从每类图像中随机选取100张图像进行训练,其他图像作为测试数据。实验时,首先对图像进行预处理,所有图像分辨率均缩放至256×256,然后使用数据扩增(Data_augment)技术扩展训练集,同时对图像进行减均值处理;在对模型进行初始化时,使用高斯随机数对卷积核矩阵进行填充,其标准差设置为0.1;初始化偏置值为0.1。整个实验模型在Caffe平台[19]上部署,并使用GPU加速训练过程;模型其他训练参数如表3所示。

表3 模型训练参数设置

在对Scene15数据集进行训练时,由于数据集样本较少,其Dropout ratio设置为0.9,释放全连接层中更多的权值连接,减少训练中对参数的调整次数,防止过拟合现象的发生;其他数据集中,其值设置为0.5;在训练完毕之后,对得到的模型进行微调,微调迭代次数设置为20万次,在三个数据集上的实验证明,经过微调的模型其性能能够提升1%左右。

3.2 实验结果及分析

我们在三个数据集上分别测试了Alex-Net、GoogLeNet及DTM-CNN三个模型,而ZFCNN由于模型神经元及参数规模巨大,硬件要求较高,未做测试,其结果由文献[8]所提供。在CalTech256数据集上,DTM-CNN模型的分类及识别错误率(Top1)比GoogLeNet模型降低了近2%,比Alex-Net模型降低了近10%;在CalTech101数据集上,DTM-CNN模型性能(Top1)比GoogLeNet提升了近10%,同时也远远超过Alex-Net与ZFCNN模型;但在Scene15数据集上,DTM-CNN模型性能与其他两个模型相比,其提升并不明显,在Top1上与GoogLeNet模型几乎持平。这是因为Scene15数据集样本较少,其训练集中样本总量仅为1.5K,不足以拟合模型中的大量参数,极易发生过拟合现象,而GoogLeNet模型参数较少,因此其表现更为优。但在运算复杂度上,DTM-CNN模型仅为GoogLeNet模型的1/4左右,因此,其训练及收敛速度更快。

表4 各深度模型在CalTech256数据集上的错误率

表5 各深度模型在CalTech101数据集上的错误率

表6 各深度模型在Scene15数据集上的错误率

4 结论及展望

深度学习技术已在语音识别、图像分类、目标检测等领域取得巨大成功,其针对各种应用所开发的深度模型性能远远超过了传统方法;基于CNN的深度学习技术以其优越的性能表现已经成为深度学习的研究主流。本文在Alex-Net模型基础上,提出并设计了一种DTM-CNN模型。该模型通过两条CNN变换流提取图像的不同特征,并在特征传递时,对其交叉混合,最终得到的特征向量维度更低,可辨别性更强。实验证明,该模型与其他几个同类模型相比,运算复杂度更低,性能更优。同时,双流变换混合的思路也为在不同应用中设计深度模型时提供了一条新的思路。

深度模型一般参数规模巨大,在没有足够训练数据的情况下,容易发生过拟合现象。本文所设计的DTM-CNN模型参数较多,但深度变换层次较少,其特征表达能力有限,虽然在CalTech256和CalTech101两个数据集上性能表现优越,但还没有在超大规模数据集(如Imagenet)上进行验证。因此,本课题的下一步工作将从两个方面进行,首先是在大规模数据集上验证模型性能,其次是对模型进行深度扩展,增强模型特征的抽象及表达能力。

致谢:感谢同济大学计算机系MIC实验室的王瀚漓老师和肖波、左凌轩等同学,他们提供的实验设备及诸多建设性建议使得模型设计和实验能够顺利进行。

[1] Ojala T, Pietikainen M, Harwood D. A comparative study of texture measures with classification based on feature distributions[C]. Pattern Recognition. 1996:51- 59.

[2] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]. IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR), 2005:886-893.

[3] Lowe D G. Distinctive Image Features from Scale-Invariant Keypoints[J]. International Journal of Computer Vision, 2004, 60(2):91-110.

[4] Grauman K, Darrell T. The Pyramid Match Kernel: Discriminative Classification with Sets of Image Features[C]. Proceedings of IEEE Computer Society, 2005:1458-1465.

[5] Perronnin F, Sánchez J, Mensink T. Improving the Fisher Kernel for Large-Scale Image Classification[J]. Lecture Notes in Computer Science, 2010, 6314:143-156.

[6] Lazebnik S. et al. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories[C]. IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR), 2006:2169-2178.

[7] Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[C]. Advances in Neural Information Processing Systems(NIPS), 2012:2012.

[8] Zeiler M D, Fergus R. Visualizing and Understanding Convolutional Networks[J]. Lecture Notes in Computer Science, 2014:818-833.

[9] Schmidhuber J. Deep Learning in Neural Networks: An Overview[J]. Neural Networks the Official Journal of the International Neural Network Society, 2014, 61:85–117.

[10] LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[C]. Proceedings of the IEEE, 1998, 86(11):2278 - 2324.

[11] Hinton G E. Salakhutdinov. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786):504-507.

[12] Hinton G E, Osindero S. A Fast Learning Algorithm for Deep Belief Nets[J]. Neural Computation, 2006, 18(7):1527 - 1554.

[13] Simonyan K, Zisserman A, Simonyan K, et al. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Eprint Arxiv, 2014.

[14] Min L, Qiang C, Shuicheng Y. Network In Network[C]//International Conference on Learning Representation(ICLR), 2014.

[15] Griffin G, Holub A, Perona P. Caltech-256 Object Category Dataset[J]. California Institute of Technology, 2007.

[16] Fei-Fei L, Fergus R, Perona P. Learning generative visual models from few training examples: An incremental Bayesian approach tested on 101 object categories[J]. Computer Vision & Image Understanding, 2007, 106(1):178.

[17] Fei-Fei L, Perona P. A Bayesian Hierarchical Model for Learning Natural Scene Categories[C]. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Volume 2 - Volume 02. IEEE Computer Society, 2005:524-531.

[18] Bouvrie J. Notes on Convolutional Neural Networks[J]. Neural Nets, 2006.

[19] Jia Y, Shelhamer E, Donahue J, et al. Caffe: Convolutional Architecture for Fast Feature Embedding[J]. Eprint Arxiv, 2014.

IMAGE CLASSIFICATION AND RECOGNITION BASED ON DEEP TWO STREAM MIXED CNN FEATURES

*TANG Peng-jie1, TAN Yun-lan2, LI Jin-zhong2, TAN bin2

(1. School of Mathematics and Physics, Jinggangshan University,Ji’an,Jiangxi 343009,China;2. School of Electronics and Information Engineering, Jinggangshan University, Ji’an, Jiangxi 343009, China)

It is very important for image classification and recognition that the feature is more discriminative and has power representation ability. The deep CNN feature is more robust than other features because of its more non-linear transformation, and great breakthrough has obtained in the field of image classification and recognition based on the CNN. However, in the traditional CNN model, there just increase the transformation layers, and the posterior layer relies on the prior layer. As a result, the intermediate feature has low redundancy, and there is no enough information in the feature. In this paper, we propose a novel CNN model based on two stream and mixed transform. In this model, the intermediate feature is extracted via using different convolution kernels firstly. And then, the mixed feature is generated and flows forward when the deep transform is executed. Finally, we get a 1024D feature vector and classify it with the Softmax regression function. The experiment demonstrates that the feature extracted by the model is more abstract and has richer structural and semantic information via convolution, pooling and activation transformation repeatedly. And so, it has better performance for classification and recognition than other same models.

image classification; recognition; two stream mixed transformation; CNN

1674-8085(2015)05-0053-07

TP391.4

A

10.3969/j.issn.1674-8085.2015.05.011

2015-05-13;修改日期:2015-07-14

江西省教育厅科技计划项目(GJJ14561);井冈山大学科研基金项目(JZ14012)

*汤鹏杰(1983-),男,河南郸城人,讲师,博士生,主要研究领域为多媒体智能计算(E-mail:5tangpengjie@tongji.edu.cn);

谭云兰(1972-),女,江西新干人,副教授,博士生,主要研究领域为图像处理、虚拟现实(E-mail: tanyunlan@163.com.);

李金忠(1976-),男,江西吉水人,副教授,博士生,主要研究领域为大数据、机器学习等(E-mail:leezhong2005@126.com);

谭 彬(1982-),女,湖南常宁人,讲师,博士生,主要研究领域为无线编码、机器学习等(E-mail:jatanbin@163.com).

猜你喜欢

池化集上个数
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
怎样数出小正方体的个数
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
等腰三角形个数探索
怎样数出小木块的个数
基于卷积神经网络和池化算法的表情识别研究
怎样数出小正方体的个数