极限学习机、人脸识别方法、可读存储介质和计算机设备与流程

文档序号:18032375发布日期:2019-06-28 22:49阅读:337来源:国知局
极限学习机、人脸识别方法、可读存储介质和计算机设备与流程

本发明涉及图像处理技术领域,特别是涉及一种极限学习机、人脸识别方法、计算机可读存储介质和计算机设备。



背景技术:

人脸识别,广泛应用在信息安全、公共安全等各个领域,一直都是计算机视觉和模式识别的一个热门话题,具有极高的理论研究和应用价值。现有技术中人脸识别方法主要是从输入的人脸图像中推导出其对应的身份信息。一般来讲,人脸识别方法主要分为三个步骤:人脸图像的预处理,图像的特征提取和图像识别。

首先利用电子设备得到人脸图像之后,通过检测算法我们可以得到图像中的人脸信息图像,由于图像原始维度较大,而且存在冗余信息,我们不能直接对人脸图像进行识别匹配。因此,我们必须进行人脸信息特征的提取,最后利用一定的分类方法与人脸数据库进行匹配,得到识别结果。

在前人的研究基础之上,现在人脸识别已经进入了自动识别的阶段。特征提取之后,需要利用分类器根据提取的特征向量进行分类处理,从而确定当前人脸的身份。但目前现有技术中人脸识别技术中分类器存在识别速度慢、效率低的问题。



技术实现要素:

为了解决上述问题至少之一,本发明第一方面提供一种极限学习机,包括输入层、隐含层和输出层,其中

所述输入层,包括多个输入节点,用于接收输入数据;

所述隐含层,包括多个隐含层节点和与所述隐含层节点对应的输入权值,根据所述输入数据和输入权值以获得输出矩阵;

所述输出层,包括与输出矩阵对应的输出权值,根据所述输出矩阵和输出权值获得输出结果:

其中,β为输出权值,c为协调风险参数,t为所述极限学习机的期望输出,h为输出矩阵。

进一步的,所述输出权值为:

其中,t为所述极限学习机的期望输出,c为协调风险参数,i为隐含层节点数l维的单位矩阵,ωelm是核函数。

进一步的,则输出结果为:

其中,h(x)为输入数据,ht为输出矩阵的转置矩阵,β为输出权值,k(x)为输入数据和输出矩阵的中间矩阵。

进一步的,根据偏最小二乘法获得输出权值,则所述极限学习机的所述输出结果为:

其中,sgn为激励函数。

本发明第二方面提供一种利用第一方面所述的极限学习机的人脸识别方法,包括:

采集多个人脸图像形成图像库,对所述图像库进行分类抽样以获得训练样本库和测试样本库;

对所述训练样本库和测试样本库的图像进行预分类、预处理和特征提取以获得特征人脸系数矩阵;

利用所述训练样本库的特征人脸系数矩阵对极限学习机进行训练,获得所述极限学习机的隐含层节点个数、隐含层输出矩阵和输出权值;

输入所述测试样本库,利用所述极限学习机进行人脸识别。

进一步的,所述对所述图像库进行分类抽样以获得测试样本库和训练样本库进一步包括:通过对所述图像库进行随机抽样以获得测试样本库和训练样本库。

进一步的,所述对所述测试样本库和训练样本库的图像进行预处理进一步包括:

对所述测试样本库和训练样本库的图像进行图像归一化处理,包括几何处理、光照补偿、直方图均衡化和小波变换的一种或几种。

进一步的,所述获得特征人脸系数矩阵进一步包括:

建立所述训练样本库的人脸图像与人脸标签的对应关系,将所述人脸图像投影至所述训练样本库的特征人脸图像以获得特征人脸系数矩阵。

本发明第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面所述的方法。

本发明第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第二方面所述的方法。

本发明的有益效果如下:

本发明针对目前现有的问题,制定一种极限学习机、人脸识别方法、计算机可读存储介质和计算机设备,本发明提供的极限学习机结合核函数和偏最小二乘法的优点,解决现有极限学习机存在的过拟合问题和共线性问题,降低传统神经网络的参数估计和优化的复杂度,同时提升极限学习机的鲁棒性,用于人脸识别时能够缩短训练时间并提高人脸图像的识别率。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出本发明的一个实施例所述极限学习机的结构示意图;

图2示出本发明的另一个实施例所述极限学习机的结构示意图;

图3示出本发明的一个实施例所述人脸识别方法的流程图;

图4示出本发明的一个实施例所述的计算机设备的结构示意图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

现有技术中,极限学习机包括输入层、隐含层和输出层,假设有n个不同的训练样本,即(xi,ti)(i=1,2,…,n),其中隐含层节点数为l。其中,xi=[xi1,xi2,…,xin]t∈rn,ti=[ti1,ti2,…,tim]t∈rm。则有激励函数为f(x)单隐含层前馈型神经网络的极限学习机表示为:

其中,ai=[ωi1,ωi2,…,ωin]t是隐含层节点对应的输入权值,βi=[βi1,βi2,…,βim]为连接第i个隐含层节点的输出权值,bi是第i个隐含层单元的偏置。ai·xj表示ai和xj的内积。

然后,利用所述训练样本库的特征人脸系数矩阵对极限学习机进行训练,获得所述极限学习机的隐含层节点个数、隐含层输出矩阵和神经元个数。

将极限学习机转换为矩阵,所述矩阵表示为:hβ=t

其中,h是隐含层节点的输出矩阵,β为输出权值,t为期望输出。

对输入权值和偏置进行随机赋值之后,利用输入权值和输入层就可以计算得到输出矩阵h。那么,极限学习机的训练过程就可以表示成求线性方程hβ=t的最小二乘解问题。

上式的最小二乘解为:

上式中,h'表示输出矩阵h的广义逆。

从极限学习机可以看出,极限学习机是一种单隐含层的前馈神经网络,只需迭代一次且训练速度快。与传统的分类算法相比,在对极限学习机进行训练的过程中不需要调整参数,并能够利用最小二乘法保证其得到最优解,因此极限学习机的训练精度和测试精度均大幅提升。然而,极限学习机还存在以下缺陷:

(1)极限学习机虽然考虑到了经验风险,但是却没考虑到结构风险,因此仍然容易导致过拟合的现象;

(2)极限学习机中隐含层的经计算后的输出矩阵很容易存在共线性问题,容易出现病态矩阵,从而导致最后的输出权值不稳定。

为解决上述问题之一,如图1所示,本发明的一个实施例提供了一种极限学习机,包括输入层、隐含层和输出层,其中所述输入层,包括多个输入节点,用于接收输入数据;所述隐含层,包括多个隐含层节点和与所述隐含层节点对应的输入权值,根据所述输入数据和输入权值以获得输出矩阵;所述输出层,包括与输出矩阵对应的输出权值,根据所述输出矩阵和输出权值获得输出结果:其中,β为输出权值,c为协调风险参数,t为所述极限学习机的期望输出,h为输出矩阵。

尽管极限学习机的泛化能力和逼近能力有所提升,为解决过拟合问题将核函数嵌入到极限学习机中,在一个具体的示例中,如图1所示,形成核极限学习机,表示为:

其中,β为输出权值,c为协调风险参数,t为所述极限学习机的期望输出,h为输出矩阵。

利用上式对β求偏导,且令其值趋于0,则

β-cht(t-hβ)=0

当样本数据中作为训练样本的样本个数小于极限学习机隐含层的节点个数时,极限学习机隐含层的输出权值β表达式为:

其中,i是l维的单位矩阵。

当样本数据中作为训练样本的样本个数大于极限学习机隐含层的节点个数时,极限学习机隐含层的输出权值β表达式为:

其中,i是l维的单位矩阵,维数为n。

具体的,在一个可选的实施例中,在核极限学习机中,将隐含层的输出比作为输入样本数据的非线性映射,将核函数hht表达式替代为如下式:

则隐含层和输出层之间的输出权值β表示为:

其中,t为所述极限学习机的期望输出,c为协调风险参数,i为隐含层节点数l维的单位矩阵,ωelm是核函数。

基于核极限学习机的输出权值β,在一个可选的实施例中,核极限学习机的分类公式即可表示为下式:

其中,h(x)为输入数据,ht为输出矩阵的转置矩阵,β为输出权值,k(x)为输入数据和输出矩阵的中间矩阵。

值得说明的是,在核极限学习机中,核函数的选择尤其重要,本实施例中使用高斯核函数作为核函数,本领域技术人员应当根据实际需求选择适当的核函数,以提高分类效果。

当极限学习机的输入层或者中间隐含层节点数大于样本条数的时候,隐含层的输出矩阵h在计算的时候,样本数据可能具有很强的共线性,从而导致极限学习机中的hth矩阵的逆不存在(即为病态矩阵),同时隐含层的输出权值的最小二乘解也不能达到最优。

为了解决极限学习机在数学模型建立的时候存在的上述病态问题,利用偏最小二乘法替代最小二乘法,通过提取隐含层节点的正交潜在变量,来计算极限学习机的最优解。在一个可选的实施例中,如图2所示,根据偏最小二乘法获得输出权值,则所述极限学习机的输出结果为:

其中,sgn为激励函数。

具体的,通过正交特征投影将多元回归问题变幻成为一元回归问题,即利用偏最小二乘法处理非线性问题使得极限学习机处理非线性问题的能力提升,同时还能提高极限学习机的泛化性能。

在偏最小二乘极限学习机中,输出结果y(n×m)和隐含层输出矩阵h(n×l)之间的线性关系可以表示成如下式所示:

y=hβpls+e

式中βpls和e分别代表输出权值和误差。输出结果y之间可以线性分解为如下式所示:

式中t=[t1,…,th]∈rn×h代表隐含层的得分向量,u=[u1,…,uh]∈rn×h代表输出层的得分向量,p=[p1,…,ph]∈rl×h代表隐含层的负荷向量q=[q1,…,qh]∈rm×h代表输出层的负荷向量,e(n×l)代表隐含层的残差矩阵f(n×m)代表输出层的残差,h为潜在变量个数,那么每个潜在变量uk和tk之间的线性回归模型如下式所示:

uk=tkbk,k=1,…,h

式中为h的最小二乘系数。bk为矩阵b的对角线元素。则有:

u=tb

即采用非线性迭代偏最小二乘法求解隐含层和输出层之间的参数。在偏最小二乘极限学习机中,网络模型的输入输出关系就可以表示为{h,y}→{t,w,p,b,q},其中w为权值系数。设偏最小二乘中存在前面的h个潜在变量,则偏最小二乘极限学习机的输出权值就可以表示成:

将上述偏最小二乘极限学习机应用于分类识别问题中,例如二分类识别来说,则决策函数表示为:

将核函数引入则:

与偏最小核极限学习机输出值最逼近的类别标签判别分类样本所属的类别,则偏最小核极限学习机的输出结果为:

其中,sgn为激励函数。

在本实施例中,极限学习机结合核函数和偏最小二乘法的优点,解决现有极限学习机存在的过拟合问题和共线性问题,降低传统神经网络的参数估计和优化的复杂度,同时提升极限学习机的鲁棒性。

如图3所示,本发明的一个实施例提供了一种利用上述的极限学习机的人脸识别方法,包括:采集多个人脸图像形成图像库,对所述图像库进行分类抽样以获得训练样本库和测试样本库;对所述训练样本库和测试样本库的图像进行预分类、预处理和特征提取以获得特征人脸系数矩阵;利用所述训练样本库的特征人脸系数矩阵对极限学习机进行训练,获得所述极限学习机的隐含层节点个数、隐含层输出矩阵和输出权值;输入所述测试样本库,利用所述极限学习机进行人脸识别。

在一个具体的示例中,如图3所示:

首先,采集多个人的大量的人脸图像形成图像图,通过分类抽样将图像库分为测试样本库和训练样本库。本申请对分类抽样的方法不做限制,在本实施例中,通过对所述图像库进行随机抽样以获得测试样本库和训练样本库。例如通过随机抽样抽取出p张人脸图像作为测试样本库,其余图像作为训练样本库。

其次,对所述测试样本库和训练样本库的图像进行预分类。在本实施例中对所述测试样本库和训练样本库的图像进行图像归一化处理,例如得到尺寸大小一致,灰度值相同的标准化人脸图像,其中,包括几何处理、光照补偿、直方图均衡化,并用小波变换对图像进行图像分解,过滤掉高频信息,采用相对稳定的低频子带来表达图像,模糊了人脸表情和姿态的影响,同时达到对图降维的效果。

第三、对所述测试样本库和训练样本库的图像进行特征提取以获得特征人脸系数矩阵。即采用基于统计的特征提取方法对人脸图像进行特征提取,主要是将标准化的人脸图像的训练样本进行主成分分析降维处理,设置特征维数参数,得到特征人脸图像;再建立所述人脸图像与人脸标签的对应关系,将所述训练样本库的人脸图像投影至所述训练样本库的特征人脸图像以获得特征人脸系数矩阵。

具体的,在本实施例中,对于一个m*n的人脸图像,首先将人脸图像的像素按照行展开组成一个列向量d,其中d是mn*1的列向量。假设训练样本的总数为n,xi表示第i张人脸图像的向量,可以得到协方差矩阵:

其中μ为训练样本的平均图像向量,且

令a=[x1-u,x2-u,…,xn-u],则有sr=aat,其维数为m*m,m=m*n;

根据k-l霍特林变换定理,新的坐标系由矩阵aat的非零特征值所对应的特征向量组成。若aat的r个非零特征为λi(i=1,2,…,r),其对应的特征向量为vi,正交归一化特征向量ui可以根据公式得出:

该向量就是总离散度aat的特征向量,这样每张人脸图像都能在主成分的特征子空间进行投影。

为了降低维数,按照特征值占整个特征值的比例选取前n个最小特征向量:

一般情况下α=90%~99%。由这些特征向量对应图像为特征脸,即w=(u1,u2,…,ur);

将每一张人脸图像与平均脸的差值矢量投影到“特征脸”空间,得到新的特征矩阵:

ω=wtdi(i=1,2,…,n)

若特征矩阵d的第i列代表的是第n张人脸的特征信息,将第i列列首增加一行,数值为n,如此对特征矩阵进行标签分类。

对于给定的一幅人脸图像x,利用特征脸所获得的人脸特征向量为:

x-μ=w*d

其中x-μ代表输入图像和平均脸的差值,d表示其在特征空间w的投影,x-μ的维数是m*1,w的维数是m*k,d的维数是k*1。

即得:d=(x-μ)w-1

集合所有目标样本组成矩阵d,维数为k*n,n为样本数量,k为每个样本图片降维后得到的特征信息。在每一列的列首加上其标准的类型信息即获得待分类的系数矩阵,维数为(1+k)*n。

第四、利用所述训练样本库的特征人脸系数矩阵对极限学习机进行训练,获得所述极限学习机的节点个数、隐含层输出矩阵和神经元个数。

如图2所示为偏最小二乘核极限学习机的结构图。从图中可以看出,极限学习机结构共分为三个部分,输入层、隐含层和输出层。且极限学习机只有一个隐含层,当输入层输入数据之后,输入权值给定之后,通过起到映射功能的隐含层将输入样本映射到高维空间实现线性可分,设置较多的隐含层节点,令隐含层的作用与核函数等价,通过核函数来代替隐含层节点的映射,然后将隐含层的输出矩阵进行偏最小二乘法优化,最终通过输出层获得人脸识别的结果。本实施例结合核函数和偏最小二乘法的优点,解决现有极限学习机存在的过拟合问题和共线性问题,降低传统神经网络的参数估计和优化的复杂度,同时提升极限学习机的鲁棒性,能够缩短训练时间并提高人脸图像的识别率。

本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:采集多个人脸图像形成图像库,对所述图像库进行分类抽样以获得训练样本库和测试样本库;对所述训练样本库和测试样本库的图像进行预分类、预处理和特征提取以获得特征人脸系数矩阵;利用所述训练样本库的特征人脸系数矩阵对极限学习机进行训练,获得所述极限学习机的隐含层节点个数、隐含层输出矩阵和输出权值;输入所述测试样本库,利用所述极限学习机进行人脸识别。

在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实时例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

如图4所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种基于极限学习机的人脸识别方法。

本发明针对目前现有的问题,制定一种极限学习机、人脸识别方法、计算机可读存储介质和计算机设备,本发明提供的极限学习机结合核函数和偏最小二乘法的优点,解决现有极限学习机存在的过拟合问题和共线性问题,降低传统神经网络的参数估计和优化的复杂度,同时提升极限学习机的鲁棒性,用于人脸识别时能够缩短训练时间并提高人脸图像的识别率。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

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