法律状态公告日
法律状态信息
法律状态
2018-10-26
授权
授权
2018-06-05
实质审查的生效 IPC(主分类):G06K9/62 申请日:20171225
实质审查的生效
2018-05-11
公开
公开
技术领域
本发明涉及一种基于视觉的分层极限学习机目标识别方法,属于计算机视觉信息领域。
背景技术
目标识别是通过特定的算法分析图像中是否存在特定的目标,主要提取最能代表目标的特征数据,通过一定方法把这些数据训练出数学模型,最后根据此模型对未知的目标进行分类与识别。基于机器学习的目标识别方法中的一个关键步骤就是设计一个泛化性能好并且输出稳定的分类器,当前运用较为广泛的分类器是支持向量机(Support Vector Machine,SVM)和BP神经网络(Back Propagation Neural Network)。
虽然这些方法作为目标识别模型的分类器都有着不错的泛化性能,但是它们依然存在着不可忽视的缺陷,对于BP神经网络来说,由于其参数多且复杂,训练极为耗时,同时需求大量的训练数据,而SVM是基于小样本设计的,所以很好的解决了训练数据这个问题,但同样存在训练耗时,参数寻优慢等实时性问题,特别是针对一些高维数的复杂数据,计算复杂度会非常高。
稀疏编码算法(Sparse Coding)是一种无监督学习算法,它用来寻找一组完备的基向量来更高效地表示样本数据。形如主成分分析(PCA),但是比PCA灵活,可以设置隐含层节点数,来适应不同的数据,从而提取高效的特征表达。
极限学习机(Extream Leanring Machine,ELM)是一种有监督的学习算法,输入向量与的ELM的隐含层通过随机权重连接,然后通过有监督的训练隐含层与输出层之间的权重参数。没有反向传播的过程,极大的减少了网络训练的耗时。同时ELM网络参数少,相比于一般的卷积神经网络(CNN),计算复杂度较低。
因此,本发明结合稀疏编码算法与极限学习机算法的优点,提出了一种分层极限学习机的目标识别算法。分层极限学习机能够很好利用稀疏编码学习到的特征,对比一般的极限学习机算法,它能够提高算法识别性能的同时把训练的耗时控制在合理范围之内。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于视觉的分层极限学习机目标识别方法,满足识别准确率要求的同时把训练耗时控制在合理范围之内。
本发明技术解决方案:一种基于视觉的分层极限学习机目标识别方法,包括以下步骤:
(1)将图像数据集进行标定,并分为训练集与测试集;
(2)根据训练集的大小,设置特征提取网络的稀疏编码层数及每个网络层节点数;利用训练集训练所述特征提取网络,得到特征提取网络的稀疏编码层权重,从而获得已训练的特征提取网络及训练集的有效的特征向量;
(3)将步骤(2)得到的特征向量作为极限学习机网络ELM的输入,训练ELM并得到ELM的隐含层参数,从而获得已训练的ELM;
(4)由步骤(2)得到的已训练的特征提取网络与步骤(3)得到的已训练的极限学习机组合得到分层极限学习机网络模型,将步骤(1)得到的测试集输入到所述分层极限学习机网络模型并得到目标识别结果。
所述步骤(2)中,得到特征提取网络的稀疏编码层权重的具体过程包括:
所述特征提取网络由多层的稀疏编码器构成,对于每一层稀疏编码器,将输入通过随机权重与隐含层相连,隐含层到输出层之间为稀疏编码层权重,然后采用阈值收缩算法(FISTA)迭代使输出与输入保持相同,从而求得稀疏编码层的权重。
所述步骤(3)中,得到ELM的隐含层参数的具体过程包括:
将步骤(2)中得到训练集的有效的特征向量输入ELM,有效的特征向量与ELM的随机权重相连得到输出H,通过公式:
或
得到极限学习机隐含层参数βe,其中T为训练集的标签,其中C是规范化系数,C的取值为2-30。
本发明与现有技术相比的优点在于:
(1)本发明的特征提取网络通过多层稀疏编码器的叠加能够从复杂的数据中提取有效的特征信息,因而对于一般的极限学习机(ELM)方法,提取特征的鲁棒性更好,识别率更高;
(2)本发明利用有监督的极限学习机方法对特征进行分类识别,对比于支持向量机(SVM),可以适应更大的样本集,泛化能力也更好,对比于卷积神经网络(CNN)方法,没有反向传播过程训练时间短,计算速度更快;
(3)本发明将特征提取网络与极限学习机结合(ELM),可以根据不同大小的数据集来设置特征提取网络的稀疏编码层数,自适应程度高,可以应用到不同场景条件下的目标识别任务当中。
附图说明
图1基于视觉的分层极限学习机目标识别方法流程方框示意图;
图2分层极限学习机网络模型示意图;
图3手写数字目标识别效果图。
具体实施方式
要分为两部分:无监督的特征提取网络以及有监督的极限学习机分类网络,该方法充分利用了分层极限学习机在目标识别中的准确性,以及训练过程中的低耗时特点。
如图1所示,一种基于视觉的分层极限学习机目标识别方法,该方法的具体步骤如下:
(1)将图像数据集进行标定,并按照一定比例分为训练集与测集,并处理为统一大小的格式,然后将图像数据展开为列向量。
(2)训练无监督特征提取网络:
如图2所示,无监督特征提取网络主要由多层稀疏编码器叠加构成。根据数据大小,设定稀疏编码层数,若数据集较大,可以适当增加层数,数据集较小,可以适当减少层数,一般可以设置为三层;
对于一个稀疏编码层,主要过程描述如下:
设输入数据为X,k个n维原始特征样本{x(1),x(2),...,x(i),...x(k)},x(i)∈Rn,经过随机权重与隐含层连接,设隐含层节点数量为L.则隐含层第i个节点输入为:
g(x;wi,bi)=g(xwi+bi)
其中wi,bi为随机参数,得到一个L维随机特征向量,记为H:
h(x)=[g(x;wl,bl),....,g(x;wL,bL)]
隐含层输出H通过隐含层权重βh与输出层相连,期望得到一个与输入相同的输出,即从随机特征中恢复原始数据,因此目标的损失βe函数可以表示为:
可以定义为其中
通过阈值收缩算法(shrinkage-thresholding algorithm,FISTA)反复迭代求解出隐含层参数βh。设j代表迭代次数,为p(βh)梯度函数,γ为的Lipschitz常数,迭代开始,设t1=1,对于j(j≥1),按照下面步骤:
1、其中
2、
3、
求解出隐含层参数βh之后,使用隐含层参数βh作为稀疏编码层的权重,对输入数据提取有效的特征。稀疏编码器学习到的特征可以简洁准确反应出原始数据的特征,这种无监督的稀疏编码过程提取到的特征应用于有监督的分类层,可以提高目标识别的准确率。
(3)训练有监督的分类网络:
有监督的分类网络主要由单层极限学习机(ELM)构成,设输入层节点数量为P,隐含层节点数量为L。与稀疏编码层类似,ELM隐含层的第i个节点的输出为:
g(x;wi,bi)=g(xwi+bi)
则相当于将P维向量映射到L维向量:h(x)=[g(x;wl,bl),...,g(x;wL,bL)]
其中wi为第输入层节点与隐含层节点之间的第i个连接,bi为偏置,一般为随机赋值,bi为偏置,g(x)为激活函数,这里使用sigmoid函数:
对应L维输出向量,记为H:
h(x)=[g(x;wl,bl),....,g(x;wL,bL)]
使用ELM训练分类器,在ELM算法中,输入权重和偏置是随机分配的因此只有βe需要训练。令yk表示输入xk对应的实际的输出向量,则将所有的训练样本带入公式中可以得到:
Hβe=Y
其中:
设T为训练样本标签,训练的目标是使得训练误差|T-Hβe||2和输出权重||βe||的范数最小。因此训练过程可以表示为一个有约束最优化问题:
subjectto:Hβe=T-ξ
其中C是规范化系数,用来平衡拟合函数的平滑度和函数拟合值与真实数据距离差距这两者之间的关系。可以使用拉格朗日法解决此问题,如果矩阵为非奇异矩阵,则若为奇异矩阵,则有:
求解得到的βe作为ELM隐含层权重,与L维输出向量H连接,可以得到最终的分类结果。
(4)测试训练得到的分层极限学习机模型:
利用(2)迭代得到的多层稀疏编码层权重βh,对输入图像列向量提取有效的特征,然后将此特征向量输入到极限学习机(ELM)当中,进行分类识别,过程如下:
设最终输出层的节点数目记作M,第i个隐含层节点和第j个输出层节点之间的权重为βe,对于输入向量x,节点j的输出为:
其中随机连接权重与偏置wi,bi应与ELM训练过程中保持一致,βe为ELM有监督训练得到。
因此输入样本X对应的输出为:[f1(x),....,fM(x)],在识别阶段,给定一个样本X,则该样本所属类别为:
label(x)=argmaxj=1,....,Mfj(x)
通过上述方法得到样本的测试结果,将测试集的测试分类结果与测试机的真实结果相比较,得到此分层极限学习机的准确率;
(5)若准确率满足实际要求,可将此模型应用于实际工程,若不达到要求,则扩大数据集,改变各个网络层的节点数目以及特征提取层层数,重复进行步骤二、三,提高准确率。
下面通过一个具体实施例来验证本发明所提出的基于视觉的分层极限学习机目标识别方法的性能,所采用的是手写数字图像作为验证对象。
基于视觉的分层极限学习机目标识别方法,其具体实现步骤如下:
(1)将图像数据集进行标定,并按照一定比例,本发明经过试验确定为4比1分为训练集与测集,并处理为统一大小的格式,然后将图像数据展开为列向量;
(2)设计分层极限学习机网络模型,根据数据集大小,在这里设置为三层;
(3)训练特征提取网络,即训练得到多层稀疏编码层权重,输入数据通过随机权重与隐含层相连,然后通过FISTA算法迭代求解出隐含层权重βh,即为稀疏编码层的权重,最后通过三次稀疏编码层提取有效的特征输出;
(4)将特征提取网络提取到的特征向量作为极限学习机(ELM)的输入,训练ELM网络。输入向量与随机权重相连得到输出H,训练集的标签为T,则极限学习机隐含层参数βe根据奇异性可以表示为:或从而训练得到ELM隐含层参数βe;
(5)将测试集样本输入(3)训练得到的特征提取网络提取特征,然后输入极限学习机(ELM)得到测试集数据的测试分类结果,如图3所示,为手写数字的识别结果,说明本发明方法均能识别正确;
(7)将测试集的测试分类结果与测试机的真实结果相比较,在minst数据集上得到此分层极限学习机的准确率为95%。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
机译: 一种基于视觉的消失点的自主导航机器人结构地标识别方法,当使用廉价的视觉传感器时,该导航点能够获得可靠的识别率
机译: 基于轮廓的单目视觉系统目标识别方法
机译: 基于轮廓的单目视觉系统目标识别方法