人脸识别方法和装置与流程

文档序号:12906466阅读:479来源:国知局
人脸识别方法和装置与流程
本发明涉及生物识别领域,特别涉及一种人脸识别方法和装置。
背景技术
:人脸识别是一种新兴的生物识别技术,由于在应用方面具有非接触性、友好、使用方便、直观等优点,使其在罪犯识别、证件验证及医学等领域有着广泛的应用前景和巨大的市场潜力。目前常见的人脸识别技术可分为几类:基于几何特征的识别技术、基于数学模型的识别技术、基于子空间分析的识别技术等。基于子空间分析的识别技术是当前人脸识别中的主流方法之一,它的基本思想是通过一个映射将高维空间中的人脸图像投影到一个低维子空间中,在这个低维子空间中对特征系数进行分类识别。传统的子空间分析法一般采用主成分分析(principalcomponentsanalysis,pca)、稀疏非负矩阵分解(sparsenon-negativematrixfactorization,snmf)、凸非负矩阵分解(convexnmf,cnmf)等特征降维方法。非负矩阵分解是在矩阵的所有元素均非负的条件下实现矩阵的分解。图像灰度值的非负性使得非负矩阵分解较无限制的主成分分析更具有可解释性。直接用非负矩阵分解(nmf)方法进行人脸特征提取,由于基矩阵的系数矩阵没有被优化和稀疏,导致人脸识别率不高;cnmf是nmf的推广,可使得数据更有解释性,可一定程度上提高人脸识别率。cnmf是由半非负矩阵分解(semi-nmf)衍变而来,在semi-nmf中,x=fgt,f和x是没有约束的,只要求g非负,ding等人把矩阵f替换成原始矩阵x的非负凸组合,即f=xw,进而得到一种新的分解形式x=xwgt,其中f和g被约束成非负矩阵,x没有约束,进而提出了cnmf数学模型。很明显这种分解形式拓展了nmf的应用范围,使数据更有解释性。在cnmf,g是系数矩阵,f是基矩阵,因为f=xw,所以w是基矩阵f的系数矩阵。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有cnmf分解方法均采用的是传统的乘性迭代规则,导致基矩阵的系数矩阵不够优化,识别率不高;同时,现有cnmf没有对基矩阵的系数矩阵进行阈值稀疏化,使得特征系数过于分散,导致识别率不高,且未采用阈值稀疏化的基矩阵的系数矩阵的计算较为复杂,运算量过大,速度过慢,且随着k的增加,cnmf方法识别率反而是降低的,不利于后期人脸图像的重建。技术实现要素:为了解决现有技术中cnmf的人脸识别率不高、运算量大、不利于图像重建等问题,本发明实施例提供了一种人脸识别方法和装置。所述技术方案如下:第一方面,本发明实施例提供了一种人脸识别方法,所述方法包括:对待识别样本集进行预处理,得到待识别样本集矩阵;采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行处理,求出所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵采用如下迭代公式迭代产生:其中,s为所述待识别样本集矩阵,大小为j×i,j、i均为正整数,j为所述待识别样本集中每个样本的低频特征维度,i为所述待识别样本集的样本数量,st为s的转置矩阵;u为第n次迭代得到的基矩阵的系数矩阵,q为第n次迭代得到的系数矩阵,u'为第n-1次迭代得到的基矩阵的系数矩阵,q'为第n-1次迭代得到的系数矩阵,u、q、u'和q'大小均为i×k,k表示s的特征维度,k为正整数且k≤j,n为大于1的正整数;u't为u'的转置矩阵,q't为q'的转置矩阵,qt为q的转置矩阵;uik为u的第i行第k列的元素,qik为q的第i行第k列的元素,i、k均为正整数,且i≤i,k≤k;u'ik为u'的第i行第k列的元素,q'ik为q'的第i行第k列的元素;当j(v)的值最小时,u为最优基矩阵的系数矩阵,q为最优系数矩阵,j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u,vt为v的转置矩阵;采用训练好的分类器对所述待识别样本集的最优系数矩阵进行分类,完成人脸识别。在本发明实施例的一种实现方式中,所述采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行处理,求出所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,包括:在设定范围内确定k的值;对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行分解,求出k对应的所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例的另一种实现方式中,所述对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行分解,求出k对应的所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,包括:根据k确定初始基矩阵的系数矩阵和初始系数矩阵;根据所述初始基矩阵的系数矩阵和初始系数矩阵以及所述迭代公式进行迭代计算;将每一步迭代计算出的基矩阵的系数矩阵和系数矩阵代入目标函数:j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u;当所述目标函数的值达到稳定状态,结束迭代计算,并将最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,其中,所述稳定状态是指所述目标函数的值保持不变或者变动幅度小于预定幅度;或者,当迭代次数达到迭代次数阈值时,选取最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例的另一种实现方式中,所述对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行分解,求出k对应的所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,还包括:确定稀疏化阈值;在每一步迭代计算后,判断迭代计算出的基矩阵的系数矩阵中的每个数值与稀疏化阈值的大小;将迭代计算出的基矩阵的系数矩阵中大于稀疏化阈值的数值设置为1,将迭代计算出的基矩阵的系数矩阵中小于或等于稀疏化阈值的数值设置为0。在本发明实施例的另一种实现方式中,所述方法还包括:对训练样本集进行预处理,得到训练样本集矩阵;采用新迭代稀疏凸非负矩阵分解法对所述训练样本集矩阵进行处理,求出所述训练样本集的最优基矩阵的系数矩阵和最优系数矩阵,所述最优基矩阵的系数矩阵和最优系数矩阵采用与所述待识别样本集处理时相同的迭代公式迭代产生;采用所述训练样本集的最优系数矩阵训练分类器。第二方面,本发明实施例还提供了一种人脸识别装置,所述装置包括:预处理单元,用于对待识别样本集进行预处理,得到待识别样本集矩阵;分解单元,用于采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行处理,求出所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵采用如下迭代公式迭代产生:其中,s为所述待识别样本集矩阵,大小为j×i,j、i均为正整数,j为所述待识别样本集中每个样本的低频特征维度,i为所述待识别样本集的样本数量,st为s的转置矩阵;u为第n次迭代得到的基矩阵的系数矩阵,q为第n次迭代得到的系数矩阵,u'为第n-1次迭代得到的基矩阵的系数矩阵,q'为第n-1次迭代得到的系数矩阵,u、q、u'和q'大小均为i×k,k表示s的特征维度,k为正整数且k≤j,n为大于1的正整数;u't为u'的转置矩阵,q't为q'的转置矩阵,qt为q的转置矩阵;uik为u的第i行第k列的元素,qik为q的第i行第k列的元素,i、k均为正整数,且i≤i,k≤k;u'ik为u'的第i行第k列的元素,q'ik为q'的第i行第k列的元素;当j(v)的值最小时,u为最优基矩阵的系数矩阵,q为最优系数矩阵,j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u,vt为v的转置矩阵;分类单元,用于采用训练好的分类器对所述待识别样本集的最优系数矩阵进行分类,完成人脸识别。在本发明实施例的一种实现方式中,所述分解单元,用于在设定范围内确定k的值;对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对所述待识别样本集矩阵进行分解,求出k对应的所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例的另一种实现方式中,所述分解单元,用于根据k确定初始基矩阵的系数矩阵和初始系数矩阵;根据所述初始基矩阵的系数矩阵和初始系数矩阵以及所述迭代公式进行迭代计算;将每一步迭代计算出的基矩阵的系数矩阵和系数矩阵代入目标函数:j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u;当所述目标函数的值达到稳定状态,结束迭代计算,并将最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,其中,所述稳定状态是指所述目标函数的值保持不变或者变动幅度小于预定幅度(该预定幅度可以根据实际需要设定);或者,当迭代次数达到迭代次数阈值时,选取最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例的另一种实现方式中,所述分解单元,还用于确定稀疏化阈值;在每一步迭代计算后,判断迭代计算出的基矩阵的系数矩阵中的每个数值与稀疏化阈值的大小;将迭代计算出的基矩阵的系数矩阵中大于稀疏化阈值的数值设置为1,将迭代计算出的基矩阵的系数矩阵中小于或等于稀疏化阈值的数值设置为0。在本发明实施例的另一种实现方式中,所述装置还包括训练单元;所述预处理单元,还用于对训练样本集进行预处理,得到训练样本集矩阵;所述分解单元,还用于采用新迭代稀疏凸非负矩阵分解法对所述训练样本集矩阵进行处理,求出所述训练样本集的最优基矩阵的系数矩阵和最优系数矩阵,所述最优基矩阵的系数矩阵和最优系数矩阵采用与所述待识别样本集处理时相同的迭代公式迭代产生;所述训练单元,用于采用所述训练样本集的最优系数矩阵训练分类器。第三方面,本发明实施例提供了一种人脸识别装置,所述装置包括:存储器、与存储器连接的处理器,所述存储器用于存储软件程序以及模块,当所述处理器用于运行或执行存储在所述存储器内的软件程序以及模块时,可以执行第一方面所述的方法。第四方面,本发明实施例还提供了一种计算机可读介质,用于存储供人脸识别装置执行的程序代码,所述程序代码包括执行第一方面所述的方法的指令。本发明实施例提供的技术方案带来的有益效果是:本发明采用新迭代规则进行迭代优化求解最优基矩阵的系数矩阵和最优系数矩阵,并在迭代过程中对基矩阵的系数矩阵进行了稀疏化,新迭代规则及稀疏化处理比传统的乘性迭代规则更优,得到的最优基矩阵的系数矩阵的特征数据更为集中,从而使得最优系数矩阵的权重分布更集中、更易于分类,有效提高了人脸识别率,并减少了运算量,最终使得该人脸识别方法具有较高的识别率和较短的运行时间,识别率高达100%。而且本发明方法随着k的增加,识别率逐渐增高,有利于后期人脸图像的重建。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的人脸识别方法流程图;图2a-图2d是pca及各种nmf方法得到的基矩阵图像;图3是pca及各种nmf方法的人脸识别率随k的变化示意图图4是pca及各种nmf方法的运行时间随k的变化示意图图5是本发明实施例提供的人脸识别装置结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1是本发明实施例提供的一种人脸识别方法的流程图,参见图1,该方法包括:步骤s11:获取训练样本集,并表示为初始矩阵。在本发明实施例中,获取训练样本集包括但不限于从已有的网络图库中获取训练样本集,或者根据图像制得训练样本集,这里的图像可以事先拍摄获得。例如,可以采用剑桥大学提供的orl(olivettiresearchlaboratory)图库中的人脸作为训练样本集。orl图库中共收集了40个人的不同表情的人脸图像,每人各10张图像共400张,每张图像有256个灰度级,大小为112×92。其中每个人的脸部表情和脸部细节都有着不同程度的变化,如笑与不笑、眼睛睁与闭、戴与不戴眼镜等;人脸姿态也有相当程度的变化,深度旋转和平面旋转最大可达20度;人脸的尺度也有多达10%的变化。对每个人随机选取5张图像组成训练样本集。这样训练样本集中有200张人脸图像。当然,这里的训练样本集的获取仅为举例,实际中还可以通过其他数据库或者用户自身准备的图像实现。训练样本集通常包括多张样本图像,这多张图像构成一个矩阵。以上述训练样本集为例,200张样本图像,每个样本图像包括10304(112×92)个像素,则这个训练样本集构成的初始矩阵x'的大小为10304×200。步骤s12:对训练样本集进行预处理,得到训练样本集矩阵,该训练样本集矩阵为包含训练样本集中每张图像的低频特征信息的矩阵。由于步骤s11已将训练样本集表示为初始矩阵,所以步骤s12实际是以初始矩阵为对象进行的预处理。由于在人脸识别时,光照条件、摄像设备等外部环境的影响,以及表情、姿态变化、年龄、遮盖等人脸自身变化,都使获得图像往往存在有噪声、对比度不够等缺陷,数据与现实相差很大,对算法的识别率影响很大。为了保证提取的特征对人脸变化具有较好的鲁棒性,需要对人脸图像进行预处理。通过对人脸图像进行预处理,能够去除一定的噪声和光照的影响,降低高频信息对识别率的干扰。在本发明实施例中,对人脸图像进行预处理可以包括以下步骤:第一步,对人脸图像进行灰度归一化。灰度归一化用来对原始图像的光照不均进行补偿,从而克服光照变化对识别带来的影响,具有一定的鲁棒性。主要过程如下:给定图像的灰度均值和方差,用线性的方法将给定值赋予灰度均值和方差,这样可以统一图像的亮度和对比度,使得所有人脸图像都遵循相同或相似的灰度分布。通过对图像进行灰度归一化,可以克服光照变化对识别效果的影响。第二步,采用小波变换提取人脸图像低频信息。小波变换是时间和频率的局部变换,能更加有效地从信号中提取信息和分析局部信号,在时域、频域都有很强的表征信号局部特征的能力。用小波提取人脸图像的特征,主要使用小波提取人脸图像的低频信息,减少作为噪声的图像高频信息在识别分类时的干扰。输入的人脸图像经过二维离散小波变换(一层小波分解)后会产生4个子图像(ll,lh,hl,hh)。其中,ll是低频成分(含有人脸图像的低频信息),包含了原始图像的大部分信息,可以作为原始图像的近似,同时大大压制了随机噪声等高频信息。继续对ll低频子图像进行二维离散小波变换后得到包含样本大量低频信息的矩阵x。通过上述预处理最终得到包含低频信息(低频特征)的训练样本集矩阵x,该矩阵的大小为j×i,j为训练样本集中每个样本的低频特征维度,i为训练样本集中的样本数量,j、i均为正整数。以前文大小为10304×200的初始矩阵x'为例,该矩阵x'经过上述预处理后得到的训练样本集矩阵x的大小为2784×200。在本发明实施例这,预处理方法不限于上述步骤s12所包括的第一步至第二步,还可以采用其他方式实现,如均值滤波、中值滤波等。本发明对此不做限制。步骤s13:采用新迭代稀疏凸非负矩阵分解法对训练样本集矩阵进行处理,求出训练样本集的最优基矩阵的系数矩阵和最优系数矩阵,训练样本集的最优基矩阵的系数矩阵和最优系数矩阵采用如下迭代公式迭代产生:其中,x为所述训练样本集矩阵,大小为j×i,j、i均为正整数,j为所述训练样本集中每个样本的低频特征维度,i为所述训练样本集的样本数量,xt为x的转置矩阵;w为第n次迭代得到的基矩阵的系数矩阵,g为第n次迭代得到的系数矩阵,w'为第n-1次迭代得到的基矩阵的系数矩阵,g'为第n-1次迭代得到的系数矩阵,w、g、w'和g'大小均为i×k,k表示x的特征维度,k为正整数且k≤j,n为大于1的正整数;w't为w'的转置矩阵,g't为g'的转置矩阵,gt为g的转置矩阵;wik为w的第i行第k列的元素,gik为g的第i行第k列的元素,i、k均为正整数,且i≤i,k≤k;w'ik为w'的第i行第k列的元素,g'ik为g'的第i行第k列的元素;当j(h)的值最小时,w为最优基矩阵的系数矩阵,g为最优系数矩阵,j(h)=tr(-2htb+-hta-hc),其中b+=(xtx)+g,a-=(xtx)-,c=gtg,h=w,ht为h的转置矩阵。其中,训练样本集矩阵也即前文训练样本集预处理后得到的矩阵,w具体为第n次迭代得到的训练样本集矩阵的基矩阵的系数矩阵,g为第n次迭代得到的训练样本集矩阵的系数矩阵。采用上述公式可以对基矩阵的系数矩阵和系数矩阵中的每个元素进行迭代,这些元素构成基矩阵的系数矩阵和系数矩阵,所以通过矩阵中元素的迭代,即完成了对基矩阵的系数矩阵和系数矩阵的迭代运算。在上述公式中,[(xtx)+g']ik表示矩阵(xtx)+乘以g'所得到的矩阵的第i行第k列的元素;其他括号运算与之类似,这里不再赘述。即(xtx)+表示矩阵(xtx)的元素取绝对值再和矩阵(xtx)的对应元素相加所得到的矩阵;即(xtx)-表示矩阵(xtx)的元素取绝对值再减去矩阵(xtx)的对应元素所得到的矩阵。例如,x的大小为2784×200,当k=30时,即特征维度被降至30,w的大小为200×30,g的大小为200×30;或者,当k=25时,此时特征维度被降至25,w的大小为200×25,g的大小为200×25。在步骤s13中,迭代公式是根据新迭代稀疏凸非负矩阵分解法确定得到的,其原理如下:首先,基本cnmf的目标函数为:j′(h)=tr(-2htb+-hta-hc+2htb-+hta+hc);在此发明一个新的目标函数j(h)如式(1)所示,新的j(h)比传统的j′(h)表达更简单易于计算,能够有效提高收敛速度,且对w、g的优化效果更好,人脸识别率更高。j(h)=tr(-2htb+-hta-hc)(1)(1)式中,b+=(xtx)+g,a-=(xtx)-,c=gtg,h=w,且其中,|(xtx)ik|表示对矩阵xtx中的每个元素取绝对值。定义一个关于h和h'的二元辅助函数z(h,h′),要求其满足式(2)。z(h,h′)≥j(h),z(h,h)=j(h)(2)定义hmin为对于给定h'时二元函数z(h,h')取最小值时h的值,如式(3)所示:可知:j(h′)=z(h′,h′)≥z(hmin,h′)≥j(hmin)因此,只要找到符合条件(2)的z(h,h′),可保证目标函数j(h)是个不增函数,即目标函数收敛。由式(1)得到等价的如式(4)所示的目标函数。j(h)=tr(-2htb--hta+hc-2htb++2htb-+hta+hc-hta-hc)(4)其中:得到:其中,hik和hil分别表示矩阵h第i行第k列和第l列的元素,k和l可以相等也可以不相等,h'jk表示矩阵h'第j行第k列的元素,j和i可以相等也可以不相等。因此,符合条件(2)的z(h,h′)由公式(5)定义。为满足式(3),需求出z(h,h′)取最小值时的h,则可令z(h,h′)的导数为0,得到式(6)。z(h,h′)的最小值由公式(6)计算得到,即可得到使z取最小值时的h值(即式(3)中的hmin),如式(7)所示。代入式(8)到公式(7)中,b+=(xtx)+g,b-=(xtx)-g,a=xtx,c=gtg,h=w(8)可得到w的迭代规则如式(9)所示。同理可得到g的迭代公式如式(10)所示:因此,由公式(9)、(10)所定义的迭代规则可保证j(h′)=z(h′,h′)≥z(h,h′)≥j(h),使得目标函数j(h)是个不增函数,即公式(9)、(10)可保证目标函数稳定收敛。在上述公式中,最优基矩阵的系数矩阵w和最优系数矩阵g能够满足目标函数值j(h)最小,使得目标函数稳定收敛。在本发明实施例中,步骤s13可以包括:在设定范围内确定k的值;对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对矩阵进行分解,求出k对应的训练样本集的最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例中,设定范围优选为180≥k≥20。k取值过小时,维度降至过低导致特征丢失严重,而随着k的增加,人脸轮廓各部分主要器官会逐渐显露,细节部分越来越清晰,即k的值越大,重建图像的效果就越好,所以k的取值不宜过小,当k小于20时,基矩阵的系数矩阵的维度过低,则特征过多丢失,会导致后期图像重建失真严重;当k接近j时,重建的人脸图像与原始图像一样的清晰,没有视觉上的任何差异。但是k过大会导致计算时间过长,且识别率已经到达上限,不会随着k的增大而无限增大,所以k的取值不宜过大,当k超过180时,运行时间过长且识别率保持100%不变。因此本发明实施例中,设定k范围为180≥k≥20。具体地,对于确定的k的值,采用新迭代稀疏凸非负矩阵分解法对训练样本集的非负矩阵进行分解,包括:第一步,根据k确定初始基矩阵的系数矩阵和初始系数矩阵。在本发明实施例中,第一步采用如下方式完成:按照初始基矩阵的系数矩阵和初始系数矩阵的维度分别产生随机矩阵。即产生维度为i×k的随机矩阵w和i×k的随机矩阵g,且随机数值在0-1之间。第二步,根据初始基矩阵的系数矩阵和初始系数矩阵以及迭代公式进行迭代计算。第三步,将每一步迭代计算出的基矩阵的系数矩阵和系数矩阵代入目标函数:j(h)=tr(-2htb+-hta-hc),其中b+=(xtx)+g,a-=(xtx)-,c=gtg,h=w;当目标函数的值达到稳定状态,结束迭代计算,并将最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为训练样本集的最优基矩阵的系数矩阵和最优系数矩阵;或者,当迭代次数达到迭代次数阈值时,选取最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为训练样本集的最优基矩阵的系数矩阵和最优系数矩阵。利用公式(9)、(10)进行迭代计算,每次迭代出新的wik和gik,将分别由wik和gik构成的矩阵w和g代入公式(1)计算j(h)的取值;随着迭代次数增多,j(h)值不断减小,当j(h)的取值达到稳定状态时,结束迭代,且将最后一次迭代得到的wik和gik所构成的w和g矩阵作为最优基矩阵的系数矩阵和最优系数矩阵。这里稳定状态是指,j(h)的取值保持不变或者变动幅度小于预定幅度,例如j(h)的取值变化小于千分之一时,认为j(h)的取值达到稳定状态。另外,由于公式(9)、(10)可使目标函数j(h)不增且趋于收敛稳定,所以稳定后直接选取最后一次的迭代结果作为最优基矩阵的系数矩阵和最优系数矩阵。或者,当迭代次数达到预定的迭代次数时,选取最后一次迭代得到的w和g作为最优基矩阵的系数矩阵和最优系数矩阵。例如,预定的迭代次数为500次,且在500次迭代结束时,j(h)的取值仍未保持不变,选取最后一次迭代得到的w和g作为最优基矩阵的系数矩阵和最优系数矩阵。在进行迭代的同时需要对基矩阵的系数矩阵进行稀疏化。稀疏化基矩阵的系数矩阵的过程包括:确定稀疏化阈值;在每一步迭代计算后,判断迭代计算出的基矩阵的系数矩阵中的每个数值与稀疏化阈值的大小;将迭代计算出的基矩阵的系数矩阵中大于稀疏化阈值的数值设置为1,将迭代计算出的基矩阵的系数矩阵中小于或等于稀疏化阈值的数值设置为0。下一步迭代时,采用该稀疏化后的基矩阵的系数矩阵。该稀疏化阈值为一个预设置,可以根据实际需要提前给定。在迭代中利用阈值化方法将基矩阵的系数矩阵稀疏化为0、1矩阵,可使得图像基矩阵的系数矩阵中的特征系数数据更集中、更稀疏、更加突出人脸特征,能够有效提取出能突出表现人脸特征的特征系数,并使得对应的系数矩阵g中的权重系数更集中,更易于分类,从而提高识别率;同时,处理后的矩阵稀疏化,降低了矩阵运算量,加快了本发明的计算速度。在本发明实施例中,w'、g'的初始值都是0-1之间的随机数矩阵,因此,稀疏化阈值的选定范围在0-1之间。优选地,该稀疏化阈值可以设置为0.05。步骤s14:采用训练样本集的最优系数矩阵训练分类器。在本发明实施例中,分类器为支持向量机(supportvectormachine,svm)分类器。svm实质上是一个二类分类器,而将多个类别的人脸进行训练分类是一个典型的多分类问题。svm处理多分类问题可采用“一对一”和“一对多”两种策略,而“一对一”策略的分类的结果更为精确。因此,本发明采用的是“一对一”的策略,将样本的n类进行两两分类,构造n(n-1)/2个分类器。例如,人脸样本的类别总数n为40时,采用“一对一”方法构造780个分类器。不同的k的值对应训练样本集的最优基矩阵的系数矩阵的维度不同,维度越大,特征系数数据保留越多,分类识别率越高。在步骤s14,优选地,采用k=180的训练样本集的最优系数矩阵来训练分类器,保证较高的识别率。将训练样本集的最优系数矩阵g和类别标签矩阵y作为上述svm分类器的输入训练集,用该训练集训练分类器。类别标签矩阵是在做二分类时使用的用于标记样本类别的矩阵,其数据只有两个值如0、1,每个值分别代表了人脸样本所属的类别,如1代表一类,0代表另一类(二分类)。具体训练过程为:分解得到的训练样本集的最优系数矩阵g的大小为200×k。因为40类人中每类人的人脸训练样本是5张图像,所以要区分第p类(39≥p≥1)和第q类(40≥q≥p+1)样本(二分类)时,g中属于第p类的共有5个样本,属于第q类的共有5个样本。第p类样本构成大小为5×k(180≥k≥20)的矩阵v1,其类别标签矩阵为5×1的全1列向量y1,第q类样本构成大小为5×k(180≥k≥20)的矩阵v2,其类别标签矩阵为全0的列向量y2。将矩阵v1和v2组合成大小为10×k的样本矩阵v,y1和y2组合成10×1的类别标签矩阵y,将v、y矩阵作为svm分类器的输入训练集,通过svm算法算出能正确划分第p类和第q类样本的二分类器参数信息。p从1连续取值到39,同时q从p+1连续取值到40,即共需40(40-1)/2次svm计算,将每次算出的正确的二分类的参数连续存储在一个文件里,即可得到多分类器参数文件,分类时调用该文件,获取多分类器的参数信息。步骤s15:对待识别样本集进行预处理,得到待识别样本集矩阵。在本发明实施例中,待识别样本集既可以是实际需要进行分类的人脸图像的集合,也可以是用来进行测试的人脸图像的集合,本发明对其获取的方式不做限制。待识别样本集也是由多张人脸图像构成,例如,由多类人(如40类人)的多张人脸图像构成200张样本图像,每个样本图像包括10304(112×92)个像素,则这个待识别样本集构成的初始矩阵s'的大小为10304×200。在步骤s15中对待识别样本集的初始矩阵进行预处理的过程与步骤s12中对训练样本集的初始矩阵进行预处理的过程相同,这里不再赘述。通过s12预处理过程,最终得到包含低频信息的待识别样本集矩阵s,该矩阵的大小为j×i,j为待识别样本集中每个样本的低频特征维度,i为待识别样本集中的样本数量,j、i均为正整数。以前文大小为10304×200的初始矩阵s'为例,经过预处理后得到的待识别样本集矩阵s的大小为2784×200。步骤s16:采用新迭代稀疏凸非负矩阵分解法对待识别样本集矩阵进行处理,求出待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵采用如下迭代公式迭代产生:其中,s为所述待识别样本集矩阵,大小为j×i,j、i均为正整数,j为所述待识别样本集中每个样本的低频特征维度,i为所述待识别样本集的样本数量,st为s的转置矩阵;u为第n次迭代得到的基矩阵的系数矩阵,q为第n次迭代得到的系数矩阵,u'为第n-1次迭代得到的基矩阵的系数矩阵,q'为第n-1次迭代得到的系数矩阵,u、q、u'和q'大小均为i×k,k表示s的特征维度,k为正整数且k≤j,n为大于1的正整数;u't为u'的转置矩阵,q't为q'的转置矩阵,qt为q的转置矩阵;uik为u的第i行第k列的元素,qik为q的第i行第k列的元素,i、k均为正整数,且i≤i,k≤k;u'ik为u'的第i行第k列的元素,q'ik为q'的第i行第k列的元素;当j(v)的值最小时,u为最优基矩阵的系数矩阵,q为最优系数矩阵,j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u,vt为v的转置矩阵。其中,待识别样本集矩阵也即前文待识别样本集预处理后得到的矩阵,u为第n次迭代得到的待识别样本集矩阵的基矩阵的系数矩阵,q为第n次迭代得到的待识别样本集矩阵的系数矩阵。在步骤s16对采用新迭代稀疏凸非负矩阵分解法对待识别样本集矩阵进行处理的过程,与在步骤s13中采用新迭代稀疏凸非负矩阵分解法对训练样本集矩阵进行处理的过程相同,这里不再赘述。不同k的值对应不同的分解维度,分解维度越大,特征丢失越少,分类识别越准确。在步骤s16中,优选地,采用k=180对待识别样本集矩阵进行分解,从而保证较高的识别率。步骤s17:采用训练好的分类器对待识别样本集的最优系数矩阵进行分类,完成人脸识别。对待识别样本集的最优系数矩阵进行分类,比直接用待识别样本集矩阵进行分类,特征更集中,运算量更小。在本发明实施例中,采用分类器对待识别样本集的最优系数矩阵进行分类可以包括:对待识别样本集的最优系数矩阵采用分类器进行分类。分类识别过程为:将大小为200×k的最优系数矩阵q输入至svm分类器进行分类,并定义一个类别投票矩阵用于对每个样本所属类别进行投票,类别投票矩阵大小为m×s,其中m为样本总个数200,s为类别总数40。调用s14中训练得到的多分类器参数文件,对200个样本中每一个样本依次进行二分类判断,判断其是属于第p类还是第q类,p从1连续取值到39,同时q从p+1连续取值到40。如果该样本被判断为属于第p类,那么类别投票矩阵的第p列加1,即对第p列投1票;反之,如果该样本被分类器判断为第q类,则类别投票矩阵的第q列加1,即对第q列投1票。统计类别投票矩阵的所有列中得票最多的那一列的列编号就是该样本的类别编号。统计200个样本的分类情况,可以得到大小为200×1的类别编号矩阵。类别编号矩阵的行值对应样本个数,列值对应的样本所属类别编号。实验表明,采用svm“一对一”分类器能够正确分类识别不同表情属于同一张人脸。如果需要进行分类识别的图像数量超过这个数量时,可以同时扩大训练样本集的初始矩阵和待识别样本集的初始矩阵的维数即可。如80个人的1600张人脸,每人20张人脸,若每个人随机选取10张图像组成训练样本集,剩下的每个人的10张图像组成待识别样本集,则训练样本集和待识别样本集中各有800张人脸图像,若每张图像大小为130×100,则扩大训练样本集初始矩阵x'和待识别样本集初始矩阵s'的维数均为j'×i',其中j'=13000,i'=800,依次采用步骤s12-s17,即可完成分类识别。如果需要进行分类识别的图像数量小于这个数量时,可以缩小训练样本集的初始矩阵和待识别样本集初始矩阵的维数即可。如20个人,每个人10张人脸图像,共计200张图像,若每人随机选取5张作为训练样本集,剩下5张作为待识别样本集,则训练样本集和待识别样本集中各有100张人脸图像。若每张图像大小为90×60,则指定训练样本集初始矩阵x'和待识别样本集初始矩阵s'的维数均为j'×i':j'=5400,i'=100,执行步骤s12-s17,即可完成分类识别。当进行分类识别时,如果待识别图像在训练集中不存在,此时可以将该待识别图像加入到训练集中,采用新迭代稀疏凸非负矩阵分解法重新计算得到新的最优基矩阵的系数矩阵和最优系数矩阵;并用新的最优系数矩阵作为输入,重新训练分类器。下面通过对比测试,对本发明实施例提供的人脸识别方法的效果进行说明:对比测试中采用的三种对比方法分别为:a、pca方法;b、snmf方法;c、基本cnmf方法。本发明实施例提供的方法为:d、新迭代稀疏cnmf方法。取orl图库中每人各10张图像共400张,每张图像有256个灰度级,大小为112×92。其中每个人的脸部表情和脸部细节都有着不同程度的变化,如笑与不笑、眼睛睁与闭、戴与不戴眼镜等;人脸姿态也有相当程度的变化,深度旋转和平面旋转最大可达20度;人脸的尺度也有多达10%的变化。对每个人随机选取前5张图像作为训练图像,构成训练样本集,剩下的5张作为待识别图像,构成待识别样本集。这样训练样本集和待识别样本集中各有200张。图2a-图2d分别是本发明实施例提供的a-d四种方法从训练样本集中得到的最优基矩阵图像,其中图d是从训练样本集中训练得到的最优基矩阵的系数矩阵通过f=xw公式进行还原后的最优基矩阵图像。由图2可看出,d方法得到的最优基矩阵图像能够准确反映人脸眼睛、鼻子的位置特征信息,使得人脸特征数据更加集中、稀疏;而a、b、c方法得到的最优基矩阵图像如图2a、2b、2c所示,特征信息过于分散模糊,不够集中。因此,相对于a、b、c方法,本发明提出的新迭代稀疏cnmf方法,算出的最优基矩阵所包含的特征数据更稀疏,特征信息更准确集中,对应的人脸特征的最优系数矩阵的分类会更准确。在k取不同值时的人脸识别率、算法所耗费时间方面,四种方法的对比结果如下表1、表2所示,k连续取值时的四种方法的效果对比曲线,如图3、图4所示。表1-k取不同值各种方法的人脸识别率对比k20355575180220方法a21%16.5%18.5%15.5%13.5%12.5%方法b85%88%89%87%75%70%方法c67%54%22%16%3%2.5%方法d98.5%99%99%99%100%100%表2-k取不同值各种方法的运行时间对比(单位:秒)k20355575180220方法a13.817.320.933.751.357.7方法b12.514.516.220.335.138.2方法c20.021.524.125.837.340.3方法d18.518.819.220.324.825.3由表1及图3可知,采用本发明提出的新迭代稀疏cnmf方法,可大幅度提高人脸识别率,识别率要明显高于a-c三种方法;这是由于本发明的技术方案中发明的新迭代规则比传统的乘性迭代规则更优,所得到的最优系数矩阵数据更集中更稀疏、集中。由图3可知,本发明提出的新迭代稀疏cnmf方法随着k的增加,识别率不断增大,当k=180时,识别率高达100%,k继续增大时,识别率保持100%不变;而方法b提供的snmf方法,当k增至55时,识别率最高,仅为89%,且k继续增大,识别率反而降低;方法a和方法c的识别率较低,且随着k增大识别率不断降低。而k越大,图像重建越准确,因此由图3可知,只有本发明所提出的新迭代cnmf方法能够保证在较高的识别率下,也能取得较高的k的值,从而保证能更好地重建图像。由表2和图4中给出的各种方法所需要的运算时间,可知当k不断增大时,本发明提供的新迭代cnmf方法的识别速度明显较其他三种方法更快。这是因为本发明的技术方案中发明的新迭代规则并结合阈值稀疏方法可得到最优的、稀疏化的基矩阵的系数矩阵和最优系数矩阵,减少了计算量。由图3和图4可知,已有的a、b、c三种方法,随着k的增加,其识别率不断降低,所耗费时间却不断增加;随着k的增加,本发明的技术方案运行时间增加缓慢且识别率不断增高;本发明提供的方法在识别率最高为100%时k取值为180,而其他方法的识别率最高时的k取值均比较小,而k越大,后期图像重建越准确。因此,综合考虑算法时间、识别率的总体性能及后期图像重建的准确率,本发明所提方法d要明显优于已有的相关的a、b、c三种方法。基于本发明实施例提供的新迭代稀疏cnmf方法,综合考虑识别率、运算时间,后期图像重建等因素,选择k=180,编写了基于matlab的人脸识别软件,从200张人脸中以100%的概率随机挑出不同人的待识别人脸图像,在不同表情、眼睛睁与闭、是否戴眼镜的情况下,软件均分类识别正确。软件能在以100%的概率下挑出一个人进行正确识别并输出标识此人身份的正面脸,同时在软件界面文本框中能正确给出该人脸所属类别及待识别样本集的识别率。综上所述,本发明提供的基于新迭代稀疏cnmf方法的人脸识别技术,有较高的理论价值;同时本发明的技术方案能取得极高的人脸识别率,且计算时间短,并能够保证后期人脸重建较高的准确率,且此技术已通过软件实现,工程应用价值大。图5是本发明实施例提供了一种人脸识别装置的结构示意图,参见图5,该装置包括:预处理单元201,用于对待识别样本集进行预处理,得到待识别样本集矩阵;分解单元202,用于采用新迭代稀疏凸非负矩阵分解法对待识别样本集矩阵进行处理,求出待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵采用如下迭代公式迭代产生:其中,s为所述待识别样本集矩阵,大小为j×i,j、i均为正整数,j为所述待识别样本集中每个样本的低频特征维度,i为所述待识别样本集的样本数量,st为s的转置矩阵;u为第n次迭代得到的基矩阵的系数矩阵,q为第n次迭代得到的系数矩阵,u'为第n-1次迭代得到的基矩阵的系数矩阵,q'为第n-1次迭代得到的系数矩阵,u、q、u'和q'大小均为i×k,k表示s的特征维度,k为正整数且k≤j,n为大于1的正整数;u't为u'的转置矩阵,q't为q'的转置矩阵,qt为q的转置矩阵;uik为u的第i行第k列的元素,qik为q的第i行第k列的元素,i、k均为正整数,且i≤i,k≤k;u'ik为u'的第i行第k列的元素,q'ik为q'的第i行第k列的元素;当j(v)的值最小时,u为最优基矩阵的系数矩阵,q为最优系数矩阵,j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u,vt为v的转置矩阵;分类单元203,用于采用训练好的分类器对待识别样本集的最优系数矩阵进行分类,完成人脸识别。在本发明实施例中,分解单元202,用于在设定范围内确定k的值;对于确定出的k的值,采用新迭代稀疏凸非负矩阵分解法对待识别样本集矩阵进行分解,求出k对应的所述待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例中,设定范围优选可以为180≥k≥20。在本发明实施例中,分解单元202,用于根据k确定初始基矩阵的系数矩阵和初始系数矩阵;根据初始基矩阵的系数矩阵和初始系数矩阵以及迭代公式进行迭代计算;将每一步迭代计算出的基矩阵的系数矩阵和系数矩阵代入目标函数:j(v)=tr(-2vtf+-vte-vd),其中f+=(sts)+q,e-=(sts)-,d=qtq,v=u;当目标函数的值达到稳定状态,结束迭代计算,并将最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵,其中,稳定状态是指目标函数的值保持不变或者变动幅度小于预定幅度;或者,当迭代次数达到迭代次数阈值时,选取最后一次迭代计算出的基矩阵的系数矩阵和系数矩阵作为待识别样本集的最优基矩阵的系数矩阵和最优系数矩阵。在本发明实施例中,分解单元202,还用于确定稀疏化阈值;在每一步迭代计算后,判断迭代计算出的基矩阵的系数矩阵中的每个数值与稀疏化阈值的大小;将迭代计算出的基矩阵的系数矩阵中大于稀疏化阈值的数值设置为1,将迭代计算出的基矩阵的系数矩阵中小于或等于稀疏化阈值的数值设置为0。进一步地,该装置还包括训练单元204;预处理单元201,还用于对训练样本集进行预处理,得到训练样本集矩阵;分解单元202,还用于采用新迭代稀疏凸非负矩阵分解法对训练样本集矩阵进行处理,求出训练样本集的最优基矩阵的系数矩阵和最优系数矩阵,最优基矩阵的系数矩阵和最优系数矩阵采用与待识别样本集处理时相同的迭代公式迭代产生;训练单元204,用于采用所述训练样本集的最优系数矩阵训练分类器。需要说明的是:上述实施例提供的人脸识别装置在人脸识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的人脸识别装置与人脸识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1