史启文,董爱华
(东华大学 信息科学与技术学院,上海 200051)
基于OPENCV的人脸考勤系统
史启文,董爱华
(东华大学 信息科学与技术学院,上海 200051)
设计实现了一种基于几何特征的人脸识别考勤系统。通过图像的灰度积分投影来确定各器官的大体位置。通过提取人脸的左眼、右眼、鼻子和嘴巴的位置及其之间的相对距离关系等7个特征值,并赋予不同的权重来合成矢量人脸,进而与数据库进行对比实现人脸考勤。
特征提取;几何特征;人脸识别
人脸识别法主要集中在二维图像上,二维人脸识别主要利用分布在人脸上从低到高的80个节点或标点,人脸识别算法主要有:基于奇异值特征方法[1]、子空间分析法[2]、弹性匹配方法[3]、局部保持投影[4]等诸多算法,但由于人脸形态的多样性和环境的多样性以及相似人脸的存在等问题,造成识别的准确率较低。因此,需要寻求一种更加简便高效的人脸识别方法。
本文设计了一个基于几何特征的人脸识别系统,该算法的基本思想是提取人脸的主要特征值的形状、大小及其之间的相对位置和相对距离,再加上人脸轮廓的形状综合起来对人脸进行判断。
为更好地设计系统,本文采用了OpenCV[5]函数库,OpenCV是基于BSD许可证授权发布的实时计算机视觉函数库,最大的特点是具有开放性。其拥有包括300多个C函数的夸平台中高层API,不依赖于其他外部库,但也可使用某些外部库。
该系统最主要的功能就是实现实时的人脸鉴别,在建立数据库的过程中,系统通过摄像头获取视频流,对视频流中的帧进行提取、分析、预处理,并可获得表征人脸的特征值,每张人脸均由提取的器官特征向量组成,将图像和特征值保存在一个数据库中;在人脸鉴别过程,每次从视频流中采集的人脸经特征提取后变成由适量特征组成的人脸特征,通过匹配算法跟数据库中的人脸数据进行对比,找出不大于阈值的人脸。
2.1Adaboost算法
Adaboost[6]是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),再将这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。基于Adaboost算法的人脸检测方法采用Haar-like[7]特征进行特征表示,并通过积分图方式计算特征值,然后采用Adaboost算法从特征集中选择少量具有较强分类特性的特征产生一系列弱分类器,接着将这些弱分类器合成一个强分类器,最后通过级联算法将多个强分类器合成一个更强的人脸检测分类器。其主要算法是通过改变不同样本的权重以及分类器的权重来实现的。根据每次训练后得到结果的正确率来确定样本的权重,将修改过权值的新样本送给下层分类器进行训练,同理调整样本的权重,最终将每次训练得到的具有不同权重的分类器联合起来,作为最后的分类器。使用Adaboost分类器可较好的去除识别对象上不感兴趣的特征值,并将关键的特征值凸显出来。
2.2Adaboost算法描述
输入一组训练集:(x1,y1),…,(xn,yn),其中xi为样本描述,yi为样本标识,yi∈(0,1);其中0,1分别表示正例和反例。
初始化:初始样本权值为
(1)
对t=1,2,…,T,循环执行以下步骤:
归一化权重
(2)
对于每个特征f,训练一个弱分类器h(x,f);计算所有特征的弱分类器加权错误率
εf=∑iqi|h(x,f)-yi|
(3)
按最小错误率选取最佳弱分类器ht(x)
εf=minf∑iqi|h(x,f)-yi|=∑iqi|h(x,ft-yi)|
(4)
按照这一最佳弱分类器调整权重
(5)
其中,ei=0表示xi被正确分类;ei=1表示xi被错误分类。
最后的强分类器为
(6)
其中,
2.3主要模块的设计过程
摄像头获取头像视频,对人脸图像进行区域划分后的主要工作就是对人脸特征进行提取,并在此基础上与数据库中保存的特征值进行比较,从而实现人脸鉴别。
(1)特征识别模块。该模块主要用来识别人脸的主要器官。系统识别的器官主要有左眼、右眼、鼻子和嘴巴。下面以眼睛为例,眼睛的大体定位可用方差投影获得,对正面人脸图像进行水平积分投影[8]和垂直积分投影,可以发现,人脸在眼睛处灰度值较小,而在积分图上表现为两个极小值,利用积分投影图可大体确定人眼睛的位置。
图1 采用积分投影处理的效果图
图1(b)为水平积分投影图像,通过水平投影可发现积分图像的波谷位置就是眼睛的位置。若采集的脸部为倾斜的,则在积分图的眼睛分布大致位置会有两个波谷,分别是两个眼睛的位置。图1(c)为垂直积分投影图像,通过人脸图像的垂直积分投影可明显地看到积分图上的两个波谷,分别是左右眼睛的位置;
(2)人脸特征提取模块。在识别出人脸的器官后,便可获取人脸器官的特征值。本系统提取的特征主要有左右眼睛的位置、大小;鼻子的位置、大小;嘴巴的位置、大小;眼睛跟鼻子形成的三角形;眼睛跟嘴巴形成的三角形。其中,各个器官的大小及中心坐标可根据级联分类器检测出来的矩形框来确定。
表1为可直接获取的人脸器官的特征值以及通过求和得到的简单特征值,主要包括各器官的坐标、大小及中心位置的坐标等。
表1 直接获取的特征值
为了更好的表征人脸特征,提高系统的识别率,本系统在表1特征值的基础上,通过计算可得到表2中间接获取的特征值;
(3)人脸匹配模块。人脸匹配是系统的重要功能之一,系统采用基于几何特征的人脸识别算法,每张人脸均由提取的器官特征向量组成,每次从视频流中采集的人脸经特征提取后变成由适量特征组成的人脸特征。通过匹配算法跟数据库中的人脸数据进行对比,找出不大于阈值的人脸。
表2 间接获取的特征值
人脸比较过程设定了一个W函数,函数中定义了7个比较值,用来存放检测过程中人脸各个器官矢量特征的相似程度,每个比较值均由CompareFace()函数完成,最后将所有比较值附加权重,统一计算两幅图像的相似程度,具体定义如表3所示。
表3 比较值的定义
其中,比较值2(ret2)、比较值3(ret3)用来存放人脸各个器官所组成三角形长度特征的相似程度,计算公式如下
(7)
比较值4(ret4)、比较值5(ret5)、比较值6(ret6)、比较值7(ret7)用来存放人脸各个器官所组成三角形的各边所成角度的余弦值,计算公式如下
(8)
最后附加权重,统一计算两幅图像的相似程度,计算公式如下
W=a×ret1+b×(ret2+ret3)+
c×(ret4+ret5+ret6+ret7)
(9)
式中,a,b和c为相应权值,系统设定a=0.7,b=0.2,c=0.1。
2.4系统测试结果分析
采用白盒测试方法检测系统,可以发现,随着阈值的减小,识别准确率会上升,同时人脸的采纳率也会随之下降。人脸识别正确率同时也与各特征值赋予的权重有一定的关系,阈值为0.15时的实验结果如表4所示。可发现人脸的不同特征对于人脸的区分度是不同的,有些特征对于区分人脸比较重要,而有些特征则在不同的人脸上表现并不明显。
表4 不同权重时的正确率和采纳率
图2 系统流程图
3.1人脸录入过程
在人脸录入时,通过计时器不断的获取视频流中的图片,若获得的图片中含有符合人脸特征的信息,则人脸将会被保存在数据库中,同时所获得的人脸将依次显示在主界面中的12个图形框中。效果如图3所示。
当成功获得12张符合规定的人脸照片时,系统会弹出人脸录入成功的对话框,以提示人脸录入的工作已完成,对话框如图4所示。
图3 人脸录入
图4 录入成功
为了更好地测试系统,继续录入9人的头像,并保存在数据库中,如图5所示。
图5 数据库中保存的用户
3.2人脸检测过程
当系统运行到人脸检测的模块时,系统将根据计时器不断的从视频流中获取图片,当检测到人脸时,在人脸上画框,同时计算人脸的各个特征值,并显示在主界面右边的文本框中。文本框中的进度栏,显示人脸识别程序的进度,界面如图6所示。
图6 人脸检测
当系统检测到与视频流中相匹配的人脸时,就停止从视频流中获取图像,并更新所识别的用户签到次数,同时将数据库中存储的最相似的人脸显示出来,弹出查找成功对话框,提示用户已查找成功。
图7 检测成功界面
随着生物识别技术的成熟,会有越来越多的生物识别技术被应用到生活当中。人脸识别技术的不断发展和完善,使得人脸识别的效率和准确率得到了不断的提升。人脸识别技术与其他技术相结合,必将为生活带来便利,给社会带来良好的经济效益。
[1]谢竞.基于Gabor小波网络的人脸识别研究[D].北京:北京交通大学,2007.
[2]尹帮治.一种新的网站用户登录验证方案[J].微型电脑与应用,2008,24(10):13-15.
[3]Manjunath B,Chel Lappa R,Vonder Marsburg C. A feature based approach to face recognition[C].CA, USA:Proceeding of IEEE Conference Computer Vix Patt and Recogn,1992.
[4]Lades M,Vorbrueggen J C,Buhmann J,et al.Distortion invariant object recognition in the dynamic link architecture[J].IEEE Transactions on Computers,1993,42(3):300-311.
[5]Turk M,Pentland A.Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience,1991,3(1): 71-86.
[6]Claus Neubauer.Evaluation of convolutional neural networks for visual recognition[J].IEEE Transactions on Neural Networks,1998,9(4):685-695.
[7]Kohonen T.Self-organization and associative memory[M].New York:Springer Verlag,1988.
[8]张俭鸽,王世卿,盛光磊.基于小波和DFB-PCA的人脸识别算法研究[J].微计算机信息,2007, 23(4):253-254.
Face Recognition Attendance System Based on OPENCV Platform
SHI Qiwen, DONG Aihua
(College of Information Science and Technology, Donghua University, Shanghai 200051, China)
This paper designs a simple face-recognizing attendance system based on geometric feature. This paper expounds the image gray-level integration projection to determine the general location of facial organs. This system extracts the position of human's left eye, right eye, nose, mouth, the relative distances between them and other seven Eigen-values, and gives different weights to synthesize vector face. The face matching is realized by comparing the synthesized vector face with the database.
feature extraction; geometric feature; face recognition
2015- 12- 21
史启文(1990-),男,硕士研究生。研究方向:工业控制。
10.16180/j.cnki.issn1007-7820.2016.09.027
TP391.41
A
1007-7820(2016)09-098-04