一种基于KNLDA的RBF神经网络人脸识别方法与流程

文档序号:11920711阅读:368来源:国知局
一种基于KNLDA的RBF神经网络人脸识别方法与流程

本发明涉及一种生物识别方法,具体涉及一种基于核零空间线性鉴别分析(KNLDA)的RBF神经网络的人脸识别方法,属于计算机视觉和模式识别领域。



背景技术:

人脸识别是当今模式识别的一个重点研究课题。近20年来,人脸识别技术的研究已经成为一个研究热点,其简单、直接、易于被用户接受。目前,人脸识别技术已经广泛应用于证件验证、智能监控、刑侦破案等领域,但是由于人脸识别是非刚性、光照变化、姿势变化、年龄变化、遮挡等问题,这些对人脸识别算法产生影响,其程度各不相同。

由于人脸图像的维度比较高,一般方法的通常做法是将人脸图像进行降维提取特征脸,再进行对比。特征提取是人脸识别的关键步骤其主要目的是降维,较为经典的算法有主成分分析(PCA)和线性判别分析(LDA)相较于以重构为目的的PCA,以分类为目的的LDA在处理人脸识别问题时更为有效。然而在人脸识别中经常会遇到小样本问题使类内散步矩阵Sw奇异,针对该问题,研究者相继提出了很多算法,提出了零空间线性判别分析(NLDA)并证实了最佳鉴别矢量集应位于Sw的零空间中。NLDA方法本质上仍是一种线性方法,在人脸识别问题中,由于光照、姿态、表情等差异,造成人脸图像分布是非线性的和复杂的,所以线性算法在完成人脸等图像识别任务时,不能取得令人满意的结果。通过非线性映射,核方法将输入空间样本映射到高维特征空间,在高维特征空间利用线性特征提取算法,从而有效提取样本的非线性特征。将NLDA与核方法进行结合,得到核零空间线性鉴别分析(KNLDA),导出了KNLDA算法,通过引入核函数,得到低维矩阵,有效避免了直接计算复杂的非线性映射函数,解决了高维类内离散度矩阵的维数灾难问题。

径向基函数(Radial Basis Function,RBF)神经网络是于上世纪八十年代末由J.moody与C.Darken提出的一种神经网络,它模拟了人脑中调整、相互覆盖接受区域的神经网络结构,能以任意进度毕竟任意连续函数,是一种局部逼近网络,RBF网络的结构能够根据具体问题进行调整,具有学习速度快,不会陷入局部极小的特点,目前已广泛应用于系统辨认,函数逼近、信号处理与控制等多个领域。

在实际生活中,人脸图像由照明、姿势、年龄、遮挡等变化造成人脸识别难度。所以。在日常生活中,人脸识别技术还不够圆满,为此长期进行深入的研究,最近几年,人脸识别技术得到了很大的进展,但是仍然都不能达到满意的要求。



技术实现要素:

人脸识别受光照、姿态、遮挡物一系列自然因素的干扰异常严重,为了提高识别率、增强鲁棒性,本发明提供了一种基于核零空间的线性鉴别分析(KNLDA)的RBF神经网络的人脸识别方法,该方法能更好地体现人脸的非线性特征,利用RBF神经网络进行更精准的识别。

本发明通过以下技术手段解决上述技术问题:

一种基于KNLDA的RBF神经网络的人脸识别方法,其步骤如下:首先,读取人脸图像并进行人脸区域检测,然后,人脸图像增强预处理,继而通过KNLDA选取最佳投影矩阵,对人脸图像进行特征提取,最后训练RBF神经网络实现人脸识别。

传统的LDA方法对于光照较强、人脸姿态变化较大、存在部分遮挡的自然环境下,识别率会急剧下降,为了提高方法的鲁棒性和识别率,本文采用基于KNLDA的RBF神经网络人脸识别方法,其步骤如下:

(1)通过核函数方法将输入空间映射到高维空间;

(2)将高维空间的样本进行零空间线性鉴别分析,可有效解决小样本问题,并且使类内距离最小,类间距离最大;

(3)得到最佳投影矩阵,求得降维矩阵,用此样本训练RBF神经网络;

(4)采用正交最小二乘法学习算法训练,通过正交化方法,在输入空间中选取对降低误差贡献较大的向量作为网络中心;

(5)使用RBF神经网络实现人脸识别。

RBF神经网络具有以下优点:

1、具有全局最佳逼近的特性。

2、网络的输入和输出映射功能较强,理论证实,与其他前向网络相比,RBF网络是完成映射功能最优的前向网络。

3、网络中连接权值和输出之间呈现出线性关系。

4、较强的分类能力。

5、因为神经元进行局部调节,所以RBF神经网络的学习过程收敛速度快。

本发明针对光照强度、人脸姿态变化较大、人脸存在遮挡造成识别率严重降低,提出了一种基于KNLDA的RBF神经网络的人脸识别方法,通过该方法可以最大程度的优化投影矩阵,从而使目标函数达到最大值,并且识别率较常规的二维主成分分析法方法相比,识别率更高,鲁棒性更好。

附图说明

图1是基于KNLDA的RBF神经网络的人脸识别方法流程图

图2是基于肤色和AdaBoost人脸检测方法流程图

图3是RBF神经网络的结构示意图

图4是软件初始界面图

图5是样本注册界面图

图6是训练样本示例图

图7是软件运行初始化界面图

图8是训练界面图

图9是复杂情形下的识别效果图

具体实施方式

本发明的思路是针对现有的人脸识别方法在光照、姿态、遮挡物一系列自然因素的干扰下,识别率大幅度降低,鲁棒性也减弱的问题,提出了一种核零空间线性鉴别分析(KNLDA)的RBF神经网络的人脸识别方法,通过引入核函数,将输入空间映射到高维特征空间,低维空间线性不可分的模式通过非线性映射到高维特征空间则可能实现线性可分,研究表明,与基于欧氏距离度量的分类相比,使用RBF神经网络分类法可以改进人脸识别系统。提高人脸识别方法在光照、姿态变化较大,存在部分遮挡下的识别率,增强鲁棒性。

本发明的人脸识别方法,其流程图如图1所示:具体按照以下步骤:

步骤1、人脸检测

考虑到人脸是一个相当复杂的特征,在人脸检测中需要考虑较多的因素,基于肤色的检测方法对人脸表情、姿态等变化有较强的适用性,然而,这种方法误检率偏高,基于AdaBoost的人脸检测方法虽然拥有较低的误检率,但是其检测速度较慢。综合考虑,为了提高人脸检测方法的性能,本文采用将AdaBoost方法与肤色模型相结合,从而完成人脸检测。基于肤色特性和AdaBoost人脸检测方法的思想可以概括为:首先,利用人体肤色聚类特性在YCbCr色彩空间下建立基于肤色的统计模型,从待检测图像中筛选出人脸区域,继而运用改进的AdaBoost训练出的级联分类器对可能的人脸区域进行验证,最后确定图像中的人脸位置,本发明的人脸检测方法流程图如图2所示。

步骤2、图像预处理

在使用图像采集设备进行拍摄视频图像和传输的过程中,受到外部环境诸如温度、光照以及设备本身因素的影响,获取到的图像质量会降低。因此,需要对采集到的图像进行预处理。人脸检测和人脸识别过程必不可少的一个环节是人脸图像的预处理,人脸图像质量的好坏直接关系到图识别的准确率。由于图像采集的环境非常复杂,导致采集到的图像融入噪声,从而导致失真。为了保证图像的质量,图像的预处理是必要的。常用的人脸图像预处理的方法有:灰度变换、二值化、图像的归一化、图像滤波、图像锐化等。

步骤3、基于核零空间线性鉴别分析(KNLDA)的特征提取

核零空间线性鉴别分析在特征提取上是基于LDA方法和核函数的改进。线性鉴别分析(LDA)已广泛应用于机器视觉和图像识别等领域,但难以解决遇到的小样本问题,零空间线性鉴别分析(NLDA)在训练样本总类内离散度矩阵的零空间中提取样本的鉴别特征,克服了的小样本问题,提高了识别率,然而,NLDA仍然是一种线性特征的提取方法,不能有效提取样本的非线性特征。通过非线性映射,核函数方法将输入空间样本映射到高维特征空间,在高维特征空间利用线性特征提取算法,从而有效提取样本的非线性特征。在实际稳定的人脸识别系统中,光照强度、人脸姿态变化、遮挡物问题始终是个极具挑战的难题,这些问题引起的误差可能干扰到图像的某些位置的特征提取,同时对一些有用信息的幅值也会产生影响。这些干扰因素带来的噪声干扰同时也会对其他无遮挡的部分的特征提取带来不利的影响。所以本发明采用核零空间线性鉴别分析特征提取方法。

采用核零空间线性鉴别分析特征提取方法,其步骤如下:

假设C类样本分别为A1,A1,A1,...,Ac,每类样本数为ni(i=1,2,3...C),总数为N;表示第i(i=1,2,3,...,C)类、第j(j=1,2,3,...,ni)个样本,则第i类样本的类内均值为C类样本总均值为

线性鉴别分析(LDA)

线性鉴别分析是以提取高维样本最具鉴别能力的低维特征为目的。将样本总类内离散度矩阵Sw和总类间离散度矩阵Sb分别定义为:

则样本总离散度矩阵St为:

假设WLDA为LDA算法的投影矩阵,则LDA准则定义为:

当投影矩阵WLDA满足LDA的准则函数最大时,样本投影后的线性鉴别特征具有最佳分辨能力。WLDA可通过求解的p个较大特征值对应的特征向量w1,w2...,wd,...wp组成投影矩阵,然而,Sw通常为奇异矩阵,其秩远小于样本的维数m,从而使WLDA无法求解,即出现小样本问题。

为了解决小样本问题,使用NLDA算法,首先去掉St的零空间,将所有样本向St的秩空间投影,降低了样本维数而没有丢失Sw的零空间鉴别信息,St的秩通常为N-1,因此,样本向St的秩空间投影后的维数l满足l<N-1<<m,从而解决了Sw零空间的维数灾难问题。具体描述如下:

1)去掉St的零空间,假设U为St非零特征值对应的特征向量组成的投影矩阵,则有Sw'=UTSwU和Sb'=UTSbU。

2)计算Sw'的零空间,假设P为Sw'的零空间,则有Sw”=PTSw'P=(UP)TSw(UP)=0和Sb”=PTSb'P=(UP)TSb(UP)。其中UP为Sw的有效零空间,对提取鉴别特征有贡献。

3)若Sb”的零空间存在,则将其去除,即在Sw'的零空间中最大化样本的类间距离,假设V表示Sb”非零特征值对应的特征向量组成的矩阵,则NLDA的投影矩阵可表示为WNLDA=UPV。

经过1)和2),Sb”通常为满秩矩阵,故第三步可以省略,此时NLDA投影矩阵可表示为WNLDA=UP,其中WNLDA表示NLDA的投影矩阵。

NLDA算法仍然不能有效提取样本的非线性特征,而核方法可以通过非线性映射,将输入空间样本映射到高维特征空间,然后在高维特征空间提取样本最具鉴别能力的非线性特征。本发明引入核方法的优点,引入了KNLDA算法,并应用于人脸识别,即将高维特征空间中样本总类内离散度矩阵的零空间投影矩阵作为人脸识别的投影矩阵。经过非线性映射Φ,将输入空间样本变换到高维特征空间F中,每类样本经过非线性映射后的均值为假设WKNLDA=[w1,w2,...,wd,...,wp]为KNLDA的投影矩阵,则在高维特征空间F中,样本的特征可表示为:

在高纬特征空间F中,样本特征总类内离散矩阵表示为:

其中表示在高维特征空间F中第i类样本特征的均值,其中为样本高维特征空间F中总类内离散度矩阵,然而,非线性映射Φ的具体形式难以求出,因此,不能直接通过对进行特征值分解求得KNLDA的投影矩阵WKNLDA

根据核函数理论,在高维特征空间F中,投影矩阵WKNLDA的任意投影向量Wd可展开为所有经过非线性映射Φ后的训练样本之和,即

其中,表示投影向量Wd朝着投影方向投影后的展开系数,这里投影方向指训练样本经非线性映射Φ后形成的方向定义核函数将高维特征空间F中的样本和每类样本均值分别向Wd投影,得

有其中a=[a1,a2,...,ad,...,ap]为投影向量朝着投影方向后展开系数组成的系数矩阵,这里,投影方向指训练样本经非线性映射后形成的方向,d=1,2,3,,...,P,故可将化简为:

其中,维数大小为N×N,a可通过解Q的特征值和特征向量得到,由选取的Q的p个较小的特征值对应的特征向量所组成,维数大小为N×p,同时p<<N,因此,在特征空间F中,样本的特征又可表示为:

其中为经过非线性映射Φ后的样本向WKNLDA的投影向量Wd投影所提取的特征,具体描述如下:

1)将输入空间样本映射到高维特征空间F中,即

2)计算系数矩阵a,首先,计算矩阵然后对Q进行特征值分解,选取Q的的p个较小特征值所对应的特征向量组成矩阵a

3)计算样本矩阵,样本的特征为其中

由上可知,KNLDA算法通过引入核函数得到低维矩阵,选取Q的P个较小特征值对应特征向量组成a,矩阵a和Q的维数大小分别为N×p和N×N,其中p<<N,因此,核方法通过内积形式采用Mercer核函数,有效避免了直接计算复杂的非线性映射函数Φ,解决了高维类内离散度矩阵的维数灾难问题。

步骤4、训练RBF神经网络,RBF神经网络的基本思想是:用RBF作为隐含单元的“基”构成隐含层空间,将输入的空间分解成许多超球面形成的子空间。为了对这些子空间进行分类通常需要用到聚类算法,常用的有分级聚类、模糊C-均值聚类以及C-均值聚类等无监督的学习算法,这些算法的共同特点是没有将训练样本的类别信息用于样本的分类当中。RBF神经网络采用了有监督的学习算法。然后将分解的子空间直接映射到隐含层空间,从而有效解决了在低维空间线性不可分问题,通过将低维空间转换为高维空间,使得现象不可分的问题变得线性可分。RBF神经网络比欧式距离的度量方式更精准。

RBF网络的训练学习通常分为两个过程:

第一个过程是确定隐层的中心和方差,中心的选择对输入层与隐层之间映射空间的结构有很大影响;

第二个过程是隐层到输出层之间连接权值的确定。

由于输出层的输出由隐层节点的输出线性加权组合得到,因此网络的输出只受少数权值的影响,训练过程中需要调整的权值也相对较少,大大减少了RBF网络的学习时间。

RBF函数选取中心的方法有很多种,本发明的RBF网络使用正交最小二乘法(OLS)学习算法。它通过正交化方法,在输入向量中选取对降低误差贡献较大的向量作为网络中心。

设网络的训练样本集为{X1,X2,...,XN},网络的期望输出为{d1,d2,...,dN},N表示训练样本的数目,RBF网络可用以下线性方程表示:

式中M为隐层节点的个数,可用公式的矩阵形式表示RBF网络:

d=PΘ+E

设上式的最小二乘解为对回归矩阵P正交分解P=WA,式中,A为M×M的上三角矩阵,对角线上的元素的值为1,W为N×M的正交矩阵,有H=WTW,H为对角矩阵,另Aθ=g则d=Wg+E。式中g的最小二乘解表示为:

其中,采用施密特正交化方法对P进行正交分解,在选择特征子集的过程中,使用误差比最大的准则来决定基失量Wi,从而确定网络的中心,误差比的定义如下:

根据预先设定的误差范围ρ,使其符合以下条件从未确定隐层节点的数目M。RBF网络中心数目的选择对网络的性能有很大的影响。正交最小二乘法能够自动选择网络中心,避免了随机选取中心带来的问题。

由于人脸识别属于模式分类,采用RBF网络模型中的广义网络GN来实现人脸的识别。RBF网络输入层节点个数等于人脸特征向量的维数,输出层节点的个数为样本的类别数。基函数中心的选取及隐层的节点个数由正交最小二乘法自动确定。隐层节点参数一经确定,就可通过求解线性方程组得到输出权值。可使用集成的RBF网络来实现对人脸的识别。

步骤5、系统实现及识别结果

鉴别出待识别人的身份是人脸识别的最后一个阶段,每个子网络只负责识别一类模式,每个子网络的输出节点个数为1,一共需要训练K(K为样本的类别数)个子网络来构成集成网络。根据所有子网络的输出来判定测试样本的所属类别,最终完成识别目的。本发明结合OpenCv计算机视觉库与Visual Studio 2010软件,开发出了一个实时的人脸识别系统。该识别系统的主界面如图4所示。本发明所设计的人脸识别系统主要包括人脸自动检测、人脸信息输入、人脸身份判别三个模块。当程序开始执行时,系统将自动加载人脸检测模块,摄像头开启并在特定区域内对人脸进行检测。点击“Enrol”进行注册,本文提供了三种注册方式,分别是:拍摄、从已有图库注册、从模板文件注册。我们使用摄像头拍摄获取头像,如图5所示,点击“Train”进行训练,其目的是建立训练图像集,为人脸识别做准备。图6为示例训练样本集。假如人脸数据库训练完成后,接下来便可以对视频中的人脸进行识别,即可对待检测的人脸进行身份鉴别。如果待识别人脸判断为人脸数据库中的人脸,则在检测框左上方显示出待检测人脸的姓名信息。人脸识别系统运行初始状态效果图如图7所示,训练界面图如图8所示。本发明设计的人脸识别系统在表情变化较大、存在遮挡干扰下进行实验,其目的是对改进后的人脸识别算法做评判。结果表明,本发明在人脸表情变化较大、存在遮挡等干扰时,依然保持较高的识别率,如图9所示。

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