一种基于粒子群优化径向基的人脸识别系统的制作方法

文档序号:22547470发布日期:2020-10-17 02:18阅读:165来源:国知局
一种基于粒子群优化径向基的人脸识别系统的制作方法

本发明涉及一种人脸识别技术领域,特别涉及一种基于粒子群优化径向基的人脸识别系统。



背景技术:

近年来,计算机视觉领域中的物体识别、形状匹配和模式识别研究越来越被重视。它旨在研发高准确度的面部识别系统,同时还要兼顾鲁棒性和系统运行时间等因素。人脸识别是物体甄别和数字视觉研究中的重要课题之一,这种系统需要实时可靠的稳定性,传统的面部识别系统虽可以实现较高准确率,但其计算成本也非常高。而正确识别和分类面部图像的能力由很多变量决定,最重要的就是特征提取和分类算法。本论文主要基于整体法与局部法相结合的方式对人脸面部进行特征提取识别展开研究,利用粒子群算法对分类器和特征选择进行优化,以提高人脸识别的精度。



技术实现要素:

目前已有许多文献证明在单独使用整体或者局部特征提取的情况下获得完整特征信息,从而导致识别率低于混合方法,本文把整体法与局部法相结合来提取面部特征,得到混合新特征。本文提供一种新的简化ldp方法作为提取局部纹理特征的手段,结合改进的主成分分析pca方法的基于整体法特征提取的拓展算法ipca作为提取整体特征的方法,采用dwt离散小波变换进行多尺度分析,使用粒子群优化算法pso来优化特征选择并优化支持向量机svm模型,实现人脸识别。

本发明解决其技术问题所采用的技术方案为:

一种基于粒子群优化径向基的人脸识别系统,还包括如下步骤:

(一)基于整体法的人脸特征提取

(1)主成分分析

假设在图像集合f(m,n)中,每个图像通过堆叠表示成一维列向量:

取面部图像矩阵的第一列,重复这个动作直到最后一列,每一列端对端相连接以形成(m-1)×(n-1)维列向量;在每个面部图像由列向量表示之后,然后将每一个图像列向量通过转置转换为行向量以形成面部样本矩阵:

f={fi(m,n)}=(f1,f2,…,fk,…,fl)t

样本矩阵具有l行,并且每行的数据表示单独面部样本,l表示训练样本的总数;训练样本的协方差矩阵为:

[cf]=e{(f-mf)(f-mf)t}

其中mf是所有训练样本的平均向量,上式中[cf]是实对称矩阵,存在相互正交且对应各个特征值的特征向量,如下:

将所求出的特征值以降序的顺序进行排列,特征值对应的这些特征向量集合构成了正交矩阵,也就是一维的正交空间;简化结果如下:

然后求解式中矩阵的特征值和相应的特征向量,并通过svd奇异值分解,求解获得原始训练样本的特征向量,最终构造出人脸投影空间;

其中vi是式中协方差矩阵的特征向量,p表示特征向量的数量;

(2)线性判别分析

给定训练集v=(v1,v2,…,vm),每列包含一个面部图像的像素值,并且每个图像属于一类,类间散步矩阵sw和类内散步矩阵sb定义为:

其中ni是vi类中的样本数;lda方法搜索一组基础向量,不同的类样本具有最大的类间散布和最小的类内散布,设w为fisher空间的一个投影矩阵,fisher准则函数如下:

如果sw是非奇异的,则最佳投影矩阵表示为:

其中最佳投影矩阵通过求解广义特征值问题得到:

sbwi=λiswwi,i=1,2,…,c-1

当sw是非奇异的时,上式广义特征写成:

(3)基于整体法特征提取的拓展

与经典的主成分分析相比,改进的基于整体法特征提取的拓展算法ipca使用每个类的平均值而不是原来类中的固定图像,第k个输入面的灰度图像由xk=[xk1,xk2,…,xkm]t表示,其中m表示图像像素,首先,通过计算n个图像的平均值;其次,计算向量的协方差矩阵:

该协方差矩阵由两部分组成:类内散步矩阵、类间散步矩阵,ipca不考虑类内散步矩阵,相反它仅仅需要关注类间散步矩阵的计算,图像集合中有n个图像,类似的ni是第i个对象的量,其中xi表示第i个脸部图像的行向量,类间散步矩阵表示为:

其中,r是w矩阵的特征值,vr是对应的特征向量,v1,v2,···,vr是标准正交基,r是w矩阵的秩,∧是对角矩阵,特征值w排列在对角线上,vk在vr上的投影表示为:

投影在vr上的xk的特征值是λr,因此,特征向量的提取分为以下七个步骤:

(101)将训练集中的面部图像转换为面部向量;

(102)计算平均面部矢量并从每个面部矢量中减去平均面部矢量;

(103)计算协方差矩阵s;

(104)降低数据集的维数;

(105)从协方差矩阵计算特征向量;

(106)选择一些最佳特征脸来表示整个数据集;

(107)以所有特征向量的线性组合表示每个面部图像;

(二)基于局部法的人脸特征提取

(1)局部二值模式

lbp标记3×3图像的子图像中的每个像素,将八个邻居与中心像素比较,将每个像素编码为1或者0,若大于等于中心像素值则编码为1,反之则编码为0;在比较3×3邻域中的8个点之后,可以根据上述规则生成8位二进制数,通过以上步骤就能得到中心像素的lbp码,用公式表达该过程就是:

其中(xc,yc)代表3×3邻域的中心元素,它的像素值为ic,ip代表邻域内其他像素的值,s(x)是符号函数,定义如下:

经过该过程后,图像像素都会因为邻域信息获得一个lbp值,明显lbp对光照有较强的鲁棒性;基于多分辨率的lbp算子定义为:

其中p代表半径为r的圆上的采样点数;

(2)局部方向图

对于尺寸为3×3的图像,ldp对图像中的每个像素来测算该像素周围的八位二进制代码,将kirsch掩模代入ldp计算式如下:

其中:mk是第k个最大边缘响应值,此处k=3然后计算相应的ldp直方图,如下公式:

其中,ci示ldp码数且连接所有区域的直方图就能获取输入图像的最终直方图;

(三)改进简化ldp方法

将输入图像分成3×3块,并且每个块用上一章所示的基尔希掩模进行卷积,中心像素附近八个邻居中的每一个像素值被表达为ldp编码形式,

8个ldp代码是通过x-or运算法则以获得单个8位的新ldp代码,x-or的过程如下:其中ci表示每个像素的ldp代码,i=1,...,8和pj表示第j个块的新ldp代码,ldp过程中施加的约束即k=3,反映前3个响应值,即在ldp中,每个像素的每8位代码只包含三位1和五个0,而在简化的ldp方法中,每个区域的8位二进制代码包含至多3个1,

(四)离散小波变换

首先,对图像的每一行进行一维离散小波变换,然后,再对结果的每列执行一维离散小波变换,可以获得下图中的ll、lh、hl和hh,其中第一个字母表示水平方向,第二个字母表示垂直方向,hl就代表水平高频和垂直低频信息,h代表高频,l代表低频,haar小波将上一步的输入的图像分为四个小图像:对角线、垂直、近似、水平分量;

(五)粒子群优化算法

(1)初始化:第一步是限制最大速度区域,即不能超过此限定范围,在整个允许的范围内都进行搜索,在合理的范围内可以随机初始化粒子的速度以及位置,第二步就是设置群体规模;

(2)个体极值与全局最优解:经过比较后,就能选择最佳位置作为当前最优解;

(3)更新速度和位置公式表示为:

vid=ωvid+c1random(0,1)(pid-xid)+c2random(0,1)(pgd-xid)

xid=xid+vid

其中,ω称为惯性因子,c1和c2称为加速常数,一般取c1=c2∈[0,4],random(0,1)表示区间[0,1]上的随机数,pid表示第i个变量的个体极值的第d维,pgd表示全局最优解的第d维;

(4)终止条件:这里的终止条件我们选择最大迭代数gmax;

(六)支持向量机

svm的分类过程用下面的公式表示,假设有一个超平面ωt+b=0,将样本集{(xi,yi),i=1,k,n}正确分离:

当yi=±1;

当yi=-1,

分离的超平面的“边距”定义为:d++d-,其中

“边距”是从两种不同类型的采样点到超平面的最短距离之和;从定义可以看出,分离的超平面的“边缘”越大,样本的分类能力越强,svm可以产生最佳分离超平面,寻求最佳的对于人脸识别,我们需要将svm扩展为多类分类器,对于一对一策略,训练支持向量机以分离每对类,因此该方法需要训练c*(c-1)/2支持向量机,其中c是类的数量,在测试阶段期间,每个支持向量机投票选出一个类,并且最大投票数的类为获胜类,对于一对多策略,每个支持向量机都经过训练,将单个类与其它剩余其他类分开;

(七)分类与识别

训练数据集的差异、缺乏调整的svm惩罚参数和核函数参数,会对svm分类器的效果产生影响,我们知道经验值一般是局部最优值,我们引用粒子群优化算法对svm惩罚参数和核函数参数取值进行全局调参寻优,这样使得svm更具科学性和解释性,以提高面部识别的精确度:

(1)将所有人脸图像的像素转换成一个数字特征矩阵;

(2)将(1)中的特征矩阵随机分成两个相等数量的训练集和测试集;

(3)根据列标准化训练和测试数据集;

(4)ipca算法用于减少预处理后的训练和测试数据的维数,然后我们引用改进的简化ldp方法来提取面部主要特征,就会生成特征符;

(5)将降维后的训练集随机分成n份,使用支持向量机,然后选择核函数种类,初始化模型以及pso参数;

(6)将n份训练集中的(n-1)个部分组合起来训练svm模型,剩余的一份用于模型的数据验证测试,重复此步骤,将每个数据集都测试一次,其余的数据集用于模型训练;

(7)查看每份数据集是否已单独进行验证测试,若是,则进入下一步;否则回到第(6)步;

(8)经过上述步骤,获得验证数据集的分类精确度,并将最大值作为pso的适应度值;

(9)确定pso的适应度值是否满足终止条件,如果满足,就直接输出最佳验证数据分类准确率作为最终训练准确率,同时得到优化的svm惩罚参数c和核函数参数g的最优值;否则进入下一步;

(10)由上面的步骤,更新pso的适应度值以及粒子的速度和位置,并跳到上述步骤6,pso会持续优化,并且重复循环过程直到满足上述步骤9的条件。

本发明引用同态滤波与平台直方图均衡化在很大程度上消除线性滤波所产生的图像模糊,有效的对干扰和噪声进行预处理。预处理后首先使用ipca方法降维提取特征,然后使用简化版本的ldp方法继续提取特征,这两种方法结合大大减少了时间而且提高了识别精度。但是,空间域中的所有图像具有冗余特征都会对识别准确性产生不利影响。然后,我们应用haar小波变换,将所有处理过的图像分解为四个新图像,它利用低通滤波器,获取输入图像的两个连续像素的平均值,并将两个连续像素值之间的差用于高通滤波。

附图说明

图1为本发明的人脸识别流程图;

图2为本发明的局部二值模型实例示意图;

图3为本发明的局部方向的kirsch算子示意图;

图4为本发明的局部方向图模型实例;

图5为本发明的改进的ldp方法流程图;

图6为本发明的离散小波变换示意图;

图7为本发明的粒子群优化算法流程图;

图8为本发明的分类与识别流程图。

具体实施方式

人脸识别完整过程(如下图)主要包括人脸采集、人脸定位与检测、图像预处理、特征提取、分类器选择、分类器训练和分类识别。其中特征提取和分类识别是很重要的部分,同时也是科研人员研究人脸识别需要专攻的难题。所以本文主要研究和讨论人脸特征提取和最终识别的过程,人脸采集、人脸定位与检测、图像预处理部分采用传统方式执行。

(一)基于整体法的人脸特征提取

1.主成分分析

主成分分析(principalcomponentanalysis,pca)被认为是基于特征向量的多变量分析方法。pca就是通过正交变换将高维空间的样本点映射到低维空间,即低维特征向量矩阵可用于重建相应的原始高维向量。pca算法主要通过两种办法来运作,第一种办法是分解数据协方差矩阵的特征值来运作,第二种办法是分解数据矩阵的奇异值来执行,目的是提取面部的主要特征。

假设在图像集合f(m,n)中,每个图像可以通过堆叠表示成一维列向量:

其表示方法为:取面部图像矩阵的第一列,重复这个动作直到最后一列,每一列端对端相连接以形成(m-1)×(n-1)维列向量。在每个面部图像由列向量表示之后,然后将每一个图像列向量通过转置转换为行向量以形成面部样本矩阵,也就能表现为一种图像集合:

f={fi(m,n)}=(f1,f2,…,fk,…,fl)t

可以看出,样本矩阵具有l行,并且每行的数据表示单独面部样本,l表示训练样本的总数。训练样本的协方差矩阵为:

[cf]=e{(f-mf)(f-mf)t}

其中mf是所有训练样本的平均向量,通俗说就是求所有样本脸的“平均脸”。上式中[cf]是实对称矩阵,那么肯定存在相互正交且对应各个特征值的特征向量,如下:

将所求出的特征值以降序的顺序进行排列,特征值对应的这些特征向量集合构成了正交矩阵,也就是一维的正交空间。毋庸置疑这里的矩阵的维数是十分庞大的,那求解其特征值和特征向量会变得更棘手,接着我们对式化简结果如下:

然后求解式中矩阵的特征值和相应的特征向量,并通过svd奇异值分解,求解获得原始训练样本的特征向量,最终构造出人脸投影空间。

其中vi是式中协方差矩阵的特征向量,p表示特征向量的数量。把这些特征向量转化为矩阵形式,那么通过这些矩阵就可以反应出图像特点,也就是我们经常听说的"特征脸"。

2.线性判别分析

线性判别分析(lineardiscriminantanalysis,lda),lda与前面介绍过的pca都是常用的降维技术。pca主要是从特征的协方差中找到更好的投影方法,lda更多的是注重注释,也就是说尽量让投影后不同类别间样本点距离更大,且同一类的样本点更接近在一起。线性判别分析的基本想法是把高维数据投影到最佳判别矢量空间上,目的就是起到提取有效分类信息和减少维数的作用,即模式在该空间中有最佳的可分离性。因此,它是一种有效的特征提取方法。给定训练集v=(v1,v2,…,vm),每列包含一个面部图像的像素值,并且每个图像属于一类,类间散步矩阵sw和类内散步矩阵sb定义为:

其中ni是vi类中的样本数。lda方法旨在搜索一组基础向量,这使得不同的类样本具有最大的类间散布和最小的类内散布。设w为fisher空间的一个投影矩阵,根据上述线性判别思想,这个投影矩阵用于分辨面部样本矩阵,而且还能增大不同类别之间的距离,使相同类别的样本之间的距离更小更紧凑。fisher准则函数如下:

那怎么样定义向量w是最优的,我们可以从两个方面入手:1、希望不相同类的投影点分开的程度很大;2、同理如果是同一个类的话,那么希望投影点要尽量聚集在一起。如果sw是非奇异的,则最佳投影矩阵表示为:

其中最佳投影矩阵可以通过求解广义特征值问题得到:

sbwi=λiswwi,i=1,2,…,c-1

当sw是非奇异的时,上式广义特征可写成:

3.基于整体法特征提取的拓展

与经典的主成分分析相比,改进的基于整体法特征提取的拓展算法(ipca)使用每个类的平均值而不是原来类中的固定图像,它其实是对pca方法的改进。由于每个类的平均值是类内图像的线性组合,因此每个类的平均值保留了特定图像的大量变化。

第k个输入面的灰度图像由xk=[xk1,xk2,…,xkm]t表示,其中m表示图像像素。首先,通过计算n个图像的平均值;其次,计算向量的协方差矩阵:

该协方差矩阵由两部分组成:类内散步矩阵、类间散步矩阵。ipca不考虑类内散步矩阵,相反它仅仅需要关注类间散步矩阵的计算。图像集合中有n个图像,类似的ni是第i个对象的量,其中xi表示第i个脸部图像的行向量。类间散步矩阵表示为:

其中,r是w矩阵的特征值,vr是对应的特征向量,v1,v2,···,vr是标准正交基,r是w矩阵的秩,∧是对角矩阵,特征值w排列在对角线上,vk在vr上的投影表示为:

投影在vr上的xk的特征值是λr。因此,特征向量的提取分为以下七个步骤:

步骤1:将训练集中的面部图像转换为面部向量;

步骤2:计算平均面部矢量并从每个面部矢量中减去平均面部矢量;

步骤3:计算协方差矩阵s;

步骤4:降低数据集的维数;

步骤5:从协方差矩阵计算特征向量;

步骤6:选择一些最佳特征脸来表示整个数据集;

步骤7:以所有特征向量的线性组合表示每个面部图像。

(三)基于局部法的人脸特征提取

1.局部二值模式

我们引用了局部二元模式(localbinarypattern,lbp)作为描述纹理模式的强大描述符。lbp标记3×3图像的子图像中的每个像素,我们将中心元素当作阈值。将八个邻居与中心像素比较,将每个像素编码为1或者0(若大于等于中心像素值则编码为1,反之则编码为0)。在比较3×3邻域中的8个点之后,可以根据上述规则生成8位二进制数(但是通常转换为十进制数来呈现),通过以上步骤就能得到中心像素的lbp码,这些数字码可以很好的表现或者说翻译图像指定区域的纹理特征,它具有显著的优点,比如旋转和灰度不变性。但是lbp描述符的缺点是它易受噪声影响。如下图所示:

用公式表达该过程就是:

其中(xc,yc)代表3×3邻域的中心元素,它的像素值为ic,ip代表邻域内其他像素的值。s(x)是符号函数,定义如下:

接着在指定区间由lbp过程值绘制直方图,以直方图作为其判别特征的依据,最后运用直方图交叉核方法执行lbp特征匹配。优势在于可以避免图像没完全匹配的情况,同时也是对lbp特征进行降维。经过该过程后,图像像素都会因为邻域信息获得一个lbp值。

明显lbp对光照有较强的鲁棒性。

由于lbp编码的灵活性,可以轻松修改,所以它可以满足其他不同类型问题的需求。本文采用具有双线性插值技术的圆形邻域。基于多分辨率的lbp算子定义为:

其中p代表半径为r的圆上的采样点数。

2.局部方向图

局部方向图(localdirectionalpatterns,ldp)方法继承了lbp提取纹理特征的优点,对随机噪声具有很好的稳定性。ldp由于边缘梯度值比像素灰度值更稳定,因此ldp算法对噪声更稳健。对于尺寸为3×3的图像,ldp对图像中的每个像素来测算该像素周围的八位二进制代码。kirsch掩模(算子)如下图3、ldp特征提取流程示意图4

ldp计算式如下:

其中:mk是第k个最大边缘响应值,此处k=3然后计算相应的ldp直方图,如下公式:

其中,ci示ldp码数且最后,我们只需要连接所有区域的直方图就能获取输入图像的最终直方图。在面部识别中,对测试数据集中的图像重复相同的过程即可。将获得的直方图与训练集中图像的直方图使用卡方差异度量度进行比较,具有最低测量值的候选者表示已找到匹配。

(三)一种改进的简化ldp方法

所提出的简化ldp方法有点类似于ldp,我们先为大小为3×3的每个分区域生成8位卷积代码,与ldp方法一样,这些代码表示块的纹理特征,也就是待检测人脸的纹理特征。我们知道ldp方法是给以3×3图像块中的每个像素为中心,逐一计算周围的8位卷积代码,而简化的ldp只需要为块计算8位卷积代码。简化的ldp的主要优点如下:只需要很短的运行时间描述符就能有效地提取面部特征,其次就是该描述符可用于图像检索和分类问题。但是它也有不足之处,那就是如果直方图图像是平直的,这个方法就会失效,因为这个方法牵扯到异或运算,相同值的异或运算会产生零描述符是没有意义的。该过程的实施步骤如下:

将输入图像分成3×3块,并且每个块用上一章所示的基尔希掩模进行卷积。中心像素附近八个邻居中的每一个像素值被表达为ldp编码形式。

8个ldp代码是通过x-or运算法则以获得单个8位的新ldp代码。x-or的过程如下:其中ci表示每个像素的ldp代码,i=1,...,8和pj表示第j个块的新ldp代码。ldp过程中施加的约束即k=3,也就是只反映前3个响应值,即在ldp中,每个像素的每8位代码只包含三位1和五个0,而在简化的ldp方法中,每个区域的8位二进制代码包含至多3个1。

举例说明,对于尺寸为120×120的图像,ldp为每个像素计算8位代码,从而得到尺寸为120×120的ldp标记图像。我们将ldp编码图像划分为大小8×8的子区域,然后针对每个子区域计算直方图。我们只需要连接子区域的直方图就可以形成要识别人脸的描述符。在简化的ldp方法中,尺寸为120×120的图像被分成3×3块,执行上述步骤就能得到新的描述符图像,这个图像大小尺寸为40×40,紧接着把这个图像再分成大小为8×8的区域,并且为每个区域生成直方图。最后的步骤和ldp是一样的,连接所有的直方图就能完成任务。文章提出的该方法所形成的描述符长度小于经典ldp方法的描述符,即能起到节约时间的作用。

上述方法的重大任务量在于需要提前把人脸样本库中的样本用该方法生成ldp直方图表示。因为起初像素都是被ldp编码的,所以生成的描述符一定会很长。尽管这些描述符有十分完整的边缘信息包含角落等细节,但其实这也是一种过拟合现象。简化的ldp过程在减小过度拟合方面中实现了最佳描述符长度。针对人脸识别需要检测的图像,计算新的ldp描述符,最后用卡方相异度度量把人脸库中的特征描述符和输入的人脸特征描述符对比,当所选项与候选项的达到最低度量值时就意味人脸识别是成功的,该过程步骤如下图:

(四)离散小波变换

首先,对图像的每一行进行一维离散小波变换。然后,再对结果的每列执行一维离散小波变换,可以获得下图中的ll、lh、hl和hh,其中第一个字母表示水平方向,第二个字母表示垂直方向,例如;hl就代表水平高频和垂直低频信息(h代表高频,l代表低频)。重构过程可描述为:通过离散小波变换反转变换结果的每列和每行就可以得到新的图像。在这里,我们应用haar小波变换把所有处理过的图像分为四个部分,haar小波将上一步的输入的图像分为四个小图像:对角线、垂直、近似、水平分量。与其他子带相比,近似分量子带包含更多信息,并且基本上是原始图像的缩小版本。小波子带携带对分类很重要的不同类型的信息。

(五)粒子群优化算法

粒子群算法假设鸟群中的鸟是一类没有质量的粒子,其中最重要的两个属性,即粒子速度和粒子位置,速度描述了粒子动速的快慢,位置描述了粒子行动方向。每个粒子在可行范围内独自寻找最优解,把它记作单个最优值也叫作极值,然后各粒子分享当前自己的极值给其他粒子,找到食物或者说距离食物最近的那个个体的位置就当做全局的最优解,全局的个体将根据此最佳方案来调整自己的速度和位置。整体思想是比较容易理解的,有如下几个关键的步骤:1、初始化粒子群;2、评价粒子,即计算适应值;3、寻找个体极值;4、寻找全局最优解;5、修改粒子的速度和位置。该方法的优势在于搜索到全局最优值而且不用很多的迭代次数,粒子群优化算法在数据挖掘和模式识别中有很多的应用。下面是该程序的流程图:

(1)初始化:第一步是限制最大速度区域,即不能超过此限定范围。在整个允许的范围内都可以进行搜索,在合理的范围内可以随机初始化粒子的速度以及位置。第二步就是设置群体规模。

(2)个体极值与全局最优解:在上述文章中提到的最优的位置也是最接近模拟鸟群中食物的位置,也称作个体极值,该算法可以在历史最优解中发现全局最优解。经过比较后,就能选择最佳位置作为当前最优解。

(3)更新速度和位置公式表示为:

vid=ωvid+c1random(0,1)(pid-xid)+c2random(0,1)(pgd-xid)

xid=xid+vid

其中,ω称为惯性因子,c1和c2称为加速常数,一般取c1=c2∈[0,4]。random(0,1)表示区间[0,1]上的随机数。pid表示第i个变量的个体极值的第d维。pgd表示全局最优解的第d维。

(4)终止条件:这里的终止条件我们选择最大迭代数gmax。

(六)支持向量机

支持向量机(supportvectormachine,svm)擅长小样本、非线性和高维模式识别问题,并可以拓展到其他机器学习的主题上。svm的基本思想就是将输入矢量投影到更大维度的新特征空间中,其中可以找到类间产生线性分离的超平面。如今支持向量机在各大领域中得到重视,比较常见的有生物信息方面,文本或手写识别等方面。

svm的分类过程可以用下面的公式表示,假设有一个超平面ωt+b=0,我们将样本集{(xi,yi),i=1,k,n}正确分离,也就是说:

当yi=±1;

当yi=-1,

分离的超平面的“边距”定义为:d++d-,其中

也就是说,本文中定义的“边距”是从两种不同类型的采样点到超平面的最短距离之和。从定义可以看出,分离的超平面的“边缘”越大,样本的分类能力越强。svm可以产生最佳分离超平面,也就是说寻求最佳的对于人脸识别,我们需要将svm扩展为多类分类器。经常用到的是一对一、一对多策略。对于一对一策略,训练支持向量机以分离每对类,因此该方法需要训练c*(c-1)/2支持向量机,其中c是类的数量。在测试阶段期间,每个支持向量机投票选出一个类,并且最大投票数的类为获胜类。对于一对多策略,每个支持向量机都经过训练,可以将单个类与其它剩余其他类分开。

(七)分类与识别

我们知道训练数据集的差异、缺乏调整的svm惩罚参数和核函数参数,它们都会对svm分类器的效果产生影响。我们知道经验值一般是局部最优值,但是它会造成结果的不稳定。因此,我们引用粒子群优化算法对svm惩罚参数和核函数参数取值进行全局调参寻优。这样使得svm更具科学性和解释性,以提高面部识别的精确度。具体分类规则如下流程图:

(1)将所有人脸图像的像素转换成一个数字特征矩阵。

(2)将(1)中的特征矩阵随机分成两个相等数量的训练集和测试集。

(3)根据列标准化训练和测试数据集。

(4)ipca算法用于减少预处理后的训练和测试数据的维数,然后我们引用改进的简化ldp方法来提取面部主要特征,就会生成特征符。

(5)将降维后的训练集分成n份(随机),使用支持向量机,然后选择核函数种类,初始化模型以及pso参数。

(6)将n份训练集中的(n-1)个部分组合起来训练svm模型,剩余的一份用于模型的数据验证测试。重复此步骤,将每个数据集都测试一次,其余的数据集用于模型训练。

(7)查看每份数据集是否已单独进行验证测试,若是,则进入下一步;否则回到第(6)步。

(8)经过上述步骤,获得验证数据集的分类精确度,并将最大值作为pso的适应度值。

(9)确定pso的适应度值是否满足终止条件,如果满足,就直接输出最佳验证数据分类准确率作为最终训练准确率,同时得到优化的svm惩罚参数c和核函数参数g的最优值;否则进入下一步。

(10)由上面的步骤,更新pso的适应度值以及粒子的速度和位置,并跳到(6),pso会持续优化,并且重复循环过程直到满足步骤(9)的条件。

本发明引用同态滤波与平台直方图均衡化在很大程度上消除线性滤波所产生的图像模糊,有效的对干扰和噪声进行预处理。预处理后首先使用ipca方法降维提取特征,然后使用简化版本的ldp方法继续提取特征,这两种方法结合大大减少了时间而且提高了识别精度。但是,空间域中的所有图像具有冗余特征都会对识别准确性产生不利影响。然后,我们应用haar小波变换,将所有处理过的图像分解为四个新图像,它利用低通滤波器,获取输入图像的两个连续像素的平均值,并将两个连续像素值之间的差用于高通滤波。pso最大迭代数gmax为100,初始种群大小为60,认知参数c1=2,社会参数c2=2,惯性权重ω为0.6。每个子带特征的直方图用作适合度量。如果在15次迭代后适应性停止改善,则pso的进化过程停止。最后我们再次用pso优化svm分类器将以矢量形式存储所得到的高度辨别特征进行分类与识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1