基于Android平台人脸识别算法的应用
2018-01-08王冉
王冉
(西安职业技术学院 陕西 西安 710032)
基于Android平台人脸识别算法的应用
王冉
(西安职业技术学院 陕西 西安 710032)
研究的是基于Android平台人脸识别算法的应用,针对人脸识别方法进行研究,以提高识别的准确率和速度为目的,选用Haar特征提取的方法作为人脸检测的主要方法,选用Adaboost算法作为人脸识别的主要算法。在研究过程中出现的难点有人脸的检测受到外界影响,人脸的检测误差率较大,采用增加分类器将多个弱分类器级联为强分类器以优化算法,本设计已经测试在Android手机上测试成功,同一人不同脸的近似度在90%左右。
人脸检测;人脸识别;Haar特征;Adaboost算法
人脸识别是先要对人的脸部特征进行信息采样,再充分利用机器识别技术进行人脸识别,与其他人体生物特征相比,用户及研究人员更容易获取人脸信息(可以通过摄像头等非接触的方式获取),人脸识别在身份验证、视频监控、网络安全等基于图像识别和移动通信等方面有着广泛的应用,是一项具有挑战性的课题。
1 人脸检测识别方法简介
人脸检测与识别一直是研究者们的重点研究项目,已有的人脸检测方法有基于先知的方法、特征不变量方法、模板匹配[1]的方法以及基于表象的方法等许多方法,或创新检测方法或改进现有的检测方法,目的就是为了提高检测的速率和准确率。
随着科技的进步,人脸识别的方法也不断更新,在分析一些主流的人脸识别方法[2](例如基于肤色的方法、基于子空间的方法、隐马尔可夫模型方法、基于神经网络的方法、支持向量机方法以及基于Adaboost算法的人脸识别方法[3])的基础上,经过反复对比最终选择出最优的识别方法。
2 基于Adaboost算法的人脸识别方法研究
2.1 Haar-like特征
早期,研究人员在计算特征值的时候普遍采用的是使用图像像素点的RGB值(即图像的强度),图像较大时计算量大、效率低、而且容易出错,随后Papageorgiou等人提出可以使用基于哈尔小波的特征代替图像强度。Haar-like特征可由图1表示。
图1 Haar-like特征矩形图
2.2 积分图
维奥拉和琼斯的一个重要贡献是使用积分图。积分图是一个二维矩形的查找表,与原始图像具有一样的尺寸。积分图的每一个元素是原始图像在对应位置左上角所有像素的和。设任何区域内的像素积分如图2所示。
图2 积分图
则: 1点的积分 I1=Sum(Ra);
2 点的积分 I2=Sum(Ra)+Sum(Rb);
3 点的积分 I3=Sum(Ra)+Sum(Rc);
4 点的积分 I4=Sum(Ra)+Sum(Rb)+Sum(Rc)+Sum(Rd)
根据以上分析可知:Rd区域内的像素之和(积分值)为:
2.3 Haar-like特征举例
例如我们用haar-like特征来表示人脸的灰度分布[4],采用图1 Haar-like特征矩形图中的(b)特征来表示待检测人脸的灰度分布,改变矩形框的大小,以haar-like特征来尽可能细化的描述人脸特征,以达到准确率,但同时描述的特征值变多了,计算量也就相应变大了。积分图就是为了提高计算速率,而Adaboost算法是在许多特征描述中挑选最优的特征,从而建立弱分类器,能够将这些图像数字化进而进行计算。
2.4 Adaboost分类器设计
1)Adaboost算法步骤
①给定(Given)训练样本集S,正例样本用X来表示、负例样本用Y来表示;训练的最大循环次数用T来表示;
②初始化样本权重为1/M,也就是训练样本的初始概率分布;
③第一次迭代:(a)使用概率分布相当的训练样本,训练弱分类器;(b)计算弱分类器的错误率;(c)设置合适阈值,使误差最小化;(d)重新设置样本权重。
2)弱分类器设计
以设计决策树的思路来设计弱分类器,选取Haar-like特征中3个具有代表性的特征数据来作为判断输入是否为人脸的依据,输入的数据即为待检测图片的特征值,而在分类应用中,每一项特征判断都用一个节点来表示,每次次判断的输出都用相应的路径来表示,每一种类别都用一个叶子节点来表示[5],该叶子节点也是最终判断的结果。
3)强分类器的设计
设计好的弱分类器并不能完成识别任务,将两个弱分类器级联,如果还是不能达到就要增加级联数目,以此类推,将多个弱分类器级联,强分类器就产生。
强分类器的训练过程如下:
①S集作为输入训练样本集,其中共有M个样本(包括正样本X和负样本Y),训练的最大循环次数用T来表示;
②输入弱分类器的算法、阈值和数目,输出即为M个弱分类器的级联;
④根据弱分类器权重的初步估算,设计出第一个最优弱分类器[6];
⑤调整弱分类器的各权重,从而提高被误判的样本的权重;
⑥新样本和判断有误的样本的新一轮的训练;
⑦重复循环执行③~⑥步骤,经过T轮后得到T个最优弱分类器[6];
⑧将以上训练过程得到的T个最优弱分类器进行级联,就得到强分类器。
3 基于Android平台Adaboost算法的设计应用
3.1 人脸特征值的描述
前面提到Haar有边缘特征、线性特征、中心特征和对角线特征4个基本特征[7],组合后可形成特征模板。在这些特征模板中形成两种颜色的矩形——分别为黑色和白色,文中定义模板的特征值为白色像素减去黑色像素的结果。影响Harr-like特征的特征值的个数的因素有两个,一个是选择区域的大小[8],另一个是白色像素和黑色像素矩形框的大小,划定区域形成弱分类器,将弱分类器级联则形成强分类器。积分图主要的目的就是计算白色像素区或者黑色像素区的像素和,采用积分图提高了计算速度[9],提高人脸图像检测识别速度。
例如对待检测人脸[10]划分窗口,同样以(b)类haar-like特征来计算,就是该矩形框的黑白像素差[11],求特征的代码如下:
其计算量如图3所示,不同窗口大小计算的特征数量如图4所示。
图3 特征值的计算(1)
图4 特征值的计算(2)
3.2 人脸检测流程设计
人脸检测的流程就是选取照片,进行窗口取样,对输入的照片分别划定特征区域,计算矩形框的黑像素和白像素的差[12],利用积分图计算出所有的像素差,设定一定的差值为阈值,如果计算的值不在阈值范围,则扩大取样区域,再次进行特征值[13]的比对,人脸检测的流程设计如图5所示。
图5 人脸检测流程图
3.3 人脸识别的处理流程
人脸识别的处理流程主要工作过程为选取照片,进而进行人脸的特征提取[14],判断记录特征锁定人脸,计算出人脸的个数。
3.4 人脸识别功能测试
在此次软件测试中,待检测人脸和有效人脸都是已存储的照片[15],操作方便,单人的图像进行采集做测试如图6所示,测试给出的信息是:总计张人脸,经过多次验证该模块的准确率可达90%左右。
图6 人脸识别测试
4 结 论
文中对人脸识别方法进行系统研究,以提高识别的准确率和速度为目的,选用Haar特征提取的方法作为人脸检测的主要方法,选用Adaboost算法作为人脸识别的主要算法,已经在Android手机上测试成功,同一人不同脸的近似度在90%左右,测试证明增加分类器将多个弱分类器级联为强分类器优化算法,能有效提高识别的准确率。
[1]王丽婷,丁晓青,方驰.一种鲁棒的全自动人脸特征点定位方法[J].自动化学报,2010(5):10-11.
[2]李见为,吴璇.基于视频的人脸检测和跟踪算法[D].重庆:重庆大学,2010.
[3]GUO Yan-wen,PAN Yong-juan,CUI Xiu-fen,et al. Harmonicmaps based constrained texture mapping method [J].Computer Aided Design and Computer Graphics,2015,17(7):1457-1462.
[4]Lis Z.Learning multi-view face subspaces and facial poseestimation using independent component analysis[J].IEEETransaction on Image Process,2015,14(6):705-712.
[5]王良民,张建明,詹永照,宋顺林.人脸检测研究现状和发展[J].江苏大学学报:自然科学版,2013(5):15-16.
[6]Rowley H,Baluja S,Kanade T.Neural networkbased face detection [J].IEEE Pattern Analysis Machine Intellegence,2012,20(1):22-28.
[7]Yang G Z,Huang T S.Human face detection in a complex background.Pattern Recognition,2011,27(1):53-63.
[8]卢春雨,张长水,闻芳,等.基于区域特征的快速人脸检测法[J].清华大学学报:自然科学版,2011,39(1):101-105.
[9]Tian Y,Tan T,WangY.Do singular values contains adequate information for face recognition[J].Pattern Recognition,2010,36(3):649-655.
[10]Moghaddam B,Pentland A.Probabilistic visual learning for object representation.IEEE Trans.Pattern Analysis and Machine Intelligence,2010,19(7):696-710.
[11]WANG Li-ting,DING Xiao-qing,FANG Chi.A novel method for robust and automatic facial features location [J].ActaAutomatica Sinica,2010,35(1):9-16.
[12]郑青碧.基于图像的人脸检测方法综述[J].电子设计工程,2014(4):23-25.
[13]Zhao W,ChellaPPa R,Rosenfeld A.Face recognition:a literature survey [J].ACM Computing Surveys,2010,35(4):399-458.
[14]康学雷,邵凌,张立明.一种基于肤色和模板的人脸检测方法[J].红外与毫米波学报,2010,19(6):209-215.
[15]刘党辉,沈兰荪,Kin-Man Lam.人脸检测研究进展[J].计算机工程与应用,2013(10):16-18.
Based on the research of Adaboost face recognition algorithm
WANG Ran
(Xi'an Vocational and Technical College,Xi'an 710032,China)
This paper studies the application of face recognition algorithm based on the Android platform.For face recognition method is studied,in order to improve the recognition accuracy and speed for the purpose.Select Haar feature extraction methods as the main method of face detection,Adaboost algorithm is chosen as the main algorithm of face recognition.During the study of the difficulty of a human face detection is affected by the outside world,Human face detection error rate is bigger,use more weak classifier multiple classifiers network it strong classifier to optimize algorithm.This design has been tested on the Android test is successful,the same person different face of approximate degree at around 90%.
facedetection; facial recognition;Haar features; Adaboost algorithm
TP312
A
1674-6236(2017)16-0190-04
2016-06-15稿件编号:201606108
王 冉(1985—),女,陕西西安人,硕士,讲师。研究方向:自动控制、电路设计以及Android系统。