一种人脸识别方法与流程

文档序号:12064287阅读:240来源:国知局

本发明涉及计算机视觉处理技术领域,特别是涉及一种人脸识别方法。



背景技术:

人脸识别是基于人的脸部特征信息进行身份认证的一种生物识别技术。通过采集含有人脸的图像或视频流,并在图像中检测和跟踪人脸,进而对检测到的人脸进行匹配与识别。目前,人脸识别的应用领域很广泛,在金融支付、门禁考勤、身份识别等众多领域起到非常重要的作用,给人们的生活带来很大便利。

人脸识别方法有很多,基本上都可以归结为人脸特征提取结合分类算法。在所有算法中,基于深度学习的人脸识别算法能够达到较佳识别效果,近年来也越来越受到关注。但该算法中深度学习模型复杂,想要实现计算规模庞大,并不能适用于所有场合。



技术实现要素:

鉴于此,本发明提供一种人脸识别方法,与现有方法相比,可降低计算量,提高识别效率。

为实现上述目的,本发明提供如下技术方案:

一种人脸识别方法,包括:

S10:对采集的待识别用户的人脸图像中关键点提取特征,由各关键点的特征构成特征向量;

S11:将所述特征向量与训练矩阵运算,生成模型,所述训练矩阵由样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行训练得到的协方差矩阵构成;

S12:将所述模型与样本库中人脸图像进行比对,识别用户。

可选地,所述步骤S10具体包括:

对人脸图像进行多尺度缩放,对于同一关键点在各尺度的人脸图像中提取特征并连接,再将各关键点的特征连接,构成所述特征向量。

可选地,所述步骤S10还包括:对所述特征向量进行维度压缩。

可选地,对人脸图像中关键点提取特征具体包括:

在人脸图像中选取多个关键点,提取各关键点处的局部二值模式特征。

可选地,提取关键点处的局部二值模式特征描述为:

其中,gc表示中心点亮度,gp表示邻域点亮度,P表示邻域点数,R表示邻域半径,并定义函数:

可选地,对所述特征向量进行维度压缩处理中,在进行矩阵乘法运算时控制运算芯片优先访问连续的内存区域,并进行并行运算。

可选地,采集待识别用户的人脸图像包括:

根据平均人脸模型计算采集到的人脸图像的投影矩阵,根据所述投影矩阵计算人脸角度,从采集的人脸图像中选取人脸角度位于预设范围内的人脸图像作为输入的人脸图像。

可选地,将所述模型与样本库中人脸图像进行比对,识别用户通过评价函数实现,具体为:

构造:其中th表示阈值;

其中,Xi表示第i个人,N(Xi)表示第i个样本人脸图像;

评价函数表示为:

由上述技术方案可知,本发明所提供的人脸识别方法,首先对采集的待识别用户的人脸图像提取特征,对人脸图像中关键点提取特征,由各关键点的特征构成特征向量;将特征向量与训练矩阵运算生成模型,所述训练矩阵由样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行训练得到的协方差矩阵构成;通过将生成的模型与样本库中人脸图像进行比对,识别出用户。与现有基于深度学习的人脸识别算法相比,本发明人脸识别方法在进行模型训练时所需样本数量少,计算量少,可提高人脸识别效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种人脸识别方法的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明实施例提供一种人脸识别方法,请参考图1,为本实施例提供的人脸识别方法的流程图,方法包括步骤:

S10:对采集的待识别用户的人脸图像中关键点提取特征,由各关键点的特征构成特征向量。

人脸图像中的关键点指人脸图像中表现明显特征的位置,例如鼻子、眼睛等位置区域。提取各关键点处的特征后,将各关键点的特征连接构成特征向量。

S11:将所述特征向量与训练矩阵运算,生成模型,所述训练矩阵由样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行训练得到的协方差矩阵构成。

本实施例中,采用联合贝叶斯模型进行模型训练,将样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行运算,得到的协方差矩阵构成训练矩阵。

S12:将所述模型与样本库中人脸图像进行比对,识别用户。

本实施例人脸识别方法,首先对采集的待识别用户的人脸图像提取特征,对人脸图像中关键点提取特征,由各关键点的特征构成特征向量;将特征向量与训练矩阵运算生成模型,所述训练矩阵由样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行训练得到的协方差矩阵构成;通过将生成的模型与样本库中人脸图像进行比对,识别出用户。与现有基于深度学习的人脸识别算法相比,本实施例人脸识别方法在进行模型训练时所需样本数量少,计算量少,可提高人脸识别效率,可应用于各种场合。

下面结合具体实施方式对本实施例人脸识别方法进行详细说明。本实施例人脸识别方法包括以下步骤:

S10:对采集的待识别用户的人脸图像中关键点提取特征,由各关键点的特征构成特征向量。

对于采集到的人脸图像,可先对人脸图像大小、角度进行归一化处理,并转化为灰度图,

本方法中提取图像特征采用局部二值模式(Local Binary Patterns,LBP)特征。在图像中提取特征具体过程为,在人脸图像中选取多个关键点,提取各关键点处的局部二值模式特征。

局部二值模式特征的提取方法是以窗口中心像素为阈值,与相邻8个像素的灰度值进行比较,若周围像素值大则置为1,否则置为0。

具体的,定义函数:

则提取关键点处的局部二值模式特征描述为:

其中,gc表示中心点亮度,gp表示邻域点亮度,P表示邻域点数,R表示邻域半径。

对某一关键点提取特征完毕后将得到一串二进制数表示的特征数据,经典情况下P=8,R=1.0,则得到一串8位二进制数,共计256种状态。在实际应用中,这256种状态出现的概率并不相同,为了压缩状态数,可以用这串数中01的改变次数来区分不同状态。90%以上的情况下,01最多只会改变两次。

定义:

当U≤2时,LBP特征共有58种;当U>2时,LBP特征归为同一种。因此这样将产生的状态数压缩为58+1种。

在采集到的人脸图像中拟合选取多个关键点,选取表现明显特征的部位作为关键点,例如眼睛、鼻子、嘴巴、眉毛以及脸部轮廓等部位,选择其中效果较好的关键点进行特征提取。示例性的,可拟合人脸图像中的68个人脸关键点,选择其中效果较好的关键点进行特征提取。

优选的,在本实施例的一种具体实施方式中,为增加模型的普适性,本步骤中还具体包括对人脸图像进行多尺度缩放,对于同一关键点,在各尺度的人脸图像中提取特征并连接,再将各关键点的特征连接,构成所述特征向量。

在提取特征时,对人脸图像进行金字塔式的多尺度缩放,对于同一关键点,在各尺度的人脸图像中均提取特征并连接,然后将所有关键点的特征连接,构成所述特征向量。通过对人脸图像进行金字塔式的多尺度缩放,使同时在大尺度下提取精细特征,在小尺度下提取广泛特征,提高对人脸图像特征提取的精准度。其中对图像的缩放次数可相应调整并测试,最终保证在计算量合适的情况下达到最佳效果。

优选的,本步骤中还包括:对所述特征向量进行维度压缩。

将提取得到的人脸图像各关键点的特征连接,构成特征向量,形成的特征向量为高维特征向量,维度在10k-100k维。本实施例方法中采用主元分析方法(Principal Component Analysis,PCA)对特征向量进行维度压缩处理,经压缩后的特征向量维数在200-2000维。通过对特征向量进行降维处理,可以降低后续数据运算的计算量。

优选的,本实施例方法中,对所述特征向量进行维度压缩处理中,针对运算芯片(即CPU)的运算特性进行了优化,在进行矩阵乘法运算时,控制运算芯片优先访问内存中连续的内存区域,并进行并行运算,可以大大提高运算速度,运算速度可提升10倍以上。

另外,在采集待识别用户的人脸图像时,可通过相机对用户脸部图像进行自动采集,用户面对相机转动头部数秒即可完成自动采集。考虑到人脸的长度及瞳距差别不会太大,可根据平均人脸模型计算采集到的人脸图像的投影矩阵,根据投影矩阵计算人脸角度,从采集的人脸图像中选取人脸角度位于预设范围内的人脸图像作为输入的人脸图像。根据平均人脸模型及检测到的人脸模型计算投影矩阵,估算人脸角度,假定人脸正面对相机为0度,人脸角度过大将不能提取准确的关键点,会影响识别准确性。因此从采集的用户人脸图像中选取角度适配的图像作为输入的人脸图像。同时,也可手动加入样本图像。样本图像会随着用户使用不断更新,以达到最佳效果。

S11:将所述特征向量与训练矩阵运算,生成模型,所述训练矩阵由样本人脸图像经过提取特征后得到的特征向量,输入联合贝叶斯模型进行训练得到的协方差矩阵构成。

本实施例方法中,采用联合贝叶斯模型进行模型训练。其基本思想为,将人脸分为两个部分,其中a部分表示不同人脸同一部位特征的差异,b部分表示同一人同一部位特征在不同环境下的差异。变量a、变量b分别服从高斯分布N(0,Sa)、N(0,Sb)。

通过计算Sa、Sb的协方差矩阵可以得到两个人脸的对数似然比R(x1,x2)。设Hs表示两张人脸为同一人,Hd表示两张人脸为不同人,采用对数似然比判别两张人脸的相似度,其公式描述为

其中,A=(Sa+Sb)-1-(F+G),F=Sb-1,G=-(2Sa+Sb)-1SaSb-1,其中迭代阈值可设置为10^(-6)。

在进行训练时,基于样本人脸图像,根据样本人脸图像的标签(即ID,不同人的人脸图像ID不同)随机生成数千相同人及不同人的数据对,采用迭代算法计算协方差矩阵。其中,迭代算法可采用最大期望算法进行迭代运算,或者也可采用其它类型的迭代算法。

S12:将所述模型与样本库中人脸图像进行比对,识别用户。

本实施例中,将所述模型与样本库中人脸图像进行比对,识别用户通过评价函数实现,具体为:

构造:其中th表示阈值;

其中,Xi为第i个人,N(Xi)表示第i个样本人脸图像;

评价函数表示为:

若V(Xi)=1,则判定识别为第i个人。

本实施例人脸识别方法,训练模型时所需样本数量较少,迭代速度较快,后续添加样本方便,无需重新训练,开发成本低;并且本方法计算量小、速度快、精度高,尤其适用于嵌入式环境。

以上对本发明所提供的一种人脸识别方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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