首页> 中国专利> 基于深度学习多层非负矩阵分解的人脸识别方法

基于深度学习多层非负矩阵分解的人脸识别方法

摘要

本发明公开了一种基于深度学习多层非负矩阵分解的人脸识别方法,主要解决现有人脸识别技术在复杂外观变化下识别率低的问题。其技术方案是:1.利用VGG‑Face提取训练样本和测试样本各个通道数据的特征数据;2.对训练样本各个通道数据的特征数据分别重复L次归一化、非线性变换和矩阵分解的特征提取过程,得到低秩鲁棒特征;3.构建K个最近邻分类器;4.将测试样本的各个通道数据的特征数据分别进行投影,得到投影系数向量;5.将投影系数向量输入到K个最近邻分类器进行分类;6.综合K个最近邻分类器的分类结果,得到测试样本的识别结果。本发明提高了复杂外观变化下的人脸识别率,可应用于身份鉴定和信息安全领域。

著录项

  • 公开/公告号CN107451537A

    专利类型发明专利

  • 公开/公告日2017-12-08

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201710568578.0

  • 发明设计人 同鸣;李明阳;陈逸然;席圣男;

    申请日2017-07-13

  • 分类号

  • 代理机构陕西电子工业专利中心;

  • 代理人王品华

  • 地址 710071 陕西省西安市雁塔区太白南路2号

  • 入库时间 2023-06-19 03:59:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    授权

    授权

  • 2018-01-05

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20170713

    实质审查的生效

  • 2017-12-08

    公开

    公开

说明书

技术领域

本发明属于图像处理技术领域,特别涉及人脸图像识别方法,可应用于身份鉴定和信息安全领域。

背景技术

随着人类社会的不断发展,人脸识别在安保、金融、电子政务等多个领域具有广泛应用,提高人脸识别性能有利于扩大人脸识别的应用。当前关于人脸识别的主要研究在于提取有效、鲁棒并且更具鉴别性的特征和设计具有更好分类能力的分类器。选择更加鲁棒、更有鉴别力的特征以及设计具有良好分类能力的分类器是提高人脸识别鲁棒性的关键。

非负矩阵分解是一种在非负约束下进行矩阵分解的特征提取方法,具有良好的数据表示能力,可大幅度降低数据特征的维数,而且其分解特性合乎人类视觉感知的直观体验,分解结果具有可解释和明确的物理意义。基本非负矩阵分解NMF直接将原始系数矩阵分解为基矩阵和系数矩阵,并要求基矩阵以及系数矩阵都是非负的,这表明非负矩阵分解NMF只存在加性组合。因此,非负矩阵分解NMF可以看作是一个基于部分表示的模型,能够提供观测数据的局部结构,但有些情况下,NMF算法也会给出全局特征,导致分类性能受限。

深度学习是机器学习领域中特征表示的一个新的研究方向,近年来在语音识别、计算机视觉等多类应用中取得突破性的进展,深度学习通过组合底层特征形成更加抽象的高层表示或特征。深度学习模型中,具有更多的非线性变换层,具有更强的泛化能力。但在实际应用中,头部姿势、照明、遮挡等因素产生的外观变化会导致深度学习的性能下降,到目前为止没有良好的解决办法。

发明内容

鉴于以上所述的现有技术缺点,本发明的目的在于提供一种基于深度学习多层非负矩阵分解的人脸识别方法,以获取深层次更具判别性的低秩鲁棒特征,提高复杂外观变化下的人脸识别率。

实现本发明的技术关键是在深度学习的基础上,引入了一种新的多层非负矩阵分解,以对现有的深度学习方法进行改进。具体来说,本发明是通过对深度学习得到的样本特征进行多次非负矩阵分解,以此得到更具鉴别力的低秩特征表示,从而提高人脸识别率,其步骤包括如下:

(1)将训练样本的每个通道数据输入到VGG-Face深度卷积神经网络中,得到训练样本每个通道数据的特征数据X(k),其中,k=1,2,...,K,K为训练样本的通道数;

(2)对步骤(1)得到的特征数据X(k)分别进行归一化、非线性变换和矩阵分解的特征提取过程,得到系数矩阵H(k);

(3)将步骤(2)中的特征提取过程重复L次,得到低秩鲁棒特征hj(k),其中,j=1,2,...,n,n为训练样本总数;

(4)根据步骤(3)得到的低秩鲁棒特征hj(k),构造K个最近邻分类器;

(5)将测试样本的每个通道数据输入到VGG-Face深度卷积神经网络中,得到测试样本每个通道数据的特征数据Y(k);

(6)根据步骤(5)得到的特征数据Y(k)进行投影过程,得到投影系数向量

(7)将步骤(6)得到的投影系数向量输入到K个最近邻分类器中,得到测试样本每个通道的分类结果,其中,i=1,2,...,e,e为测试样本总数;

(8)综合步骤(7)得到的测试样本每个通道的分类结果,得到测试样本的分类结果。

本发明与现有技术相比,具有如下优点:

1)本发明在深度学习的基础上结合了多层非负矩阵分解,能够得到更具鉴别力的特征表示;

2)本发明通过综合不同通道的分类结果,进一步提高了复杂外观变化下的人脸识别率。

附图说明

图1是本发明的实现流程图。

具体实施方式

参照图1,本发明的基于深度学习多层非负矩阵分解的人脸识别步骤如下:

步骤1,获取训练样本每个通道数据的特征数据X(k)。

(1a)获取人脸数据集Vtrain作为训练数据集,该训练数据集中的训练样本总数为n,该训练数据集的类别数量为c,该训练数据集中的每个训练样本等分为K个区域,每个区域作为训练样本的1个通道数据,训练样本共包含K个通道数据;

(1b)根据训练数据集,在Linux操作系统下,利用Caffe深度学习框架对VGG-Face深度卷积神经网络参数进行微调;

(1c)将训练数据集中每个训练样本的每个通道数据输入到VGG-Face深度卷积神经网络中,得到训练每个通道数据的特征数据X(k),其中,k=1,2,...,K;K为训练样本的通道数。

步骤2,根据特征数据X(k),获取系数矩阵H(k)。

对特征数据X(k)分别进行归一化、非线性变换和矩阵分解的特征提取过程,得到系数矩阵H(k);

(2a)使用L2范数对特征数据X(k)进行归一化处理;

(2b)使用sigmoid函数对步骤(2a)归一化处理后的结果进行非线性变换,得到变换后的结果B(k);

(2c)使用软约束非负矩阵分解对步骤(2b)中非线性变换后的结果B(k)进行矩阵分解,得到B(k)≈Z(k)A(k)F(k),其中,B(k)为m×n阶矩阵,Z(k)为m×φ阶的基矩阵,A(k)为φ×c阶的辅助矩阵,F(k)为c×n阶的预测标签矩阵,m为原始特征维数,φ为分解维数,c为类别数,n为训练样本总数;

(2c1)随机初始化基矩阵Z(1)(k)、辅助矩阵A(1)(k)和预测标签矩阵F(1)(k)作为迭代1次后的结果,其中,基矩阵Z(1)(k)中的任意元素满足为基矩阵Z(1)(k)的第p行q列元素;辅助矩阵A(1)(k)中的任意元素满足为辅助矩阵A(1)(k)的第α行β列元素;预测标签矩阵F(1)(k)中的任意元素满足为预测标签矩阵F(1)(k)的第γ行列元素;p=1,2,...,m,q=1,2,...,φ,α=1,2,...,φ,β=1,2,...,c,γ=1,2,...,c,

(2c2)根据如下公式,对基矩阵Z中的元素Zp,q进行更新:

其中,t为迭代次数,t=2,...,iter,iter为最大迭代次数,T为矩阵转置,为迭代t次后得到的非归一化基矩阵Z(t)′(k)的第p行q列元素;

(2c3)对步骤(2c2)中得到的基矩阵Z(t)′(k)进行归一化处理,得到迭代t次的基矩阵Z(t)(k);

(2c4)根据如下公式,对辅助矩阵A(k)中的元素Aα,β(k)进行更新:

其中,为迭代t次后得到的辅助矩阵A(t)(k)的第α行β列元素;A(t)(k)为迭代t次后得到的辅助矩阵;

(2c5)根据如下公式,对预测标签矩阵F(k)中的元素进行更新:

其中,为迭代t次后预测标签矩阵F(t)(k)的第γ行列元素;F(t)(k)为迭代t次后预测标签矩阵;λ为正则项系数;为预先定义的本地标签矩阵C(k)的第γ行列元素;

(2c6)判断迭代次数t是否达到最大迭代次数iter:如果是,则停止迭代,将第iter次迭代得到的基矩阵Z(iter)(k)、辅助矩阵A(iter)(k)和预测标签矩阵F(iter)(k),作为最终的基矩阵Z(k)、辅助矩阵A(k)和预测标签矩阵F(k);否则,返回步骤(2c2);

(2d)根据步骤(2c)中软约束非负矩阵分解后得到的辅助矩阵A(k)和预测标签矩阵F(k),得到系数矩阵:H(k)=A(k)F(k)。

步骤3,获取训练样本的低秩鲁棒特征h(k)。

重复步骤2中的特征提取过程,得到训练样本的每个通道特征数据X(k)的低秩鲁棒特征h(k);

(3a)根据步骤2对训练样本的各个通道的特征数据X(k)进行处理,得到第1层基矩阵Z1(k)和第1层系数矩阵H1(k);

(3b)根据步骤2对步骤(3a)得到的第1层系数矩阵H1(k)进行处理,得到第2层基矩阵Z2(k)和第2层系数矩阵H2(k);

(3c)根据步骤(3a)和(3b)继续重复相同步骤,根据第l-1层系数矩阵Hl-1(k),得到第l层基矩阵Zl(k)和第l层系数矩阵Hl(k),直到重复次数l=L,得到第L层基矩阵ZL(k)和第L层系数矩阵HL(k),其中,l=2,...,L,L为多层非负矩阵分解的层数;

(3d)根据步骤(3c)得到的第L层系数矩阵HL(k),得到训练样本各个通道的低秩鲁棒特征hj(k),其中,j=1,2,...,n。

步骤4,根据步骤3得到的低秩鲁棒特征hj(k),构造K个最近邻分类器。

(4a)从步骤3中得到的结果,选取每个训练样本第k个通道的低秩鲁棒特征hj(k),构成一个特征集合;

(4b)根据步骤(4a)得到的特征集合,构成一个最近邻分类器;

(4c)针对不同的通道重复步骤(4a)和(4b),得到K个最近邻分类器。

步骤5,获取测试样本每个通道数据的特征数据Y(k)。

(5a)获取与训练数据集属性相同的人脸数据集Vtest作为测试数据集,该测试数据集中的测试样本总数为e,该测试数据集的类别数量为c,该测试数据集中的每个测试样本根据步骤(1a)划分为K个通道数据;

(5b)根据步骤(1b)对VGG-Face深度卷积神经网络的参数进行设置;

(5c)将测试样本的每个通道数据输入到VGG-Face深度卷积神经网络中,得到测试样本每个通道数据的特征数据Y(k)。

步骤6,将步骤5得到的测试样本的每个通道数据的特征数据Y(k)分别进行投影,输出投影系数向量

(6a)对测试样本的特征数据Y(k)进行归一化处理、非线性变换和投影变换的投影处理过程,得到第1层投影矩阵

(6a1)使用L2范数对测试样本的特征数据Y(k)进行归一化处理;

(6a2)使用Sigmoid函数对步骤(6a1)中归一化处理后得到的结果进行非线性变换,得到非线性变换后的变换结果f(Y(k)),其中,f(·)表示利用Sigmoid函数进行非线性变换;

(6a3)将步骤(6a2)非线性变换后的结果f(Y(k))分别在步骤(3a)得到的第1层基矩阵Z1(k)上进行投影变换,得到第1层投影矩阵:其中,表示广义逆运算;

(6b)根据步骤(6a)得到的第1层投影矩阵和第2层基矩阵Z2(k)进行相同处理过程,得到第2层投影矩阵

(6c)根据步骤(6a)和(6b)继续重复相同步骤,根据第l-1层投影矩阵和第l层基矩阵Zl(k)得到第l层投影矩阵直到重复次数l=L,得到第L层投影矩阵其中,l=2,...,L;

(6d)根据步骤(6c)得到的第L层投影矩阵得到每个测试样本的投影系数向量其中,i=1,2,...,e。

步骤7,将步骤6得到的投影系数向量输入到K个最近邻分类器中,得到测试样本每个通道的分类结果。

(7a)计算训练样本的低秩鲁棒特征hj(k)与测试样本的投影系数向量之间的低维欧氏距离得到距离集合其中,j=1,2,...,n,i∈{1,2,...,e},||·||2表示2范数;

(7b)根据步骤(7a)得到的距离集合将距离集合中最小值对应的第ξ个训练样本的类别作为第i个测试样本在第k个最近邻分类器上的分类结果,其中,ξ∈{1,2,...,n};

(7c)根据步骤(7a)和(7b)分别对每个测试样本的K个通道进行分类,得到每个测试样本在K个最近邻分类器上的分类结果。

步骤8,综合步骤7得到的测试样本每个通道的分类结果,得到测试样本的最终分类结果。

(8a)根据步骤7得到的每个测试样本在K个最近邻分类器上的分类结果,分别统计每个最近邻分类器上的被正确分类的测试样本数目CNk,计算每个最近邻分类器的识别率:

其中,CNk为第k个最近邻分类器上的被正确分类的测试样本数目,ok为第k个最近邻分类器的识别率;

(8b)根据步骤(8a)得到的K个最近邻分类器的识别率分别计算K个最近邻分类器的线性权重系数αk

(8c)根据步骤(8b)得到的线性权重系数αk,计算测试样本K个通道投影系数向量与训练样本K个通道低秩鲁棒特征hj(k)之间的加权距离:

,得到加权距离集合{d1i,d2i,...,dji,...,dni};

(8d)根据步骤(8c)得到的加权距离集合{d1i,d2i,...,dji,...,dni},将加权距离集合中最小值dωi对应的第ω个训练样本的类别作为测试样本的分类结果,其中,ω∈{1,2,...,n}。

以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号