本发明公开了一种基于加权式鉴别性稀疏约束非负矩阵分解的人脸识别方法,主要解决现有技术对有遮挡的人脸不鲁棒,识别率低的问题。其技术方案是:1.根据测试图像遮挡区域,构造非负权值矩阵;2.在广义KL散度目标函数中引入权值矩阵,对基矩阵施加稀疏约束,对系数矩阵施加类内和类间散度约束,得到加权式鉴别性稀疏约束非负矩阵分解目标函数;3.求解该目标函数,分解训练数据矩阵,得到基矩阵和系数矩阵;4.将测试数据矩阵在基矩阵上投影,得到相应的低维表示集合,作为最终测试数据;5.用系数矩阵作为训练数据,利用最近邻分类器对测试数据进行分类,输出结果。本发明提高了遮挡情况下的人脸识别效果,可用于身份辨识和信息安全。
[
1.一种基于加权式鉴别性稀疏约束非负矩阵分解的人脸识别方法,包括如下步骤:(1)对训练数据集A中的图像进行预处理,并表示为非负矩阵:xj为由第j个训练图像构成的列向量,j=1,2,…,n,n为训练图像的个数,表示实m×n矩阵空间Rm×n中全体非负矩阵构成的子集合,m为单幅训练图像中的像素总数;(2)根据测试人脸图像遮挡区域,构造非负的权值矩阵并对W中对应于人脸未遮挡区域的权值系数给予104的权值,对W中对应于人脸遮挡区域的权值系数给予10-4的权值;(3)在广义KL散度GKLD目标函数中引入权值矩阵W,形成加权广义KL散度WGKLD目标函数:其中,表示待分解的非负矩阵,Xi,j表示X中第i行j列的元素,即第j个样本向量的第i个像素值;分别是对X进行非负矩阵分解期望得到的基矩阵和系数矩阵,r为基矩阵Z所含列向量的数目,也称非负矩阵分解算法的分解维数,Z和H均是非负的;Wi,j表示W中第i行j列的权值系数;(4)对基矩阵Z施加l1范数的正则化稀疏约束,对系数矩阵H施加类内散度约束和类间散度约束,并将这三项约束引入到加权广义KL散度WGKLD目标函数中,形成加权式鉴别性稀疏约束非负矩阵分解WDSNMF的目标函数DWDSNMF(X||ZH)如下:其中,Zi,f表示Z中第i行f列的元素;tr[Sw]为类内散度约束项,是矩阵Sw的迹;tr[Sb]为类间散度约束项,是矩阵Sb的迹;Sw为类内散度矩阵,为系数矩阵H中对应于第φ类样本中第ρ个样本的列向量,μ(φ)为系数矩阵H中对应于第φ类样本的列向量的均值向量,C为样本类别数,Nφ为属于φ类的样本个数,T为转置运算;Sb为类间散度矩阵,μ为系数矩阵H中对应于所有样本的列向量的均值向量,tr[]为矩阵的迹运算,γ为调节类内散度大小与准确重构之间平衡的平衡调节系数,δ为调节类间散度大小与准确重构之间平衡的平衡调节系数,β为控制稀疏度与准确重构之间平衡的平衡调节系数;(5)对目标函数DWDSNMF(X||ZH)进行优化求解,实现对非负矩阵X的分解,得到基矩阵Z和系数矩阵H;其中,基矩阵Z={z1,z2,…,zf,…,zr}代表训练数据的基空间,也称人脸图像的潜在模式或局部特征集,其各列代表一个人脸特征,表示实m维向量空间Rm中全体非负向量构成的子集合;系数矩阵H是所有训练图像低维表示的集合{h1,h2,…,hj,…,hn},表示实r维向量空间Rr中全体非负向量构成的子集合;(6)给定测试数据集B,对B中的每张图像采用与训练图像相同的预处理方式,将每张预处理过的人脸图像矩阵转置后,再按像素点逐列排成一个列向量作为该张图像的数据向量,用B中所有图像的数据向量组合成矩阵其中,g为测试样本数,表示实m×g矩阵空间Rm×g中全体非负矩阵构成的子集合;(7)将一幅测试图像对应的列向量td在步骤(5)所得的基矩阵Z上进行投影,得到列向量td的低维表示:用所有测试图像的低维表示得到一个测试图像集数据的低维表示集合:其中,表矩阵的广义逆运算;(8)利用最近邻分类器对测试数据进行分类,得到人脸识别的识别率结果RA。
2.根据权利要求1所述的方法,其中步骤(1)中对训练数据集A中的图像进行预处理,表示为非负矩阵,按如下步骤进行:1a)对训练数据集A中每幅图像进行直方图均衡化处理,然后重新调整大小,形成p×q像素大小的图像矩阵,每幅图像均包含m=p×q个像素值;1b)将每幅图像转置后,逐列排列,表示成一个m维的列向量,记为xj,j=1,2,…,n,其中,n为训练图像的个数;1c)按顺序将xj排列成非负矩阵:X=[x1,x2,…,xj,…,xn]。
3.根据权利要求1所述的方法,其中步骤(2)中根据测试人脸图像遮挡区域,构造非负的权值矩阵W,实现步骤如下:2a)将测试图像三等分成上中下三部分,计算每一部分在整张人脸图像中所占的能量比,公式如下:其中,Bξ表示测试图像均分成上中下三块中的第ξ块区域,Vξ(x,y)为第ξ个子块在图像像素位置(x,y)处的灰度值,x∈[1,p],y∈[1,q],p表示测试图像调整大小后每一列像素个数,q表示测试图像调整大小后每一行像素个数;2b)比较上中下三部分的能量比,将能量最小的区域定为测试人脸图像遮挡区域;2c)构造一个m×n的空矩阵W′;2d)根据测试人脸图像遮挡区域,按照如下权值系数Wi,j,i=1,2,…,m,j=1,2,…,n的构造公式,将对应于人脸未遮挡区域的权值系数给予104的权值,对应于人脸遮挡区域的权值系数给予10-4的权值;其中,∈表示属于某个集合,表示不属于某个集合;2e)将构造的所有Wi,j按坐标顺序对空矩阵W′进行赋值,完成赋值后即可得到非负的权值矩阵W。
4.根据权利要求1所述的方法,其中步骤(5)中对目标函数DWDSNMF(X||ZH)进行优化求解,步骤如下:5a)随机初始化基矩阵Z和系数矩阵H,使得基矩阵Z中的任意元素满足Zi,f∈[0,1],i=1,2,…,m,f=1,2,…,r,其中,Zi,f表示基矩阵Z中第i行f列元素,系数矩阵H的任意元素满足Hf,l∈[0,1],f=1,2,…,r,l=1,2,…,n,其中,Hf,l表示稀疏矩阵第f行l列的元素。5b)对基矩阵Z中的元素进行更新:首先,按照如下更新公式得到中间变量值然后,对该中间变量值进行标准化处理:将作为本次对基矩阵Z中元素的迭代更新结果,其中,为迭代t次后基矩阵Z的第i行f列元素;为迭代t-1次后基矩阵Z的第i行f列元素;为迭代t-1次后系数矩阵H的第f行l列元素;Wi,l为权值矩阵W的第i行第l列系数值;β为控制稀疏度与准确重构之间平衡的平衡调节系数;5c)按如下迭代规则更新系数矩阵H中的元素其中,为迭代t-1次后基矩阵Z的第i行f列元素;为迭代t-1次后系数矩阵H的第f行l列元素;为迭代t次后系数矩阵H的第f行l列元素;μf为系数矩阵H中对应于所有样本的列向量的均值向量μ中的第f个元素;γ为调节类内散度大小与准确重构之间平衡的平衡调节系数,δ为调节类间散度大小与准确重构之间平衡的平衡调节系数;5d)采用预定义的最大迭代次数iter作为停止迭代条件,迭代次数t达到iter次后,停止迭代,输出得到的期望的基矩阵Z和系数矩阵H;否则,返回步骤5b)。
5.根据权利要求1所述的方法,其中步骤(8)中用最近邻分类器对测试数据进行分类,得到人脸识别的识别率结果RA,实现步骤如下:8a)利用以下相似度度量公式,分别计算测试图像的低维表示yd与训练数据集A中各图像的低维表示hj的相似度,得到低维表示yd的相似度集合{s1d,s2d,…,sjd,…,snd}:其中,Hf,i表示系数矩阵H的第f行第j列元素,Yf,d表示测试图像集数据的低维表示集合Y的第f行第d列元素;8b)从低维表示yd的相似度集合{s1d,s2d,…,sjd,…,snd}中选择最小值sωd,ω∈{1,2,…,n},将低维表示yd所对应的测试图像归类到低维表示hω所对应的训练图像所属的类别;8c)对测试数据中所有测试图像做出分类判断后,统计被正确识别分类的测试图像数目Cor;8d)按照如下公式计算人脸识别的识别率RA:其中,g为测试样本总数。
]