物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  资产  >  正文

基于AdaBoost 和PCA 的动态人脸考勤技术研究

作者:王刚
来源:中国一卡通网
日期:2011-12-08 09:02:27
摘要:本文设计并实现了基于Adaboost 和PCA的动态人脸识别考勤系统。利用AdaBoost快速人脸检测方法为基础,然后使用PCA方法来实现人脸识别。实验结果表明,利用该方法开发的动态人脸识别考勤系统具有识别率高、实用性好、可靠性强等特点。

  1  引言 

  人面局部特征是人体独一无二的“身份证”,并且具有“与人不可分割”的特点。人脸识别技术是采用人脸的一些独特生物特征对人身份进行自动识别的生物特征技术. 它具有人脸获取直接隐蔽、友好、鉴别简便、安全性高、随身携带等特点,因而其在公安、安防、金融、信息网络安全等诸多领域内具有广阔的应用前景。

  文中将人脸识别技术应用于考勤管理,设计并实现了动态人脸识别考勤系统(以下简称人脸考勤系统) ,克服了传统打卡中磁卡、IC 卡等考勤方式存在的代打卡、卡丢失等不足和缺陷,有效地杜绝了考勤管理中的人为因素,充分体现了考勤管理的公正性和高效性. 与指纹考勤系统相比,人脸考勤系统具有非侵犯性、使用友好等优点,同时采集的正面人脸图像可以应用于单位员工的其他管理信息系统。

  2 人脸考勤系统概述 

  人脸考勤系统,是将先进的人脸识别技术应用到考勤领域的一个成功产品. 该产品首先录入员工的文字资料和动态采集人脸图像并训练,建立人脸图像库. 考勤时,通过与计算机相连的摄像头动态捕捉员工的脸部照片,同时把捕捉到的人脸照片与预先采集的照片进行比对,如果是员工本人,则考勤成功,同时根据考勤时间判断人员出勤情况(正常、迟到、早退或加班等) ,并记录考勤信息,如考勤日期、班次、上班时间等信息. 如果不是员工本人考勤,则系统给出友好提示,并进行相应处理. 所有考勤数据通过主机程序处理汇总后,生成相应管理报表或数据文本,可提供给人事部门进行人事考核或财务部门进行工资结算。
 
  2. 1 人脸考勤系统组成 

  人脸识别考勤系统包括硬件和软件两个部分,硬件由考勤机、统计主机和打印机构成,考勤机由主机、摄像头、视频采集卡来组成,用于人脸考勤识别、图像建库;统计主机用于考勤统计、查询、管理、保存系统数据等, 打印机用于打印考勤报表. 软件由Windows2000 Advanced Server 操作系统、SQL Serv2er2000 数据库管理系统和人脸考勤系统组成。

  2. 2 人脸考勤系统的功能结构 

  人脸识别考勤系统分由人脸识别子系统和考勤管理子系统组成,其功能结构图如图1 所示。

   人脸识别子系统包括视频采集模块、人脸检测模块、人脸处理模块和人脸识别模块. 视频采集模块从考勤现场中实时采集使用者的人脸视频图像;人脸检测模块定时抽样视频中的一帧图像,利用人脸的特征信息准确定位图像中的人脸坐标和人脸范围;人脸处理模块截取人脸区域图像,对其进行尺寸规格化、亮度均衡化和图像增强后,分离背景得到只包含人脸的图像;人脸识别模块使用多种识别技术得到分类结果,并进行决策级融合得到最终结果.考勤管理子系统包括信息登记、信息查询和打印报表模块. 管理员在信息登记界面输入员工的信息和现场采集员工的多个照片样本;在信息管理界面可以查询员工信息和考勤信息;并且可以在任何时候可以打印出员工在某个时间段的考勤报表。

  3 人脸考勤系统的实现 

  3. 1 视频采集技术 

  采用VFW(Video for Windows) 技术采集人脸视频图像. VFM 库函数是微软公司为开发Windows平台下的视频应用程序提供的软件工具包,它提供了一系列应用程序编程接口(API) ,用户通过它能方便地实现视频捕获、视频编辑及视频播放等功能.VFM 的视频采集功能主要包括捕获视频流、捕获视频流至缓存、捕获视频流至AVI 文件、本地浏览和捕获单帧预览等. VFW 主要由6 个模块组成,其中AVICAP 模块主要实现处理视频捕获功能,为AVI文件输入输出和视频、音频设备驱动程序提供一个编程接口;MSVIDEO 模块主要实现视频捕获窗口与驱动设备连接起来,支持ICM 视频编码服务.AVICAP 实现实时视频捕获的一般流程: 

  (1) 创建视频捕获窗口; 
  (2) 注册系统回调函数;
  (3) 获取有关视频捕获窗口的缺省设置; 
  (4) 设置捕获窗口相关参数;
  (5) 与视频采集设备连接;
  (6) 设置捕获窗口显示模式; 
  (7) 捕获视频到缓存或文件并进行相应处理; 
  (8) 终止视频捕获并断开与视频采集设备的连接。

  3. 2 人脸检测技术 

  人脸检测是指在输入图像中判定是否存在人脸,如果存在的话,确定所有人脸的位置、大小、姿态的过程. 为了提高人脸的检测速度,文中采用Ad2aBoost 算法 来进行人脸检测. AdaBoost 算法最早由Freund 和Schapire在1996 年提出,目前Ad2aBoost 广泛应用于人脸检测、数据挖掘、机器学习等领域。

  AdaBoost 算法是一种迭代方法,通过从大量的弱分类器中选取最具有分类意义的组合成一个强分类器,目的是为了提高检测的精确度. Viola 等提出了积分图像概念和基于AdaBoost 方法训练人脸检测分类器的方法如图2 所示,该方法使用图像的矩形特征作为分类的依据,为了有效地排除大量的非人脸窗口,整个分类器由多级子分类器级联而成. 每级分类器对应一个Harr 特征. 输入的待检测窗口将被逐级验证. 如果其中的分类器将其验证为非人脸,则立即排除,不再进入下一级分类器验证.Viola 等人提出的AdaBoost 方法,不仅检测效果好,而且检测速度达到15fps ,该方法易于实现,在实际系统开发中得到了广泛的应用. 限于篇幅,具体算法见文献. 最终得到的强分类器CFINAL ( x) 为 

   式中, C( x ) 为弱分类器, a= log (1/β) ,具体含义是当已经提取的分类器对于某些样本分类正确, 那么减小这些样本的权重(βi 变小) ;当分类错误,增加样本的权重(β变大) . 这样,后面训练提取的简单分类器就会更加强化对这些分类错误样本的训练。 

{$page$}

  3. 3 人脸动态采集与人脸库的构建 

  系统采集每人的10 幅有一定差别的正面人脸图像,保存到训练库, 图3 是动态采集某个人员10副照片的图例. 在对同一个人脸采集10 个样本的过程中,如果后面采集的人脸与前面采集的相似度很高,则认为此次采集的人脸已经在训练库中存在,不保存结果并继续采集, 直到采集相似度较高的图像为止,然后保存到训练库中. 相似度的计算如式(2)所示,式中f i 和f j 分别表示第i 和j 个人脸,其中f i= ( ui1 , ui2 , ?, uip) . 最后在训练库中, 同一个人的不同样本归为相同的类, 不同的受考勤人员的样本属于不同的类。

  3. 4 维数约减与特征提取 

  人脸图像是高维的数据,并且在高维空间分布很不紧凑,计算复杂度高,为此,需要对高维的人脸数据进行维数约减. 常见的维数约减方法有主成分分析( PCA) 、独立成分分析( ICA) 、线性判别分析(LDA/ FDA) 、非负矩阵因子(NMF) 、多维尺度分析(MDS) 、核主成分分析( KPCA) 、核Fisher 判决分析(KFDA) 、流形学习(ML) 等方法. 考虑到本系统在考勤时人脸图像基本上是正面人脸,因此采用PCA方法对人脸图像进行降维、特征提取并最终识别出人脸。Kirby 和Sirovich[6 ]首先把PCA 思想引入到人脸识别; Turk 和Pentland[7 ] 进一步发展为特征脸(Eigenface) 方法,用于正面的人脸识别,并取得很大成功. PCA 是基于DKL T (离散K - L 变换) 的人脸识别方法,DKL T 变换是图像压缩的一种最优正交变换,其生成矩阵一般为训练样本的总体散布矩阵.高维的图像空间经过DKL T 变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以组成低维线性空间. PCA 是一种简单、快速、实用的基于代数特征的多元分析技术,保留了人脸部件之间的拓扑关系,也保留了各器官部件的信息,目前得到广泛的应用。

  PCA 的目的是通过线性变换找一组最优的单位正交向量基(即主成分) , 用它们的线性组合来重建原样本,并使重建后的样本和原来样本的均方误差(MSE) 最小. 假定有N 个样本x k ( k = 1 ,2 , ?, 
N) ,所有样本的均值为E( x) , 则x 的协方差矩阵 

  令u1 , u2 , ?, un 和λ1 ,λ2 , ?,λ分别是S 的特征向量和特征值,并且λ≥λ≥ ?λ. 然后将协方差矩阵S 分解成: 

  式中, U = [ u1 , u2 , ?, u] ,Ω = diag (λ1 ,λ2 , ?,λn) 选择最优的m ( m < n) 个非零特征值作为主成分,并使得均方误差(MSE) 最小. 令Wopt = [ u,u2 , ?, u] , 则原空间的样本就可以在低维主成分子空间上的投影系数用来描述:  

  3. 5 相似度匹配及阈值确定 

  对人脸图像进行特征提取后,接着进行相似度度量. 常见的相似性度量有基于距离的方法、基于概率的方法和基于熵函数的方法,其中基于距离的方法中,有Euclidean 距离、Manhattan 距离、Hamming距离、Chebychev、s 阶Minkowski 等方法. 在基于几何特征的识别方法中,通常利用特征矢量之间的距离函数进行度量. 针对本系统得到的特征矢量信息,采用Euclidean 距离的方法来计算待识别人脸与训练样本的距离. 根据相似度计算的结果,如果相似度大于给定的阈值δ,则系统判定现场采集的人脸与事先采集的人脸图像为同一个人,并在数据库中记录考勤的日期、上班时间等信息. 考勤时人脸相似度阈值δ确定的依据来源于人脸采集时的样本相似度值,以克服人为因素设定阈值的随意性,确保阈值取值的合理性. 

  4 实验结果及分析 

  动态人脸考勤系统采集了天思智能系统研究所50 位博硕士生的各10 幅图像进行识别实验,结果表明系统一次性识别率达到为96 % ,主要原因在于: (1) 人脸训练库比较小、人员固定; (2) 要求考勤时人脸正面或近似正面对准摄像头; (3) 通常情况下用户在考勤时候姿态、表情都是正常情况,没有太大变化,也没有复杂背景及夸张性的化妆等情况,所以识别率很高。

  5 结束语 

  文中设计并实现了基于Adaboost 和主元分析法(PCA) 的动态人脸识别考勤系统. AdaBoost 算法选择多个弱分类器构成强分类器,提高人脸的检测速度;PCA 算法实现从高维特征空间到低维特征空间的降维压缩处理,提取出高维人脸图像在低维空间的特征描述,实现人脸识别,最终实现考勤管理.系统运行结果表明,动态人脸识别考勤系统具有人脸识别动态性、识别率高、实用性好、可靠性强等特点. 下一步的工作是进一步优化人脸特征的选择和提取算法,提高识别的速度和系统的性能。