基于级联分类器的人脸识别智能考勤系统设计毕业论文
2022-01-26 11:56:43
论文总字数:19046字
摘 要
本文首先对当下智能考勤系统做了一定程度的研究调查,突出强调了人脸识别考勤系统的优越性和必要性;着重介绍了人脸识别考勤系统发展的现状和未来趋势。本文的核心分为两个部分,第一部分是关于人脸检测系统和人脸识别系统,作为智能人脸考勤系统的核心,本文先后介绍了四种当下常用的人脸检测方法和三种常见的人脸识别方法,其中着重解释了基于haar特征的人脸检测技术,并就分类器包括弱,强以及Adaboost级联分类器在内做出了详细的介绍。并利用Opencv,这个开源计算机视觉库用haar特征和Adaboost级联分类器算法完成了人脸检测的工作,并通过多次实验总结出该算法的优缺点。在人脸识别系统中,本文介绍了一种特征脸算法(Eigenface),并也在Opencv中完成了人脸识别工作,实验结果表明该算法完全可以胜任智能考勤系统的实现。第二部分是关于智能考勤系统系统的实现,除了软件部分的Opencv,本文使用Qt完成考勤系统应用程序的编写工作,并在树莓派3b这个嵌入式平台上完成智能人脸考勤系统的最终实现。
关键词:考勤系统 人脸检测 人脸识别 Opencv 树莓派
Intelligent face recognition attendance system based on cascade classifier
Abstract
This paper firstly studies the current intelligent attendance system to a certain extent, highlights the superiority and necessity of the face recognition attendance system; it focuses on the current status and future trends of the face recognition attendance system. The core of this paper is divided into two parts. The first part is about face detection system and face recognition system. As the core of intelligent face attendance system, this paper introduces four commonly used face detection methods and three common ones. The face recognition method focuses on the face detection technology based on haar feature, and makes a detailed introduction on the classifier including weak, strong and Adaboost cascade classifier. And using Opencv, this open source computer vision library uses the haar feature and Adaboost cascade classifier algorithm to complete the face detection work, and through many experiments to summarize the advantages and disadvantages of the algorithm. In the face recognition system, this paper introduces a feature face algorithm (Eigenface), and also completes the face recognition work in Opencv. The experimental results show that the algorithm can fully fulfill the intelligent attendance system. The second part is about the implementation of the intelligent attendance system. In addition to the software part of Opencv, this article uses Qt to complete the writing of the attendance system application, and complete the final implementation of the intelligent face attendance system on the embedded platform of Raspberry Pi 3b.
Keywords: attendance system face detection face recognition Opencv Raspberry Pi
目录
摘要 Ⅰ
ABSETRACT Ⅱ
第一章 绪论 5
1.1 研究的意义和背景 5
1.2 考勤系统概述 6
1.3 人脸检测与识别的研究现状 7
1.3.1 人脸检测技术在国内外的研究进展 7
1.3.2人脸识别技术在国内外的研究进展 8
第二章 智能考勤系统框架介绍 10
2.1 智能考勤系统运转流程 10
2.1.1考勤系统流程图 11
第三章 人脸检测系统 13
3.1 人脸检测中存在的问题 13
3.2 基于haar特征的人脸检测技术 13
3.2.1 类haar特征 14
3.2.2 Haar-like特征的计算—积分图 16
3.3 分类器的设计 18
3.3.1 弱分类器 18
3.3.2 强分类器 20
3.3.3 级联分类器 22
3.3.4 级联分类器的训练过程 23
3.4 实验结果与分析 23
第四章 人脸识别系统 27
4.1 人脸识别算法的选择 27
4.2 特征脸算法 28
4.2.1 特征脸算法的原理 28
第五章 智能考勤系统嵌入式平台软硬件设计 30
5.1硬件系统设计 30
5.1.1 树莓派三代B型 30
5.1.2树莓派三代摄像头 32
5.2 软件系统设计 32
5.2.1 Opencv数据库 32
5.2.2 基于QT/C 的程序设计 34
5.3嵌入式平台综合实验 34
绪论
研究意义和背景
社会在发展,科技在进步,考勤系统需要更加智能的革新,特别是公司和企业,急需高效可靠的新的身份识别方式,我们脑海中比较普通的考勤方式,比如说签到打卡,人工统计,乃至指纹识别,都是既浪费时间又浪费精力,不光效率不高,准确率还低,特别是人工打卡,更甚至是曾被认为安全准确的指纹都会出现代打卡的现象,使企业公司受害不浅,为了减少此类问题的出现,提高安全,实用,通用性,综合各方面因素,进行更深层次的研究以获得一种能满足社会需要的更加简单高效的身份识别系统。
生物识别技术(biometric identification technology)是一种将计算机信息技术与生物技术相结合的新型识别技术[1-2]。它利用我们人类每个人的某些特定生物属性的唯一性来确定一个人的身份[3],比如说有虹膜,指纹,人脸这些,再将如今日益完善的科学技术和已经掌握的生物学知识合二为一,使得该系统比以往都要更加的可靠,安全,高效。曾经的指纹识别考勤系统是主要的考勤方式,但是指纹是一种很容易仿造的特征,人们利用指纹膜代打卡的现象层出不穷,除此之外因为指纹采集设备有其专用性,而且在采集指纹的时候会有不可避免的接触,这就导致了不卫生和复杂度太高的缺点,以及有一定数量的人群或个人指纹少到难以成像,这一切都使得人脸识别技术显得那么的重要有前景,是当前模式识别研究的热门课题之一[4]。
虽然人脸识别的准确性可能不如传统的指纹识别或者虹膜识别,但是因为人脸识别是非接触的,毫无侵犯性,所以人们对于这种方式的身份识别技术不是那么排斥,所以人脸识别技术是一种最友好的生物特征识别技术[5]。它通过与计算机连接的摄像头动态捕捉人脸,利用每个人不同的面部特征与五官之间的几何关系(比如眼睛鼻子嘴巴的相对位置),然后将捕捉到的人脸和计算机中人脸数据库中的人脸进行对比,从而得出识别结果[6]。不过实际操作中,在人脸采集时也会遇到一些问题,比如人发型的变化,面部饰品的佩戴,表情的变化,光线的明暗等,都需要我们研究出更加智能的算法,来应对这些变化,提供智能的动态补偿。
考勤系统概述
现如今几乎所有公司都在实行现代化管理,这就使得一个科学而又合理的考勤系统十分具有价值,考勤系统是督促员工避免出现迟到,早退,旷工现象的重要保障,如果没有一个好的考勤系统,严重的话甚至会影响到公司效益。到目前位置,市面上存在的常用的考勤方式大概是以下四种,可以说是各有优劣。
表1-1 四种考勤方式概述
反应时间 | 方式 | 确保本人 | 优点 | 缺点 | |
IC卡 | 1s-2s | 刷卡 | 不能 | 普及,成本较低 | 代打卡现象,卡容易丢失 |
指纹 | 1s-2s | 手指触摸 | 能 | 手指灵活较为方便 | 指纹难提取,不卫生,也容易产生带刷指纹 |
人脸 | <1s | 摄像采集 | 能 | 非接触式方便 | 对光线,表情要求高 |
虹膜 | 1s-2s | 摄像采集 | 能 | 准确度高 | 设备昂贵,对光线要求高 |
综合考虑以上四种考勤系统的优缺点,更多的企业公司开始接触并使用了人脸识别考勤系统,主要是有如下三个明显的优点:
- 独一无二性,每个人的人脸都蕴藏着独一无二的信息,无关结构各不相同,无法复制无法替代,所以就不会出现代打卡签到的现象,也不像指纹一样可以轻易的复制,大大减少了作弊打卡的可能。
- 非接触性,识别性强,在进行考勤打卡时,员工只需要面对摄像头几秒钟,电脑系统就会替员工完成原本复杂麻烦的打卡操作,相比于刷卡和指纹,人脸识别是完全非接触式的,十分的方便和卫生,让人十分容易接受,即使这种方式对光线和表情是有一定要求的,但是和虹膜相比就显得友好多了,所以识别性强是其又一优点。
- 准确,高效,在整个采用人脸识别考勤系统进行考勤的过程中,工作人员不再需要像过去一样进行繁琐发杂的记录,管理员只需要用电脑,点点鼠标就可以快速采集下员工的脸部信息,在之后员工打卡时和采集的人脸做出对比,达成目标,而且可以在绩效考核时给出准确数据。
大致来讲,考勤制度所需要的高效性,方便性和公正性,人脸识别考勤系统都能充分体现,从而有效地督促了员工按时到岗,按时下班,不随意旷工,从而大大提升了企业工作出勤率,工作效率,提升了企业效益。
人脸检测和人脸识别是人脸识别考勤系统的核心技术,这两个课题从上世纪八十年代起就已经被国内外各国的专家学者广泛关注,重点研究了,下面几节就是介绍一下具体的研究状况。
人脸检测与识别研究现状
计算机视觉分析图像的技术给人脸识别考勤系统提供了新的动力,这一技术在过去的二十年来得到了高速的发展,应用十分的广泛。人脸检测和人脸识别技术作为其重中之重,一直受到广泛的关注与研究
人脸检测技术在国内外研究进展
最早期,是人脸识别问题引出了关于人脸检测的研究,因为人脸检测是人脸识别的前提与基础,现如今随着商业需求的激增以及计算机技术的日益成熟,人脸识别作为生物身份识别中最有发展前景的考查方式,也带动了人脸检测成为当下最为热门的研究方向。
现如今关于人脸检测有很多已经成熟的方法可以参考:
- 基于人脸规则的方法,每个人的人脸都蕴含着独特的信息,人脸特征结构的独特性,决定了我们可以根据这些来制定相应规则,具体来讲,该规则是由人脸五官之间的相对位置和距离等关系来制定的,并用来判断样本中是否存在人脸。这种方法的难点在于如何将人脸的特征转化为规则,已经如果规则过于详细具体,可能无法检测到人脸,或者规则过于简单检测到飞人脸的目标。
- 基于特征不变量的方法,该方法存在一个设定,无论周围的光线复杂度,角度如何变化,看似复杂多变的人脸中总蕴藏着一些恒定不变的东西,正是因为这一特点,平日里我们的人眼才能快速的发现并分辨出人脸和非人脸,当将这一方法移植进人脸检测,就是通过特定的算法从边缘开始检测出人的耳朵,眉毛,鼻子,眼睛,并将这些特征整合为一个统计模型,以此来表述人脸的具体特征,并判断图像中是否存在人脸,这一方法中,对于光线,角度的要求犹为严格。
- 基于几何特征的方法,该方法就是将人脸的五官用一些几何图形表示,从而将对人脸的检测转化为对几何图形的检测,一但图形被检测到,人脸也就被检测到了。
人脸检测的方法多种多样,不再一一列举了。而作为人工智能大热的模式识别领域,人脸检测又是为重中之重,国内外都花费了大的精力去研究此领域。美国的麻省理工大学,卡耐基梅隆大学,南加利福尼亚大学在此领域的研究十分出名,走在了世界前沿;我们国内的各大知名高校和研究院,比如说清华大学,东北大学,东南大学,四川大学,中科院计算机自动化研究所等都投入了大量精力去研究这一领域。而且动态图像专家标准组织特地针对这一领域开创了人脸信息识别小组,该小组工作的重中之重就是对于人脸检测算法的研究。随着人脸检测研究的逐步深入,在国际上发表相关论文的数量也大幅增加[7-8],其中不乏一些顶级的期刊杂志,如国际计算机视觉会议等等。
1.3.2人脸识别技术在国内外研究进展
人脸识别的研究已经经过了漫长的时间,追溯到十九世纪八十年代,盖尔顿就已经提出了人脸识别的身份认证方法,伴随着计算机技术的日益成熟,图像分析处理的技术也是越来越强大,因此人脸识别技术已经在很多领域得到广泛的使用,并且起到了举足轻重的作用,到上世纪九十年代,人脸识别的技术突飞猛进,经过专家学者的不断努力,提出大量新的方法和技术,人脸识别的技术终于在实践中运用到了考勤系统中去。
当年研究较为成熟,普遍使用的识别方法有:人工神经网络,他源自于对人脑神经网络的模拟,可以很好的应对人类复杂多变的面部表情变化。支持向量机是一种基于统计学的学习方法,它的优势是,可以在样本容量很小的情况下,将样本进行很好的分类,因此在人脸识别技术中广泛运用。
在国际上,人脸识别技术已经在这几家研究单位得到了很成熟的研究,分别是:美国CMU研究所,MIT人工智能实验室及日本ART研究所等。近几年,在人脸识别这一方向国内学者也投入了大量精力去研究,例如中科院计算机所,香港大学,哈工大联合面像实验室等都是走在研究最前沿的研究单位。香港大学的李志峰等为解决传统线性判别问题提出了非参数判别法[9],四川大学周激流等完成了反馈机制的人脸识别系统,并提出了很多新的判别人脸的方法[10];中国科技大学杨光正提出了基于镶嵌图的人脸识别方法[11]。如今,在类似人脸识别这种高新技术领域,国内的清华大学,东南大学,南京大学的等都进行着深入的研究,可想而知,不远的将来人脸考勤系统会越来越先进完善。
智能人脸识别系统介绍
2.1 智能人脸识别系统运用领域
现如今社会的各个领域都能发现智能人脸识别系统的运用,企业公司里面的考勤系统仅仅是很小的一个方面,如各大公司常用的面部识别打卡机。还有在各大机场火车站的重要安检位置摄像头都是可以实现人脸识别的,诸如刘德华演唱会上逮捕到若干通缉犯,全都要给人脸识别系统记上一功。现如今高度发达的天眼系统,其中就运用了智能人脸识别的技术。如下图2-1所示
图2-1 人脸识别的运用在社会上已经相当普及
2.2 智能人脸识别考勤系统流程
在该系统中主要存在如下几个模块,摄像头收集人脸图像模块,计算机训练人脸模块,人脸检测模块,人脸识别模块,员工信息处理模块。
这六个模块组成整个系统,运转的流程大致如一以下流程图反应:
图2-2 考勤系统流程图
第三章 人脸检测系统
3.1 人脸检测中存在的问题
人脸检测在智能考勤系统里有着举足轻重的作用,人脸检测的作用就是可以检测出被测图像中是否有人脸的存在,但凡有人脸,就要对其特征进行比对。早在上世纪七十年代,人脸检测技术就已经开始被研究,现如今人脸检测的方法主要有以下三种,(1)肤色模型(2)图像模型(3)统计模型。
方法一是不仅仅是通过肤色来检测,而是基于色彩图像根据人的头发的颜色,嘴唇的颜色,和皮肤的颜色等检测,笼统地讲,就是基于色彩信息来检测,除了基于彩色的一种方法,还有一种是基于灰度的图像人脸检测,这种方法是根据每个人不同的人脸轮廓,通过边缘检测和轮廓提取的方法进行人脸检测的。
方法二作为本设计采用方法后面详细阐述。
方法三是通过分析统计人脸和非人脸的特征形成一个相对固定的人脸模板,再将采集得到的图像与这个模板对比从而完成人脸检测,基于神经网络,支持向量机就是利用统计方法进行分类。这种方法准确性较高但是需要大量的样本训练。
3.2 基于haar特征的人脸检测技术
人脸检测与人脸识别其实是完全不同的一个过程,人脸检测是一个寻找人脸共同性的过程,而人脸识别则是找寻各个人脸之间的差别。
人脸检测的主要任务就是找出被测图像中的人脸部分,排除出非人脸,同时可以理解为寻找出图像中一个人脸的在可变范围内的共性,通过算法,不断完善符合人脸的模型。降低各种人脸之间的类内可变性,增加脸与非脸的类间可变性。
3.2.1 类haar特征
文学上的特征,就是可以代表一个事物的特点,而在我们人脸检测研究当中,特征就是人脸与人脸之间的相同点,联系,也是人脸与非人脸之间的不同,区别。提取出特征就有利于我们更加轻易的完成人脸检测这一过程。
正如haar小波变换那样可以区分出一类图像与另一类的明显特征,haar特征变换也可以对图像进行区分判别处理,haar特征就是一种矩形特征,如下图1所示
图3-1三种haar特征
根据haar特征这一特性,Papageorgiour等人首次将上图三种特征应用于人脸识别当中[12],正如上图所示,三种haar特征都是正方形的,也就是说haar滤波器都是正方形的,很显然复杂的人脸不可能仅仅又这些简单正方形图像来表示,就拿人脸中最关键的人脸举例,人的双眼之间和鼻梁两侧的阴影部分灰度值是相差甚远的,单纯的正方形haar特征无法直接表示出来,所以Paul Viola等人又提出了加入一个矩形滤波器的,也就是之前提到的类haar特征,又名矩形特征。如图2所示。
图3-2四种类haar特征
显然加了矩形滤波器的四种特征更加能满足描述复杂人脸的要求,比如说人的眼窝,眉毛,嘴唇颜色比较皮肤更深,两眼之间鼻梁之上的颜色比鼻梁本身要深,类haar特征比haar特征对人脸边缘细节的敏感度更好,它可以描述一些特定的结构,水平,垂直,旋转45度角的都可以。如图3所示。
图3-3类haar特征描述人脸
值得一提的是,在本系统中所应用的Opencv中,总共使用了14种类haar特征,其中包括了五种基本特征,三种核心特征以及6中总特征。如图3-4所示。
图3-4 opencv中所使用的haar特征
3.2.2 Haar-like特征的计算—积分图
何为积分图,图像处理中积分图就是区域求和的方差阴影图,其实质是一种算法,是用来提高图像计算速度的一种快速算法,它的原理就是将从起点到目标点的像素和存放在一个元素数组中并保存在在电脑内存中,以供之后计算的反复使用,一次计算多次调用,可以节省非常多的时间,加快了计算机处理速度。正如下图3-5所示,
图3-5积分图原理图
如图所示,点A(x,y)的积分值就代表了整个阴影区域,计算公式如3-6
(3-6)
可以预见的是,通过积分图的方法,类haar特征计算量是大大减少,我们利用矩形的四个顶点就可以计算任意一个点的像素值,如图3-6
图3-6利用矩形顶点计算像素值
比如说ii(1)就等同于矩形A的像素值,ii(2)等同于矩形B和矩形A的像素值,ii(3)等同于矩形A加上矩形C的特征值,ii(4)等同于矩形ABCD四个的像素和。相反的考虑,如果要单独求出矩形D的像素值,就可以利用ii(1) ii(4)-ii(2)-ii(3)求出。
3.3 分类器的设计
在人脸检测过程中不是所有图像中的矩形特征都能发挥出作用,所以必须在众多特征中选取一些有效特征,这些有效特征可以发挥出作用组成分类器,具体到每一个特征,分别就对应着每一个分类器,这种只包含一个特征的分类器,我们就称之为弱分类器。由此可知,当确定了一个弱分类器就是确定了某一特定的矩形特征。
这里我们选择运用Adaboost算法对分类器进行设计,归根到底Adaboost是一种迭代算法,是通过一次又一次循环往复的训练使得弱分类器性能获得提升,并将这些训练过后的性能增强的弱分类器通过加权线性组合合并而成为强分类器。在人脸检测算法中,所谓的强分类器通俗来讲就是由一系列人脸的结构特点组成的,用由Adaboost算法训练出来的强分类器对人脸进行检测,对提升系统检测速率和准确率有明显作用,下面两小节分别对弱分类器和强分类器分别介绍。
3.3.1 弱分类器
坦白来讲,弱分类器的效果就好比抛硬币,几乎就是百分之50的正确率,几乎就相当于随机猜测了。弱分类器的形式各异,诸如隐马尔科夫模型,神经网络,决策树等。而adaboost算法就是利用haar特征来构造弱分类器,就是说每一个弱分类器都分别对应一个具体的矩形特征,通过对该分类器的进行训练可以确定一个最佳阈值,使得分类效果最好。
下面我们通过构建一个决策树的方式来表达一个弱分类器的分类步骤,简单来讲就是将图像中所获得的特征与分类器里存放的特征相比较,符合的就是人脸,不符合的就不是人脸,如下图3-7所示:
图3-7 弱分类器的分类步骤
该分类器的重点在于阈值的设定。阈值的设定方法如下:
(1)分别求出每一个弱分类器所对应的训练样本的特征值;
(2)再把求得的样本特征值由小到大依次排位;
(3)先后运算分析出对应人脸样本的特征值以及非人脸样本的特征值;
(4)计算第i个样本前所有属于人脸的样本的特征值的和s1is1i和属于非人脸的样本的特征值的和s0is0i;
(5)计算r=min((s1 (t0i−s0i)),s0 (t1i−s1i))r=min((s1 (t0i−s0i)),s0 (t1i−s1i))。
(6)计算得到的最小的rr值即为所求阈值。有了阈值,我们便用决策树构成了一个简单的弱分类器,如下所示:
()
请支付后下载全文,论文总字数:19046字