- 3.92 MB
- 2022-05-17 12:55:12 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
基于人脸识别的门禁及考勤管理系统应用结构设计第一章绪论1.1课题研究的背景与意义门禁/考勤是每个单位物业/人事管理工作中的重要组成部分。随着计算机技术的飞速发展,各种打卡机、磁卡考勤机、IC机的不断出现,代替了传统的人工门禁/考勤方式,使门禁/考勤管理进入一个新时代。近年来,由于生物识别具有便于携带、不会丢失、不会遗忘、不会被借用或盗用等特点,生物识别技术被引起重视和广泛的应用。人脸识别技术作为生物识别技术中的一种,它具有直接、友好、方便的特点,易为用户所接受,因此成为了身份验证的最理想依据。目前,国际上掌握比较先进的人脸识别技术的国家有美国、德国、加拿大、以色列等。其中,美国A4Vision产品,FAR(错误接受率):0.12%,FRR(错误拒绝率):9.79%,姿态变化识别率:23%,面部头发遮挡识别率:50%,头部遮挡识别率:低于5%,弱光线识别率:低于5%。我国在这一领域也已处于较为领先的地位,其中由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家"十五"攻关项目―人脸识别系统,识别率大于80%。国内,深圳科佳科技集团的KOM-V620人脸识别考勤系统,航天金盾公司的航天人面考勤系统等考勤速度已小于1秒,准确率均在96%以上。随着人脸识别技术的进一步发展,相信如果在人脸姿势变化、特征部分遮挡、年龄变化、光照变化等降低识别率的方面得以技术突破,更多的识别率高、响应速度快的基于人脸识别技术的考勤系统产品将不断涌现。虽然人脸识别有很多其他识别无法比拟的优点,但是它本身也存在许多困难。人脸识别被认为是生物特征识别领域甚至人工智能领域最困难的研究课题之一。人脸识别的困难主要是人脸作为生物特征的特点所带来的。人脸在视觉上的特点是:第一,不同个体之间的区别不大,所有的人脸65
的结构都相似,甚至人脸器官的结构外形都很相似。这样的特点对于利用人脸进行定位是有利的,但是对于利用人脸区分人类个体是不利的;第二,人脸的外形很不稳定,人可以通过脸部的变化产生很多表情,而在不同观察角度,人脸的视觉图像也相差很大,另外,人脸识别还受光照条件(例如白天和夜晚,室内和室外等)、人脸的很多遮盖物(例如口罩、墨镜、头发、胡须等)、年龄等多方面因素的影响。在人脸识别中,第一类的变化是应该放大而作为区分个体的标准的,而第二类的变化应该消除,因为它们可以代表同一个个体。通常称第一类变化为类间变化(inter-classdifference),而称第二类变化为类内变化(intra-classdifference)。对于人脸,类内变化往往大于类间变化,从而使在受类内变化干扰的情况下利用类间变化区分个体变得异常困难。因此,本课题研究的目的就在于力求使人脸识别在姿势变形、光照变化等方面增强其容忍度,提高识别率,并在此基础上建立一套实用的门禁/考勤系统。该基于人脸识别技术的门禁/考勤系统,要使数据采集、数据统计和信息查询过程自动化,方便员工上班报到及管理人员统计、考核员工出勤情况,能准确反映出某天或者某月的个人、部门或者整个单位的考勤状况,为管理人员提供准确的考勤数据。并且,数据要客观公正、计算准确可靠,能有效防止迟到、早退、旷工等不良现象的发生。同时也要最大限度地避免人为因素的干扰,体现考勤管理制度的公开、公平性,杜绝代打考勤等人情化现象。此外,使用基于人脸智能识别的手段以获得相对准确的进出人员资料,对个别安全场所及重要区域来说是必不可少的。从而使管理效率大大提高,促进管理的正规化、规范化和科学化,进而为各单位管理提供科学、可靠的门禁/人事考勤管理手段。因此,课题的成果将具有广阔的产品化前景。1.2基于人脸识别技术的门禁考勤研究现状人脸识别是一种最自然的机器身份识别方式,人脸是可塑性变形体,加之受到光照、姿势、表情变化、饰物、背景等因素的影响,识别的准确度受到很大限制。同时人脸识别还涉及到图像处理、计算机视觉、模式识别、等领域。所以,人脸识别是一项非常艰巨的任务,目前,主流的识别方法有:①65
基于特征的方法,包括几何特征方法、代数特征方法等(如:Brunelli等利用人脸边缘图的积分投影提取了人脸几何特征,并提出用灰度模板来表示人脸几何特征的方法;Turk等采用特征脸(Eigenfaces)方法实现人脸识别;Pentland等提出对于眼、鼻和嘴等特征分别建立一个特征子空间,并联合特征脸子空间的方法获得了好的识别结果。)②基于模板的方法,包括模板匹配方法、弹性图匹配方法等(如:Nastar等提出将人脸图像表示为可变形的3D网格表面,将人脸匹配问题转换为曲面匹配问题,取得一定技术突破。)③基于模型的方法,包括形变模型方法、支持向量机方法、隐马尔可夫模型方法等(如:Lanitis等通过在人脸特征边沿选择一些稀疏的基准点描述人脸的形状特征,然后将形状变形到所有人脸图像的平均形状,最终得到描述人脸的AAM(ActiveAppearanceModel)模型。通过改变参数可得到不同变化的人脸图像,模型参数能够用于人脸识别。)其中,弹性图匹配方法将作为本课题选择的主要技术方法运用于基于人脸识别技术门禁/考勤系统开发中。目前,本课题组已完成了国家自然科学基金项目“远程协作系统中感知处理技术的研究”(60273040)、国家教育部科学技术研究重点项目“远程协作系统支撑环境关键技术的研究与应用”(01040)和江苏省高校自然科学基金课题“远程协作系统中人—人界面关键技术的研究”(02KJB520003),研究出了基于肤色和脸部特征的视频序列中实时人脸检测与跟踪方法,研究了采用Fisher变换、奇异值分解(SVD)和隐马可夫模型(HMM)的唇动检测与唇语识别方法,开发出了相应的原型系统。其中基于视频图象的目标检测、运动跟踪、特征提取与识别给面部特征点的检测与定位、视频人脸特征的提取与识别提供了可借鉴的方法和可使用的原型系统,而对SVD、HMM等特征提取与识别方法的研究以及开发的“具有年龄变化的人脸识别原型系统”,更是为探索人脸特征的提取方法与识别工具开发积累了经验,为基于人脸识别的门禁/考勤系统的产品化提供了良好的技术储备。目前,虽然国内外已出现了一些商业化的基于人脸识别技术的考勤系统,但由于其技术方案原因,对于人脸姿势变化、光照变化等容忍度差,识别率低;加上出现海量图像搜索匹配灾难,实时响应差。65
本课题将采用基于小波变换的图像预处理技术,提高系统对光照变化的容忍度;采用基于弹性图匹配方法的人脸识别确认,提高系统对人脸姿势、方向变化的容忍度;采用卡式与人脸识别相结合的方法,有针对性地进行人脸匹配识别,解决海量图像搜索匹配灾难问题。1.2.1人脸识别的研究进展人脸识别最早可以追溯到1888年,但人脸识别的真正研究始于20世纪60年代末,Bledsoe以人脸特征点的间距、比率等参数为特征,建成了一个半自动的人脸识别系统。人类在长久的认知活动中,往往将人脸作为区分一个人的重要手段。人脸是人体中一个极为普通、复杂而又具有很强表征性的器官,每个人脸都有自己独特的特征。与其他身份鉴别方法相比,人脸识别具有直接、友好、方便、用户接受程度高和鲁棒性强等特点。人脸特征信息可以直接使用,不易被盗用或假冒,并且成本很低。人脸识别的发展按照其自动化的程度可以分为三个阶段:第一阶段是机械式的识别阶段。以Bertillon、Allen和Parke为代表,主要研究人脸识别所需要的面部特征,在Bertillon的系统中,用一个简单的语句与数据库中某一张脸相联系,同时与指纹分析相结合,提供了一个较强的识别系统;为了提高脸部识别率,Allen为待识别脸设计了一种有效和逼真的摹写;Parke则用计算机实现了这一想法,并产生了较高质量的人脸灰度图模型。这一阶段工作的特点是识别过程全部依赖于操作人员,显然这不是一种可以完成自动识别的系统。第二阶段是人机交互式识别阶段。代表性工作有:Gold-stion,Harmon和Lesk用几何特征参数来表示人脸正面图像,他们采用21维特征向量表示人脸面部特征,并设计了基于这一特征表示法的识别系统;Kaya和Kobayashi则采用了统计识别方法,用欧式距离来表征人脸特征,如嘴唇与鼻之间的距离,嘴唇的高度等;更进一步地,T.Kanad(M.Nagao)设计了一个高速且有一定知识导引的半自动回溯识别系统,创造性地运用积分投影法从单幅图像上计算出一组脸部特征参数,再利用模式分类技术与标准人脸相匹配,Kanad的系统实现了快速、实时的处理,是一个很大的进步。这个阶段虽然需要利用操作员的某些先验知识,但仍然摆脱不了人的干预。第三阶段是真正的机器自动识别阶段。近十余年来,随着高速度高性能计算机的发展,人脸模式识别方法有了较大的突破,提出了多种机器全自动识别系统。这一阶段识别率和自动化程度得到提高。目前国内外用于人脸识别的方法层出不穷。但是根据人脸表征方式的不同,通常将人脸正面自动模式识别技术分为三大类:基于几何特征的识别方法、基于代数特征的识别方法和基于连接机制的识别方法。65
(1)基于几何特征的人脸自动识别方法这类识别法将人脸用一个几何特征向量表示,用模式识别中层次聚类的思想设计分类器达到识别目的。这就要求选取的几何特征向量具有一定的独特性,能够反映不同人脸之间的差别,同时又具有一定的弹性,以消除时间跨度、光照等的影响。几何特征向量是以人脸器官的形状和几何关系为基础的特征向量,其分量通常包括人脸指定两点间的欧式距离、曲率、角度等。人脸器官的关键点分别对应不同的积分投影方式产生出的波峰波谷,根据人脸结构的先验知识,可以得出人脸各器官之间的几何位置关系。(2)基于代数特征的人脸自动识别方法这类识别法仍然是将人脸用特征向量表示,只不过用的是代数特征向量:即人脸图像在由“特征脸”张成的降维子空间上的投影。基于代数特征识别的主要原理是利用统计特征提取,从而形成子空间进行模式识别。(3)基于连接机制的人脸自动识别方法这类识别法将人脸直接用灰度图(二维矩阵)表示,利用了神经网络的学习能力及分类能力。这种方法的优势在于保存了人脸图像中的材质信息及细微的形状信息,同时避免了较为复杂的特征提取工作。而且,由于图像被整体输入,符合格氏塔(Gestalt)心理学中对人类识别能力的解释。根据人脸比对识别技术在现实生活中应用,国内外主要有以下几个方面:(1)德国的SiemensNixford高科技公司开发的视频入口控制系统,是一个配合卡片使用的入口控制系统,可用于自动取款机,也可以代替计算机常用的入口口令。(2)清华大学研制成功的“人脸识别系统”与2000年12月23日通过了公安部部级鉴定。(3)2005年4月,作为中国半导体与信息科学的奠基人之一,中科院王守觉院士研究出“人脸仿生模式识别防盗银行卡”产品,实现银行取款机从“认卡”到“认人”的开创性革命——柜员机见到储户才会“吐钱”,这一科技将造福于目前已拥有10亿张普通银行卡的亿万中国百姓。(4)上海银晨智能识别科技有限公司研究开发出的“银晨嵌入式人脸识别出入口控制系统”把人脸比对识别技术和考勤门禁系统结合起来,但是并没有做到实时比对识别,而是前端控制器控制摄像头进行打卡拍照,后台进行人工手动识别。人脸识别就是针对从生物传感器得到的图像中,判断有没有人脸并且有没有需要的人脸。一般的研究步骤和内容如下:65
(1)人脸的描述:人脸描述是人脸自动识别中的一个核心问题,它在一定程度上决定了人脸识别的具体方法及其性能。计算机对人脸进行检测,识别甚至表情分析,很重要的一点就是如何合理地表示人脸。所有的已知人脸必须以一定的格式存储起来,表示的本质与识别时的匹配策略相互影响。目前常见的两种表示方法是:特征向量法和二维灰度图象表示法。(2)人脸检测:即从不同的场景中检测出所有人脸的存在并确定其具体位置和主要特征的位置。其方法大致可分为基于统计和基于知识两类。前者将人脸图像视为一个高维向量,从而将人脸检测问题转化为高维空间中分布信号的检测问题;而后者则利用人的知识建立若干规则、从而将人脸检测问题转化为假设验证问题。这一任务受光照、噪声、头部倾斜度以及各种遮挡的影响。(3)特征提取:即确定表示检测出的人脸和数据库中的已知人脸模板的描述方式。具体的特征形式随识别方法的不同而不同。早期研究较多的静态人脸识别方法有基于几何特征的人脸识别方法和基于相关匹配的人脸识别方法。目前,静止图像的人脸识别方法主要有三个研究方向:一是基于统计的识别方法,包括特征脸方法和隐马尔克夫模型方法;二是基于连接机制的识别方法,包括一般的神经网络方法和弹性图匹配方法;三是其他一些综合方法或处理非二维灰度图像的方法。通常的表示方法包括几何特征(如欧式距离、曲率、角度)、统计特征(如矩阵特征矢量)、固定特征模板、特征脸、云纹图等。(4)人脸识别:就是将待识别的人脸与数据库中的已知人脸比较,得出相关信息。这一过程的核心是选择适当的人脸表示方式与匹配策略。在匹配策略上,常见的有最近距离法、支持向量机方法、神经网络的方法等等。(5)表情分析:即对待识别人脸的表情进行分析,并对其加以分类。(6)物理分类:即对待识别人脸的物理特征进行分类,得出其年龄、性别种族等相关信息。1.2.1人脸识别的发展趋势人脸识别是一个跨学科富挑战性的前沿课题,目前的很多方法仍停留在研究阶段,其识别效果离实用还有较大的差距,要开发一个在无约束环境下自动识别人脸系统,人脸识别系统的研究应着重在以下三个主要技术环节进行突破:(1)实时人脸检测与定位:由于人脸模式的多样性和图像获取过程中的不确定性,人脸在图像空间中的分布非常复杂,建立人脸在高维图像空间中的精确分布模型是一件非常困难的事情。目前人脸检测与定位研究的一个趋势是根据具体应用的需要,对检测的环境进行合理的估计,从而简化问题,提高人脸检测与定位的准确性和实时。65
(2)视觉和非刚体特征选择与提取:识别人脸主要依据人脸上的特征,也就是说依据那些在不同个体之间存在较大差异而对于同一个人则比较稳定的度量。由于人脸变化复杂,因此特征表述和特征提取十分困难。由于人脸是非刚体的,单单使用基于刚体的人脸特征抽取方法是很难达到满意的效果。其次,人脸识别被认为是人类视觉中独特的过程,因此结合生理学和心理学的研究成果,可更有效地提取个性人脸特征。基于视觉和非刚体的人脸特征的提取是新的人脸特征提取的研究方向。(3)集成式的人脸比对识别:在进行比对识别时,不仅要考虑各种因素所导致的人脸变化,而且在容忍变化的同时,还不能损害到人脸识别的有效性。由于各种分类算法都有各自的优缺点,故将多种分类识别方法进行有效的综合和集成已成为人脸比对识别的新动向。自动人脸识别技术自20世纪90年代后期逐步进入市场,但是,这些技术和系统离实用化都有一定距离,性能和准确率有待提高。目前,自动人脸识别技术主要应用在银行安全防范管理、机场安检信息综合管理、军事单位出入控制管理、公安刑事侦缉等需要高保密性,安全性的国家部门与管理机构,还没有真正普及到民用领域。民用领域的人脸识别系统的研究与开发将倍受关注,如企业员工人脸考勤系统、重要场所的人脸门禁系统等。1.3课题的主要工作(1)人脸识别诸技术的比较性研究由于人脸识别技术迅猛发展,涌现出了大量人脸识别的关键性技术,如何在这些技术中能够根据考勤系统特定要求,选择一种或几种技术的组合,是本课题亟待解决的问题。在大量的分析和研究基础上,我们采用了基于弹性模板匹配和SVM的分层次人脸比对识别方法。(2)研究能够提高人脸识别率和响应速度的识别算法由于人脸是可塑性变形体,加之受到光照、姿势、表情变化、饰物、背景等因素的影响,识别的准确度受到很大限制;另外海量图像搜索匹配灾难的出现,使得人脸识别的实时响应差。实验证明,基于模板匹配和SVM的分层次人脸比对识别方法获得了较高的识别正确率,响应速度快,可满足实时要求。(3)基于人脸识别技术的门禁/考勤系统体系的构建基于人脸识别技术的门禁/65
考勤系统要作为一项可商品化的实用系统使用,就必须充分考虑客户的需求,使产品科学化、人性化,方便客户使用,从而为客户所在单位的管理提供科学、可靠的门禁/人事考勤管理手段。基于这一点,课题对整个系统体系做出科学合理的规划,并设计实现了完整的基于人脸识别技术的门禁/考勤系统。65
第二章系统整体结构本系统采用C/S体系结构,以数据库服务为服务器端,其他均为客户端。如下图:一个摄像头和一台客户端主机(门禁/考勤机)以及一个刷卡器共同组成一个门禁/考勤检查点。刷卡器与门禁/考勤机相连,通过员工的刷卡,可从服务器端搜索并定位其相关人脸图象。摄像头用来捕获员工脸部画面,并通过接口传送给门禁/考勤机;门禁/考勤机对输入的图像进行分析,提取脸部特征,送服务器端并与库内已定位待识别的员工人脸图像进行相应的识别运算。若匹配则通过门禁/考勤,否则,不予通过或报警。另外,服务器还要承担门禁/考勤统计以及提供网页查询服务等功能任务。图2.1基于人脸识别的门禁/考勤系统示意图系统采用技术1)摄像头选用微软LifeCamVX-6000,其象素130万,最大分辨率为:800*600DPI,最大帧频:30FPS,传输接口:USB2.0。2)门禁/考勤机采用微机或DSP,与刷卡器和摄像头相连。3)门禁/考勤机与服务器、各部门的机器与服务器采用TCP/IP协议互联。4)采用C语言编程实现刷卡和人脸抓拍功能,并采用sock编程技术,实现与服务器的通信,传递卡与人脸照片信息。5)服务器根据卡号,确定库中的人脸照片,将它与抓拍到的人脸照片,进行特征比对。65
1)根据比对的结果,进行报警、统计和进行相应的处理。2.1系统结构设计整个系统包含图像采集与门禁控制模块和人脸比对识别模块。图像采集与门禁控制模块负责完成图像采集与显示输出、打卡记录、显示比对识别结果、门禁控制。人脸比对识别模块完成对采集到的图像进行识别、门禁记录查询等。图2.2系统结构图图像采集与门禁控制模块是打卡人脸识别门禁系统的前端子系统,实现人脸打卡识别系统与打卡人之间的交互,搭建在Altera公司基于FPGA的包含NIOSII软核CPU的嵌入式SOPC软硬件平台上。图2.3图像采集与门禁控制子系统65
图2.4人脸比对识别子系统2.2系统模块划分人脸比对识别子系统功能模块说明:建立样本库模块:系统监听并接受来自前端硬件的信息,包括图像数据和卡号。然后系统自动进行包括图像平滑处理,人脸检测并显示,灰度均衡化处理,并提示是否将该图像接收至数据库。在建库结束后,录入该员工的基本信息,包括姓名,性别等,同时系统将自动创建改类的平均模板并更新SVM模型。删除样本库模块:删除所选择的员工类的模版库,图像,数据库表中的基本信息;自动更新SVM模型。黑名单管理功能模块:用于对黑名单的管理,主要有人工添加黑名单,删除黑名单。删除黑名单时,可完成黑名单数据表的删除;添加黑名单,主要是增加黑名单到黑名单表;记录管理功能模块:主要用于管理员查询流水记录信息,提供按照所有人和个人两种不同的查询模式。对于每种模式,可以有:按日期查询;按月份查询;按时间跨度查询;未通过记录查询等多种组合。记录管理子系统还提供了导出数据的功能。可以将数据库和流水图像数据导出备份;清空数据,主要是数据库中的流水记录和其对应的图像。65
启动比对功能模块:监听并接收前端硬件发送的实时图像数据和卡号,并自动完成图像与处理,人脸检测,人脸比对,显示图像,发送反馈结果,显示反馈结果,保存实时图像数据和记录进入数据库等操作。如果验证通过,则主界面会显示PASS,失败则会显示FAIL。65
第三章图像采集与门禁控制子系统3.1基于FPGA的SOPC技术方案随着超大规模集成电路技术发展,可编程逻辑器件FPGA凭借其较低的投入成本,较高的并行处理速度和较大的灵活性在当前的嵌入式实时系统中得到广泛应用。由于FPGA芯片的可编程特性和强大的处理能力,利用FPGA来实现视频图像采集与显示系统有很大的优越性;同时使用SOPC(SystemOnProgrammableChip)系统来实现软硬件协同操作,可以大大提升系统性能。SOPC是一种灵活高效的SOC解决方案,市场上有丰富的IP核资源可供用户灵活选择,用以构建各种不同的系统。除了系统使用的资源外,可编程器件内还具有足够的可编程逻辑资源,用以实现附加的用户自定义逻辑。随着EDA技术的发展和大规模可编程逻辑器件性能的不断提高,以片上可编程系统技术为核心的嵌入式系统开始在众多应用领域崭露头角,代表了当今电子设计的发展方向。随着可编程逻辑技术的不断创新和发展,EDA技术发展的日新月异,硬件描述语言的不断进化,开发工具的不断完善,成熟IP的不断涌现使得可编程逻辑器件的潜力得到越来越大的发挥。系统的图像采集与门禁控制模块就是搭建在Altera公司基于FPGA的嵌入式SOPC软硬件平台上,在单片FPGA芯片中集成了处理器、存储器、I/O接口、自定义设备等系统设计需要的功能模块,构建成一个可编程的片上系统。3.2图像采集与门禁控制模块软硬件结构图像采集与门禁控制模块包含硬件设备接口设计和软件应用程序设计。硬件设计主要面向三部分外部设备,分别是以CCD摄像头、射频读卡器为代表的输入设备和以LCD屏、电锁控制为代表的输出设备,以及将采集到的人脸图像传送到人脸检测系统进行处理和识别的RS-232/RS-485通信设备。因此,硬件设计包含视频采集模块,PS2接口模块,LCD控制模块,电锁控制模块,通信接口模块。硬件结构如下图:65
软件设计包含系统初始化,中断管理,拍照控制,数据通信,电锁控制以及文本服务。软件流程如图所示。65
3.2.1动态视频采集与显示视频数据的采集与显示是人脸打卡识别门禁系统中的第一个环节,是后续工作的基础。视频图像采集是多媒体信息处理、视频监控等系统的前端子系统,是实际视频处理系统中必须考虑的部分。随着图像的数字化处理在军事、科研、工业、农业和医疗等领域得到广泛应用,许多用于图像采集和处理的芯片也相继推出,处理功能越来越强大,使用也越来越方便。数字视频日益成为一种广泛应用的媒体,视频技术的产品开发也颇具前景,而嵌入式视频采集的实现方法正是其中的关键技术。本文采用Altera公司的FPGACycloneIIEP2C35和AD公司的视频解码芯片ADV7181B的来实现嵌入式视频采集。CycloneIIEP2C3565
用于对视频采样进行控制,ADV7181B用于对输入视频信号进行A/D转换。CCD摄像头采集到PAL制式的模拟信号,通过视频采集模块中视频解码芯片ADV7181B将模拟信号转变成标准数字视频格式,把得到的数字视频信号存入帧缓存(SDRAM)中,由LCD控制器控制液晶屏显示。整个过程通过Verilog硬件描述语言,利用FPGA硬件资源来实现,以便满足实时性的要求。设计图如下:3.3.2读取身份识别卡门禁系统的非接触、感应式射频卡读卡器是门禁系统的重要组成部分,是门禁系统信号输入的关键设备。本课题使用的读卡器支持PS2接口,标准PS2设备履行一种双向同步串行协议,每次在数据线上发送一位数据并且在时钟线上发一个脉冲。课题中的射频ID读卡器,只产生设备到主机的通信,它们的数据时序图如下:当读卡器读到ID卡的数据后,以PS2串行格式输出射频卡卡号,为此课题在NIOSII系统中设计了PS2接口模块,用于读取由PS2接口输送来的卡号值,接收到有效卡号后,产生中断请求。PS2接口模块利用FPGA资源,使用硬件描述语言进行设计,并集成在NIOSII系统中。3.3.3数据通信嵌入式人机交互模块基于SOPC思想进行设计,Altera公司的SOPC开发环境本身附带了众多标准IP核,只需在工程环境中通过简单的点击操作就可以完成对相应IP核模块的添加,进而在NiosII集成开发环境中通过对硬件抽象层的库文件进行调用来实现对接口IP核的驱动。以此简化设计流程,提高开发效率。65
人机交互模块与人脸图像识别模块之间需要传送图像数据以及识别结果,利用SOPCBuilder开发环境中提供的通用异步接收器/发送器(UARTIP核)在人机交互模块与人脸打卡识别模块之间实现通信协议,完成数据通信。该IP核可以通过设置灵活改变其波特率、奇偶校验位、停止位、传输的数据位以及其他可选的流控制信号等。3.3.4中断管理和文本服务系统使用中断方式管理持卡人打卡动作。持卡人刷卡后,PS2模块产生中断请求,系统处理该中断请示执行拍照功能,并将刷卡人的照片存储在帧缓存中。在NiosII系统中,支持最多32个硬件中断,外部输入设备可以通过NiosII处理器提供的32个中断请求输入接口中的任意一个来发出中断请求。硬件中断handler会从依次查询是否有有效的中断发生;检测到有效中断时,硬件中断handler就会调用相应的中断服务程序来响应该中断;从中断服务程序返回后,硬件中断又会重新查询有效中断,直到检测不到任何有效中断时,硬件中断handler才退出。系统初始化时,需要首先对PS2接口所对应的硬件中断进行注册。为了满足所需的识别结果反馈显示功能,课题开发了相应的文本服务。事实上,每个字符都可以看做是具有一定形状的图像,形状的描述即为字符图像的数据,通常称为字模,若干个字符的字模的集合即构成一个字库。字符描述的方式基本上可分为两大类:点阵字符和矢量字符。对应字符描述方式的不同,字库也可分为点阵字库和矢量字库。本课题采取点阵字库创建方法,创建了一个16×8的ASCII码字库和一个63×39的汉字小字库,设计了相对应的字符显示程序,并且在单个字符显示的基础上开发字符串显示程序。65
第四章人脸检测与人脸图像预处理4.1概述人脸检测与人脸图像预处理是人脸识别中的一个重要的环节,是特征提取和分类识别的基础,准确的人脸检测和合理的人脸图像预处理能够提高识别率,反之将会降低识别率。人脸检测与定位是指在输入图像中确定所有人脸(如果存在)的位置与大小。人脸检测系统的输入是可能包含人脸的图像,输出是关于图像中是否存在人脸以及人脸的数目、位置、尺度、位姿等信息的参数化描述。输入图像由于图像采集环境的不同,如光照明暗程度以及设备性能的优劣等,往往存在有噪声,对比度不够等缺陷。另外,距离远近,焦距大小等又使得人脸在整幅图像中的位置和大小不确定。由于图像的质量、背景、光照以及图像中人脸的平移和旋转等都会影响人脸识别的准确性,为了保证人脸图像中人脸位置、大小和人脸图像质量的一致性,必须对人脸图像进行预处理。人脸图像预处理包括人脸图像的灰度化处理、人脸图像的尺度归一化和人脸图像的灰度均衡化。4.2人脸检测与定位4.2.1人脸检测的主要研究方法人脸检测与定位是指在任意图像中确定是否包含人脸,如果包含人脸,则需要确定每个脸部所在的位置和尺寸。作为人脸信息处理中的一项关键技术,人脸检测与定位的应用背景已经远远超出了人脸识别系统的范畴,在身份验证、基于内容的图像检索、数字视频处理、视觉监测等方面都有着重要的应用价值。人脸检测与定位的过程实际上就是对人脸模式特征的综合判断过程,包括多种方法[22]。(1)肤色模型与人脸验证的方法对于彩色图像,在确定肤色模型之后,首先可以进行肤色检测。在检测出肤色像素后,需要根据它们在色度上的相似性和空间上的相关性分割出可能的人脸区域,同时利用区域的几何特征或灰度特征进行是否是人脸的验证,以排除其它色彩类似肤色的物体。(2)基于启发式模型的方法基于启发式模型的方法首先抽取几何形状、灰度、纹理等特征,然后检验它们是否符合人脸的先验知识。Yang等提出了基于镶嵌图(mosaicimage,又称为马赛克图)的人脸检测方法。Yang等将人脸的五官区域分别划分为65
4×4个和8×8个马赛克块,使用一组规则进行检验,并且利用边缘特征进一步验证。卢春雨[26]等对镶嵌图方法进行了改进,按照人脸器官的分布将人脸划分为3×3个马赛克块,在检测中自适应地调整各块的大小,使用一组基于各块灰度和梯度统计特征的知识规则检验该区域是否为人脸,取得了较好的实验结果。(3)基于特征空间的方法由于人脸图像的复杂性,显式地描述人脸特征具有一定困难,因此另一类方法——统计模型的方法越来越受到重视。此类方法将人脸区域看作一类模式,即模板特征,使用大量的“人脸”与“非人脸”样本训练、构造分类器,通过判别图像中所有可能区域属于哪类模式的方法实现人脸的检测。(4)基于人工神经网络的方法人工神经网络(ANN)方法是把模式的统计特性隐含在ANN的结构和参数之中,对于人脸这类复杂的、难以显式描述的模式,基于ANN的方法具有独特的优势。(5)基于概率模型的方法基于概率模型方法的一种思路是计算输入图像区域region属于人脸模式object的后验概率p(object|region),据此对所有可能的图像窗口进行判别。(6)基于支持向量机的方法支持向量机(SupportVectorMachines,SVM)是Vapnik等提出的基于结构风险最小化原理(StructuralRiskMinimizationPrinciple,SRM)的统计学习理论用于分类与回归问题。SRM使VC(VapnikCherovnenkis)维数的上限最小化,这使得SVM方法比基于经验风险最小化(EmpiricalRiskMinimizationPrinciple,ERM)的人工神经网络方法具有更好的泛化能力。4.2.2肤色模型颜色是区别物体的重要特征之一。对于同一种族的人来说,其肤色具有较强的共性,并且人的皮肤颜色分布与其它物体的颜色分布一般不同,不同物体的颜色除了受光照的影响较大外,与物体的大小﹑伸缩及姿态基本上无关。利用这一点,可以快速地大致框出人脸可能存在的区域。与其它检测方法相比,利用颜色知识框出的人脸区域定位可能不够精确,但如果在整个系统实现中作为人脸检测的粗定位环节,它具有直观﹑实现简单﹑快速等特点,可以为后面的进一步精确定位创造良好的条件,已达到最优的系统性能。所谓肤色模型,也和其他的数学建模一样,即用一种代数的(解析的)或查找表等形式来表达哪些象素的色彩属于肤色,或者表征出某一象素的色彩与肤色的相似程度。65
从方法论的角度,肤色模型的获得又可以进一步的进行划分。1)色彩空间中的聚类模型这种模型主要通过色彩格式的变换,使得肤色在某一色彩或变形的色彩空间中呈良好的聚类特性,然后将这一聚类在色彩空间中的分布区域用一种简便的代数解析式加以表达。2)高斯模型和高斯混合模型这种方法主要是利用了统计学的原理,认为像肤色这样的符合正态分布的随机样本在特征空间中的分布应该符合高斯分布,而高斯分布的数学表达形式简单、直观,又是统计学中研究得比较深入的一种正态模型,所以对其加以利用具有一定的优越性。利用高斯模型来建立通用的肤色模型又可以大致分为两种做法。可以利用多个人脸样本建立起一个单纯的肤色高斯模型;也可以对每一个单个的人脸样本分别建立肤色高斯模型,然后再叠加成为一个高斯混合模型。肤色是带有人物的彩色图像中数据量相对集中且稳定的区域,比检测眼睛等面部器官具有更高的可靠性。若用肤色能定位脸,则这种检测方法具有姿态不变性、简便易行的特点。鉴于肤色在图像中的这些特点,利用肤色来检测图像中人这一类目标,如果提取的特征是稳定的话,该思路是能够被大家认可的。类似地,唇色也具有这种特点,尤其在口型识别、表情识别等系统中唇部是最感兴趣的区域,对它准确、快速地定位和捕捉,其意义不亚于识别本身。我们在人脸检测算法中加入对肤色信息的应用,其目的是希望通过在图像中进行是否是肤色的预先判断或后期验证,从而排除掉非肤色、即不可能存在人脸的区域;以达到减小搜索空间、提高人脸检测算法的时间效率、降低误报率的作用。人们经过研究发现,人的皮肤颜色具有下面三个特点:1)聚类性人的皮肤颜色分布在色彩空间中很小的一个范围内。2)亮度相关,色度无关不同人种的肤色区别主要受亮度影响,受色度影响较小,通过彩色的亮度归一化或色彩空间的转换,不同人之间的肤色和唇色的差异能得到明显的减弱。3)在一定的光照条件下,人的皮肤颜色在归一化RGB颜色空间符合高斯分布,即归一化后的三种颜色分量分别为a=R/I,b=G/I,c=B/I,且I=R+G+B,a,b分别为一高斯分量。我们知道,彩色图像在RGB空间的[R,G,B]值不仅代表色彩同时也表示亮度,RGB三体之间存在着很大的相关性,因此,RGB彩色空间不适于表征物体的颜色特征。肤色建模选择YUV色彩空间。我们注意到YUV色彩空间具有如下一些优点:(1)YUV色彩格式具有与人类视觉感知过程相类似的构成原理。(2)YUV色彩格式被广泛的应用在电视显示等领域中,也是许多视频压缩编码,如MPEG、JPEG等标准中普遍采用的颜色表示格式。65
(3)YUV色彩格式具有与HSI等其他一些色彩格式相类似的将色彩中的亮度分量分离出来的优点。(4)相比HSI等其他一些色彩格式,YUV色彩格式的计算过程和空间坐标表示形式比较简单。(5)实验结果表明在YUV色彩空间中肤色的聚类特性比较好。由RGB空间向YUV空间转换的公式如下:(4—1)Y分量表示颜色的亮度信息,两个色差信号U和V分量相互正交,称为色度信号。我们看到的彩色信号可以看成是由亮度信号和色度信号两部分复合而成。色度信号U和V在二维平面空间中形成一个二维矢量,其模值Ch代表彩色的色饱和度,体现了R,G,B的大小;而相位角φ代表色调,体现了R,G,B三者的比例。其中模值Ch和相位角φ定义如下:(4—2)图4.3直观地反映了彩色信息在UV平面上的分布。图4.3彩色信息的UV空间矢量图进一步研究发现,我们企图寻找不因人的改变而改变的肤色空间、唇色空间,实际上,就是要在色度的UV平面上寻找一个适当的相位角Φ,使得肤色值或唇色值能够相对集中地体现在某个轴上,即用这样的坐标轴(空间)来表现数据,能得到肤色或唇色的最强体现。65
为了使我们的方法不仅适合不同肤色的人脸检测,而且也适合于其他特定的目标检测,因此要对待检测的人脸图像进行实时学习,选取不同角度视频捕捉的人脸图像作为学习样本,交互标注出人脸范围,从而建立起实时肤色模型。由于皮肤颜色具有空间聚类性,相对于整个色彩空间而言仅是一个小的区域,利用颜色直方图的方法,根据聚类分布特点,可知二维直方图呈明显单峰,据此可建立人脸肤色模型。算法如下:统计采集到的多幅彩色图像中指定区域各像素点的(R,G,B)值,利用RGB彩色空间与YUV彩色空间的转换关系,得到像素点在YUV空间的对应像素值(Y,U,V),在平面二维UV坐标系中统计所得的数据,并将U,V值转换为相位角Φ,为了忽略边缘不连续区域,我们考虑不同相位角Φ所对应的像素点的个数,以个数最多的相位角Φ为基准,保留Φ概率分布在最大值的0.9~1.2范围内的坐标点,就可以得到肤色在二维坐标系中的聚类区域,最后对多幅图像求模型的平均值,就建立了这些图像所对应的人脸肤色的Φ模型。在后继的实验中我们发现,用同样方法加入肤色Cb模型后,人脸分割的准确性提高了,所以为了提高检测速度和效率,根据相同的原理,我们再建立肤色在YCbCr色彩空间的Cb模型。由RGB空间向YCbCr空间转换的公式如下:(4—3)例如,对于如下采集到的多幅彩色图像,建立框出区域的肤色模型。图4.4采集到的彩色图片对于以上这组图像建立的肤色模型为:&&Cb为了验证该算法的正确性,我们选用标准人脸库中的图片进行实验。例如,对于下面这组标准人脸库中的图片,用上述的方法可以得到它们的肤色模型。65
图4.5Internet上下载的图片得到的肤色模型为:&&Cb,这个结果与高文等人的肤色模型完全相符,所以我们提出的建模方法是可信的。需要说明的是:由于光照条件和采集设备的原因,对不同的图像来说,其肤色相位角Φ和Cb分量的分布会随之而改变,这从我们上面给出的两个实例可以看出。在实验室灯光下,用我们采集到一组图像建立的肤色Φ模型为:&&Cb。它更适合于后继的人脸检测,因为在我们研究的实时视频人脸检测中,肤色建模与检测是两个连续过程,两者是在同一环境下进行的,即我们的建模过程也是实时的,因此采用我们的实时建立肤色模型并进行人脸检测的方法鲁棒性好。4.2.3基于二维投影的快速人脸分割算法在肤色模型确定的情况下,人脸区域分割的算法在肤色分割预处理中起到核心性的作用。人脸区域分割将彩色图像中的肤色区域从原图像中分割出来,我们称其为肤色候选区域。之后人脸区域的检测确认就是在选出的候选区域中进行的,这样不用在整幅图像中搜索,大大降低的时间和空间复杂度,提高了效率。对于一个好的分割算法有如下要求:65
(1)分割得到的一系列矩形应该尽可能地包含待检测图像中的所有人脸。对于距离较近或者是有与其他肤色接触的多个人脸,分割后得到的肤色区域自然区域较大或者是连在一起,这时可以用一个矩形区域覆盖它们。根据前面对肤色分割预处理的分析可知,不漏检、不降低正确率是整个肤色分割预处理的前提,也是人脸区域分割算法的首要前提。再加上前面对肤色模型的分析,无论什么样的肤色模型都存在着判断失误的现象,所以这第一点要求(即算法输出的一系列矩形应该尽量包含所有的人脸区域)便显得尤为重要。(2)分割得到的一系列矩形应该少包含非肤色区域,也即相对原来的整幅图像,经过肤色分割预处理后的这一系列矩形的大小要明显小于原来的整幅图像。这也正是肤色分割预处理能够提高人脸检测算法的时间效率的原因;也是肤色分割预处理能够降低误检率的关键。根据对肤色区域分割算法结果的要求,也就是对于算法本身的要求,为此,我们这里提出了一种新颖、快捷、鲁棒的人脸区域分割算法。采用了将基于象素点的方法和基于区域的方法相结合的算法:基于象素点的方法主要用于前期初始矩形序列的产生,争取快速的得到包含人脸区域的外接矩形;然后用基于区域的方法,全局考虑,对初始矩形序列进行区域归并,得到最终的输出矩形。对于算法的整体流程,我们用图4.6来表示。输入经过肤色分割的二值图像像素密度卷积去除孤立噪声点数学形态学算子填充非连通区投影法确定各连通区域起始点区域归并处理输出各候选区域包围盒图4.6分割算法流程首先,根据建立的肤色模型,将输入的彩色图像用肤色分割成黑白二值图像。由于光照、采集设备等的影响,二值图中会存在部分噪声。为了增强图像质量,加快后继的区域分割,要对图像进行去噪声处理,分别去除孤立噪声点和面积很小的干扰区域。然后,采用二维投影法将经过去噪的二值图像进行区域分割和归并,最后得到分割后各候选区域的包围盒。我们采用了基于象素“密度”的滤波方法来去除噪声。这是一种类似“卷积”的滤波方法。直观的讲,就是在以每一个肤色象素为中心的邻域内统计肤色象素的个数,超过给定阈值时中心点保留为肤色,否则认为是非肤色。若考虑8邻域,则图像密度的计算式如下:65
-(4—4)若考虑4邻域,则计算式为:(4—5)利用图像密度可以首先除去由于孤立象素点产生的噪声。去除孤立点噪声后的二值图像中大块区域的边缘仍较模糊,还需考虑区域弥合问题。为了后继区域合并算法能得到正确的区域范围,再对图像进行数学形态学处理。其中腐蚀操作用于增强边缘,去除毛刺点。膨胀操作用于填充脸部非肤色区域,使整个脸部非填充区域尽可能变小。在得到了去噪声后的二值图像后,我们就可以提取出肤色区域了。为提高人脸区域提取算法的速度,我们设计了基于二维肤色个数投影的快速肤色区域分割算法。主要思想如下:1)将形态学处理后的二值图像作水平方向的投影,H表示其水平投影的结果,显然H为一维数组,数组长度即为二值图的宽度。(4—6)其中,分别表示二值图像的宽度和高度,g(x,y)表示二值图中(x,y)处像素点的灰度值。2)由水平投影图可以看出,投影图中突变的地方分别对应着侯选区域的起始边界。对数组元素逐个检测,每当出现数据值发生跳变(即出现不连续区域)时,就记下该点所对应的x坐标值。如果是从0变为非0,则记为白色起始点,如果是从非0变为0,则记为白色终止点。为了排除毛刺点和不应出现的不连续中断点,考察前一白色终止点与下一白色起始点的距离,如果该距离大于某一阈值α,则认为出现了新的候选区域,否则认为该不连续由于干扰所致,应将这两区域合并。这样扫描完的所有元素后可以得到各肤色候选区域在水平方向的起始和终止坐标,及水平方向的分区个数horiNum。实验中取α=5。3)对上述得到的二值图水平方向的各个分区逐一进行如下操作:将该区域的图像作垂直方向的投影,Vnum表示其垂直投影的结果(num=1….horiNum),显然Vnum也为一维数组,数组长度为二值图像的高度。(4—7)每个也按与2)类似的方法进行区域的划分与合并。最后可以得到各肤色候选区域垂直方向的起始和终止坐标。4)根据各个肤色候选区域的水平、65
垂直方向起始与终止坐标,记下原彩色图像上相应的矩形框位置,就得到肤色候选区域的包围盒。一般情况下假定图像中只包含一个人脸,并且脸部所占的图像面积较大。人脸检测的部分实验结果如图4.7所示。从图4.7可以看出该算法具有很强的鲁棒性,对头部姿势没有严格的要求,在头部存在一定平面和非平面倾斜的时候也能较好的检测出人脸的位置。图4.7基于肤色模型的人脸检测结果4.3人脸图像预处理4.3.1人脸图像的灰度化处理通常得到的人脸图像一般可分为彩色图像和灰度图像。彩色图像的象素点是由(红色)、(绿色)、(蓝色)三元色混合而成,不同含量的组成不同的颜色。灰度图像则只含有亮度信息,不含有色彩信息的图像,其亮度是连续变化的。颜色模型是基于笛卡尔坐标系统,三维空间的三个分轴分别对应三基色。任何颜色都能用三维空间中的第一象限中的一个点表示,该点的三维坐标即为其颜色值。在65
颜色空间的原点上,三基色均为0(没有亮度),即原点对应黑色;而离原点最远的顶点上,三基色都达到其最大值(最高亮度),表现为白色。因此,从黑到白得灰度值分布在从原点到离原点最远顶点的对角线上,而色彩立方体内的其余各点则分别对应不同的颜色,可用从原点到该点的矢量表示。灰度图(Grayscale)是指只含亮度的信息,不含色彩信息的图像,就象平常看到有暗到明的黑白照片,变化是连续的。因此,要表示灰度图,就需要把亮度值进行量化。通常划分为0到255共256个级别,0最暗(全黑),255最亮(全白)。利用色彩图像的颜色信息进行识别往往受到复杂背景(特别是肤色背景)影响,存在很多缺陷。灰度图像则易于处理且大多数经典的图像处理方法都是基于灰度图像的,所以灰度图像使用比较方便。图像数据即调色板索引值也就是实际的RGB亮度值;另外因为是256个级别,所以图像数据中一个字节代表一个像素。如果是彩色的256色图,图像处理后有可能产生不属于这256种颜色的新颜色,所以,图像处理一般采用灰度图。人脸识别的研究一般以灰度图像为研究对象。对于彩色的脸像,可对其首先进行灰度化处理。灰度化就是使彩色的R(红)、G(绿)、B(蓝)分量相等的过程。由于R,G,B的取值范围是0~255,所以灰度的级别只有256级,即灰度图像仅能表现256种颜色(灰度)。常见灰度化处理方法主要有以下3种:1、最大值方法使R、G、B的值等于3个值中最大的一个,即:(4-8)2、平均值法使R、G、B的值等于三个值的平均值,即:(4-9)3、加权平均值法目前广泛采用的颜色信息表达方法都是建立在T.Young1802年所提出的理论基础之上的。该理论指出,任何色彩都可以用3种基本颜色按不同的比例混合而得到,即:(4-10)其中R、G、B分别表示三基色,a、b、c分别表示权值。在得到的人脸图像彩色图像时,将其转换为灰度图像,使得人脸特征提取与识别更为有效。本文使用的是第三种灰度化方法,将彩色图像转换成灰度图像,其转换公式如下:65
(4-11)其中分量Y为颜色的明视度(Luminance),即亮度(Brightness),也就是为图像的灰度值(Grayvalue),U和V是指色调。因为基于灰度的图像处理可不用U和V这两个分量,故我们对人脸图像处理时,都是针对灰度分量Y进行处理。4.3.2人脸图像的尺度归一化尺度归一化的思想是将尺寸各不相同的人脸图像变换为统一的标准尺寸图像以便于人脸特征的提取。本文选用了效果较好、速度较快的双线形插值方法。具体算法如下:(1)尺寸的缩小:图像尺寸的缩小的计算公式如下:(4-12)其中,是变换后图像的灰度值函数,是原图像的灰度值函数,和,和分别是变换前后图像的宽度和高度。(2)尺寸的放大:在尺寸放大的过程中,会出现一些原始图像中没有的像素点,这是需要进行插值运算来计算出该点的像素值。为了能最好地消除放大时出现的马赛克现象,我们采用双线性插值的算法,首先将原始图像中矩形顶点的灰度值复制到放大后的图像矩形对应的顶点;然后对原始图像中所有点的灰度值采用双线性插值算法计算,实现尺寸归一。假设点(x0,y0)和(x1,y1)分别是矩形的两个对角顶点,点(x,y)包含在该矩形中,且满足x∈(x0,x1),y∈(y0,y1),则求该点的灰度值f(x,y)的算法如下:第一步:(4-13)第二步:(4-14)第三步:(4-15)图4.8给出了表情图像尺度归一化操作前后的示意图。65
图4.8(a)尺度归一化前的人脸图像图4.8(b)尺度归一化后的人脸图像图4.8人脸图像的尺度归一化4.3.3人脸图像的灰度均衡化由于在图像采集中光照的改变容易导致图像呈现不同的明暗程度,因此需要对人脸图像进行灰度均衡化处理。灰度均衡化,其作用是增强人脸图像的整体对比度,并使灰度分布均匀,以消除光照变化的影响,此外还可以消除不同人种的肤色差异。其计算步骤如下:(1)列出原始图像的灰度级其中L是灰度级的个数(2)统计各灰度级的像素数目,(3)计算原始图像直方图各灰度级的频数,其中n为原始图像总的像素数目。(4)计算累计分布函数65
(5)应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数:,其中,INT为取整符号。(6)统计映射后各灰度级的像素数目(7)计算输出图像直方图(8)用和的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。图4.9为灰度均衡前后的效果图,由图中可以看出,光照变化引起的不同明暗程度图像得到了统一,对比度也得到有效改善。图4.9(a)均衡化前(b)均衡化后图4.9人脸图像灰度均衡示例图65
第五章基于Gabor小波变换的人脸特征提取5.1概述人脸比对识别一般分为人脸特征提取和人脸比对两个环节。人脸比对是根据待测人员面部特征参数提取的结果,与数据库中的人脸进行比对,以判断该待测人脸的身份。因此人脸特征的正确选择与否在很大程度上决定了后续比对识别结果的准确性。目前,依据人脸比对所采取的特征,可将其分为两类:(1)基于人脸几何特征的人脸比对,(2)基于人脸图像统计特征的比对。提取人脸图像的统计特征对图像的要求比较高,如光照等。而在人脸几何特征方面,一般是提取人脸几个关键部位的特征,如眼睛、嘴巴、鼻子、耳朵等。人脸的特征可以很好地描述某个人的人脸,而人脸特征的正确选择对人脸最后的正确比对至关重要。本章在上一章正确截取出人脸图像和人脸图像的预处理的基础之上,利用Gabor小波变换构造人脸弹性图,由此确定出人脸特征模板,最后采用基于弹性模板匹配和SVM分类验证的人脸比对算法实现人脸比对识别。3.2小波理论与Gabor变换小波变换(wavelettransform)是近年来在图像处理领域中倍受重视的新技术,面向图像压缩、特征提取以及纹理分析的许多新方法,如多分辨率分析、时频域分析、金字塔算法等,都最终归于小波变换的范畴中。在图像处理中,经常需要对瞬态信号和边缘特征进行处理分析,而传统傅立叶变换具有上述的缺陷,无法胜任此类工作。在窗口傅立叶变换的基础上,采用有限宽度基函数的变换方法逐步发展起来了。这些基函数不仅在频率上可调节,而且在位置上也是可变化的,它们表现为有限带宽和频率可变的波,这种波被称为小波(wavelet)。基于它们的变换就是小波变换。5.2.1小波变换与多分辨率分析小波是一个在有限周期内的波形,它的平均值为零。比较正弦波形和小波,如图5.1所示,正弦信号正是傅立叶变换的基础,它没有限定的周期,它可以从负无穷扩展到正无穷,而小波信号是有限周期的,正弦信号是平滑并且是可预知的,小波信号则是不规则的并且不对称。65
傅立叶变换是将信号分解为各种频率的正弦信号,而小波分析是将信号分解为滑动的、与母系小波成比例的各种译本。与傅立叶变换相比,小波变换具有更好的局部特性。通过对称为基本小波的函数进行尺度伸缩和位置的平移,从而得到一系列具有不同的中心频率、带宽和方向的小波函数,这些衍生出来的具有不同分辨率的小波组成了小波族。通过构造符合某种要求的小波族用于信号处理,则可实现多分辨率的分析与处理。从而极大地增强了信号处理效果。图5.1正弦波与小波的对比连续的一维小波变换是信号被小波关于比例和平移位置函数在所有时间上的积分,可用式2-1表示:(5-1)其中,为基本小波函数,也叫核函数,为缩放因子,为尺寸因子,通过改变和的值可以衍生出该小波族中的其他小波函数,衍生公式如下所示:(5-2)需要说明的是,在图像等二维信号领域,一般采用分别在两个方向上进行一维的小波变换来代替复杂的二维小波变换,从而简化计算。在数字信号领域使用最多的是二进离散小波族,即取二进伸缩(以2的因子伸缩)和二进位移(每次移动k/2j),定义如下所示:(5-3)著名的Daubechies小波就属于二进离散小波。从小波的定义可以看出,小波变换没有固定的核函数,因此可根据需要灵活构造不同类型的小波函数,但并不是所有函数均适合做小波,小波函数一般要满足两个准则:容许性条件和正规性条件,前者指小波函数在频域上的能量有限,在时域上的积分为零,容许性条件保证了小波函数可以反演,即反变换存在,使得经过小波处理过的信号可以重建以恢复以前的信号,这一特性已在图像压缩编码中充分体现出来。正规性条件指小波随缩放因子65
的减小而迅速衰减,该条件保证小波在频域上表现出良好的局部性,这正是小波变换比傅立叶变换优越之处。同族的所有小波可以看作是一系列具有不同中心频率和带宽的带通滤波器,若将这些带通滤波器应用于信号分析,则可以在不同分辨率下处理信号,并从根本上克服了传统傅立叶变换的频谱混乱的缺陷,由于这种灵活的“变焦”能力,小波被誉为“数字显微镜”。基本小波通过伸缩构成一组小波函数,在大尺度上,膨胀的基函数搜索平滑的特征,而在较小的尺度上,缩小的小波则寻找细节信息。这种信号处理方法称为多分辨率分析。在数字图像处理领域,针对原始的二维图像,构造低通的尺度函数和高通的小波函数,逐级对图像进行变换处理,尺度函数得到每一级的图像平滑特征,而小波函数则得到相应的细节特征,这种多分辨率变换如图5.2所示。这种逐级进行多分辨率分析的好处是,小波函数单一,不需要衍生出其他的小波,取而代之的是对图像进行多级采样。即每次采样,都把图像分解成平滑特征和细节特征,而在下一级采样时又将对平滑特征进一步分解为平滑和细节两种特征,照此对平滑特征逐级分解,直到得到需要的细节程度为止。5.2.2Gabor变换Gabor变换源于窗口傅立叶变换,但其窗口可伸缩,核函数频率及带宽可调,这种特性与小波变换完全一致,因此本文称之为Gabor小波变换。Gabor滤波在图像处理中的特征提取、纹理分析和立体视差估计等方面有许多应用,此外,Gabor函数具有良好的生物学背景,视觉神经的感受可以用Gabor函数来表示。Gabor变换对应的冲激响应是将复指数振荡函数乘以高斯包络函数所得的结果。其冲激响应表示如下式所示:(5-4)是复数算子,表示二维图像中像素点的坐标值。矩阵确定了该Gabor滤波器的带宽和方向特性,定义如下:(5-5)是滤波器的频率向量,定义如下式所示:(5-6)65
其中,表示滤波器的带宽,代表Gabor滤波器的方向,而则表示滤波器的核频率。根据冲激函数,Gabor变换的传递函数可定义如下:(5-7)其中,是空间频率。为了建立多分辨率分析框架,图像可以用一组N个不同带宽和核频率的Gabor滤波器来处理。核频率一般可表示如下:(5-8)当N=4,且所有滤波器取相同的带宽,则Gabor滤波器的频率特性如图5.2所示:图5.2Gabor滤波器的频率特性图像可以用不同角度的Gabor滤波器进一步分解为M通道的不同方向的分量,假设Gabor滤波器定义在M个方向,即。图5.3表示了在频域半平面上,6个相隔30度的方向上不同频率的Gabor小波滤波器:65
图5.3不同方向及频率的Gabor小波族对图像在不同方向上进行Gabor变换的结果如图5.4所示:图5.4原始图像及Gabor变换后的图像其中右侧的6张图是6个不同方向的Gabor变换结果,左侧上图是原始图像,下图为所有方向上变换所得子图重叠后的结果。从该图可以看出,Gabor小波变换能够通过定义不同的核频率、带宽和方向来对图像进行多分辨率分析,能有效地提取不同方向上不同细节程度上的图像特征。因此,我们采用二维Gabor小波变换以提取人脸图像中的细节特征,并在Gabor变换的基础上,采用弹性图匹配算法实现人脸的分类识别。5.3人脸图像的网格化基于Gabor小波变换的弹性图匹配算法要求在二维空间定义小波特征矢量作为表情特征。因此可以采用弹性图(也称为属性拓扑图)来表达人脸,拓扑图上的每一个顶点矢量由该点处Gabor小波变换后的系数组成,并代表了该点的局部特征。其位置信息则表示了特征的分布情况。在人脸图像的敏感位置,如嘴角、眼角、眉毛、额头等突出点处,其图像的灰度梯度较大,因此其小波变换后生成的特征矢量的模也较大,这些点则显著表达了脸部特征。在识别阶段,构造脸部模板时,可根据小波特征矢量的模信息,自动搜索这些点,并记录这些点的位置信息,作为脸部的弹性模板,从而实现人脸的弹性匹配和分类识别。65
针对第四章中分割出来并归一化后的人脸图像,首先对其进行网格化处理,即使用较小尺寸的网格进一步分割和细化图像。将对每一个网格做Gabor小波变换,变换后形成一个特征矢量,作为人脸图像在该网格处的特征。因此网格的大小对于所提取的特征的详细程度及系统的计算量有重要的影响。网格尺寸过小导致人脸图像分割过细,虽然能更多地提取图像的细节特征,并在一定程度上提高系统的识别率,但会极大地增加计算量,影响系统的实时性要求。经过多次实验,发现采用5×5像素的矩形网格对人脸图像网格化时,所提取的特征细节足够表达信息,且不会产生很大的计算量,满足系统的实时性要求。网格化的效果图5.5所示,分别表示网格化后的人脸图像以及经过Gabor小波变换后由特征矢量组成的弹性图的示意图。图5.5人脸的网格化,以及经Gabor变换后得到的弹性图的示意图从上图可以看出,网格虽然表达了人脸的整体属性拓扑特征,但更多的网格点的引入不但增加了计算量,而且还会影响人脸的识别,因此网格应尽量反映人脸关键点信息,使得关键点包含于某几个网格中,这样在构造模板时,可以根据关键点特征矢量模较大的原则选取关键点以构成离散的网格,关键点间的距离动态变化。识别时采用弹性图匹配算法,通过适当改变模板的关键点间距离,找到人脸模板与待识别图像的最佳匹配。5.3基于Gabor小波变换的弹性图的构造本阶段的任务是将经网格化后的人脸图像转换为弹性图(或称作属性拓扑图)。即针对网格化后的图像的每一个网格进行Gabor小波变换,取变换后的小波系数作为该网格点的特征矢量,所有网格的特征矢量则构成了特征弹性图,如图5.5的右图所示。5.3.1Gabor小波函数的选择借助Gabor小波变换构造人脸图像的弹性图是整个系统的核心,而Gabor小波函数的选择对特征提取的好坏有直接关系,我们选择基频带宽固定,具有3个较高核频率的小波族,其中每种频率的小波族又由均匀分布在半平面中6个方向上的小波组成。较高的核频率使得小波函数能够更好地提取人脸图像的细节部分,而不同方向使得小波函数能够全面地考虑人脸特征。二维Gabor小波核函数定义如下:(5-9)65
其中,为复数算子,定义了小波滤波器的带宽,可取。为小波的波矢量,其不同取值构成了该小波族中不同小波函数,定义为式5-2:(5-10)其中,表示小波的不同核频率,由于人脸表现为高频特征,故可取较高频率的小波函数与图像卷积,以提取高频信息并屏蔽掉无关的低频信息。本文取。表示小波的不同方向,每种核频率的小波在半带宽平面上可进一步衍生出6个方向的小波,即。这样便定义由3×6个Gabor小波组成的小波族用于提取人脸特征。对图像的每一个网格进行Gabor小波变换是通过Gabor小波核函数与图像函数卷积来完成的。Gabor小波函数族中的每一个小波与图像网格点的变换结果作为该网格点处的特征矢量的一个分量,因此3×6个小波所执行的Gabor变换产生的特征矢量将由3×6个分量组成。第j个Gabor小波核函数(这里j的取值为1到18)与图像网格的卷积定义如下:(5-11)其中,为网格内的像素坐标,为对应坐标的像素值。由于小波函数是复指函数,为了计算的方便,在程序设计中,将小波函数分解为实部和虚部两类Gabor函数,分别与图像函数卷积,因此小波变换后的结果也是由实部和虚部两部分的矢量组成,可通过取模运算将实部矢量和虚部矢量合为模矢量,并最终作为小波变换的结果。5.3.2弹性图的构造对人脸图像的每一个网格,按公式5-11使用3×6个不同频率和方向的Gabor小波对其变换,并构造弹性图。令S表示经网格化后的人脸图像,则其弹性图可表示为:(5-12)其中是网格S中在m点处的特征矢量,其取值为:(5-13)65
图5.6显示了原始人脸图像及网格化后由特征矢量的模构成的Gabor小波变换的结果。图5.6原始人脸图像及经Gabor变换后的特征图像从图5.6可以看出,经过Gabor小波变换后,由特征矢量模组成的灰度图(右图),在嘴角、眼角等突变点处的像素点较黑,即这些点的特征矢量模较大。可见,Gabor小波变换能较好地提取面部特征。第六章基于弹性模板匹配和SVM的分层次人脸比对识别方法6.1分层次人脸比对方法65
目前,特征融合,分类器的级联是人脸识别领域研究的一个比较新的热点。基于多分类器结合的方法大致可分为两大类:一类是所有分类器基于对输入模式的同一特征,即使用相同的特征空间,各分类器仅是结构不同或参数不同;另一类是各分类器有各自对输入模式的不同表征,即使用不同的特征空间,各分类器完全不同。人类本身对人脸的识别过程对机器识别人脸有很好的指导性。在提取特征、设计分类器和学习算法时,可以借鉴人类识别人脸的机理。实际上,许多认知学和心理学的研究成果可以知道机器识别人脸的算法的设计。例如,认知学发现,不同的脸部特征在识别中起着不相同的作用,它们的重要性不是同等的。研究发现,眼睛、嘴巴、头发和脸的轮廓信息在感知和回忆人脸时起着重要作用(如对有些人尖下巴等的记忆)。研究还发现,人们通常首先感知的是人脸的全局描述形式,然后才是更细致的基于局部特征的描述(如对某些人有张笑脸的深刻记忆)。故我们在结合第五章的基础之上提出了基于模板匹配和SVM的分层次人脸比对方法。该方法使用不同的特征空间来表示人脸,首先使用人脸的个性特征来表征人脸,接着利用Gabor小波变换进行人脸图像特征提取,在分类比对识别上,分两步走,首先是基于弹性模板匹配的人脸比对算法,当模板匹配时,若待测人脸样本与人脸库中对应卡号的模板不能匹配时,进入下一级SVM分类器比对识别,最终确定识别结果。原理上,各分类器基本上是相同的。6.2人脸比对识别性能指标由于计算机处理人脸图像时,只是涉及到了人脸图像的一些有限信息(即特征),而且人脸比对算法并不是精确匹配,其结果也不能保证完全准确。人脸比对识别方法的可靠性的重要衡量标志是拒识率(FRR,也称拒真率)和误识率(FAR,也称认假率)两个指标。拒识率是指正确的人脸图像被误判拒绝的比率,可视为某个人脸比对识别方法实用性的一个指标。其值越低越好,但FRR值与人脸比对识别方法本身的阈值(threshold)设定有关,阈值设定越低,FFR值自然降低(越容易进入),但误识率相应升高。误识率是指错误人脸图像输入而被接受为正确的比率,即将冒充者识别为真正的人脸图像特征拥有者。FAR可视为人脸比对识别方法的安全性指标,其值越低越好。但FAR值自然降低(越不易进入),但FRR值相应升高。对于理想的人脸比对识别方法或者系统来说,拒识率和误识率这两个指标都应该为零。但实际中,这两个指标是相关的,当拒识率比较低时,误识率会比较高,反之亦然。这时,我们往往需要在两个指标之间取一个折衷。用ROC曲线(receiveroperating65
curve)能够很好的反映这两个错误率之间的关系,如图6.1所示,曲线上的点表示在某个给定的比对阈值下得到的拒识率和误识率。在确定阈值时,应根据具体应用进行考虑。在刑事侦查中,需要把可能的嫌疑人都找出来,应尽量减小拒识率,所以误识率非常大;而对于安全保密系统来说,误识率造成的损失非常巨大,因此要求误识率很低。图6.1上标出的等错误率点是指两个错误率相等的点,在民用方面,比如对于考勤人脸门禁系统,我们比较关心的是抓出典型,故拒识率可能相对低点,误识率相对可以高一点。FARFRR刑事应用等错误率点高度保密应用民用图6.1FAR与FRR的关系曲线6.3基于弹性模板匹配的人脸比对算法6.3.1平均模板比对算法需要对每个人脸样本库建立平均模板用于以后的比对。对每个人脸的样本库中的模板取为两个以上,以便适合有一定姿势变化的人脸比对。平均模板比对算法的主要思想是:首先计算人脸样本库中的每个人脸的平均模板特征向量,接着根据卡号,计算出这个样本的特征向量与对应的平均模板特征向量之间的欧式距离,最后根据欧式距离判断结果。设为某个人的人脸样本库中人脸个性特征参数向量,表示人脸样本库中某个人脸的某个向量,表示个性特征参数向量的某个分量。具体算法流程如下:(1)计算人脸样本库中某人的平均模板特征向量(6-1)其中为人脸样本库中的某个人脸的样本数。65
(2)计算这个人脸样本库中的每个人脸特征向量与平均模板特征向量之间的加权模板欧式距离(6-2)其中为第个个性特征参数的权重。(3)得出平均模板欧式距离(6-3)其中为人脸样本库中的某个人脸的样本数。(4)计算某个待测人脸个性特征参数向量与某个人脸平均模板特征向量之间的欧式距离(6-4)其中为第个个性特征参数的权重。(5)计算与某个人脸的模板阈值之差:(6-5)(6)若,则认为该待测人脸是类人脸库中的人脸;若,则认为该待测人脸不是类人脸库中的人脸。这样就完成了待测人脸与某个人脸的人脸比对过程。可以发现,相对于每个人脸样本库,它们各自有一个模板阈值,也就是说人脸库中每个人的模板之间都有各自不同的阈值。由此可知,每个模板阈值都代表了一个人脸模板库。这样做可以简化人脸比对的步骤。6.3.2模板阈值确定方法为了得到在拒识率和误识率两方面都比较好的综合效果,根据人脸个性特征的考勤门禁系统的特定需要,提出了模板阈值确定方法。该方法的主要思想是:在最大加权欧式距离和平均欧式距离找到一个平衡点来作为模板阈值,以此达到较好的效果。具体步骤如下:(1)求出人脸样本库中的某个人脸样本库中的特征向量与平均模板特征向量之间的最大加权欧式距离。65
(2)模板阈值确定公式:(6-6)其中和由上面公式给出。当提取出的待测人脸个性特征参数向量与某个人脸平均模板特征向量的加权欧式距离与这个人脸模板库中的模板阈值的差大于零,即。此时认为待测人脸不是该人脸模板库中的人脸,但实际情况是待测人脸确实为该人脸模板库中的人脸,这里称此为拒识。当提取出的待测人脸个性特征参数向量与某个人脸平均模板特征向量的加权欧式距离与这个人脸模板库中的模板阈值的差小于等于零,即。此时认为待测人脸是该人脸模板库中的人脸,但实际情况是待测人脸不是该人脸模板库中的人脸,这里称此为误识。模板阈值确定公式的作用就是根据误识和拒识的次数多少,不断调整模板阈值,尽量减少以上两种情况的发生概率,以此寻求到一个阈值的平衡点。6.4基于SVM的人脸比对方法SVM是20世纪90年代由Vapnik等人提出的,来源于统计学习理论的一种新的数据分类技术。其主要思想就是通过一个非线性变换将原始的数据变换到一个高维的特征空间,并在新的空间实现最优分类。对于两类问题,设线性可分样本集,是类别标号,在一个d维空间中,线性判别函数如式(6-7):(6-7)则分类超平面方程如式(6-8):(6-8)SVM的目标就是要在对所有样本正确分类的条件下实现分类间隔的最大化。将线性判别函数归一化,使所有样本满足,离分类面最近的样本。这样分类间隔就为,要最大化分类间隔就是最小化,同时要求超平面能正确分类样本,就是要求它满足式(6-9):(6-9)65
因此,既满足上式,又能使得最小的分类面就是SVM求出的最优分类面。通过凸二次规划和对偶原理,求得最优分类面,如式(6-10):(6-10)上述的最优分类函数其最终的分类判别函数以及它的求解过程只涉及样本之间的内积运算。可见,要解决一个特征空间中的最优线性分类问题,只需知道这个空间的内积运算即可。另外,对于线性不可分样本,可以通过一个非线性映射,将原空间中的数据映射到一个高维的特征空间(也称核空间)中,使其映射后能够用线性方法解决。具体可通过核函数的选择来实现。用内积核函数代替原空间中向量的内积,就获得了非线性支持向量机。常见的SVM的内积核函数有:(1)多项式核函数,即,对应SVM是一个d阶多项式分类器。(2)RBF(RadialBasisFunction)核函数,即,得到的支持向量机是一种径向基函数分类器。(3)Sigmond核函数,如,式中,为常数,则SVM实现的就是一个两层的感知器神经网络。6.4.1SVM实现多分类器算法由于SVM是面向两类问题的,人脸识别涉及的是个多分类问题,常用的SVM多值分类器构造方法有一对一方法和一对多方法。一对多方法:在第k类和其他k-1类之间构造超平面。在这种方式下,系统仅构建k个SVM,每个SVM分别将某一类分类的数据从其他分类的数据中鉴别出来。对第i个SVM用第i类中的训练样本作为正训练样本,而将其他的样本作为负训练样本。该方法的缺点是一类对余类的这些两类问题是很不对称的,训练集中的负类样本要比正类样本多的多,所以对惩罚因子C的选择很有难度。65
一对一方法:此方法是由Knerr提出的,该算法为任意两个类构建超平面,共需训练个二值分类器。组合这些两类分类器采用了投票法,即在个二值分类器中计算测试样本在每类中后验概率的总和,得票最多的类为测试样本所属的类。6.4.2基于SVM一对一算法的人脸识别在WindowsXP,VisualC++6.0的环境下实现了基于SVM人脸识别方法。在SVM进行训练时,训练样本的建立依据以下原则:将每一个人作为一类,每一类可能包含多幅图像(即样本),提取每一幅图像的Gabor小波特征,分别构成一个多维的特征向量,作为该类的训练样本,标上类标签。有N个人就有N个类标签,类标签不能重合。由以上SVM理论可知,SVM识别的效果主要依赖于核函数K和惩罚系数C的选取,但是目前尚未找到有效的“学习”核函数及惩罚系数的方法,只能通过实验结果确定采用何种核函数以及惩罚系数。(一)核函数对识别率的影响实验中首先考虑了不同的核函数对于人脸识别的影响。实验中用三个核函数进行了测试,惩罚系数C和核函数参数的选择都使用默认值,实验结果如表6-1所示。核函数核参数识别率多项式核函数d=170.6%d=288.1%d=383.4%RBF核函数σ=199.3%Sigmond核函数b=0.1,c=194.1%表6-1核函数对人脸识别率的影响从表中可以看出,采用RBF核函数的识别率最高,而且RBF核函数只需要确定一个参数σ,比较简单。所以最终采用了RBF核函数。(二)惩罚系数C和RBF核函数参数σ对识别率的影响确定采用RBF核函数后,我们考虑惩罚系数C和参数σ对识别的影响,关于如何设置SVM的各个参数,理论上还没有统一的论述,往往要针对待解决的实际问题,具体选择。在RBF核函数中σ65
是感知变量,其数值可以自由选择,它决定了该RBF函数围绕中心点的宽度,σ的选择对SVM的学习至关重要,其数值可以控制支持向量机的个数,当支持向量机个数太多时,可以适当减小σ的数值,反之亦然。由于目前还没有统一的方法来确定σ的数值,往往要根据特征数据分析的结果取经验数值。参数C的选择:为惩罚系数,它控制对错分样本的惩罚程度。C越大,等价于越小的分类间隔,但是训练时间将延长。目前还没有指导如何选择C的理论,只能折衷考虑识别率和学习时间之间的矛盾,通过实验找到对特定训练集最好的C的数值。本系统采用网格搜寻方法对参数进行优化,具体的做法为:将C和σ分别取N个值和M个值,用这N*M个组合分别训练SVM,选择效果最好的一个组合作为最优参数。如果组合数过大的话,会浪费大量的时间,因此将搜索范围分为两级,即先进行粗网格搜索,再进行细网格搜索,我们采用不断缩小参数递增步长的方式来实现。最后取C=1500,。最后,采用RBF作为SVM的核函数,惩罚系数C和RBF核函数参数分别选取C=1500,,针对360个测试人脸样本,采用SVM一对一算法进行人脸识别实验,正确识别率达到97.8%。SVM本身是用于分类的,并不具有比对的功能,本系统为了保证在较高的正确通过率的基础上仍然具有较高的正确拒识率,提出了基于SVM的人脸比对方法。它是在第一步基于个性特征模板的人脸比对结果为“拒绝”的基础上进行的第二层验证。首先,提取待测样本的Gabor值,保存为某个特定格式的文本文件,将其与训练样本一起进行数据归一化处理,利用已经训练好的SVM模型,进行预测,会得到预测的类别,查询该类别对应的卡号。如果该卡号与实时打卡采集到的卡号相同,则判为通过,否则,拒绝。这样便完成了第二层比对验证。这样做的的好处是:避免由于光照影响带来的个性模板阈值的较大差异,从而错误的拒识,而SVM本身具有良好的分类性能,可以避免这种误差,从而提高了系统的正确拒识率,增强系统的安全性能。图6-2给出了基于SVM的人脸比对识别流程。65
图6-2基于SVM人脸比对流程65
第七章基于人脸识别的门禁考勤系统的设计与实现7.1概述现代社会越来越需要高效可靠的身份识别系统。传统的身份鉴别手段包括口令、密码、证件以及磁卡、IC卡等方法,由于与身份人的可分离性,容易造成伪造、盗用、破译等现象,已不能完全满足现代社会经济活动和社会安全防范的需要。将人脸比对识别技术同IC卡结合起来,是目前最有市场潜力的一个方向。目前人脸考勤系统一般是基于非接触式IC卡和摄像头拍照相结合的方法。电子射频卡IC卡作为电话卡、消费卡和入门卡已经得到广泛的应用。随着IC卡应用的发展,非接触式IC卡必将代替接触式IC卡占主流地方。与接触式IC卡相比,非接触式IC卡具有耐用、方便、迅速、安全等优点,只需要在感应区域内晃一下即可,并且读写数据更可靠。因此,把非接触式IC卡应用于门禁考勤系统比较理想。人脸特征比对识别技术和面向对象编程思想在软件工程领域的成功应用,极大地推动了软件开发技术的发展。一个结构良好的软件对于可维护性、系统的鲁棒性有着重要的作用。设计模式是面向对象软件开发过程中的经验总结,它对于软件的复用起着重要的作用。而我们的人脸比对子系统是在不断完善,不断扩充、修改的过程中逐步开发出来的。特别是各种算法的改进要求已开发的软件系统有良好的复用性和可理解性,此外还要考虑到以后的功能扩充。因此,本系统采用面向对象的编程思想,根据设计模式所推荐的编程经验,系统地阐述考勤中的人脸比对子系统的设计与实现。7.2面向对象、UML和设计模式面向对象开发技术囊括了从面向对象的分析、设计、编码到测试的全过程。采用人们日常生活中的对象概念,以对象为中心进行系统的设计与开发,这是对传统的结构化程序设计思想的重大突破。通过类和对象,把程序所涉及的数据结构和对它实施的操作有机地组成模块,对数据和操作进行了最大限度的封装,由于不同对象间各司其职,仅通过消息相互通信,这更加符合人们的思维习惯,使得整体软件的可理解性提高,同时可维护性和可扩充性得到极大改善。65
以对象作为构成系统的基本单位,对象通过封装机制定义自己的属性和行为。消息机制使得不同对象相互协作,共同完成系统的功能。而继承机制和多态性进一步增强了对象的复用性。UML(UnifiedModelingLanguage,统一建模语言)是一种直观化、明确化,构建和文档化软件系统产物的通用可视化建模语言,也是软件开发者进行面向对象分析和设计时使用的一种通用语言,UML于1996年被OMG组织(ObjectManagementGroup)采纳,现在已成为业界标准。使用UML,能够捕捉到被构建系统的有关决策和理解,用来理解、设计、浏览、配置、维护以及控制系统的信息。比如UML使用用例图(UseCaseDiagram)、类图(ClassDiagram)来表达系统的功能和静态结构,而使用活动图(ActivityDiagram)、顺序图(SequenceDiagram)、状态图(StatechartDiagram)来表达系统的动态结构。人们在采用面向对象技术开发系统的过程中不断摸索,并逐步积累开发经验,便形成了设计模式(DesignPatterns),设计模式描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。一旦理解了设计模式的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计,并将拥有一种深刻的洞察力,以帮助设计出更加灵活的、模块化的、可复用的和易理解的软件。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述为设计模式也会使新系统开发者更加容易理解其设计思路。设计模式甚至能够提高已有系统的文档管理和系统维护的有效性。简而言之,设计模式可以帮助设计者更快更好地完成系统设计。文献[46]系统阐述了大概23种经典的设计模式,这些设计模式对于我们设计系统有较好的参考价值。7.3系统的功能分析本节首先介绍整个人脸考勤系统的硬件结构,接着详细阐述考勤中的人脸比对子系统的软件功能和系统的设计与实现过程。7.3.1系统硬件结构分析65
整个人脸比对系统硬件结构设计与系统的实际应用需求密切相关,鉴于人脸考勤或门禁的实际应用需求(如系统记录登陆情况,每月出一张考勤总体情况报表等),可以考虑采用客户机/服务器(Client/Server)结构模式,以缩短系统响应时间。客户机/服务器结构的特点是:客户机负责提供系统工作界面、捕获待比对识别人脸图像通过网络或者RS485送往应用程序服务器、接收应用程序服务器的比对识别结果并通过终端设备输出。而应用程序服务器则运行服务程序,向客户机提供计算和数据服务。因此,人脸比对识别系统的大部分核心算法都运行在服务器端。如图7.1所示为人脸考勤系统硬件结构图,系统应用程序服务器即为控制主机,而客户端为采集仪、电磁锁和报警器,采集仪一般的为高清晰摄像头和IC卡读卡器。由采集仪采集人脸图像后送往控制主机进行计算,控制主机经过计算,把计算结果分别送入电磁锁和报警器。比如当某个人来上班的时候,首先要对着采集仪刷卡,此时采集仪把信息传给控制主机,控制主机经过计算之后,把结果传输到电磁锁和警报器,如果是冒打卡的话,电磁锁将不会打开,同时报警器将会发出警告的声音。采集仪(摄像头,读卡器)电磁锁电磁锁报警器控制主机采集仪(摄像头,读卡器)图7.1系统硬件结构图上面是本系统的硬件结构。要完成整套系统,能让它们真正的工作起来,最重要的是要完成在控制主机中的考勤中的人脸比对子系统。7.3.2系统的功能分析从功能上看,打卡人脸比对子系统可主要分解为五个大的功能模块,分别是:个性模板库创建、实时人脸比对、记录管理、黑名单管理、删除样本,采用用例图表示系统功能,如图7.2所示为考勤中的打卡人脸比对系统的用例图。65
图7.2人脸比对系统用例图从人脸比对系统用例图可以看出主要功能模块之间的关系,其中创建样本功能模块包括了监听数据、图像预处理、人脸检测、特征提取、个性模板建立、SVM模型更新、信息入库、反馈信息等众多子模块。实时比对功能模块主要包括了监听数据、黑名单管理、图像预处理、人脸检测、特征提取、个性模板比对、基于SVM的人脸比对、保存实时数据、反馈识别结果等功能模块。记录管理功能模块主要包括:数据导出、数据清空;提供全体人员查询和按个人查询两种模式;每种模式包括以下查询功能模块:按日期查询、按月份查询、按时间跨度查询、按未通过记录查询等等,查询组合可以多种多样。黑名单管理功能模块:除了在实时比对时可以增加黑名单,此模块还提供了人工添加和删除黑名单两个功能模块。样本删除模块:主要是删除数据表的数据和模板库,同时更新SVM模型文件。在各子模块中,人脸检测(FaceDetect)模块、人脸图像预处理(ImageProcess)模块和个性特征和基于SVM的比对模块(FaceTraining)是基本子模块,它是整个子系统的核心功能模块,其中人脸图像预处理(Image65
Process)子模块封装了人脸图像的灰度化处理、人脸图像的旋转调整、人脸图像的尺度归一化和人脸图像的灰度均衡化的等图像预处理功能;而比对(FaceTraining)子模块封装了人脸图像特征提取的功能。打卡人脸比对系统可主要分解为五个大的功能模块,下面主要介绍下两个最重要的子功能模块。(1)打卡建库功能模块。如图7.3所示是打卡人脸比对系统中的打卡建库管理模块流程图,首先启动线程接受来自前端的数据,当数据长度满足一定要求时,分割数据分别保存为图像和卡号;然后对图像进行预处理;人脸检测;当采集的图像个数满足要求时,录入员工的基本信息;提取特征,建立个性模板并重新训练更新SVM模型。(2)实时打卡人脸比对功能模块。如图7.4所示是打卡人脸比对系统中的人脸实时比对模块的系统流程图。首先启动线程接受来自前端的数据,当数据长度满足一定要求时,分割数据分别保存为图像和卡号;然后对图像进行预处理;显示图像;人脸检测;灰度均衡化处理;提取Gabor特征;采用个性模板比对;如果比对结果为拒绝,则进入下一步进行基于SVM的比对;反馈比对结果;保存实时数据进入数据库。65
图7.3打卡建库功能模块65
图7.4实时打卡人脸比对流程图65
7.4系统类图设计我们选用了VisualC++6.0作为系统核心代码的实现平台。C++是一种高效、灵活、功能强大的程序设计语言,而Microsoft公司开发的VisualC++是目前使用最广泛的C++集成开发环境,因此VC++成为首选的开发工具。本系统基于对话框开发,应此CServerDlg是实现系统功能的主要类。CQueryDlg是查询子系统类;CMethod定义一些方法和常量;Communication为串口类,主要包括串口的初始化以及一些基本操作;CBlackList是黑名单对话框类,包括添加和删除黑名单的方法;CExpStrategy类是Gabor小波类,包含Gabor小波特征的提取算法;SVM类依赖于结点类,参数结构等,主要封装了SVM数据归一化,训练模型,预测等方法。还有其它一些辅助类没有列出来。7.5系统功能界面设计i.启动进入主界面65
i.创建样本²单击创建样本,系统即可接受来自前端硬件的信息,包括图像数据和卡号。²然后系统自动进行包括图像平滑处理,人脸检测并显示,灰度均衡化处理,并提示是否将该图像接收至数据库:²接收或拒绝该图像后,提示:是否继续建库,如果继续,则继续监听图像数据的传送,否则,结束建库;65
²结束建库后,提示输入该员工信息:²确定后,提示:i.删除样本²删除样本时,弹出如下对话框,65
²选择删除员工后,系统提示:²单击确定,完成删除,单击取消,则取消删除i.黑名单管理²单击黑名单管理,显示如下:²选择黑名单,单击删除即可完成黑名单数据表的删除。65
²增加黑名单,系统提示如下图,确定之后,将完成黑名单数据表的更新:i.记录管理²单击记录管理,系统进入记录管理子系统:²选择所有人查询,选择时间跨度从2008-12-1到2008-12-22,按时间跨度查询,查询结果如下:65
²选择所有人查询,选择时间跨度从2008-12-1到2008-12-22,未通过记录查询,查询结果如下65
²除此之外,还可以按照其他的查询方式查询,如按日期查询,按月份查询;可以分别查询当日,当月等未通过验证的记录。²个人查询时,功能与按所有人查询的情况完全相同。这里不再赘述。²记录管理子系统还提供了导出数据的功能。单击导出数据,弹出对话框,选择数据库和图像记录保存的路径:65
²单击保存,可将数据库和流水图像记录保存到所选的路径下;²单击清空数据,则会提示是否删除数据表内容,是否删除图像记录;i.启动比对²此时系统可以接收前端硬件发送的实时图像数据和卡号,并自动完成图像与处理,人脸检测,人脸比对,显示图像,发送反馈结果,显示反馈结果,保存实时图像数据和记录进入数据库等操作。²如果验证通过,则主界面会显示PASS,失败则会显示FAIL。65
7.6系统运行测试与分析人脸识别算法直接影响整个系统的效率。为了测试阈值和光照对于本系统性能的影响,我们分别在不同的时段,采用不同的阈值进行测试。每打卡1次就进行身份验证,验证结果为“符合身份”则记为PASS,验证结果为“不符合身份”,则记为FAIL,测试结果如下表7.1所示,测试结果表明系统采用阈值为1,光照稳定均衡的时候,能够得到较好的结果。表7.1打卡1次验证结果被测试者自己的卡他人的卡平均值PASSFAILPASSFAIL正确通过率正确拒识率2008-12-17am:10:30~10:50阈值:1陈长军19201190%100%2008-12-17pm:13:50~14:16阈值:1陈长军201031167%80%陈亚必10341277%75%72%77.5%2008-12-18am:11:00~11:24阈值:0.8陈亚必169627詹老师52210陈长军10201470%86%非库中的人Pass:7Fail:1773%2008-12-19am:10:50~11:00阈值:1陈长军19131995%86.3%本系统采用连续三次打卡验证“不符合身份”,则将该卡号加入黑名单,记为“FAIL”。其他情况都记为“PASS”,这些情况包括:第一次打卡即通过,则下一次重新计数;第一次打卡验证失败,第二次通过,则下一次重新计数;前两次打卡都验证为“不符合身份”,第三次验证为“符合身份”,也认为符合身份,给予通过。测试结果如表7.2所示。65
从表7.1可看出,不同时间的测试,得到的验证结果不同,上午的验证结果要明显好于下午的验证结果。分析原因,由于图像建库是在上午完成的,因此对于上午采集得实时图像验证结果要稍好。建议在实际自然环境下应用,加入稳定的光源,增强系统的抗干扰能力。表7.2系统身份验证结果被测试者自己的卡他人的卡平均值PASSFAILPASSFAIL正确通过率正确拒识率2008-12-21am:10:00~10:06阈值:1陈长军20131295.23%80%陈亚必150212100%85.7%97.6%82.85%2008-12-21pm:14:00~14:24阈值:1陈亚必100110100%90%詹老师50210100%83.3%陈长军18101494.7%100%98.23%86.93%非库中的人Pass:6Fail:2580.6%从表7.2统计数据我们可以看出,经过模型训练后的人脸,系统能够保证接近100%的通过率,也就是说,如果这个人用正确的卡刷卡,则系统能够保证他通过验证,这满足可用性;但是仍然存在着不足之处,由于采用的模型存在一定概率的错误分类,有一定的可能将外来人员识别成其冒打的卡的持卡人,这样就导致其蒙混过关。但是从统计数据可以看出,这个概率不会高于20%。而且错分概率是和训练人员数目(基数)有关的,如果企业的员工数有很多,比如说,企业有200人,则错分概率则为0.5%左右,因为我们测试的时候,没有大量的实际数目的硬件和人员,只有5人加入测试,因此这个概率维持在20%左右。可见如果将本系统用于门禁控制,对于员工基数较大的企业比较理想,但是验证速度可能会随着员工基数的增加而略为降低,基本维持在一至二秒之间。65
第八章总结与展望8.1总结门禁/考勤是每个单位物业/人事管理工作中的重要组成部分。目前,虽然国内外已出现了一些商业化的基于人脸识别技术的考勤系统,但由于其技术方案原因,对于人脸姿势变化、光照变化等容忍度差,识别率低;加上出现海量图像搜索匹配灾难,实时响应差。本课题在广泛阅读国内外有关于人脸检测与人脸比对识别的参考文献资料基础之上,通过对国内外现有人脸检测与人脸比对识别的比较和分析,同时研究目前市面上结合人脸比对识别的人脸考勤门禁系统的分析之上,提出了了基于特征模板匹配和SVM的人脸比对识别方法,并将此算法应用于实际,设计开发了基于嵌入式的实时门禁考勤控制管理系统。系统主要包括图像采集门禁控制子系统和人脸比对识别子系统两部分。嵌入式图像采集门禁控制模块是该系统的前端子系统,实现比对识别系统与打卡人之间的交互,搭建在Altera公司基于FPGA的包含NIOSII软核CPU的嵌入式SOPC软硬件平台上。人脸比对识别模块中实现了基于肤色模型的人脸检测与定位方法进行人脸图像预处理,在此基础上,提出了基于个性特征的人脸比对方法。设计实现了基于Gabor小波变换的人脸特征提取方法,并利用基于弹性特征模板匹配和SVM的方法进行人脸比对识别。本课题的特色和创新之处主要体现在以下三个方面:(1)采用基于FPGA的嵌入式SOPC方案,利用FPGA的并行和灵活的优势,实现对高分辨率图像的实时处理,视频采集速度达到25帧/秒。在屏幕上显示的视频数据都保存在SDRAM存储器中的一块区域中,为了满足显示屏不断刷新的需要,同时提升系统性能,像素数据的读取通过编写硬件代码实现,这一过程不需要软件的参与。充分运用了SOPC系统中可剪裁、可定制的特性。在实际测试中,设计的接口完全能够正常工作,符合设计要求。(2)提出并实现了基于Gabor小波变换的特征提取算法和弹性模板匹配比对方法。采用基于小波变换的图像预处理技术,提取人脸特征的同时也实现了特征向量的降维处理,提高了系统对光照变化的容忍度;采用基于弹性图匹配方法的人脸识别确认,提高系统对人脸姿势、方向变化的容忍度。65
(3)提出了基于人性特征模板匹配和SVM的分层人脸比对识别方法。该方法首先利用基于个性特征的模板匹配方法进行人脸比对识别,在拒识的情况下,再利用基于SVM分类的方法进行二次人脸比对识别。实验结果表明,通过合理的阈值设定,这种分层的比对识别方法可以有效提高人脸正确识别率,并降低了人脸比对拒识率,识别速度快,实时性好。采用卡式与人脸识别相结合的方法,有针对性地进行人脸匹配识别,解决持卡人的身份认证问题。8.2展望课题中对人脸检测与定位和人脸比对识别进行了深入的研究,从中感受到了人脸比对识别问题的复杂性,针对目前系统中存在的一些不足,我们提出了需要进一步完善的若干想法。(1)自然环境下的光源不稳定,随天气,时间变化比较明显,导致自然环境下采集的图像效果差异较大,影响系统识别率而且波动较大。如果采用红外光源,可避免可见光光照给图像带来的不稳定,能有效地提高系统的认证效果。(2)SVM模型主要用于分类,本身不具有拒识能力,对于库外人员身份验证,仍然存在着蒙混过关的概率,为此,我们可以加入支持向量数据描述区域(SVDD模型),SVDD本身解决的就是一类分类问题,可以解决库外人员的拒识问题,更好地提高系统的安全性。(3)进一步优化、完善整个考勤中的人脸比对子系统的功能,同时考虑系统设计的成本,最终以嵌入式系统的方式实现,从而开发可实际推广应用的产品。65
您可能关注的文档
- 小型企业考勤管理系统 论文
- 考勤管理系统设计与实现论文
- 用人单位考勤管理在劳动管理中重要位置
- 毕业设计(论文)-基于c++的企业考勤管理系统的设计与开发
- 业员工考勤管理制度
- 效考核《某塑胶公司考勤管理制度》(doc 15页)
- 学生考勤管理系统课程设计报告1
- 学生考勤管理系统课程设计报告
- 红牛内蒙分公司暂行考勤管理制度
- 嘉兴电力局员工考勤管理实施细则
- 某船厂考勤管理系统的设计与实现(myeclipse
- 劳动纪律管理等重要方面因此考勤管理系统是一个企业
- 毕业设计(论文)-考勤管理系统的设计与实现
- 毕业设计(论文)-jsp企业考勤管理系统
- 数据库系统课程设计-企业考勤管理系统设计
- 课程设计论文-基于vb的考勤管理系统设计
- 职工考勤管理系统数据库设计
- 基于指纹识别的考勤管理系统