本发明具体公开一种基于pca与自适应哈希保留集的svm增量学习算法,其能够针对大规模高维数据的处理和增量学习的问题。
背景技术:
性别分类可以用作面部识别的预处理步骤,因为它可以减少人的识别之前的候选项数量,从而减少计算时间。成功的性别识别系统在人脸分析领域以及人机交互,监视和安全性等其他基础和高级领域中具有各种应用,因此研究人类的性别分类具有极其重要的现实意义。
技术实现要素:
本发明的目的在于克服现有技术的不足,适应现实需要,提供一种基于pca与自适应哈希保留集的svm增量学习算法,其能够针对大规模高维数据的处理和增量学习的问题。
为了实现本发明的目的,本发明所采用的技术方案为:
公开一种基于pca与自适应哈希保留集的svm增量学习算法,包括如下步骤;
s1、输入原样本图像集、新增样本图像集、测试图像集,并进行特征提取;
s2、分别对图像特征提取后的原样本图像集、新增样本图像集构建保留集;
s3、svm分类器分类识别、结果生成;
s4、用svm分类器对测试图像集进行分类识别。
图像特征提取中,对原样本图像集、新增样本图像集、测试图像集、采用lbp特征谱的统计直方图作为特征向量,具体步骤如下:
f1、将原样本图像集、新增样本图像集、测试图像集中的每个人脸图像划分为16×16的子图;
f2、对于每个子图中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0,如此,3*3邻域内的8个点经比较可产生8位二进制数,即得到该人脸图像中心像素点的lbp值;
f3、计算每个子图的直方图,即每个数字(假定是十进制数lbp值)出现的频率,然后对该直方图进行归一化处理;
f4、将得到的每个子图的统计直方图进行连接成为一个特征向量,此即为单个人脸图像的lbp纹理特征向量。
步骤s2中,原样本构建保留集中:
g1、以经图像特征提取后的原样本到超平面的几何距离作为筛选条件构建原样本保留集,几何距离的计算如式(1):
θold为自适应阈值,设d0为d+0和d-0的并集,原样本图像集经过图像特征提取处后的原样本中正样本到超平面几何距离的集合为d+0,负样本到超平面几何距离的集合为d-0,且集合d+0和d-0中样本按γi的升序排列,m和n分别为集合d+0和d-0中样本的总数,γ+i∈d+0,γ-i∈d-0,θold计算公式如式(2):
式中,σ0和σ1分别为d0和d1上的样本总体方差;sim()是新旧样本在特征空间分布的相似度计算函数,定义如下:
g2、当增量样本中出现不满足kkt条件的样本时,从原模型的非支持向量集中保留距离超平面几何距离小于等于θold的样本,加入到原模型的保留集中;
g3、使用集合d+0和d-0中靠近超平面1/3处的样本与对应集合中最靠近超平面的样本之间差值的平均来计算θold。
步骤s2中,对新增样本图像集构建保留集具体包括如下步骤:
k1、使用主成分分析法对新增样本图像集经lbp特征提取后的特征向量进行pca降维处理;
k2、构建新增样本保留集。
步骤k2中构建新增样本保留集具体如下:
k21、均取累计贡献率维前90%的特征向量进行hash编码投影;
设pca所得到的特征投影向量的数量为n,特征投影向量表示为du=d1,d2,d3,…,dn,投影得到的向量表示为v={v1,v2,v3,…,vn},x为输入向量,
k32、设hash编码的一维空间向量区域为[1,p],f(vi)为哈希函数,则1≤f(vi)≤p;
其中,vi-min和vi-max表示初始输入样本投影后特征向量的第i个特征值的最小值和最大值,round()为四舍五入函数;
因此,输入特征向量的hash值向量如下h(x)所示:
h(x)={f(v1),f(v2),…,f(vi)}式(6);
k23、利用h(x)组成hash表h:
h=[h(x1),h(x2),…,h(xn)]式(7)
k24、利用h(x),h对新增样本进行筛选,得到新增样本保留集。
步骤s3具体包括如下步骤:
设定输入:原样本图像集经图像特征提取后形成的特征向量为原样本x0,新增样本图像集经图像特征提取后形成的特征向量为新增样本x1,当前原分类器为γ0;
设定输出:增量后的分类器输出结果为γ;
步骤1:得到γ0,对应的支持向量为sv0;
步骤2:nsv0=x0-sv0;
步骤3:若xi满足kkt条件,则xi∈nsv0,根据式(1)计算xi到超平面的距离;
步骤4:根据式(2)得到θold;
步骤5:若d≤θold,则xi∈xms;
步骤6:将原样本保留集xms构造成哈希表h0;
步骤7:对于新增样本x1,得到新增样本分类器γ1,通过pca—lsh算法哈希函数得到每个样本对应的hash值向量h(γ1);
步骤8:如果γ1中样本对应的h(γ1)落在h0中,则得到筛选后的样本集γ1lsh;如果不存在γ1lsh,则进入下一个新增样本进行筛选;
步骤9:将sv0和γ1lsh作为下一次svm学习的训练集,训练得到γ1sv;
步骤10:更新hash表,将γ1sv通过pca—lsh算法得到的hash表h1更新h0,生成h;
步骤11:将h对下一个新增样本集得到筛选后的样本与上次训练得到的sv集一起学习训练,更新hash表,直到没有新增样本集输入,即得到最终结果γ。
本发明的有益效果在于:
本发明方法的使用能够针对大规模高维数据进行实时的在线预处理和分类;本发明方法的使用要优于其他改进的svm增量学习算法的分类速度,并且能够获得较好的分类精度,因此,本发明方法可用于人类的性别分类。
附图说明
图1为男性的灰度人脸图像;
图2为女性的灰度人脸图像;
图3为lbp特征提取男人脸图像;
图4为lbp特征提取女人脸图像。
具体实施方式
下面结合附图和实施例对本发明进一步说明:
实施例1:一种基于pca与自适应哈希保留集的svm增量学习算法,包括如下步骤:
s1、输入原样本图像集、新增样本图像集、测试图像集,并进行特征提取。
输入图像中所输入的图像包括:原样本图像集、新增样本图像集、测试图像集,原样本图像集、新增样本图像集、测试图像集中包含多个人脸图像。
图像特征提取中,本实施例采用ar数据库中灰度图像进行图像特征提取,一共选取了120人,其中男女各60人,每个人在各种照明条件下被捕获的26张人脸图像,一共有3120张图像,其中26张都含有佩戴太阳镜6张和围巾6张和剩余的12张人脸图像组成;如图1、2所示,图1为男性的灰度人脸图像,图2为女性的灰度人脸图像。
图像特征提取具体包括如下步骤:
(1)、图像特征提取中,对原样本图像集、新增样本图像集、测试图像集、采用lbp特征谱的统计直方图作为特征向量,具体步骤如下:
f1、将原样本图像集、新增样本图像集、测试图像集中的每个人脸图像划分为16×16的子图;
f2、对于每个子图中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0,如此,3*3邻域内的8个点经比较可产生8位二进制数,即得到该人脸图像中心像素点的lbp值;
f3、计算每个子图的直方图,即每个数字(假定是十进制数lbp值)出现的频率,然后对该直方图进行归一化处理;
f4、将得到的每个子图的统计直方图进行连接成为一个特征向量,此即为单个人脸图像的lbp纹理特征向量。
通过上述步骤即可完成对原样本图像集、新增样本图像集、测试图像集进行特征提取。
经过lbp特征提取后的男、女人脸图像如图3和图4所示。
s2、分别对图像特征提取后的原样本图像集、新增样本图像集构建保留集;
(1)、对原样本图像集的特征向量构建原样本保留集。
g1、在现有的增量学习算法中,没有考虑到实际上,当原始样本集与新增样本集的分布相似时,原样本的边界向量在新增样本的支持向量中占比较高;相反,原始样本的边界向量在新增样本的支持向量中占比较低。在增量过程中,原样本中非支持向量成为新增支持向量的可能性和到超平面的几何距离的大小有关,本实施例中,原样本构建保留集中,以经图像特征提取后的原样本到超平面的几何距离作为筛选条件构建原样本保留集,几何距离的计算如式(1):
在设定原模型保留集的筛选阈值时,根据原样本集和新增样本集的分布变化情况,使用sim函数来实现阈值的动态变化,以减少原样本保留集的冗余。因此,设定θold为自适应阈值,设d0为d+0和d-0的并集,原样本图像集经过图像特征提取处后的原样本中正样本到超平面几何距离的集合为d+0,负样本到超平面几何距离的集合为d-0,且集合d+0和d-0中样本按γi的升序排列,m和n分别为集合d+0和d-0中样本的总数,γ+i∈d+0,γ-i∈d-0,θold计算公式如式(2):
式中,σ0和σ1分别为d0和d1上的样本总体方差;sim()是新旧样本在特征空间分布的相似度计算函数,定义如下:
g2、当增量样本中出现不满足kkt条件的样本时,从原模型的非支持向量集中保留距离超平面几何距离小于等于θold的样本,加入到原模型的保留集中;
g3、当筛选阈值设定的距离过大时,会造成保留集中样本冗余,而设定的距离过小时,则可能丢失有用的分类知识,因此,使用集合d+0和d-0中靠近超平面1/3处的样本与对应集合中最靠近超平面的样本之间差值的平均来计算θold。
(2)、对新增样本图像集构建保留集具体包括如下步骤:
k1、使用主成分分析法对新增样本图像集经lbp特征提取后的特征向量进行pca降维处理;
k2、构建新增样本保留集,具体如下:
k21、均取累计贡献率维前90%的特征向量进行hash编码投影;这种特征子空间提供了很好的近似输入空间。逼近误差可以通过累积输入特征成分的近似子空间占整个输入空间的比率来控制,从一个给定的数据分布来确定一个合适的hash函数数量较容易实现
设pca所得到的特征投影向量的数量为n,特征投影向量表示为du=d1,d2,d3,…,dn,投影得到的向量表示为v={v1,v2,v3,…,vn},x为输入向量,
k22、设hash编码的一维空间向量区域为[1,p],f(vi)为哈希函数,则1≤f(vi)≤p;
其中,vi-min和vi-max表示初始输入样本投影后特征向量的第i个特征值的最小值和最大值,round()为四舍五入函数;
因此,输入特征向量的hash值向量如下h(x)所示:
h(x)={f(v1),f(v2),…,f(vi)}式(6);
k23、利用h(x)组成hash表h:
h=[h(x1),h(x2),…,h(xn)]式(7);
k24、最后利用h(x),h对新增样本进行筛选,得到新增样本保留集。
s3、svm分类器分类识别、结果生成。
如上所述,样本总数为3120人脸图像,将样本数据集随机分成原样本集,增量样本集1-6和测试集(增加6次,每次增加300)。原样本为400张,增量样本每次以300张加入训练,剩余的920张作为测试集。
设定输入:原样本图像集经图像特征提取后形成的特征向量为原样本x0,新增样本图像集经图像特征提取后形成的特征向量为新增样本x1,当前原分类器为γ0;
设定输出:增量后的分类器输出结果为γ;
具体包括如下步骤:
步骤1:得到γ0,对应的支持向量为sv0;
步骤2:nsv0=x0-sv0;
步骤3:若xi满足kkt条件,则xi∈nsv0,根据式(1)计算xi到超平面的距离;
步骤4:根据式(2)得到θold;
步骤5:若d≤θold,则xi∈xms;
步骤6:将原样本保留集xms构造成哈希表h0;
步骤7:对于新增样本x1,得到新增样本分类器γ1,通过pca—lsh算法哈希函数得到每个样本对应的hash值向量h(γ1);
步骤8:如果γ1中样本对应的h(γ1)落在h0中,则得到筛选后的样本集γ1lsh;如果不存在γ1lsh,则进入下一个新增样本进行筛选;
步骤9:将sv0和γ1lsh作为下一次svm学习的训练集,训练得到γ1sv;
步骤10:更新hash表,将γ1sv通过pca—lsh算法得到的hash表h1更新h0,生成h;
步骤11:将h对下一个新增样本集得到筛选后的样本与上次训练得到的sv集一起学习训练,更新hash表,直到没有新增样本集输入,即得到最终结果γ。
s4、用svm分类器对测试图像集进行分类识别,经本步骤s5处理后得到的准确率高达96.2%。
综上,本文根据样本特征空间分布的相似性和样本到超平面的距离,保留原样本中满足kkt条件的样本作为原样本的保留集,利用主成分分析的局部敏感哈希方法对新增样本分布确定合适的hash函数获得近似输入空间。新增样本基于原样本的保留集,利用pca-lsh方法获得相似样本,从而减少新增样本的训练数。
综上,本发明方法针对现有的svm增量学习算法在增量过程中存在的分类样本集信息缺失以及运行速度不理想的情况下,提出基于pca与自适应哈希保留集的svm增量学习算法,通过自适应的方法控制参与训练的增量学习边界样本,使其能够有效的提高分类速度,人脸图像取得较好的分类精度,训练集得到的准确率高达96.6%,svm增量学习分类器的分类速度控制在80~95秒以内,优于目前提出的其他svm增量学习算法。
本发明的实施例公布的是较佳的实施例,但并不局限于此,本领域的普通技术人员,极易根据上述实施例,领会本发明的精神,并做出不同的引申和变化,但只要不脱离本发明的精神,都在本发明的保护范围内。