一种自然行走条件下轻量化的人脸识别方法

文档序号:28163546发布日期:2021-12-24 21:11阅读:174来源:国知局
一种自然行走条件下轻量化的人脸识别方法

1.本发明属于人脸识别领域,具体涉及一种自然行走条件下轻量化的人脸识别方法。


背景技术:

2.自然行走条件下的人脸识别指在自然环境下,当人出现在摄像头画面中时,程序能够准确的识别出人脸,确定对应人的身份信息。随着技术的逐渐发展,传统的基于模版等的方法已经无法满足当前的需求,因此出现了基于神经网络的人脸识别的算法。一般将人检测得到的目标经过特征提取,再将特征进行分类从而达到识别的目的。
3.虽然,人脸识别技术经过多年研究已经取得了不错的进展。但是仍然存在许多的问题和难点,特别是在自然行走条件下,场景复杂以及摄像头角度带来的形变等问题,给人脸识别带来了挑战。另外,目前的人脸识别方法大多安装在具有很强计算能力的工作站上,不利于部署在便携式设备上。


技术实现要素:

4.发明目的:为了解决现有技术的不足,本发明提供了一种自然行走条件下轻量化的人脸识别方法。
5.技术方案:一种自然行走条件下轻量化的人脸识别方法,包括如下步骤:
6.1)人脸图像的检测
7.在检测到正脸的基础上,利用cnn网络训练了多角度的人脸检测算法,使之能够完成自然行走条件下的人脸检测。多角度人脸检测算法是利用hog特征结合回归树思想,最后通过svm算法进行分类;
8.从摄像头中获取图像,人脸检测器在图像上检测出人脸,其中,每一帧图像作为多角度检测器的输入,检测过程是用扫描窗口对图像进行扫描并提取特征,然后输出31维的hog特征,再送入支持向量机进行分类判断,确定脸部区域,最后在图像上框出脸部位置;
9.2)人脸图像的预处理
10.本发明对于检测出的人脸图像的预处理主要是分为:肤色检测、缩放、图像灰度化、直方图均衡化;
11.3)人脸图像的特征提取
12.针对每一幅m
×
n大小的图像,采用k1×
k2的窗口滑动选取图像的局部特征,每张m
×
n的图像经过滑动窗口取值后得到m
×
n个k1×
k2的块,对这些块向量去平均和中心化,提取单张图像的特征:
[0013][0014]
最终获得:x=[x
i,1
,x
i,2


,x
i,mn
],然后将所有输入图像构成向量训练集:
[0015]
[0016]
然后对矩阵x经过pca提取特征,将前l1个特征向量作为滤波器,利用最小化滤波器重建误差:
[0017][0018][0019]
式(3)和(4)中,是大小为l1×
l1的单位矩阵,上式的解为矩阵xx
t
的前l1个主特征向量;
[0020]
然后对应的滤波器可以表示为:
[0021][0022]
式(5)中,mat
k1k2
()将维度为r
k1k2
的向量映射为矩阵w∈r
k1k2
,q
l
(xx
t
)为矩阵的xx
t
第l个主特征向量;
[0023]
提取x的协方差矩阵的前l1个最大特征值对应的特征向量组成特征映射矩阵,第二层与第一层结构完全相同,重复对第一层的操作,再对第二层的每个输出矩阵都进行二值处理,得到的结果只包含零和整数,然后对这些结果进行二值化哈希编码,其中编码位数与第二层的滤波器个数相同:
[0024][0025]
这里的h()函数类似于一个单位阶跃函数。这样,每个像素都被编码成为(0,255)之间的整数,对于第一层的每个矩阵输出,都将其分为b块并计算每个块的直方图信息,然后将各个块的直方图特征进行级联,最终得到扩展的直方图特征:
[0026][0027]
进行直方图分块时同时采用重叠分块或者是非重叠分块;
[0028]
4)人脸识别
[0029]
人脸图像经过上面的操作提取特征后,得到表示人脸图像的特征向量,接着需要利用分类器进行分类处理,以确定当前人脸对应的人的身份。考虑到这是一个多分类问题,训练一个支持向量机对人脸进行多分类;
[0030]
首先,将得到的图像特征向量f
i
作为训练样本,接着利用核函数,将图像特征向量f
i
从低维转向高维的特征空间f(x),然后,计算f(x)中任一点x到超平面(w,b)的距离r,最后经过设定的迭代次数,得到最大间隔y和此时的w,b的参数;在计算超平面的过程中,出现的约束问题会使求解超平面出现偏差,所以本发明利用smo高效优化算法解决约束最优化的问题:
[0031][0032]
先固定a
i
之外的所有参数,然后每次选择两个变量a
i
和a
j
,不断求解对偶公式直至收敛,就能解决约束最优化的问题,这样就能将图像特征向量f
i
在超平面f(x)上进行很好地分类;经过以上计算,算法就能从支持向量机中得到待测人员的身份标签,实现人员识别。
[0033]
作为优化:所述的肤色检测:首先将图像从rgb空间转化成ycbcr空间,根据设定的
cb、cr范围对图像进行肤色检测,结合实验测试,最终选择90≤cb≤135,137≤cr≤167范围;图像在cb、cr范围内的像素点进行保留,其余去除,最后得到的人脸图像是只保留人脸的脸部特征图像。
[0034]
作为优化:所述的缩放:将经过肤色检测的人脸图像首先缩放到固定大小。
[0035]
作为优化:所述的图像灰度化:将图像进行灰度化,在图像处理中,取每个像素的rgb三分量的平均值实现图像灰度化。
[0036]
作为优化:所述的直方图均衡化:首先将灰度化后的人脸图像统计每个像素的数量,然后引入累计分布函数cdf进行累计归一化,cdf函数指对于所有连续函数,其中小于等于a的值的概率求和,最后重新计算像素值后得到的均衡化图像。
[0037]
有益效果:本发明根据人脸识别的思想和存在的问题,使用轻量化的人脸识别算法,对自然行走条件下人员身份进行确定;在应用上,该发明的人脸识别算法可以作为实验室考勤签到等场景。
附图说明
[0038]
图1是本发明的轻量化网络结构示意图;
[0039]
图2是本发明的提取特征的可视化图;
[0040]
图3是本发明的yale人脸数据集示意图;
[0041]
图4是本发明的orl人脸数据集示意图;
[0042]
图5是本发明的mit人脸数据集示意图;
[0043]
图6是本发明的预处理的人脸图像示意图;
[0044]
图7是本发明的9个角度示例图。
具体实施方式
[0045]
下面将对本发明实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本发明的优点和特征,从而对本发明的保护范围做出更为清楚的界定。本发明所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
实施例
[0047]
在人脸识别方面,本发明采取了pca算法构成轻量化的神经网络提取人脸特征。首先利用人脸多角度检测器检测人脸部分。其次,利用pca构建的两层神经网络进行特征提取。最后,训练svm实现人脸识别。
[0048]
1轻量化神经网络技术
[0049]
在整个人脸识别过程中,为了实现自然条件下的人脸识别系统,算法需要考虑人在自然行走条件下的多角度人脸问题,所以不仅要提取正脸特征还需要提取多角度人脸特征。基于上述问题,本发明采用pca和cnn的思想,构成一个轻量化神经网络,以适应不同任务、不同类型的人脸数据,轻量化的网络结构示意图如图1所示。
[0050]
由图所示,轻量化神经网络提取特征主要分为三个步骤:首先提取图像主成分作为卷积核,接着对图像进行卷积;然后是输出信息,其中包括二值化哈希编码和分块直方图
量化。将每个阶段的结果进行可视化之后,得到脸部的主要特征,图2是轻量化神经网络提取特征的可视化图。
[0051]
2人脸识别技术
[0052]
自然条件下的人脸识别过程主要分为以下几步骤:
[0053]
1)人脸图像的检测
[0054]
为了实现自然条件下的人脸识别,需要解决人在自然行走的时候出现的侧脸问题,一般的人脸检测只能进行正脸检测,例如常见的dlib正脸检测器。本发明在正脸检测器的基础上,利用cnn网络训练了多角度的人脸,使之能够完成自然行走条件下的多角度人脸检测。多角度人脸检测算法是利用hog特征结合回归树思想,最后通过支持向量机算法进行分类。
[0055]
一旦从摄像头中获取图像,人脸检测器就在图像上检测出人脸。其中,每一帧图像作为多角度检测器的输入,检测过程就是扫描窗口对图像进行扫描并提取特征,然后输出31维的hog特征,再送入支持向量机模块进行分类判断,确定脸部区域,最后在图像上框出脸部位置。
[0056]
2)人脸图像的预处理
[0057]
在自然条件下进行的人脸识别,很容易受光照、阴影等环境的影响造成系统识别错误。本发明对于检测出的人脸图像的预处理主要是分为:肤色检测、缩放、图像灰度化、直方图均衡化等。
[0058]
为了对检测到的人脸图像进行肤色检测,首先将图像从rgb空间转化成ycbcr空间,根据设定的cb、cr范围对图像进行肤色检测(结合实验测试,最终选择90≤cb≤135,137≤cr≤167范围)。图像在cb、cr范围内的像素点进行保留,去除其余像素点,得到只保留人脸的脸部特征的图像。
[0059]
将经过肤色检测的人脸图像首先缩放到固定大小,然后将图像进行灰度化。在图像处理中,一般的单通道图像要比复杂的三通道彩色图像更容易处理,所以取每个像素的rgb三分量的平均值实现图像灰度化。
[0060]
由于不同人脸图像的光照等情况不一样,本发明使用直方图均衡化技术对图像增强。首先将灰度化后的人脸图像统计每个像素的数量,然后引入累计分布函数cdf进行累计归一化,cdf函数指对于所有连续函数,其中小于等于a的值的概率求和,最后重新计算像素值后得到的均衡化图像。
[0061]
3)人脸图像的特征提取
[0062]
针对每一幅m
×
n大小的图像,采用k1×
k2的窗口滑动选取图像的局部特征。每张m
×
n的图像经过滑动窗口取值后,得到m
×
n个k1×
k2的块。在对这些块向量去平均和中心化,提取单张图像的特征。
[0063][0064]
最终获得:x=[x
i,1
,x
i,2



x
i,mn
],然后将所有输入图像构成向量训练集。
[0065][0066]
然后对矩阵x经过pca提取特征,将前l1个特征向量作为滤波器,利用最小化滤波器重建误差。
[0067][0068][0069]
式(3)和(4)中,是大小为l1×
l1的单位矩阵。上式的解为矩阵xx
t
的前l1个主特征向量。
[0070]
然后对应的pca滤波器可以表示为:
[0071][0072]
式(5)中,mat
k1k2
()将维度为r
k1k2
的向量映射为矩阵w∈r
k1k2
,q
l
(xx
t
)为矩阵的xx
t
第l个主特征向量。
[0073]
提取x的协方差矩阵的前l1个最大特征值对应的特征向量组成特征映射矩阵。第二层与第一层结构完全相同,重复对第一层的操作。再对第二层的每个输出矩阵都进行二值处理,得到的结果只包含零和整数,然后对这些结果进行二值化哈希编码,其中编码位数与第二层的滤波器个数相同。
[0074][0075]
这里的h()函数类似于一个单位阶跃函数,经过处理,每个像素都被编码成为(0,255)之间的整数。对于第一层的每个矩阵输出,都将其分为b块并计算每个块的直方图信息,然后将各个块的直方图特征进行级联,最终得到扩展的直方图特征。
[0076][0077]
进行直方图分块时同时采用重叠分块或者是非重叠分块。
[0078]
4)人脸识别
[0079]
人脸图像提取特征后,得到表示人脸图像的特征向量,接着需要利用分类器进行分类处理,以确定当前人脸对应的身份。考虑到是多分类问题,训练一个支持向量机对人脸进行多分类。首先,将得到的图像特征向量f
i
作为训练样本,接着利用核函数,将图像特征向量f
i
从低维转向高维的特征空间f(x),然后,计算f(x)中任一点x到超平面(w,b)的距离r,最后经过设定的迭代次数,得到最大间隔y和此时的w,b的参数。在计算超平面的过程中,出现的约束问题会使求解超平面出现偏差,所以本发明利用smo高效优化算法解决约束最优化的问题。
[0080][0081]
先固定a
i
之外的所有参数,然后每次选择两个变量a
i
和a
j
,不断求解对偶公式直至收敛,就能解决约束最优化的问题,这样就能将图像特征向量f
i
在超平面f(x)上进行很好地分类;经过以上计算,算法就能从支持向量机中得到待测人员的身份标签,实现人员识别。
[0082]
3人脸识别的实验结果
[0083]
1)实验数据
[0084]
在此实验中,本发明选择yale、mit、orl等正脸数据集作为实验数据。yale数据库只有10名志愿者的样本,与orl人脸数据库相比较,yale库中每个对象采集的样本包含更明
显的光照、表情和姿态以及遮挡变化,图3是yale人脸数据集示意图。
[0085]
orl人脸数据库中,每个人都包含10幅图像经过归一化统一处理过的灰度图像。该数据集主要针对面部表情和细节,例如笑容,眼睛的闭合情况等。不同的人脸样本其姿态也不同,图4是orl人脸数据示意图。
[0086]
mit人脸识别数据库,包含2706个面部和4381个非面部,其中人脸数据主要存在遮挡和未遮挡的情况,本实验选择面部来进行实验。图5是mit人脸数据集示意图。
[0087]
2)正脸实验
[0088]
为了测试系统的性能,本发明首先选取了国外知名人脸数据库数据,例如上述所说的yale、orl和mit。人脸数据库已经包含所需的人脸数据,不需要进行人脸图像的获取和检测。首先将图像转化成所需要的42
×
48的图像大小,接着将图像经过图像灰度化,皮肤检测和直方图均衡化,然后实验设置轻量化神经网络的参数,l1设置为8,l2设置为8,窗口设置为7
×
7,重复系数设置为0.5。
[0089]
yale、orl和mit人脸数据库分别选取75%人脸数据为训练集,其余25%为测试集。人脸数据库经过轻量化神经网络训练测试,其中准确率公式为:
[0090][0091]
经过计算,人脸数据库分别达到的准确率如表1所示。
[0092]
表1各正脸数据库的测试结果
[0093][0094]
根据测试结果显示,yale人脸数据库准确率最高,而mit准确率最低。其中yale数据集在人脸数据库中,人脸五官特征明显,整个数据集干扰因素较少,而mit人脸数据集的五官特征不清晰,在眼睛遮挡等情况下表现力不够。但总体脸效果,系统体现的准确率高达90%以上。
[0095]
3)多角度实验
[0096]
为了实现自然行走条件下的人脸识别系统设计,本发明又进行了多角度的人脸实验。通过连接的摄像头,实验采集了20个同学的多角度人脸,分别是左半边90
°
、右半边90
°
、斜右上方45
°
、斜右下方45
°
、正脸角度、斜左上方45
°
、斜左下方45
°
、上方45
°
和下方45
°
方向等,图6是图像进行预处理的结果示意图。
[0097]
首先将这些图像送入多角度检测器,在此帧上框出人脸位置并且只保存人脸部分:
[0098]
其次将检测好的人脸图像进行灰度化、缩放、肤色检测和直方图均衡化处理。
[0099]
然后先将得到的预处理之后的图像数据集按3∶1的比例分成训练集和测试集,再将这些处理好的训练集人脸图像送入轻量化神经网络和支持向量机分类器中进行训练,并保存模型参数文件。
[0100]
最后再将测试集送入轻量化神经网络测试,最后统计得到该系统的人脸识别准确
率。
[0101]
实验将数据分为3组按照上述步骤进行测试,最重要的是将角度进行分组测试。首先实验选取5个角度,分别是正脸、左半45
°
、右半45
°
、上45
°
和下45
°
。其次,实验选取7个角度,分别为正脸、左半上45
°
、左半下45
°
、右半上45
°
、右半下45
°
、上45
°
和下45
°
。最后,实验选取全部的9个角度,分别为正脸、左半上45
°
、左半下45
°
、左半90
°
、右半上45
°
、右半下45
°
、右半90
°
、上45
°
和下45
°
,其中9个角度示例图如图7所示。
[0102]
在自然行走条件下的人脸识别系统的多角度人脸识别实验结果如表2所示。
[0103]
表2在自然行走条件下的人脸识别准确率
[0104][0105]
实验结果表明:角度逐渐偏大的人脸实验数据,识别的准确率越低,原因是因为在正脸的情况下,可提取到的人脸特征信息独特和完整,更容易识别待测人员的身份。但是在侧脸实验中,角度偏的越大得到的特征越不明显,造成待测人的身份信息越模糊,直接导致人脸识别率降低。
[0106]
在本发明中,首先介绍了现有的人脸识别技术,接着,简要介绍了人脸特征采集的相关技术和目前遇到的问题,经过研究和学习,本发明决定采用轻量化的神经网络的学习特征,并训练分类器。然后,利用pca概念构建两层轻量化神经网络提取人脸脸部特征,实验证明,在准确性能上得到很好地效果。最后,算法都进行了相关的实验,并且实际场景中表现较好。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1