应用于模式识别的基于AdaBoost的特征抽取方法

文档序号:6554845阅读:244来源:国知局
专利名称:应用于模式识别的基于AdaBoost的特征抽取方法
技术领域
本发明涉及一种特征抽取方法,尤其涉及一种应用于模式识别的基于AdaBoost的特征抽取方法。
背景技术
在模式识别问题中,特征选择和提取的基本任务是如何从众多特征中找出那些最有效的特征,分析各种特征的有效性并选出最有代表性的特征。这样即可以降低分类器的复杂度,降低特征的储存空间,还可以剔除分类能力差甚至不具备分类能力的特征,提高分类算法的准确度。
尤其在人脸识别领域,特征抽取是人脸识别中非常关键的环节。常用的特征有灰度特征、边缘特征、小波特征、Gabor特征等。其中Gabor为人脸图像提供多尺度、多方向的精细描述,表现出优秀的时频聚集性,具备很强的刻画细节与局部结构的能力。它具有带通滤波的性质,既能部分地抵抗慢变光照的影响,也能滤去一些高频噪声。同时,二维Gabor滤波器的冲激响应函数与哺乳动物的视皮层中简单型细胞对图像信号的响应非常相似,在理论上具备坚实的基础。
特征挑选方法很多,常用的有线性鉴别分析(LDA)、主元分析(PCA)、类内/类间分类器等,这些方法大多是结合多类样本类内和类间距离数据,对高维特征进行压缩,或者结合类内和类间距离挑选出少数特征,目的都是使样本的类内距离小,而类间距离大。这类方法的主要问题是当样本维数高,且样本数多时挑选算法的计算量非常大,对储存空间要求非常高,且算法不是针对后面的分类器设计,分类器的性能并非直接受益于特征挑选的结果,这也一定程度上影响了分类性能。

发明内容
本发明所要解决的技术问题在于提供一种应用于模式识别的基于AdaBoost的特征抽取方法,以从众多特征中找出那些最有效的特征,降低特征挑选的计算量,以及对特征的存储空间。
为解决上述技术问题,本发明提供一种应用于模式识别的基于AdaBoost的特征抽取方法,从众多特征中挑选出最有效的特征,包括如下步骤(1)确定两类样本,根据输入样本数据,从中抽取高维备选特征;(2)确定一个针对单个特征训练的弱分类器集合,该集合中每一个弱分类器对应一个特征;(3)分别为所述两类训练样本设置初始权值;(4)从所述抽取的高维备选特征中,将所有当前未被选定的特征,利用与其对应的弱分类器,根据当前权值,输入训练样本进行训练;(5)根据训练结果,将错误率最小的预定数目个弱分类器对应的特征选定为当前轮次的特征挑选结果;(6)更新所有训练样本的权值,重新执行步骤(4)-(6),直至执行完预定轮次。
本发明还可以进一步包括(7)将所述每一轮次选定的特征挑选结果的特征组合作为最后选定的特征向量。
其中,步骤(2)所述弱分类器集合可以表示为hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中hj(x)表示对应第j个特征的弱分类器,gj(x)表示第j个特征,low_θj是低阈值,high_θj是高阈值,只有当该特征的数值大于低阈值且低于高阈值时,弱分类器输出才为1。
其中,所述步骤(4)可以进一步包括根据训练样本集的权值确定最优的阈值参数,使得所有样本的加权错误率最小。
其中,步骤(6)所述更新所有样本的权值,是对分类错误的样本增加权重,对分类正确的样本降低权重。
其中,步骤(1)所述两类样本,在多类模式识别问题中有不同的选择方式;如采用一对一架构,将多类模式识别问题分解为多个一对一问题,则所述第一类样本为其中一类样本,所述第二类样本为另一类训练样本;如采用一对多架构,则所述第一类样本为其中任一类样本,所述第二类样本为其他样本,包含了其他类的所有样本。
所述步骤(5)可以包括将所有弱分类器集合的当前轮次弱分类器返回的错误加起来,将总的错误率最小的特征选定为当前轮次的特征挑选结果;另外,还可以选择前一轮次迭代时错误率最大的部分弱分类器集合,在下一轮次迭代中使用这些集合挑选错误率最小的特征。
本发明针对高维度多样本模式识别问题中的特征挑选问题,解决了现有挑选方法中的高存储量以及高计算量的问题,并提高了特征挑选方法的灵活性,使得特征挑选过程于模式的识别过程保持一致,可以针对不同的分类问题采用不同的挑选方法,提高了分类的整体性能。本发明可广泛应用于人脸识别、认证系统,表情识别系统等多种应用中。


图1为根据本发明实施例所述的“AdaBoost模块”的流程图示意图。
具体实施例方式
为了进行特征的挑选,首先需要进行特征的计算。
在人脸识别与认证识别系统中常采用Gabor滤波器计算人脸图像的Gabor特征。该系统首先根据人脸的检测和跟踪采集人脸图像,然后定位出眼睛及嘴巴位置并据此将采集到的人脸裁剪成标准人脸图像样本,比如图像的宽为44、高为48,之后再对人脸图像进行光照处理,接着采用二维Gabor滤波器计算Gabor特征。
下面就以Gabor特征挑选来对本发明进行说明,但应当注意,本发明并不限于对Gabor特征的挑选。
二维Gabor滤波器的冲激响应表示为ψj(x)=||kj||σ2exp(-||kj||·||x||2σ2)[exp(ikjx)-exp(-σ22)]]]>其中σ=2π,我们考虑了5个频率v=0,...,4,8个方向μ=0,...,7,则有 在人脸图像的每个点,我们都计算5个频率,8个方向,共40维Gabor特征,计算方式是将输入图像与各个频率各个方向的冲激响应进行卷积,即Gj(x)=∫Ir(X′)ψj(x-x′)dx′其中,Ir(x′)为人脸样本的各个点,ψj(x′)为二维Gabor滤波器的冲激响应,Gj(x)为计算出的Gabor特征。
为了提高Gabor特征的计算效率,可以采用FFT算法对这个卷积过程进行加速,其对Ir(x′)和ψj(x′)分别进行FFT变换,将变换后的结果相乘再进行反FFT变换,就可以得到图像中所有点对于某个频率某个方向的Gabor特征。总的Gabor特征数为5×8×44×48=84480,这个数据量是非常大的,直接采用分类算法对如此高维的特征进行训练和识别是非常困难的,因此还需要进行特征的挑选,大幅度降低特征的维数。
如果采用一次挑选出这些特征的方法,即考虑非常多的特征组合,挑选出错误率最小的组合。这个方法是最优的特征挑选方法,但需要考虑的特征组合数量是非常多的,经常达到上百万甚至上亿。
因此,本发明提出了一种新的特征挑选方法。它将特征挑选的过程分多个步骤完成,每步仅挑选一个或者两三个特征,经过多次迭代处理后完成特征的挑选。由此可以借鉴机器学习理论中的AdaBoost算法,采用多个弱分类器,每个弱分类器实现一维或者少数几维特征的挑选。
根据现有技术,简单来说,AdaBoost算法的主要思想是给定一种弱学习算法和两类训练样本,开始时所有训练样本的权重相同,然后使用弱学习算法在训练集上利用权重信息训练T轮每轮训练后,对分类错误的样本增加权重,对分类正确的样本降低权重,从而使弱分类器在后续的训练中对难度大(权重大)的样本集中进行学习;由此共得到T个不同的弱分类器,然后按照每个弱分类器在训练集上的错误率将它们加权组合成强分类器,错误率越小的弱分类器权重越大,反之越小。
本发明实施例提供的特征挑选方法,在特征挑选过程中,可以从每轮弱分类器中挑选出少数错误率最小的特征组合,每个特征组合就对应着一维或少数几维特征,所有弱分类器的特征组合将组成了最后的特征向量。当然前一级弱分类器中挑选出的特征组合在后面的弱分类器中将不再考虑。
在本实施例中,以两类图像样本的特征挑选为例对本发明进行说明。在此,将针对两类训练样本的特征挑选过程称为一个“AdaBoost模块”,如图1所示,其给出了一个AdaBoost模块的流程图。
步骤101给定两类样本,样本数为L,正样本数为Lp,反样本数为Ln。
步骤102初始化,设置权重,正样本为1/2Lp,反样本为1/2Ln。
首先,为正反图像样本集设定权值,在一个具体的实施例中,可以将反图像样本集所占的权重设置为1/2,将所有正图像样本集所占的权重设置为1/2。当然,在其它的实施例中,也完全可以将所有反图像样本集所占的权重设置为2/5,将所有反图像样本集所占的权重设置为3/5。也就是说,可以根据需要为正反图像样本集设定权重。之后,要为每个正反图像样本设定权重,在一个具体的实施例中,可以设定每个正样本的权重为正样本集权重的1/Lp,设定每个反样本的权重为反样本集总权重的1/Ln。当然,也可以将重要的正反图像样本设定较高的权重。
步骤103设定迭代轮次t=1,2,…,T。
步骤104考虑所有从未入选的特征,利用单个特征训练弱分类器,根据训练样本集的权值得到最优的阈值参数,使得所有样本的加权错误率最小,这样可以为每个弱分类器及其对应的特征获取一个错误率。
采用第j个弱分类器hj(x)根据设定的阈值与每个图像样本的第j个特征Gj(x)去判断各个样本图像是正样本还是反样本,由此可以统计出该弱分类器的加权错误率。
每个弱分类器都只处理对应的一个特征,其可表示为hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中,low_θj是弱分类器hj(x)的低阈值,high_θj是弱分类器hj(x)的高阈值,如果当前图像样本的第j个特征Gj(x)的数值大于低阈值且低于高阈值时,所述弱分类器hj(x)输出为1,其表示当前图像样本被判断为正样本;反之,所述弱分类器hj(x)输出为0,其表示当前图像样本被判断为反样本。其中,弱分类器hj(x)的低阈值和高阈值是根据图像样本的权重设定。
关于弱分类器对图像样本的分类,具体来讲就是,首先,第j个弱分类器hj(x)根据第1个图像样本第j个特征Gj(x)判断第1个图像样本是正样本还是反样本,接下来,根据第2个图像样本第j个特征Gj(x)判断第2个图像样本是正样本还是反样本,……,直到,第j个弱分类器hj(x)根据第L个图像样本第j个特征Gj(x)判断第L个图像样本是正样本还是反样本。
步骤105统计出每个弱分类器hj(x)的错误率,选定错误率最小的预定数目个弱分类器并将其对应的特征作为当前轮的特征挑选结果。
在104步骤中,每个弱分类器hj(x)都要对L个图像样本是正样本还是反样本进行判断,其中必定有判断错的样本,换句话说,弱分类器hj(x)可能将正样本认定为反样本,也可能将正样本认定为反样本。将该弱分类器统计错误的图像样本的权重求得,就可以得到这个弱分类器hj(x)的加权错误率。之后,将错误率最小的预定数目个弱分类器对应的特征作为当前轮的特征挑选结果。在一个实施例中,所述预定数目是1,也可以是,2或3等等,操作者可以根据实际情况设定这个数目。
步骤106减小选定的弱分类器判断正确的图像样本的权重,增加选定的弱分类器判断错误的图像样本的权重,并对更新后的图像样本的权重进行归一化,使所有样本的权重之和等于1,返回103,进入下一轮迭代,直至完成设定轮次,挑选出预定数目的特征。
上面的挑选方法针对的是两类问题。对于多类问题,可以结合模式分类算法的实现架构设计挑选方法。如果模式分类算法采用的是一对多的架构,我们将特征挑选过程分解为多个两类问题,每个两类问题中其中一类是某类样本,另一类则对应其他样本。如果模式识别问题采用的是一对一的架构,即将多类模式识别问题分解为多个两类一对一问题,每个两类问题中的一类为任一类输入样本,第二类为另一类输入样本。这样在特征挑选时需要考虑多个类似图1的AdaBoost模块流程,我们将各个AdaBoost模块流程同步实现,即将所有AdaBoost模块的第t轮弱分类器返回的错误率加起来,将总的错误率最小的特征返回,作为该轮的特征挑选结果。各轮特征挑选完毕后再根据当前的各个AdaBoost模块的错误率更新权重,挑选下一组特征。
当样本类别数非常多时,我们就需要考虑非常多的AdaBoost模块流程,此时特征挑选的计算量也会明显增加。为此我们提出了一种简化算法,在每轮迭代过程中只考虑少数AdaBoost模块,即只对少数模块进行特征挑选,将对应各个特征的少数模块返回的错误率加起来,错误率最小的特征就是当前轮的特征挑选结果。当前轮特征挑选完后我们再计算所有模块对应该特征的错误率和权重,同时将错误率最大的部分类别挑选出来,下轮迭代时只对这些类别进行处理,挑选合适的特征使这些类别的分类错误率最小。如此循环处理就可以挑选出所有的特征,且在一定程度上使所有类别的错误率尽可能的小。
权利要求
1.一种应用于模式识别的基于AdaBoost的特征抽取方法,从众多特征中挑选出最有效的特征,其特征在于,包括如下步骤(1)确定两类样本,根据输入样本数据,从中抽取高维备选特征;(2)确定一个针对单个特征训练的弱分类器集合,该集合中每一个弱分类器对应一个特征;(3)分别为所述两类训练样本设置初始权值;(4)从所述抽取的高维备选特征中,将所有当前未被选定的特征,利用与其对应的弱分类器,根据当前权值,输入训练样本进行训练;(5)根据训练结果,将错误率最小的预定数目个弱分类器对应的特征选定为当前轮次的特征挑选结果;(6)更新所有训练样本的权值,重新执行步骤(4)-(6),直至执行完预定轮次。
2.如权利要求1所述的方法,其特征在于,进一步包括(7)将所述每一轮次选定的特征挑选结果的特征组合作为最后选定的特征向量。
3.如权利要求1所述的方法,其特征在于,所述步骤(1)中,样本数为L,其中第一类样本数为Lp,第二类样本数为Ln。
4.如权利要求3所述的方法,其特征在于,所述步骤(3)中,第一类训练样本的初始权值设为1/2Lp,第二类训练样本的初始权值设为1/2Ln。
5.如权利要求1所述的方法,其特征在于,步骤(2)所述弱分类器集合表示为hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中hj(x)表示对应第j个特征的弱分类器,gj(x)表示第j个特征,low_θj是低阈值,high_θj是高阈值,只有当该特征的数值大于低阈值且低于高阈值时,弱分类器输出才为1。
6.如权利要求5所述的方法,其特征在于,所述步骤(4)进一步包括根据训练样本的权值确定最优的阈值参数,使得所有样本的加权错误率最小。
7.如权利要求1所述的方法,其特征在于,步骤(6)所述更新所有样本的权值,是对分类错误的样本增加权重,对分类正确的样本降低权重。
8.如权利要求1所述的方法,其特征在于,步骤(1)所述两类样本,在一对一架构中,所述第一类样本为其中任一类样本,所述第二类样本为另一类样本;在一对多架构中,所述第一类样本为其中一类样本,所述第二类样本为其他样本,包含其他类的所有样本。
9.如权利要求1所述的方法,其特征在于,所述步骤(5)包括将所有弱分类器集合的当前轮次弱分类器返回的错误加起来,将总的错误率最小的预定数目个特征选定为当前轮次的特征挑选结果。
10.如权利要求9所述的方法,其特征在于,进一步包括选择前一轮次迭代时错误率最大的部分弱分类器集合,在下一轮次迭代中使用这些集合挑选错误率最小的特征。
全文摘要
本发明公开了一种应用于模式识别的基于AdaBoost的特征抽取方法,包括(1)确定两类样本,根据输入样本数据,从中抽取高维备选特征;(2)确定一个针对单个特征训练的弱分类器集合,该集合中每一个弱分类器对应一个特征;(3)分别为所述两类训练样本设置初始权值;(4)从所述抽取的高维备选特征中,将所有当前未被选定的特征,利用与其对应的弱分类器,根据当前权值,输入训练样本进行训练;(5)根据训练结果,将错误率最小的预定数目个弱分类器对应的特征选定为当前轮次的特征挑选结果;(6)更新所有训练样本的权值,重新执行步骤(4)-(6),直至执行完预定轮次。本发明解决了现有挑选方法中的高存储量以及高计算量的问题。
文档编号G06K9/62GK1851729SQ20061001208
公开日2006年10月25日 申请日期2006年6月1日 优先权日2006年6月1日
发明者黄英, 谢东海, 王浩 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1