首页> 中国专利> 基于Centering Trick卷积限制玻尔兹曼机的物体识别方法

基于Centering Trick卷积限制玻尔兹曼机的物体识别方法

摘要

本发明涉及基于centering trick卷积限制玻尔兹曼机的物体识别方法,包括构造训练数据库,对图像进行重构,进行白化预处理,采用融合centering trick的CRBM模型对训练集进行特征提取,将三维特征矩阵变换为一维特征向量,采用Softmax分类器对特征进行分类,获取测试集并对其进行重组和白化,计算池化层输出所对应的假设值S

著录项

  • 公开/公告号CN104036242A

    专利类型发明专利

  • 公开/公告日2014-09-10

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN201410241967.9

  • 申请日2014-06-03

  • 分类号G06K9/00;G06K9/66;

  • 代理机构北京思海天达知识产权代理有限公司;

  • 代理人沈波

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-12-17 01:39:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-05

    授权

    授权

  • 2014-10-15

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20140603

    实质审查的生效

  • 2014-09-10

    公开

    公开

说明书

技术领域

本发明属于图像识别技术领域,介绍一种融合centering trick(一种利用参数中心因子的数据预处理方法)的卷积限制玻尔兹曼机(Convolutional Restricted Boltzmann Machine,CRBM)模型的物体识别方法。在利用CRBM提取图像全局特征时融合centering trick,通过重构原始CRBM能量函数,以减小每次输入时的噪声,从而减小整个生成模型计算过程中的噪声,并利用贪婪算法这一学习机制,使得模型更加稳定并具有更好的生成特性。 

技术背景

机器人技术作为20世纪人类最伟大的发明之一,自60年代初问世以来,历经50多年的不断发展,已成为高技术领域内具有代表性的战略技术之一。人类有80%以上的信息是通过视觉获得的,而机器人对自身所处环境的感知是机器人智能化的关键,因此,基于视觉的机器人环境感知的研究吸引了大量研究人员的参与,同时也取得了大量的研究成果。物体识别是移动机器人环境感知技术的基础和核心,也是提高移动机器人智能化的关键技术。移动机器人需要在未知环境中通过视觉传感器获取周围环境的图像,然后对图像中的物体进行识别和理解,进而执行相应的任务。 

特征提取是物体识别过程中的一个极为重要的环节,其目的是完成图像信息从数据空间到特征空间的转换。在某种意义上,就物体识别任务而言,特征提取结果的好坏对识别结果起到至关重要的作用。通常,图像的特征可以分为全局特征和局部特征。尺度不变特征转换(Scale-invariant feature transform,SIFT)是视觉研究领域最为常用的特征提取方法之一,其对尺度、旋转以及一定视角和光照变化等图像变化都具有不变性,但是其实质仍然是人工定义的特征,所提取的特征具有一定的局限性。相较于局部特征的局限性,全局特征则可以较为全面地表达图像整体信息。 

早期常用的基于人工神经网络(Artificial Neural Network,ANN)的全局特征提取方法是误差反向传播算法(Error Back Propagation,BP算法),它是一种前馈型神经计算模型,通过网络调节其神经元权值,具有较强的计算能力,可以实现各种复杂映射。但是,由于它存在着如下问题:残差经过层层传递,越来越小;容易收敛到局部最小值,且很容易过拟合;需要用有标签的数据来训练等。上述问题使得该类全局特征渐渐淡出了人们的视线。直至2006年,Hinton和Salakhutdinov在论文“Reducing the dimensionality of data with neural networks”(Science,2006,313(5786):504-507)中提出了深度学习的概念以及贪婪算法 (Greedy Layerwise)训练机制(即一层一层训练,训练前一层后,固定其参数,并将前一层的输出作为下一层的输入对下一层的网络进行训练,以此类推,直至训练完整个网络),全局特征才再次被学术界所重视。2009年,Salakhutdinov R.和Hinton G.E.的会议论文“Deep boltzmann machines”(International Conference on Artificial Intelligence and Statistics.2009:448-455)提出深度玻尔兹曼机(Deep Boltzmann Machine,DBM),DBM模型的实质是RBM的累加实现了模型中每一层与其相邻层之间的相互生成,训练机制仍使用贪婪算法。但是RBM模型应用于真实图像时,忽略了图像的二维性,以及像素之间的联系。 

发明内容

针对现有技术中存在的输入图像噪声过大以及忽略图像自身二维性及其之间联系的问题,本发明提出一种基于centering trick卷积限制玻尔兹曼机的物体识别方法,采用CRBM作为特征提取的基础模型。与传统的RBM模型将可视层输入图像、可视层、隐含层均视为行向量或列向量不同,见附图1,CRBM模型仿照图像的二维特性,将输入层和隐含层的结构均定义为二维矩阵,见附图2,这样有效地保留了图像内部局部区域之间的结构关系,并且可以利用较少的隐含层节点来实现对大尺寸图像的表达;在输入层利用centering trick减小每次输入的噪声,有效地提高模型的准确性,见附图3;而隐含层则分为探测层和池化层,探测层对输入图像进行局部卷积,池化层利用最大概率池化(probabilistic max-pooling),利用概率之间的相互表达,可以实现每一层与其相邻层之间的彼此表达。 

基于Centering Trick卷积限制玻尔兹曼机的物体识别方法,其特征在于在计算机中依次按以下步骤实现: 

训练阶段,按以下步骤进行训练: 

步骤1,构造训练数据库,计算机采集并输入NV×NV像素大小的物体图像,并按物体类别划分为N种类别、类别编号为1~N,每类物体图像中包含T幅训练图像,构造训练图像集合,用Ptrain表示,总数为:N×T=Q幅图像; 

步骤2,依次对Ptrain中的每幅图像进行重构。将原有表示2维图像的2维矩阵重构为4维矩阵。第1、2维分别表示高和宽,且图像高与宽相等,因此均记作NV;第3维表示图像的颜色,记为color,若图像为RGB图像color=3,否则color=1;第4维表示图像的数量,即Q。重构好的图像集表示记为data={datai,i=1,2,3,…,Q},data为NV×NV×color×Q矩阵,其对应的标签集合为L={Li,i=1,2,…,Q},集合L中的值可分为N类,对应训练数据库中的图像的N个类别。 

步骤3,对集合data中的图像datai进行白化预处理,即datai的协方差矩阵除以其对角元素的值λi的算术平方根。集合data白化后的结果记为datawhiteni={datawhiten,i,i= 1,2,3,...Q}。 

步骤4,采用融合centering trick的CRBM模型对训练集Ptrain进行特征提取,如附图4所示,方法如下: 

步骤4.1,将datawhite,i随机划分为numbatches组,每一组含有numcases个图像,新产生的小数据集记为batchdatan,n=1,2,3,…,numcases。numcases根据训练集的大小可取10~100范围内任意整十数,numbatches的取值为Q/Numcases,Q为训练集中的样本个数。 

步骤4.2,可视层v、探测层h与池化层p形成CRBM网络,如附图3所示。在CRBM模型中,隐含层被分成K组,每组由NH×NH个二进制单元组成,因此隐含层的节点数为每组又与NW×NW滤波器相连,且将探测层的每一组分成C*C块,每一块对应着池化层的节点池化层每组的大小为Np,且Np=NH/C。模型层数为Maxlayer,考虑到模型的复杂度,Maxlayer一般取3~7范围内的任意整数。将batchdata作为可视层的输入v,在输入层引入centering trick算法,改进其能量函数的定义,并结合最大池化概率方法,计算隐含层和池化层。 

步骤4.3,计算已知可视层v,探测层h的概率: 

poshidprobs=P(hi,jk=1|v)=exp(I(hi,jk))1+Σ(i,j)Bαexp(I(hi,jk))---(1)

其中,v表示可视层节点的值,h表示隐含层节点的值0或1,个数为表示第K组的第i行j列的节点,Bα表示所在的区域。I(hi,jk)=bk+(W*(v-βv))i,j,b表示隐含层偏移量,βv表示centering trick中可视层的center因子,W表示可视层到隐含层的权重,是大小为NW*NW*colors*K的4维矩阵,“*”表示卷积运算。 

步骤4.4,计算已知可视层v,池化层p的概率: 

poshidprobs=P(pαk=0|v)=exp(I(hi,jk))1+Σ(i,j)Bαexp(I(hi,jk))---(2)

步骤4.5,将poshidprobs视为探测层h的输入,利用吉布斯采样计算可视层v,结果即为recon: 

recon=P(vi,jk=1|h)=σ((Wk*(hk-βh))+c)---(3)

其中,c表示可视层偏移量,σ为sigmoid函数,其表达形式为σ=f(x)=1/(1+e-x),βh表示centering trick中隐含层的center因子。 

步骤4.6,将recon作为可视层输入v,重复步骤4.3将结果记为neghidprobs。 

步骤4.7,将recon作为可视层输入v,重复步骤4.4将结果记为negpoolprobs。 

步骤4.8,更新权重W: 

ddw=batchdata*poshidprobs-recon*neshidprobs   (4) 

dWpW×dW+ddwszBatch---(5)

W←W+epsW×(dW-decayw×W)   (6) 

其中,pW=0.95,szBatch=10,epsW=0.01,decayw=0.01。 

步骤4.9,更新可视层偏移量c: 

dc=batchdata-recon/Nv2szBatch---(7)

c←c+epsvbias×dc   (8) 

其中,epsvbias=0.1。 

步骤4.10,更新隐含层偏移量b: 

db=posprobs-negprobs/Nw2szBatch---(9)

b←b+epsvbias×db   (10) 

其中,epsvbias=0.1。 

步骤4.11,重复步骤4.3~4.10numbatches次,将每个batchdata对应得到的pospoolprobs作为输出,即提取的特征,在训练过程中不断更新参数权重W,偏移量c,b。 

步骤4.12,重复步骤4.1~4.11epoch次,完成融合centering trick的CRBM网络学习,固定网络参数权值W和偏移量b、c。考虑到运算的复杂度,及运算的精度,epoch一般在100~500范围内。 

步骤4.13,利用贪婪算法,训练下一个融合centering trick的CRBM。将池化层的输出视为下一个CRBM的可视层v,新加入的探测层为h’,重复步骤4.3。 

步骤4.14,计算新一层的网络已知可视层v,池化层p的概率,重复步骤4.4。 

步骤4.15,计算新一层的网络已知原始可视层v、原始探测层h的条件下,新加入的探测层的概率h’: 

recon=P(pαk=0|v,h)=11+Σ(i,j)Bαexp(I(hi,jk)_I(pαk))---(11)

其中,Q是h与h’之间的权重,是大小为N’W?N’W*color*K的4维矩阵,N’W=N‘V-NH+1,N‘V为新一层网络的可视层输入的第1、2维的大小。 

步骤4.16,重复步骤4.6~4.12,计算新一层网络的权值W和偏移量b、c。 

步骤4.17,重复步骤4.13~4.16,对新加入的网络进行学习以计算下一层网络权值,直至达到第Maxlayer层。所得到的结果pospoolprobs即为对输入特征提取后的结果,记为Ztrain={Zi,i=1,2,…,numcases},其对应的标签为Ltrain={Li,i=1,2,…,numcases}。 

步骤5,将三维特征矩阵Zi变换为一维的特征向量,记作Ztrain={Zi,i=1,2,…,numcases}。 

步骤6,采用Softmax分类器对特征进行分类,其训练过程如下: 

步骤6.1,计算输入层Zi对应的假设值为Si,且Si=σ(θZi),θ为Softmax输出层与输入层之间的权重,σ仍为sigmoid函数,见步骤4.5。 

步骤6.2,训练模型权重θ,使其代价函数取得最小值。采用梯度下降法最小化其代价函数,梯度下降法流程图见附图6,代价函数形式如下: 

J(θ)=-1m[Σi=1mZilogSi+(1-yi)log(1-Si)]---(12)

其中yi即为Zi的标签Li,m即为numcases。 

步骤6.3,重复步骤6.1、步骤6.2,直至代价函数收敛。 

测试阶段,测试方法如附图5所示,按以下步骤进行: 

步骤7,按照步骤1获取测试集Ptest,并按照步骤2、3对测试集Ptest进行重组和白化。 

步骤8,将融合centering trick的CRBM模型参数,设定为步骤1~6训练得到的模型参数。按照公式(1)、(2)计算探测层与池化层的输出,并计算池化层输出所对应的假设值Si。 

步骤9,判断Si是否等于测试集的标签Li,若等于则说明分类正确;反之,则认为分类失败。 

与现有技术相比,本发明具有以下优点: 

本发明在特征提取过程中充分利用了图像自身的二维性以及像素之间的联系,使权重实现了共享,减少了运算所需的内存,提高了运算速度。当可视层节点数为35*35,隐含层节点数为28*28时,若使用传统RBM,可视层与隐含层之间的权重W为352*282的矩阵;若使用本发明融合centering trick的CRBM模型,W为大小为8*8*K矩阵(详见步骤4.2),由此可见,本发明减小了运算所需的内存容量。此外,传统RBM模型计算过程中,1*352向量与352*282矩阵的乘法运算,被1*352向量与8*8*K矩阵的卷积所取代,减小了运算的复杂度,提高了运算速度。此外,本发明利用centering trick减少了每一层输入时的噪声,学习模 型展现出更好的识别特性和生成特性,减小了重构后数据与原始数据的差值,见附图7,附图8,将识别率由64%提高到65.4%,改善了运算的准确性和模型的稳定性。 

附图说明

图1是融合centering trick的CRBM结构图; 

图2是CRBM结构图; 

图3是融合centering trick的CRBM的结构图; 

图4是利用融合centering trick的CRBM特征提取的流程图; 

图5是利用融合centering trick的CRBM分类过程流程图; 

图6是梯度下降法流程图; 

图7是特征提取错误示意图; 

图8是图7的局部放大图。 

具体实施方式

基于Centering Trick卷积限制玻尔兹曼机的物体识别方法,包括训练阶段和测试阶段,具体包括以下步骤: 

1.机器人训练阶段,由机器人通过自身视觉系统构造训练数据库,计算机采集并输入NV×NV像素大小的物体图像,并按物体类别划分的N种类别、类别编号为1~N,每类物体图像中包含T幅训练图像,构造训练图像集合,用Ptrain表示,总数为:N×T=Q幅图像。 

2.对Ptrain中的每幅图像进行重构。将原有的2维图像表示为4维图像。第1、2维分别表示高和宽,由于是用的图像高与宽相等,因此均记作NV;第3维代表图像的颜色,记为color,若图像为RGB图像color=3,否则为color=1;第4维表示图像的数量,即Q。重构好的图像表示为data={datai,i=1,2,3,…,Q}。 

3.对集合V中的图像datai进行白化预处理,即datai的协方差矩阵除以其对角元素的值λI,的算术平方根。datai白化后的结果datawhite,i。 

4.将datawhite,i随机划分为numbatches组,每一组含有numcases个数据,新产生的小数据集记为batchdatan,n=1,2,3,…,numcases。numcases根据训练集的大小可取10~100范围内任意整十数,numbatches的取值为Q/Numcases,Q为训练集中的样本个数。可视层v、探测层h与池化层p形成CRM网络,如附图2所示。将batchdata1作为可视层的输入v,在输入层引入centering trick算法,改变其能量函数的定义,并结合最大池化概率方法。若v表示可视层,h表示隐含层,c表示可视层偏移量,b表示隐含层偏移量,β表示centering trick中的center因子,W表示可视层到隐含层的权重。计算已知可视层v,探测层h的概率计算已知可视层v,池化层p的概率以上计算过程因为取得就是其本身的值,没 有取负,所以又称作postive phase 

5.将视为探测层h的输入,利用吉布斯采样计算可视层v,即 将作为可视层输入v,计算已知可视层v,探测层h的概率P‘(h_(i,j)^k=1│v)。计算已知可视层v,池化层p的概率由于这一过程结果在以后的运算中会取负,因此又称作negtive phase。 

6.更新权重W,可视层偏移量c,以及可视层偏移量b。重复2、3、4,numbatches次,将每个batchdata对应得到的poolprobs作为输出,即提取的特征,在训练过程中不断更新W,c,b。 

7.重复步骤4、5、6epoch次,将最后得到的所有poolprobs作为对Ptrain提取的特征矩阵Ztrain。将特征矩阵Ztrain变换为一维的特征向量,依旧记作Ztrain={Z1,…,ZQ}。 

8.选用Softmax分类器对特征进行分类。计算输入层Zi对应的假设值为Si,且Si=σ(θZi),θ为Softmax输出层与输入层之间的权重。训练模型权重θ,使其代价函数取得最小值。采用梯度下降法最小化其代价函数,梯度下降法流程图见附图6,代价函数形式如(11),不断重复,直至代价函数收敛。 

9.机器人测试阶段,按以下步骤进行测试。同样利用机器人获得对测试集Ptest,并将其重组和白化。将之前训练得到的融合centering trick的CRBM模型参数,权重值W,可视层偏移量c,隐含层偏移量b,赋予用于测试的融合centering trick的CRBM模型。最后池化层的输出即为对测试集提取的特征,并计算池化层输出所对应的假设值Si。判断Si是否等于测试集的标签Li,若等于则说明分类正确,反之则认为分类失败。 

采用10类,每类30幅,共300幅大小为约300*300的图像进行训练。特征提取的错误(利用特征重构的可视层与原始输入的可视层各像素点的灰度值之间的差的和)。表示特征利用模型各层之间相互表达重构出可视层,其与原始可视层之间的差异,体现了提取到的特征对原始输入图像表达的准确性,见附图7、附图8。融合centering trick的CRBM的错误最后收敛于100,而CRBM最后的结果收敛于102,说明利用融合centering trick的CRBM模型提取到的特征对原始输入图像的表达准确性更高。用其中的150张图像进行测试,多次试验后得到的最好结果为第一层53.2%,第二层65.4%。而文献1(Mutch J,Lowe D G.Multiclass object recognition with sparse,localized features[C]//Computer VisionandPattern Recognition,2006IEEE Computer Society Conference on.IEEE,2006,1:11-18)中使用的自编码模型(Autoencoders)识别率为56%,低于第二层的识别率;文献2(Lazebnik S,Schmid C,Ponce J.Beyond bags of features:Spatialpyramid matching for recognizing natural scene categories[C]//Computer Vision and Pattern Recognition,2006IEEE Computer Society Conference on.IEEE,2006,2:2169-2178.)的改进的稀疏编码(Sparse coding)的识别率为64%,仍低于第二层的识别率。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号