CN105138993B - 建立人脸识别模型的方法及装置 - Google Patents
建立人脸识别模型的方法及装置 Download PDFInfo
- Publication number
- CN105138993B CN105138993B CN201510546696.2A CN201510546696A CN105138993B CN 105138993 B CN105138993 B CN 105138993B CN 201510546696 A CN201510546696 A CN 201510546696A CN 105138993 B CN105138993 B CN 105138993B
- Authority
- CN
- China
- Prior art keywords
- image
- dimension
- trained
- regularization
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本公开是关于一种建立人脸识别模型的方法及装置,属于信息技术领域。方法包括:通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;根据正则化PCA投影矩阵及多个具有相同尺寸的人脸图像,得到多个训练图像;根据多个训练图像,对待训练的CNN模型进行训练;根据训练好的CNN模型及多个训练图像,提取多个图像特征;通过对多个图像特征进行LDA处理,训练出LDA投影矩阵;将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。本公开通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
Description
技术领域
本公开涉及信息技术领域,尤其涉及一种建立人脸识别模型的方法及装置。
背景技术
随着信息技术的发展,用户的信息逐渐趋于数字化、隐形化,传统的身份验证方式,比如密钥、登录密码、口令等,已很难保证用户的信息安全,与此同时,人脸识别技术以其独特的优势,在身份验证方面受到了越来越多用户的青睐。人脸识别技术基于人脸固有的生物特征信息,利用模式识别和图像处理技术对用户的身份进行验证,大大地提高了身份验证的可靠性,在国家安全、经济、家庭娱乐等领域,发挥着重要作用。
目前,采用人脸识别技术对人脸进行识别时,需要先建立人脸识别模型。相关技术在建立人脸识别模型时,通常采用如下方式实现:
第一步,对人脸图像进行尺寸归一化处理,得到高度为80像素、宽度为88像素的人脸图像。
第二步,采用直方图均衡化、高频滤波器、低频滤波器等对尺度归一化处理后的人脸图像进行光照归一化处理。
第三步,从光照归一化处理后的人脸图像中选取500个像素点,按照预设规则采用5个尺度8个方向的伽柏滤波器对所提取的500个像素点作卷积计算,得到20000维的伽柏特征向量。
第四步,对20000维的伽柏特征向量进行PCA(Principal Component Analysis,主成分分析)训练,得到PCA投影矩阵P1。之后,根据PCA投影矩阵P1对20000维的伽柏特征向量进行降维处理,得到3000维的伽柏特征向量。
第五步,对3000维的伽柏特征向量进行LDA(Linear Discriminant Analysis,线性判别式分析)训练,得到LDA投影矩阵P2。
第六步,将PCA投影矩阵P1和LDA投影矩阵P2作为人脸识别模型。
发明内容
本公开提供一种建立人脸识别模型的方法及装置。
根据本公开实施例的第一方面,提供一种建立人脸识别模型的方法,所述方法包括:
获取多个人脸图像;
对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
根据所述多个训练图像,对待训练的CNN(Convolutional Neural Network,卷积神经网络)模型进行训练;
根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
可选地,所述通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵之前,还包括:
对所述多个具有相同尺寸的人脸图像进行灰度化处理;
从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
所述通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵,包括:
根据具有相同尺寸的人脸图像的数量及所述第二维度,构造一个初始矩阵;
采用正则化PCA算法对所述初始矩阵进行分解,得到正则化PCA投影矩阵。
可选地,所述根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练,包括:
获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和所述各级全连接层的初始偏置向量;
在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的特征图像;
在各级全连接层上,使用所述各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;
根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
可选地,所述将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型之后,还包括:
对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
根据所述正则化PCA投影矩阵,对所述两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
根据所述训练好的CNN模型,从所述两个训练图像中,提取多个具有第一维度的图像特征;
根据所述LDA投影矩阵,对所述两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
对所述两个具有第三维度的图像特征进行相似性计算;
根据计算结果,确定所述两个人脸图像是否属于同一用户。
可选地,所述对所述两个具有第三维度的特征图像进行相似性计算,包括:
计算所述两个具有第三维度的图像特征之间的余弦距离。
可选地,所述根据计算结果,确定所述两个人脸图像是否属于同一用户,包括:
如果所述余弦距离大于预设阈值,则确定所述两个人脸图像属于同一用户;
如果所述余弦距离小于预设阈值,则确定所述两个人脸图像属于不同用户。
根据本公开实施例的第二方面,提供一种建立人脸识别模型的装置,所述装置包括:
获取模块,用于获取多个人脸图像;
第一处理模块,用于对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
第一训练模块,用于通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
第二处理模块,用于根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
第二训练模块,用于根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
第一提取模块,用于根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
第三训练模块,用于通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
第一确定模块,用于将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
可选地,所述装置还包括:
第三处理模块,用于对所述多个具有相同尺寸的人脸图像进行灰度化处理;
第二提取模块,用于从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
所述第一训练模块,用于根据具有相同尺寸的人脸图像的数量及所述第二维度,构造一个初始矩阵;采用正则化PCA算法对所述初始矩阵进行分解,得到正则化PCA投影矩阵。
可选地,所述第二训练模块,用于获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和所述各级全连接层的初始偏置向量;在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的特征图像;在各级全连接层上,使用所述各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
可选地,所述装置还包括:
第四处理模块,用于对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
第五处理模块,用于根据所述正则化PCA投影矩阵,对所述两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
第三提取模块,用于根据所述训练好的CNN模型,从所述两个训练图像中,提取多个具有第一维度的图像特征;
第六处理模块,用于根据所述LDA投影矩阵,对所述两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
计算模块,用于对所述两个具有第三维度的图像特征进行相似性计算;
第二确定模块,用于根据计算结果,确定所述两个人脸图像是否属于同一用户。
可选地,所述计算模块,用于计算所述两个具有第三维度的图像特征之间的余弦距离。
可选地,所述第二确定模块,用于当所述余弦距离大于预设阈值时,确定所述两个人脸图像属于同一用户;当所述余弦距离小于预设阈值时,确定所述两个人脸图像属于不同用户。
根据本公开实施例的第三方面,提供一种建立人脸识别模型的装置,包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
获取多个人脸图像;
对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种字符识别的卷积神经网络设计图。
图2是根据一示例性实施例示出的一种建立人脸识别模型的方法的流程图。
图3是根据一示例性实施例示出的一种建立人脸识别模型的方法的流程图。
图4是根据一示例性实施例示出的一种卷积神经网络图。
图5是根据一示例性实施例示出的一种建立人脸识别模型的装置结构示意图。
图6是根据一示例性实施例示出的一种建立人脸识别模型的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
随着信息技术的发展,传统的身份验证方式已无法有效地保护用户的信息安全,基于生物特征进行验证的生物验证方式逐渐受到越来越多用户的青睐。人脸识别作为生物验证中常见的一种验证方式,被广泛应用于社会生活的各个领域。例如,在国家安全、军事安全和公共安全领域,智能门禁、智能视频监控、公安布控、海关身份验证、司机驾照验证等典型的应用;在民事和经济领域,各类银行卡、金融卡、信用卡、储蓄卡的持卡人的身份验证、社会保险人的身份验证等具有重要的应用价值;在家庭娱乐等领域,人脸识别也具有一些有益的应用,比如能够识别主人身份的智能玩具、家政机器人、具有真实面像的虚拟游戏玩家等。
CNN作为人工神经网络的一种,目前已成为图像识别领域的研究热点。CNN为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、倾斜或者其他形式的变形具有高度不变性。CNN的权值共享网络结构使之更类似于生物神经网络,通过学习大量的输入与输出之间的映射关系,无需任何输入和输出之间精确的数学表达式,即可输出处理结果,从而有效地降低了网络模型的复杂度,减少了权值的数量。尤其是在网络输入为多维图像时,CNN的优点表现的更为明显,避免了传统图像识别算法中复杂的特征提取和数据重建过程。
图1是一种字符识别的CNN网络设计图。由图1可知,CNN网络由1个输入层及7个训练层组成,7个训练层分别为C1层、S2层、C3层、S4层、C5层、F6层及输出层,其中,C1、C3、C5层为卷积层,用于通过卷积运算,增强原始图像的特征,降低噪声;S2、S4为下采样层,用于利用图像局部相关性原理,对图像进行子抽样,以减少数据处理量并保留有效特征。其中,输入层所输入的图像大小为32*32。每个训练层具有多个特征图像,每个特征图像为通过一种卷积滤波器提取输入的一种特征,且每个特征图像具有多个神经元。另外,每个训练层均包含多个待训练的参数。
其中,C1层为第一级卷积层,由6个大小为28*28的特征图像构成。每个特征图像中的每个神经元与输入图像中5*5的邻域相连。C1层中每个滤波器具有5*5=25个滤波器参数以及1个bias参数,6个滤波器总共具有(5*5+1)*6=156个待训练的参数。针对156个待训练的参数,共计具有156*(28*28)=122304个连接。
S2层为第一级下采样层,由6个14*14的特征图像构成。每个特征图像中的每个单元与C1层中相对应特征图像的2*2邻域相连接。另外,S2层有12个待训练的参数及5880个连接。
C3层为第二级卷积层,由16个10*10的特征图像构成。其中,10*10的特征图像为通过5*5的卷积核对下采样层S2进行卷积计算得到。C3层中的每个特征图像与S2层中的全部或部分特征图像相连,也即是,C3层中的特征图像为S2层中所提取到的特征图像的组合。
S4层为第二级下采样层,由16个5*5的特征图像构成。每个特征图中的每个单元与C3层中相应特征图像的2*2邻域相连接。另外,S4层有32个待训练的参数及2000个连接。
C5层为第二级卷积层,由120个特征图像构成。每个特征图像中的每个单元与S4层中16个特征图像的5*5邻域相连。由于S4层的特征图像的大小也为5*5,因此,C5层的特征图像与S4层的特征图像的比例应为1*1,也即是S4层和C5层之间为全连接。另外,C5层有48120个待训练的连接。
F6层由84个特征图像构成,与C5层之间为全连接。另外,F6层有10164个待训练的参数。
输出层由RBF(Radial Basis Function,径向基函数)单元组成,每个RBF单元用于计算输入向量和输出向量之间的欧式距离,输入向量与输出向量之间的欧氏距离越大,RBF单元的输出也越大。RBF单元的输出用于衡量输入向量和与RBF单元相关联类的一个模型匹配程度的惩罚项。在概率论上,RBF单元的输出可以认为是F6层配置空间的高斯分布的负log-likelihood。任意给定一个输入向量,损失函数应能使F6层的配置与RBF输出向量足够接近。
图2是根据一示例性实施例示出的一种建立人脸识别模型的方法的流程图,如图2所示,建立人脸识别模型的方法用于服务器中,包括以下步骤。
在步骤S201中,获取多个人脸图像。
在步骤S202中,对多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像。
在步骤S203中,通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵。
在步骤S204中,根据正则化PCA投影矩阵,对多个具有相同尺寸的人脸图像进行处理,得到多个训练图像。
在步骤S205中,根据多个训练图像,对待训练的CNN模型进行训练。
在步骤S206中,根据训练好的CNN模型,从多个训练图像中,提取多个具有第一维度的图像特征。
在步骤S207中,通过对多个具有第一维度的图像特征进行LDA处理,训练出LDA投影矩阵。
在步骤S208中,将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
本公开实施例提供的方法,通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
在本公开的另一个实施例中,通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵之前,还包括:
对多个具有相同尺寸的人脸图像进行灰度化处理;
从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵,包括:
根据具有相同尺寸的人脸图像的数量及第二维度,构造一个初始矩阵;
采用正则化PCA算法对初始矩阵进行分解,得到正则化PCA投影矩阵。
在本公开的另一个实施例中,根据多个训练图像,对待训练的卷积神经网络CNN模型进行训练,包括:
获取待训练CNN模型的初始模型参数,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和各级全连接层的初始偏置向量;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的特征图像;
在各级全连接层上,使用各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
在本公开的另一个实施例中,将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型之后,还包括:
对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
根据正则化PCA投影矩阵,对两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
根据训练好的CNN模型,从两个训练图像中,提取多个具有第一维度的图像特征;
根据LDA投影矩阵,对两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
对两个具有第三维度的图像特征进行相似性计算;
根据计算结果,确定两个人脸图像是否属于同一用户。
在本公开的另一个实施例中,对两个具有第三维度的特征图像进行相似性计算,包括:
计算两个具有第三维度的图像特征之间的余弦距离。
在本公开的另一个实施例中,根据计算结果,确定两个人脸图像是否属于同一用户,包括:
如果余弦距离大于预设阈值,则确定两个人脸图像属于同一用户;
如果余弦距离小于预设阈值,则确定两个人脸图像属于不同用户。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图3是根据一示例性实施例示出的一种建立人脸识别模型的方法的流程图,如图3所示,建立人脸识别模型的方法用于服务器中,包括以下步骤。
在步骤S301中,服务器获取多个人脸图像。
其中,服务器获取的人脸图像的数量可以是10000个、20000个、30000个等,本实施例不对服务器获取的人脸图像的数量作具体的限定。关于服务器获取人脸图像的方式,包括但不限于:通过互联网收集多个用户对应的人脸图像。例如,选取20000个用户,每个用户收集30个人脸图像,则服务器可获取到600000个人脸图像。
需要说明的是,由于本公开所训练的分类器为LDA投影矩阵,而LDA为一种有监督的学习,需要利用一组已知类别的样本调整分类器的参数,以达到所要求性能,因此,为了完成后续对分类器的训练,服务器在获取到多个人脸图像之后,还将根据每个人脸图像所对应的用户,对所获取的多个人脸图像进行标注。通过对多个人脸图像进行标注,可使对应同一用户的人脸图像具有相同的标号。例如,获取到的人脸图像为600000个,600000个人脸图像属于20000个用户,根据人脸图像的提取顺序,可为第1个用户的人脸图像标注标号1,为第2个用户的人脸图像标注标号2,……,为第20000个用户的人脸图像标注标号20000。
在步骤S302中,服务器对多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像。
为使在不同光照强度、方向、距离、姿势等成像条件下所拍摄的同一用户的人脸图像具有一致性,以减少对多个人脸图像进行识别时的计算量,服务器通过对多个人脸图像进行平移、旋转、缩放、标准切割等尺度归一化处理,可得到多个具有相同尺寸的人脸图像,也即是,多个人脸图像具有相同的高度和宽度。
在步骤S303中,服务器通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵。
其中,PCA为主成分分析或者主元分析,是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。PCA作为一种重要的降维方法,其计算目的是将高维数据投影到较低维空间。白化是一种重要的预处理过程,其目的是降低数据的冗余性,使得经过白化处理的数据特征之间的相关性较低,且所有特征具有相同的方差。通常白化处理可分为PCA白化和正则化PCA白化,正则化PCA白化是在PCA白化基础上增加一个旋转操作,使得白化之后的数据更接近原始数据。具体地,正则化PCA白化首先通过PCA去除各个特征之间的相关性,使输入的特征具有单位方差,得到PCA白化后的处理结果,之后,再将PCA处理结果旋转回去,得到正则化PCA白化的处理结果。
基于上述正则化PCA白化的处理原理,为了降低输入的多个人脸图像的冗余,服务器在基于多个具有相同尺寸的人脸图像训练CNN模型之前,还将对多个具有相同尺寸的人脸图像进行正则化PCA处理。而在此之前,服务器还将对多个具有相同尺寸的人脸图像进行灰度化处理,进而从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值。
其中,第二维度可以为1000维、2000维、3000维等,本实施例不对第二维度作具体的限定。灰度化处理为将彩色图像转化为灰度图像的过程。彩色图像中每个像素的颜色由R、G、B三个分量决定,而每个分量有255个值,这样每个像素点就可以有1600多万(255*255*255)种颜色变化范围。灰度图像是R、G、B三个分量相同的一种特殊的颜色图像,其一个像素点的变化范围为255种,灰度图像与彩色图像均可以反映图像的整体和局部色度和亮度的分布及特征。通过将多个人脸图像转化为灰度图像,可大大减少后续的计算量。目前,服务器在对多个具有相同尺寸的人脸图像进行灰度化处理,可采用如下两种方式实现。
第一种方式:服务器计算出每个人脸图像中每个像素点的R、G、B三个分量的平均值,进而将该平均值作为每个三个分量的值。
第二种方式:服务器根据RGB和YUV颜色空间的变换关系,建立亮度Y与R、G、B三个颜色分量的对应关系,该对应关系为:Y=0.3R+0.59G+0.11B,进而通过该对应关系确定每个人脸图像中每个像素点的灰度值。
基于从灰度化处理后的每个脸图像中,所提取的具有第二维度的灰度特征值,服务器在训练出正则化PCA投影矩阵时,包括但不限于如下步骤3031~3032:
3031、服务器根据具有相同尺寸的人脸图像的数量及第二维度,构造一个初始矩阵。
其中,具有相同尺寸的人脸图像的数量为初始矩阵的行,第二维度为初始矩阵的列。
例如,具有相同尺寸的人脸图像为20000个,从灰度处理后的每个人脸图像中提取灰度特征值为10000维,则可构造一个20000*10000的初始矩阵。
3032、服务器采用正则化PCA算法对初始矩阵进行分解,得到正则化PCA投影矩阵。
将采用正则化PCA算法成功对初始矩阵进行分解时,矩阵的基作为正则化PCA投影矩阵。
在步骤S304中,服务器根据正则化PCA投影矩阵,对多个具有相同尺寸的人脸图像进行处理,得到多个训练图像。
当得到正则化PCA投影矩阵之后,服务器根据正则化PCA投影矩阵,对多个具有相同尺寸的人脸图像进行处理,可得到多个训练图像。
在步骤S305中,服务器根据多个训练图像,对待训练的CNN模型进行训练。
服务器根据多个训练图像,对待训练的CNN模型进行训练时,包括但不限于如下步骤3051~3057:
3051、服务器获取待训练CNN模型的初始模型参数,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和各级全连接层的初始偏置向量。
具体地,训练CNN模型的过程为确定待训练CNN的模型参数的过程。在确定模型参数时,可以先给待训练CNN模型初始化一个初始模型参数,并在后续的训练过程中,不断优化该初始模型参数,并将优化得到的最优模型参数作为训练好的CNN模型的模型参数。
其中,待训练CNN模型通常包括至少两级卷积层和至少一级全连接层,且每级卷积层包括多个卷积核和多个偏置矩阵,每级全连接层包括多个权重矩阵和多个偏置向量,因此,获取到的模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。
关于待训练CNN模型包括的卷积层的数量和全连接层的数量,本公开实施例不作具体限定。具体实施时,可以根据需要设定。例如,如图4所示,其示出了一种待训练CNN模型的示意图。图4所示的待训练CNN模型包括五级卷积层和两级全连接层。
进一步地,关于每级卷积层包括的卷积核和偏置矩阵的数量,以及每级全连接层包括的权重矩阵和偏置向量的数量,本公开实施例不作具体限定。另外,本公开实施例同样不对每个卷积核和偏置矩阵的维度,以及每个权重矩阵和每个偏置向量的维度进行限定。具体实施时,每级卷积层包括的卷积核和偏置矩阵的数量及其维度,以及每级全连权重矩阵和偏置向量的数量和维度,均可以取经验值。
例如,第一级卷积层可以包括96个大小为5×5的卷积核C1,和96个大小为5×5的偏置矩阵B1,
结合上述内容,在获取待训练CNN模型的初始模型参数时,可以在指定数值范围内随机选取一个值作为初始模型参数中各个元素的值。例如,对于每一个初始卷积核、初始权重矩阵、初始偏置矩阵和初始偏置向量中的每一个元素,可以在[-r,r]区间中取一个随机数。此处,r是初始化模型参数的阈值,其可以为经验值。例如,r可以取0.001。
3052、服务器在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的特征图像。
通过卷积操作和最大池化操作能够实现由浅入深地提取图像不同层次的特征。因此,在训练待训练CNN模型时,为了获得训练图像的特征,可以在各级卷积层上,对训练图像进行卷积操作和最大池化操作。
其中,在进行卷积操作时,需要使用各级卷积层的卷积核和偏置矩阵。在进行最大池化操作时,需要结合卷积得到的卷积图像而定。由于在不同的卷积层进行卷积操作均会得到一个卷积图像,并且对每个卷积图像进行最大池化操作均能得到一个特征图像,因此,在本公开实施例中,将在各级卷积层上进行卷积操作得到的图像称为各级卷积层上的卷积图像,将对各级卷积层上的卷积图像进行最大池化操作得到的图像称为各级卷积层上的特征图像。
结合上述内容,在使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的特征图像时,包括但不限于通过如下步骤3052(a)~3052(c)来实现:
3052(a)、对于任一训练图像,将在上一级卷积层上的特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的特征图像进行卷积操作,得到当前卷积层上的卷积图像。其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的特征图像为训练图像本身。
具体地,对于任一训练图像,如果当前卷积层为第一级卷积层,则可以先将该训练图像传输至第一级卷积层,并使用第一级卷积层上的初始卷积核和初始偏置矩阵对该训练图像进行卷积操作,得到第一级卷积层上的卷积图像。进一步地,对第一级卷积层上的卷积图像进行最大池化操作,得到第一级卷积层上的特征图像。将该第一级卷积层上的特征图像传输至第二级卷积层,并在第二级卷积层上继续进行卷积操作和最大池化操作。
其中,在使用当前卷积层上的初始卷积核和初始偏置矩阵对上一级卷积层上的特征图像进行卷积操作时,可以使用该当前卷积层内的每一个卷积核卷积上一级卷积层上的特征图像,并控制当前卷积层内的卷积核在上一级卷积层上的特征图像上的滑动步长为1。
具体地,以当前卷积层为第一级卷积层为例,在使用第一级卷积层内的某一个卷积核对训练图像进行卷积操作时,可以使用如下公式来表示:
式中,表示用第一级卷积核中的第i个卷积核卷积训练图像I后得到的第一级卷积层上的卷积图像,表示第一级卷积层的偏置矩阵B1中的第i个偏置矩阵。
结合卷积操作的性质,在进行卷积操作时,处于图像边缘的像素可能不能进行卷积操作,从而使得进行卷积操作后得到的卷积图像的尺寸发生变化。为了避免该种情况发生,在各级卷积层进行卷积操作之前,还可以对被卷积的图像进行像素填补,从而确保进行卷积操作后,能够保证待卷积图像的尺寸不变。
在对待卷积图像进行填补时,可以在待卷积图像四周用预设灰度值,如用“0”进行填补。其中,填补的步长与卷积核的维度有关。当卷积核的维度为n时,填补的步长为(n-1)/2。例如,当卷积核为3*3,则填补的步长为1个像素。
其中,该步骤中所述的待卷积图像为输入至各个卷积层的图像。例如,如果当前卷积层为第一级卷积层,则待卷积图像为训练图像;如果当前卷积层不为第一级卷积层,则待卷积图像为上一级卷积层上的特征图像。
3052(b)、对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的特征图像后,继续将当前卷积层上的特征图像传输至下一级卷积层。
具体地,在对前卷积层上的卷积图像进行最大池化操作时,可以用一个指定尺寸的滑动框,如3×3的滑动框,在当前卷积层上的卷积图像中的每个卷积图像中从左到右、从上到下滑动,且滑动的步长为预设像素,如预设像素为2像素。滑动框在每个卷积图像上滑动时,将滑动框中所包含的所有元素中小于0的元素置0,然后将所有元素中的最大的元素取出,并按照滑动时的顺序重新构成一幅新的图像。操作完毕后将得到当前卷积层上的特征图像。
其中,根据最大池化操作的性质可计算得到,当前卷积层上的特征图像的长度和宽度可以通过如下公式表示:
式中,floor表示向下取整函数。例如,floor(2.5)=2。w表示当前卷积层上的特征图像的长度或宽度,m为滑动框的长度或宽度所包含的像素数量,l为滑动步长,w0为当前卷积层上的卷积图像的高度或宽度。以当前卷积层上的卷积图像的尺寸为32×w0,滑动框为3*3,滑动步长为2为例,进行最大池化操作后,得到的当前卷积层上的特征图像的尺寸为15×w1,
3052(c)、在下一级卷积层对当前卷积层上的特征图像进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的特征图像为止。
其中,在各级卷积层上进行卷积操作和最大池化操作的原理同上述步骤3052(a)~3052(c)中的原理一致,具体可参见上述步骤3052(a)~3052(c)中的内容,此处不再赘述。
3053、服务器在各级全连接层上,使用各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量。
对于一个训练图像的特征图像,可以将其输入全连接层,使用全连接层的权重矩阵乘以该特征图像,并将乘积结果与该全连接层的偏置向量相加,从而得到该训练图像的类别概率向量。
其中,类别概率向量为一个一维向量,类别概率向量中的元素的个数与待训练CNN模型能够识别的图像类别的数目有关。例如,如果待训练图像能够区别十种类别的图像,则类别概率向量中包括十个元素。每个元素表示该训练图像属于某一种类别的概率。
3054、服务器根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差。
其中,根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括但不限于通过如下步骤3054(a)~3054(c)来实现:
3054(a)、获取每个训练图像的初始类别。
对于每个训练图像,其初始类别是已知的。其中,初始类别可以由人工提取并记录。在此基础上,在获取每个训练图像的初始类别时,可以直接根据记录的数据获取。
3054(b)、根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率。例如,当初始训练图像为第一类时,ylabel为y1,即为类别概率向量中的第一个元素。
3054(c)、计算所有训练图像的类别误差平均值,类别误差平均值作为类别误差。
当然,此处仅以将所有训练图像的误差平均值为例对计算类别误差的过程进行了说明。在具体实施时,在计算类别误差时,还可以采用其他方式,本公开实施例对此不作具体限定。
3055、基于类别误差,服务器对待训练CNN模型的模型参数进行调整。
在调整待训练CNN模型的模型参数时,包括但不限于利用SGD(Stochasticgradient descent,随机梯度下降)算法,将类别误差反向传导回该待训练CNN模型,从而实现更新该待训练CNN模型的模型参数中的所有元素。
关于利用SGD算法,将类别误差反向传导回该待训练CNN模型,以实现更新该待训练CNN模型的模型参数中的所有元素的具体实现过程,本公开实施例不作具体限定。
3056、基于调整后的模型参数和多个训练图像,服务器继续进行模型参数调整的过程,直至迭代次数达到预设次数。
使用上述步骤中获取到的多个训练图像及得到的调整后的模型参数,重复执行上述过程,直至迭代次数达到预设次数为止。
关于预设次数的具体数值范围,本公开实施例不作具体限定。为了使训练好的CNN模型比较准确,该预设次数的取值可以比较大。具体实施时,预设次数可以为经验值。例如,取300000。
3057、服务器将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
例如,如果预设次数为300000,在将迭代次数达到300000时得到的模型参数为训练好的CNN模型的模型参数,此时得到的CNN模型即为训练好的CNN模型。
在步骤S306中,服务器根据训练好的CNN模型,从多个训练图像中,提取多个具有第一维度的图像特征。
其中,第一维度可以为2048维、4096维等,本实施例以第一维度为4096维为例进行说明。当采用训练好的CNN模型对多个训练图像进行处理时,可得到多个4096维的图像特征。
在步骤S307中,服务器通过对多个具有第一维度的图像特征进行LDA处理,训练出LDA投影矩阵。
其中,LDA是一种经典的模式识别算法,其主要思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,保证投影后的模式样本在新的子空间中具有最大的类间距离和最小的类内距离,也即是投影后的模式样本在该空间有最佳的可分离性。
基于所提取的多个第一维度的图像特征及每个图像特征对应的标号,服务器对多个具有第一维度的图像特征进行判别分析,并将类内方差最小、类间方差最大时所对应的投影矩阵作为训练出LDA投影矩阵。具体算法如下:
针对两个类别的线性判别分析如下:
给定N个特征为d维的样本其中有N1个样例属于类别w1,另外N2个样例属于类别w2。如果需要将原始数据降低到只有一维,降维函数(或者叫投影函数)为y=wTx,则根据每个样本对应的y值来判别每个样本属于的类别。
定义每类样本的均值点:
每类样本投影到y后的均值点为:
投影后两类样本的中心为:采用线性判别的目的是使投影后两类样本的中心越大越好。
对于投影后类每个样本内的方差为:采用线性判别的目的是使投影后每个样本内的方差越小越好。
基于上述要求,可构造如下目标函数:
通过对上述目标函数求解,最终可得到w=(s1+s2)-1(u1-u2),其中,s1和s2分别中原始样本的方差。如果y=wTx-wTu>0(u是所有样本的均值),则属于类别C1,否则属于类别C2。
在步骤S308中,服务器将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
当通过上述步骤S301~S307得到正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵之后,服务器即可将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
在步骤S309中,服务器根据所建立的人脸识别模型进行人脸识别。
基于所建立的人脸识别模型,对于任意两个人脸图像,可采用上述模型对该两个人脸图像进行识别。具体识别过程,可参见下述步骤3091~3096。
3091、服务器对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像。
服务器对任意两个图像进行尺度归一化的方式,可参见上述步骤S302,此处不再赘述。
3092、服务器根据正则化PCA投影矩阵,对两个具有相同尺寸的人脸图像进行处理,得到两个训练图像。
服务器根据正则化PCA投影矩阵,对两个具有相同尺寸的人脸图像进行处理的方式,可参见上述步骤S304,此处不再赘述。
3093、服务器根据训练好的CNN模型,从两个训练图像中,提取多个具有第一维度的图像特征。
服务器根据训练好的CNN模型,从两个训练图像中,提取多个具有第一维度的图像特征的方式,可参见上述步骤S306,此处不再赘述。
3094、服务器根据LDA投影矩阵,对两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征。
其中,第三维度可以为100维、200维等,本实施例以第三维度为200维为例进行说明。基于所训练的LDA投影矩阵,服务器通过对4096维的图像特征进行降维处理,可得到两个200维的图像特征。
3095、服务器对两个具有第三维度的图像特征进行相似性计算。
服务器在对两个具有第三维度的特征图像进行相似性计算时,可计算两个具有第三维度的图像特征之间的余弦距离。例如,对于人脸图像A和人脸图像B,其中,人脸图像A所对应的第三维度的图像特征为(a1,a2,…,a200),人脸图像B所对应的第三维度的图像特征为(b1,b2,…,b200),两个具有第三维度的图像特征之间的
3096、服务器根据计算结果,确定两个人脸图像是否属于同一用户。
根据计算结果,如果余弦距离大于预设阈值,则服务器可确定两个人脸图像属于同一用户;如果余弦距离小于预设阈值,则服务器确定两个人脸图像属于不同用户。其中,预设阈值可以为0.7、0.8等,本实施例不对预设阈值作具体的限定。
本公开实施例提供的方法,通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
图5是根据一示例性实施例示出的一种建立人脸识别模型的装置结构示意图。参照图5,该装置包括:获取模块501、第一处理模块502、第一训练模块503、第二处理模块504、第二训练模块505、第一提取模块506、第三训练模块507及第一确定模块508。
该获取模块501被配置为获取多个人脸图像;
该第一处理模块502被配置为对多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
该第一训练模块503被配置为通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
该第二处理模块504被配置为根据正则化PCA投影矩阵,对多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
该第二训练模块505被配置为根据多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
该第一提取模块506被配置为根据训练好的CNN模型,从多个训练图像中,提取多个具有第一维度的图像特征;
该第三训练模块507被配置为通过对多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
该第一确定模块508被配置为将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
在本公开的另一个实施例中,该装置还包括:第三处理模块及第二提取模块。
该第三处理模块被配置为对多个具有相同尺寸的人脸图像进行灰度化处理;
该第二提取模块被配置为从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
该第一训练模块503被配置为根据具有相同尺寸的人脸图像的数量及第二维度,构造一个初始矩阵;采用正则化PCA算法对初始矩阵进行分解,得到正则化PCA投影矩阵。
在本公开的另一个实施例中,该第二训练模块505被配置为获取待训练CNN模型的初始模型参数,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和各级全连接层的初始偏置向量;在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的特征图像;在各级全连接层上,使用各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;基于类别误差,对待训练CNN模型的模型参数进行调整;基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
在本公开的另一个实施例中,该装置还包括:第四处理模块、第五处理模块、第三提取模块、第六处理模块、计算模块及第二确定模块。
该第四处理模块被配置为对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
该第五处理模块被配置为根据正则化PCA投影矩阵,对两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
该第三提取模块被配置为根据训练好的CNN模型,从两个训练图像中,提取多个具有第一维度的图像特征;
该第六处理模块被配置为根据LDA投影矩阵,对两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
该计算模块被配置为对两个具有第三维度的图像特征进行相似性计算;
该第二确定模块被配置为根据计算结果,确定两个人脸图像是否属于同一用户。
在本公开的另一个实施例中,该计算模块被配置为计算两个具有第三维度的图像特征之间的余弦距离。
在本公开的另一个实施例中,该第二确定模块被配置为当余弦距离大于预设阈值时,确定两个人脸图像属于同一用户;当余弦距离小于预设阈值时,确定两个人脸图像属于不同用户。
本公开实施例提供的装置,通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于建立人脸识别模型的装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述建立人脸识别模型的方法。
获取多个人脸图像;
对多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
根据正则化PCA投影矩阵,对多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
根据多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
根据训练好的CNN模型,从多个训练图像中,提取多个具有第一维度的图像特征;
通过对多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
在本公开的另一个实施例中,通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵之前,还包括:
对多个具有相同尺寸的人脸图像进行灰度化处理;
从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
通过对多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵,包括:
根据具有相同尺寸的人脸图像的数量及第二维度,构造一个初始矩阵;
采用正则化PCA算法对初始矩阵进行分解,得到正则化PCA投影矩阵。
在本公开的另一个实施例中,根据多个训练图像,对待训练的卷积神经网络CNN模型进行训练,包括:
获取待训练CNN模型的初始模型参数,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和各级全连接层的初始偏置向量;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的特征图像;
在各级全连接层上,使用各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
在本公开的另一个实施例中,将正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型之后,还包括:
对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
根据正则化PCA投影矩阵,对两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
根据训练好的CNN模型,从两个训练图像中,提取多个具有第一维度的图像特征;
根据LDA投影矩阵,对两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
对两个具有第三维度的图像特征进行相似性计算;
根据计算结果,确定两个人脸图像是否属于同一用户。
在本公开的另一个实施例中,对两个具有第三维度的特征图像进行相似性计算,包括:
计算两个具有第三维度的图像特征之间的余弦距离。
在本公开的另一个实施例中,根据计算结果,确定两个人脸图像是否属于同一用户,包括:
如果余弦距离大于预设阈值,则确定两个人脸图像属于同一用户;
如果余弦距离小于预设阈值,则确定两个人脸图像属于不同用户。
装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开实施例提供的装置,通过正则化PCA对人脸图像进行预处理,使得处理后的人脸图像更接近原始图像,进而基于该处理后的人脸图像训练CNN模型及LDA投影矩阵,提高了所建立的人脸识别模型的精度。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种建立人脸识别模型的方法,其特征在于,所述方法包括:
获取多个人脸图像;
对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
通过对所述多个具有相同尺寸的人脸图像进行正则化主成分分析PCA处理,训练出正则化PCA投影矩阵;
根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
2.根据权利要求1所述的方法,其特征在于,所述通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵之前,还包括:
对所述多个具有相同尺寸的人脸图像进行灰度化处理;
从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
所述通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵,包括:
根据具有相同尺寸的人脸图像的数量及所述第二维度,构造一个初始矩阵;
采用正则化PCA算法对所述初始矩阵进行分解,得到正则化PCA投影矩阵。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练,包括:
获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和所述各级全连接层的初始偏置向量;
在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的特征图像;
在各级全连接层上,使用所述各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;
根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
4.根据权利要求1所述的方法,其特征在于,所述将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型之后,还包括:
对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
根据所述正则化PCA投影矩阵,对所述两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
根据所述训练好的CNN模型,从所述两个训练图像中,提取多个具有第一维度的图像特征;
根据所述LDA投影矩阵,对所述两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
对所述两个具有第三维度的图像特征进行相似性计算;
根据计算结果,确定所述两个人脸图像是否属于同一用户。
5.根据权利要求4所述的方法,其特征在于,所述对所述两个具有第三维度的特征图像进行相似性计算,包括:
计算所述两个具有第三维度的图像特征之间的余弦距离。
6.根据权利要求5所述的方法,其特征在于,所述根据计算结果,确定所述两个人脸图像是否属于同一用户,包括:
如果所述余弦距离大于预设阈值,则确定所述两个人脸图像属于同一用户;
如果所述余弦距离小于预设阈值,则确定所述两个人脸图像属于不同用户。
7.一种建立人脸识别模型的装置,其特征在于,所述装置包括:
获取模块,用于获取多个人脸图像;
第一处理模块,用于对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
第一训练模块,用于通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
第二处理模块,用于根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
第二训练模块,用于根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
第一提取模块,用于根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
第三训练模块,用于通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
第一确定模块,用于将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三处理模块,用于对所述多个具有相同尺寸的人脸图像进行灰度化处理;
第二提取模块,用于从灰度化处理后的每个脸图像中,提取具有第二维度的灰度特征值;
所述第一训练模块,用于根据具有相同尺寸的人脸图像的数量及所述第二维度,构造一个初始矩阵;采用正则化PCA算法对所述初始矩阵进行分解,得到正则化PCA投影矩阵。
9.根据权利要求7所述的装置,其特征在于,所述第二训练模块,用于获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、各级全连接层的初始权重矩阵和所述各级全连接层的初始偏置向量;在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的特征图像;在各级全连接层上,使用所述各级初始权重矩阵和初始偏置向量,对每个特征图像进行处理,得到每个训练图像的类别概率向量;根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;将迭代次数达到预设次数时所得到的模型参数对应的CNN模型作为训练好的CNN模型。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第四处理模块,用于对任意两个人脸图像进行尺度归一化处理,得到两个具有相同尺寸的人脸图像;
第五处理模块,用于根据所述正则化PCA投影矩阵,对所述两个具有相同尺寸的人脸图像进行处理,得到两个训练图像;
第三提取模块,用于根据所述训练好的CNN模型,从所述两个训练图像中,提取多个具有第一维度的图像特征;
第六处理模块,用于根据所述LDA投影矩阵,对所述两个具有第一维度的图像特征进行降维处理,得到两个具有第三维度的图像特征;
计算模块,用于对所述两个具有第三维度的图像特征进行相似性计算;
第二确定模块,用于根据计算结果,确定所述两个人脸图像是否属于同一用户。
11.根据权利要求10所述的装置,其特征在于,所述计算模块,用于计算所述两个具有第三维度的图像特征之间的余弦距离。
12.根据权利要求11所述的装置,其特征在于,所述第二确定模块,用于当所述余弦距离大于预设阈值时,确定所述两个人脸图像属于同一用户;当所述余弦距离小于预设阈值时,确定所述两个人脸图像属于不同用户。
13.一种建立人脸识别模型的装置,其特征在于,包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
获取多个人脸图像;
对所述多个人脸图像进行尺寸归一化处理,得到多个具有相同尺寸的人脸图像;
通过对所述多个具有相同尺寸的人脸图像进行正则化PCA处理,训练出正则化PCA投影矩阵;
根据所述正则化PCA投影矩阵,对所述多个具有相同尺寸的人脸图像进行处理,得到多个训练图像;
根据所述多个训练图像,对待训练的卷积神经网络CNN模型进行训练;
根据训练好的CNN模型,从所述多个训练图像中,提取多个具有第一维度的图像特征;
通过对所述多个具有第一维度的图像特征进行线性判别式分析LDA处理,训练出LDA投影矩阵;
将所述正则化PCA投影矩阵、训练好的CNN模型及LDA投影矩阵作为人脸识别模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510546696.2A CN105138993B (zh) | 2015-08-31 | 2015-08-31 | 建立人脸识别模型的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510546696.2A CN105138993B (zh) | 2015-08-31 | 2015-08-31 | 建立人脸识别模型的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138993A CN105138993A (zh) | 2015-12-09 |
CN105138993B true CN105138993B (zh) | 2018-07-27 |
Family
ID=54724337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510546696.2A Active CN105138993B (zh) | 2015-08-31 | 2015-08-31 | 建立人脸识别模型的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138993B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800707A (zh) * | 2019-01-17 | 2019-05-24 | 中控智慧科技股份有限公司 | 一种基于cnn模型的人脸识别方法、装置及存储介质 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426857B (zh) * | 2015-11-25 | 2019-04-12 | 小米科技有限责任公司 | 人脸识别模型训练方法和装置 |
CN105608425B (zh) * | 2015-12-17 | 2019-02-15 | 小米科技有限责任公司 | 对照片进行分类存储的方法及装置 |
CN105678232B (zh) * | 2015-12-30 | 2019-01-22 | 中通服公众信息产业股份有限公司 | 一种基于深度学习的人脸图片特征提取与对比方法 |
CN105691367B (zh) * | 2016-01-25 | 2018-08-07 | 大连楼兰科技股份有限公司 | 基于图像与心跳监测联合的公交车主动刹车方法和系统 |
CN105787488B (zh) * | 2016-03-02 | 2019-04-30 | 浙江宇视科技有限公司 | 由全局向局部传递的图像特征提取方法及装置 |
CN106096535B (zh) * | 2016-06-07 | 2020-10-23 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于双线性联合cnn的人脸验证方法 |
CN106355244B (zh) * | 2016-08-30 | 2019-08-13 | 深圳市诺比邻科技有限公司 | 卷积神经网络的构建方法及系统 |
CN106447625A (zh) * | 2016-09-05 | 2017-02-22 | 北京中科奥森数据科技有限公司 | 基于人脸图像序列的属性识别方法及装置 |
CN107992783A (zh) * | 2016-10-26 | 2018-05-04 | 上海银晨智能识别科技有限公司 | 人脸图像处理方法及装置 |
US10460153B2 (en) * | 2016-11-15 | 2019-10-29 | Futurewei Technologies, Inc. | Automatic identity detection |
CN106599855A (zh) * | 2016-12-19 | 2017-04-26 | 四川长虹电器股份有限公司 | 基于softmax的人脸识别方法 |
CN107563280A (zh) * | 2017-07-24 | 2018-01-09 | 南京道熵信息技术有限公司 | 基于多模型的人脸识别方法和装置 |
CN107437086A (zh) * | 2017-07-25 | 2017-12-05 | 北京小米移动软件有限公司 | 车辆通行的控制方法及装置 |
CN107665261B (zh) * | 2017-10-25 | 2021-06-18 | 北京奇虎科技有限公司 | 视频查重的方法及装置 |
CN109815971B (zh) * | 2017-11-20 | 2023-03-10 | 富士通株式会社 | 信息处理方法和信息处理装置 |
EP3698268A4 (en) | 2017-11-22 | 2021-02-17 | Zhejiang Dahua Technology Co., Ltd. | FACIAL RECOGNITION PROCESSES AND SYSTEMS |
CN107992807B (zh) * | 2017-11-22 | 2020-10-30 | 浙江大华技术股份有限公司 | 一种基于cnn模型的人脸识别方法及装置 |
CN107958235B (zh) * | 2017-12-28 | 2021-10-26 | 泰康保险集团股份有限公司 | 一种人脸图像检测方法、装置、介质和电子设备 |
CN108363724B (zh) * | 2018-01-04 | 2021-12-10 | 浙江大学 | 一种利用图像正则化及数据重建解决特征提取任务的方法 |
CN108985206B (zh) * | 2018-07-04 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 模型训练方法、人体识别方法、装置、设备及存储介质 |
CN109165675A (zh) * | 2018-07-26 | 2019-01-08 | 西安电子科技大学 | 基于周期性局部连接卷积神经网络的图像分类方法 |
CN109360183B (zh) * | 2018-08-20 | 2021-05-11 | 中国电子进出口有限公司 | 一种基于卷积神经网络的人脸图像质量评估方法和系统 |
CN109084796A (zh) * | 2018-08-27 | 2018-12-25 | 深圳市烽焌信息科技有限公司 | 路径导航方法及相关产品 |
CN110866431B (zh) * | 2018-08-28 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 人脸识别模型的训练方法、人脸识别的方法和装置 |
CN111144173A (zh) * | 2018-11-03 | 2020-05-12 | 广州市明领信息科技有限公司 | 一种大数据采集和处理方法 |
CN109784163A (zh) * | 2018-12-12 | 2019-05-21 | 中国科学院深圳先进技术研究院 | 一种轻量视觉问答系统及方法 |
CN109685873B (zh) * | 2018-12-14 | 2023-09-05 | 广州市百果园信息技术有限公司 | 一种人脸重建方法、装置、设备和存储介质 |
CN109711358B (zh) * | 2018-12-28 | 2020-09-04 | 北京远鉴信息技术有限公司 | 神经网络训练方法、人脸识别方法及系统和存储介质 |
CN110245714B (zh) * | 2019-06-20 | 2021-08-20 | 厦门美图之家科技有限公司 | 图像识别方法、装置及电子设备 |
CN110243828B (zh) * | 2019-07-18 | 2021-07-30 | 华中科技大学 | 基于卷积神经网络的生物组织三维成像方法 |
CN110705621A (zh) * | 2019-09-25 | 2020-01-17 | 北京影谱科技股份有限公司 | 基于dcnn的食物图像的识别方法和系统及食物热量计算方法 |
CN110717453B (zh) * | 2019-10-10 | 2022-10-21 | 西南石油大学 | 一种基于余弦距离的图像样本生成方法 |
CN111259346A (zh) * | 2020-01-09 | 2020-06-09 | 深圳市东深电子股份有限公司 | 一种水利rtu的信息验证方法 |
CN111783519B (zh) * | 2020-05-15 | 2024-09-20 | 北京迈格威科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112836672B (zh) * | 2021-02-26 | 2023-09-19 | 西北工业大学 | 一种基于自适应近邻图嵌入的无监督数据降维方法 |
CN114299584B (zh) * | 2021-12-30 | 2024-08-23 | 郑州工程技术学院 | 基于迭代训练模型进行光照下人脸识别的方法、装置、设备及存储介质 |
CN116055211B (zh) * | 2023-02-14 | 2023-11-17 | 成都理工大学工程技术学院 | 基于神经网络用于身份识别并自动登录应用的方法与系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329724A (zh) * | 2008-07-29 | 2008-12-24 | 上海天冠卫视技术研究所 | 一种优化的人脸识别方法和装置 |
US8160309B1 (en) * | 2007-12-21 | 2012-04-17 | Csr Technology Inc. | Method, apparatus, and system for object recognition and classification |
CN102982322A (zh) * | 2012-12-07 | 2013-03-20 | 大连大学 | 基于pca图像重构和lda的人脸识别方法 |
CN103514442A (zh) * | 2013-09-26 | 2014-01-15 | 华南理工大学 | 一种基于aam模型的视频序列人脸识别方法 |
-
2015
- 2015-08-31 CN CN201510546696.2A patent/CN105138993B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8160309B1 (en) * | 2007-12-21 | 2012-04-17 | Csr Technology Inc. | Method, apparatus, and system for object recognition and classification |
CN101329724A (zh) * | 2008-07-29 | 2008-12-24 | 上海天冠卫视技术研究所 | 一种优化的人脸识别方法和装置 |
CN102982322A (zh) * | 2012-12-07 | 2013-03-20 | 大连大学 | 基于pca图像重构和lda的人脸识别方法 |
CN103514442A (zh) * | 2013-09-26 | 2014-01-15 | 华南理工大学 | 一种基于aam模型的视频序列人脸识别方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800707A (zh) * | 2019-01-17 | 2019-05-24 | 中控智慧科技股份有限公司 | 一种基于cnn模型的人脸识别方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105138993A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138993B (zh) | 建立人脸识别模型的方法及装置 | |
Zulfiqar et al. | Deep face recognition for biometric authentication | |
CN106372581B (zh) | 构建及训练人脸识别特征提取网络的方法 | |
CN112084917B (zh) | 一种活体检测方法及装置 | |
Minaee et al. | Fingernet: Pushing the limits of fingerprint recognition using convolutional neural network | |
CN109657554A (zh) | 一种基于微表情的图像识别方法、装置以及相关设备 | |
CN106295591A (zh) | 基于人脸图像的性别识别方法及装置 | |
CN102844766A (zh) | 基于人眼图像的多特征融合身份识别方法 | |
Singh et al. | Gender and ethnicity classification of iris images using deep class-encoder | |
Bouchaffra et al. | Structural hidden Markov models for biometrics: Fusion of face and fingerprint | |
CN111178130A (zh) | 一种基于深度学习的人脸识别方法、系统和可读存储介质 | |
CN110245621A (zh) | 人脸识别装置及图像处理方法、特征提取模型、存储介质 | |
CN112101087B (zh) | 一种面部图像身份去识别方法、装置及电子设备 | |
KR20120026232A (ko) | 확장된 곡선형 가버 필터를 이용한 객체 기술자 생성 방법 및 장치 | |
Lefkovits et al. | Applications of different CNN architectures for palm vein identification | |
Agarwal et al. | Presentation attack detection system for fake Iris: a review | |
CN116229528A (zh) | 一种活体掌静脉检测方法、装置、设备及存储介质 | |
Zhuang et al. | Iris recognition using convolutional neural network | |
Bharadi et al. | Multi-instance iris recognition | |
El-Naggar et al. | Which dataset is this iris image from? | |
Gona et al. | Multimodal biometric reorganization system using deep learning convolutional neural network | |
CN105389573B (zh) | 一种基于局部三值模式分层重构的人脸识别方法 | |
Kekre et al. | Improved Face Recognition with Multilevel BTC using Kekre’s LUV Color Space | |
Leszczyński | Image preprocessing for illumination invariant face verification | |
Waghode et al. | Biometric Authentication of Person using finger knuckle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |