复杂环境下的人脸识别研究.docx
《复杂环境下的人脸识别研究.docx》由会员分享,可在线阅读,更多相关《复杂环境下的人脸识别研究.docx(7页珍藏版)》请在冰豆网上搜索。
![复杂环境下的人脸识别研究.docx](https://file1.bdocx.com/fileroot1/2023-4/19/599f0d99-734c-4279-8e96-db47d0e99359/599f0d99-734c-4279-8e96-db47d0e993591.gif)
复杂环境下的人脸识别研究
复杂环境下的人脸识别研究
复杂环境下的人脸识别研究王盾袁杰江苏第二师范学院数学与信息技术学院南京大学电子科学与工程学院摘要:
针对复杂环境下人脸识别对算法速度、准确性和抗人脸姿态干扰的特别要求进行研究,采用肤色分割与Adaboost相结合的方式进行人脸检测。
关键词:
人脸检测;肤色分割;Adaboost;人脸识别;2DIMPCA;收稿日期:
2019-05-08Received:
2019-05-080引言人脸识别技术是利用计算机分析人脸图像从中获取有效的识别信息用于辨认身份的一门技术,是图像模式识别计算机视觉等领域重要研究内容之一[1]。
人脸能用于身份识别主要是因为人的相貌属于人本身固有的生物特征,这种特质具有不可复制,难于伪造的特点[2]。
人脸识别技术的难点主要包括:
人脸生物结构相似,不同个体之间差异甚微;人脸生物外形变化大,如由情绪导致的面部表情变化,年龄导致的面部变化等;外界干扰严重,如光照、脸部覆盖物等。
除此以外,人脸识别技术中对于算法实现的快速性、稳定性以及准确性要求也很高。
针对以上问题,研究人员开发出了大量的算法:
Schapire[3]证明了可以通过构造多项式将弱学习算法提升为强学习算法,即Boosting;Freund[4]对Boosting进行改进;最终由Viola等[5,6]把Adaboost算法运用到人脸检测上,才实现了人脸检测算法的跨越式发展。
对于人脸识别的算法,从KirbyandSirovich首次利用主成分分析方法表示人脸图像并将其引入人脸识别领域[7],而后又发展出了Eigenfaces[8]、Fisherfaces[9]方法,一直发展到了二维主成分分析2DIMPCA等[10-14]。
这些算法分别从不同的角度有针对性的解决了很多问题,算法的快速性、稳定性以及准确性在一定程度上得到了提升,但由于人脸识别固有的技术难点,人脸识别技术的智能化之路还有很长的路要走。
本文主要是针对当前一些主流的人脸识别算法进行研究,继而进行改进,提高速度与精度。
1人脸检测算法的研究1.1基于肤色分割的人脸检测算法人类肤色与自然背景存在明显的区别,由于面部血管的作用,其红色分量较为饱满[15]。
基于肤色分割的人脸检测算法被广泛应用。
该算法主要分为三个步骤:
(1)基于YCbCr色彩空间进行肤色区域分割。
YCbCr与RGB颜色空间的转换关系为:
经过YCbCr彩色空间的肤色区域分割将彩色图像转换为黑白图像,白色表示与肤色相近区域,黑色表示背景。
(2)定位所有白色区域。
在白色区域定位之前需要对图像做一些预处理,使得由第一步得到的图像的白色区域更加平滑。
常用的处理方法有:
图像的形态学处理腐蚀和膨胀,增加白色分散点的连通性;通过中值滤波使得图像平滑。
(3)在第二步中定位到的白色区域中找出人脸可能区域。
在第二步定位到的白色区域中,通过比较这些定位到的白色区域的面积、位置等信息找到最有可能是人脸的白色区域。
1.2基于Adaboost的人脸检测算法1.2.1Adaboost设计流程1.2基于Adaboost的人脸检测算法1.2.1Adaboost设计流程Adaboost算法最终目的是为了得到强分类器,而强分类器的设计过程主要是样本训练的过程,流程如下:
(1)给定一系列训练样本(x1,y1),(x2,y2),...,(xn,yn),其中yi=0表示其为负样本(非人脸),yi=1表示其为正样本(人脸),n为训练样本数量。
(2)初始化权重W1,i=D(i)。
(3)第t轮迭代。
首先归一化权重:
之后对每个特征f,训练一个弱分类器h(x,f,p,),然后计算对应所有特征在该弱分类器权重qt下的错误率f:
继而选取最佳的弱分类器h(x)(拥有最小错误率t):
按照这个最佳弱分类器,调整权重:
式中,ei=0表示xi被正确地分类,ei=1表示xi被错误地分类,则:
最后的强分类器为:
1.2.2Adaboost弱分类器设计在上一节中给出了Adaboost训练流程,其中给出了T个最佳弱分类器的训练,以及组成强分类器的迭代过程。
下面对每一次迭代过程中的弱分类器的选择进行阐述。
一个弱分类器h(x,f,p,)由一个Haar特征f、判定阈值、由训练样本决定,以及指示不等式方向的p(p=1)组成:
式中,x是待检测图片;f(x)是用特征f对待检测图片进行特征提取得到的特征值。
因此,训练弱分类的过程,就是在当前权重分布的情况下找到特征f的阈值,使得这个弱分类器对所有训练样本的分类误差最低。
假设对训练样本计算得到的特征值从小到大排列为(f1,f2,,fn),n为样本总数。
如果取阈值=fi,i=1,2,,n,那么计算每个i对应的值:
(1)全部人脸样本的权重的和Ti。
(2)全部非人脸样本的权重的和Ti。
(3)在前面的特征值的人脸样本的权重的和Si。
(4)在前面的特征值的非人脸样本的权重的和Si。
这样,对于阈值fi带来的训练样本的分类误差,可以认为这个阈值所带来的分类误差为:
因此,只要遍历一遍i就可以得到一个最小的误差,以及对应的特征f的最佳阈值,继而确定一个最佳弱分类器。
1.2.3Adaboost强分类器设计Adaboost强分类器由若干个弱分类器按照式(8)的方式线性组合而成。
因而,对于一幅待检测的图像而言,强分类器的设计过程相当于是多个弱分类器对于待检测图像进行投票继而按照各个若分类器的错误率加权求和,最终通过比较投票加权求和结果与平均投票结果得到。
其中平均投票结果,即假设所有的弱分类器投赞同票和反对票的概率都相同,继而得到平均概率:
1.3算法优化与融合对于基于肤色分割的人脸检测算法而言,其优点是算法简单、速度快;缺点则是在肤色相近区域中难以排除非人脸区域。
除此以外,阈值的选取对于人脸区域的定位影响很大。
对于基于Adaboost人脸检测算法而言,其优点是对于人脸区域的鉴别十分准确;缺点是运算量大。
因此,本文采用肤色分割与Adaboost相结合的方式进行人脸检测,以期提高人脸检测运算速度以及检测精度。
算法流程如下:
(1)基于肤色分割算法简单并且运算速度快的优点,首先确定人脸的大致范围。
(2)基于Adaboost算法对于人脸区域鉴别精度高的优点,在第一步的基础上进行Adaboost人脸检测。
表1是三种人脸检测算法的运行时间对比,算法运行环境为PentiumM1.73G平台,输入图片分辨率为640480。
由此可见,本文采用的人脸检测联合算法不但能够降低误检率,还能的明显的提升运算速度,是一种高效实用的算法。
基于肤色分割算法的人脸检测所需要的时间极短,与基于Adaboost人脸检测算法所需时间相比几乎可以忽略。
而对于两种人脸检测算法的联合算法,由于是在基于肤色分割算法的基础上采用基于Adaboost的人脸检测算法,所以所需时间虽然比单纯的基于肤色分割的人脸检测算法多,但是相比较于单纯的Adaboost人脸检测算法所需时间则大为减少,并且人脸检测精度相比单纯基于肤色分割人脸检测算法大为提高。
表1各种算法人脸检测时间对比下载原表2人脸识别算法研究2.1基于2DIMPCA特征提取2DIMPCA算法是基于PCA算法导出的类间散布矩阵:
2DIMPCA算法流程如图1所示。
图1人脸识别算法流程图下载原图假设有M个样本人脸图像Ai(i=1,2,,M)。
(1)样本训练。
首先求取样本人脸图像均值E(A):
其次利用类间散步矩阵公式得到类间散步矩阵G,求出G的特征值以及对应的特征向量。
然后将特征值从大到小排序,取出前p个特征值,将前p个特征值对应的特征向量依次排列构成U矩阵,则U矩阵大小为m行p列。
对每个训练样本进行投影得到Bi:
对Bi进行与Ai相同的过程,求得类间散布矩阵H:
求解H的特征值,然后将特征值从大到小排序,取出前p个特征值,将前p个特征值对应的特征向量依次排列构成V矩阵,则V矩阵大小为m行p列。
那么2DIMPCA投影所得为C=VAU,全过程如图2所示。
图2用2DIMPCA提取人脸特征的过程示意下载原图将训练样本按照C=VAU一一进行投影,得到所有训练样本的特征脸Ci为pp的矩阵。
(2)待测样本投影。
将待测样本也按照二维投影得到特征脸。
(3)基于欧拉距离的匹配。
计算待测特征脸与训练样本特征脸的欧拉距离,判断待测特征脸属于哪一类。
欧拉距离的计算公式为:
找到最小的欧拉距离之后,还需要根据阈值判断这两个特征脸是否确实属于同一类,如果距离过大,判断待测人脸不输入任何一个已知类。
该阈值的确定是分类器必须解决的问题。
2.2贝叶斯分类器贝叶斯分类器的核心就是贝叶斯定理,即通过事件的先验概率求取事件的后验概率。
用公式描述如下:
贝叶斯公式使得在已知P(A|B)先验概率的情况下能够得到后验概率P(B|A)。
人脸图像符合多维高斯分布,其条件概率密度函数为:
式中,N为特征向量元素总数;是特征矩阵行列式值。
非人脸图像同样满足与上式相同形式的高斯分布P(Y|wn)。
实际系统只要求P(Y|wf)P(Y|wn)即判断为人脸,反之为非人脸(或非已知人脸)。
2.3人脸识别实验实验条件如下。
(1)样本数据库:
样本数量为10,5张人脸,每个人脸2个样本。
(2)单人(在数据库中)多次识别:
在人脸姿态、表情、光照不同情况下,使被测人脸处在微低头、微抬头、微笑、皱眉、强光、弱光6种情况下下各随机进行5次测试,共30次,统计结果。
(3)单人(不在数据库中)多次识别:
在人脸姿态、表情、光照不同情况下,使被测人脸处在微低头、微抬头、微笑、皱眉、强光、弱光6种情况下下各随机进行5次测试,共30次,统计结果。
(4)双人(在数据库中)同时多次识别:
两人(A和B随机采取不同站位、脸部姿态、表情时测试30次,统计结果。
最终实验结果见表2。
表2识别率测试下载原表3结语本文针对复杂环境下的人脸识别对算法速度、准确性和抗人脸姿态干扰的特别要求进行研究,改进了已有算法。
提高了人脸检测运算速度以及检测精度。
参考文献[1]YangMH,KriegmanD,AhujaN.Detectingfacesinimages:
Asurvey[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2019,24
(1):
34-58.[2]樊振萍.人脸检测与识别技术综述[J].可编程控制器与工厂自动化,2008(5).[3]SchapireRE.TheStrengthofWeakLearnability[J].MachineLearning,1990,5
(2):
197-227.[4]Freund.Y.BoostingaWeakAlgorithmbyMajority[J].InformationandComputation,1995,121
(2):
256-285.[5]Y.Freund,R.E.Schapire.Adecision-theoreticgeneralizationofon-linelearningandanapplicationtoboosting[A].In:
Proceedingsofthe2-ndEuropeanConferenceaComputationalLearningTheory[C].Barcelona,Spain:
ACMPress,1995,23-37.[6]P.Viola,M.Jones.Rapidobjectdetectionusingaboostedcascadeofsimplefeatures[J].IEEEConfonComputerVisionandPatternRecongnition,2003,1
(2):
511-518.[7]TurkM,PentlandA.Eigenfacesforrecognition[J].JournalofCognitiveNeuroscience,1991,3
(1):
71-86.[8]KirbyM,SIrovichL.ApplicationoftheKar-hunen-Loeveprocedureforthecharacterizationofhumanfaces[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1990,12
(1):
102-108.[9]BelhumeurPN,HespanhaJP,KriegmanDJ.Eigenfacesvs.Fisherfaces:
Recognitionusingclassspecificlinearprojection[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1997,19(7):
711-720.[10]陈才扣,喻以明,史俊.一种快速的基于稀疏表示分类器[J].南京大学学报(自然科学),2019,48
(1):
70-76.[11]YangJ,ZhangD,FrangiAF,etal,Two-dimensionalPCA:
Anewapproachtofacerepresentationandrecognition.IEEETransactionsonPat-ternAnalysisandMachineIntelligence,2004,26
(1):
131-137.[12]YangJ,YangJY.Fromimagevectortomatrix:
Astraightforwardimageprojectiontechnique-IMPCAvs.PC.A[J].PatternRecognition,2019,35(9):
1997-1999.[13]陈达遥,陈秀宏,董昌剑.基于零空间核判别分析的人脸识别[J].计算机研究与发展,2019,50(9):
1924-1932.[14]胡正平,李静.基于低秩子空间恢复的联合稀疏表示人脸识别算法[J].电子学报,2019,41(5):
987-991.[15]赵楠.基于AdaBoost算法的人脸检测[D].北京:
北京大学,2005.