人脸识别系统设计毕业论文
2020-02-19 07:53:55
摘 要
人脸识别系统主要是基于计算机识别的一个数字化技术,在进行人脸识别的时候,先进行图片处理,突出面部特征,去除不重要的周围变量的特征,从而训练出面部模型.再以训练好的模型参数与视频图像相比对,达到识别的目的。
本文基于openCV设计了人脸识别系统,分为了人脸检测,人脸训练,人脸识别三个模块。首先,第一个模块是人脸检测模块,在本文中,人脸检测模块是通过opencv的基于Haar特征的cascade分类器进行检测的。当检测到人脸后,裁剪规范的尺寸并对图像进行相应处理后放入人脸数据库当中。
其次,人脸训练模块中,先通过csv文件提取出数据库的图片,将其去除从而达到所有图片训练的目的,本文运用了三种不同的算法分别提取了相应的特征参数,训练出不同的人脸模型。
最后人脸识别部分,先加载已经训练好的人脸模型,同时摄像头检测到的人脸图像将其输入处理,并将其与人脸模型的参数进行比对。如果能够匹配,则显示对应的姓名,若不能匹配则显示error。从而达到了人脸识别的目的。
关键词:人脸识别;分类器;人脸模型;openCV
Abstract
The face recognition system is mainly based on a digital technology of computer recognition. When performing face recognition, the image processing is first performed to highlight the facial features, and the features of the unimportant surrounding variables are removed, thereby training the facial model. The model parameters are compared with the video image to achieve the purpose of identification.
This paper designs a face recognition system based on openCV, which is divided into three modules: face detection, face training and face recognition. First, the first module is the face detection module. In this paper, the face detection module is detected by opencv's Haar-based cascade classifier. When the face is detected, the size of the specification is cropped and the image is processed accordingly and placed in the face database.
Secondly, in the face training module, the database image is extracted from the csv file and removed to achieve the purpose of all image training. This paper uses three different algorithms to extract the corresponding feature parameters and train different people. Face model.
Finally, in the face recognition part, the trained face model is loaded first, and the face image detected by the camera is input and processed, and compared with the parameters of the face model. If it matches, the corresponding name is displayed, and if it does not match, error is displayed. Thereby achieving the purpose of face recognition.
Key Words:Face recognition;Classifier;Face model;openCV
目录
第1章绪论 1
1.1人脸识别系统的背景及目的 1
1.1.1 人脸识别系统的背景 1
1.1.2 人脸识别系统的意义 3
1.2 国内外研究状况和相关领域中已有的研究成果 4
1.2.1 国外的研究状况 4
1.2.2 国内的研究状况 4
第2章 系统的需求分析 6
2.1 应用程序的功能需求分析 6
2.2 环境需求分析 6
第3章 系统的设计 7
3.1 系统的原理框图 7
3.2 各个模块详细介绍 7
3.2.1 图像拍照预处理模块 7
3.2.2 人脸训练模块 8
3.2.3 人脸识别模块 9
第4章 算法的研究 11
4.1 Adaboost算法及其原理 11
4.2 Eigenfaces(特征脸)算法及其原理 13
4.3 FisherFace(LDA线性判别分析)算法及其原理 14
4.4 局部二进制模式直方图 (LBPH) 算法及其原理 15
第5章 软件仿真以及问题总结 17
5.1 软件仿真 17
5.2 问题总结 17
第6章 结论 18
致谢 19
参考文献 20
附录 22
第1章绪论
1.1人脸识别系统的背景及目的
1.1.1 人脸识别系统的背景
由于安全门户和金融交易控制的应用需求的快速增长,生物识别技术受到了新的关注。微电子和视觉系统的新进展,使实现基于行业的高性能自动识别技术的成本处于可接受的水平。现在生物识别方法所用到的技术最多的就是人脸识别技术。人脸识别技术是这几年来还不太普及的新技术。人们更有可能在电影中看到这种技术的惊奇的应用:警察拍摄嫌疑人的脸,将其放在电脑上,将其与警方数据库中的数据进行比较,并找出嫌疑人的详细信息,相对应的资料以及犯罪记录。这不是一个编造的情节。在国外,人脸识别技术长期以来一直用于许多国家主要部门以及军队和警察安全部门[1]。
面部识别现在在大多数领域发挥着关键作用,特别是在安全和出勤,网络安全,银行,海关控制,资产管理,军事安全,智能识别卡,智能访问,驱动程序和驱动程序方面。 驾照验证,电脑登录系统。 中国在这方面也取得了很大进展:国家863计划“基本图像检测与识别技术”已经确定并预先应用了结果,表明中国已经掌握了当前热门研究领域的核心技术。
人脸识别技术在其发展的过程中有五个里程碑式的阶段。 在上个世纪50年代初,认知科学家就开始准备研究人脸识别。 人脸识别系统化的应用研究于上个世纪60年代开始启动。 在那时,方法基本上是运用几何面部结构,借着研究面部器官特征和它们之间的拓扑关系来进行识别。该方法直观方便,但一旦面部表情以及位置发生变化,识别的精度就会下降很多。这个方法是最早的人脸识别的算法,也叫几何法。
人脸识别技术在21世纪的前十年取得了新的进展,逐步引入了基于特征的方法和整体方法,1991年着名的“特征脸”方法首次引入了主要构件和统计功能的分析。 人脸识别在实际效果上取得了很大进步。 这个想法在随后的研究中得到了进一步的发展,举例来说的话,Belhumer成功地使用了Fisher的判断的原则运用到人来鸟的分类当中,并提出了一种基于LDA的Fisherface的方式[2]。并且随着机器学习理论的进步,基于面部的稀疏表示,支持向量机(Support Vector Machine, SVM)等整体法也在占据了主流地位。
在2000年到2012年期间,随着局部描述子加入到人脸识别技术领域当中后,又进一步推动了人脸识别技术的发展,相对应的利用在面部图像中的不同位置处提取的局部特征的基于特征的方法,也逐渐发展了起来,一种非常流行的基于特征的方法是弹性束图匹配(EBGM)方法[3]。
弹性图像匹配技术是一种把几何特性和向灰度的分布信息使用小波纹理分析相互融合的识别算法,因为这个算法能够很高地利用人的面部的结构和灰度分布信息,同样还具备着自动准确的定位在人脸的特征脸的能力。因此这个技术具有不错的识别能力。这种技术在FERET测验中有着出色的指标数据,因为该方法使用Gabor的小波的转变来描述脸部特征的范围信息,受光亮的影响不大。另外,在弹性匹配过程当中,整个网络的形状会不停变化伴着特征点的搜索的进行,因此它对脸部的位置的变化也有着一定的自我调适的能力。但是这个方法也存在一些缺点,最主要的是搜索过程中成本函数优化有着很庞大的计算量,将会导致识别速率非常缓慢,这使得该方法不太具有实用的效果。总结来说,缺点是时间复杂度相当高,实现麻烦。
继而整体法和基于特征的面部识别方法进一步发展,并组合成混合法。使用混合法相较于单独使用这两种方法中的任何一种都获得了更好的准确性。到如今,这种方法仍然是最为先进的方法。而现在最为常用的方法是深度学习方法。
2014年是用于人脸识别的深度学习的关键一年,当年FaceBook发布了一个名为“DeepFace”的系统:一个裸眼人脸识别系统,然后是 Face 的创始人印齐团队和来自中国香港大学的汤晓欧团队在面部识别方面取得了优异的深度学习成果,LFW数据文件的识别准确率超过99%,数据集的眼睛识别准确度仅为97.52%。 可以说,深度学习技术使得能够识别超出人类知识的计算机的面部。
在深度学习方法当中,最广泛使用的方法是卷积神经网络深度学习方法。从最基本的来说CNN是输入/输出映射,其在学习的时候不需要输入和输出之间进行任何精确的数学表示就可以学习到大量输入到输出的映射关系。仅仅需要借已经有的模式对整个卷积网络进行训练,网络就能够在输入和输出进行的映射将其对上。 CNN大部分是用于识别位移,缩放和其他形式的具有扭曲不变性的一系列的二维图形。由于CNN特征检测层的学习的方法是凭借训练数据完成的,从而在使用CNN时,有效的避免显式的特征的提取,并且从训练数据中隐式的学习。然后因为一个特征映射面上的神经元他所具备的权值是一样的[4]。同样,网络也能够并行学习。 CNN在语音识别和图像处理领域具有独特的优势,是因为他具有特殊的局部权值共享结构,其布置更相当于当前真实的生物神经网络,权值共享降低了网络他的复杂程度,尤其是多维输入向量的图像可以直接输入网络中的特性防止了在特征的提取和分类期间数据重新建立的复杂性。然而,缺点是虽然可以借助增加训练集的大小或网络容量,从而直接扩展这些系统以实现更高的准确度。可是要收集到许多标记到的脸部图像是花费巨大的,而且如果要训练部署相当深的CNN的架构的话会导致成本与时间要求较大。虽然准确度与识别时间都有着显著地提高。但是同样的,他能得到更多的信息。
1.1.2 人脸识别系统的意义
那又是什么原因让大家愿意花如此大的精力去发展人脸识别技术呢?是因为他有着自然性与不被察觉性,所以在识别系统当中具有着很高的地位;首先自然性,其识别方法与人们用于个人识别的方法用到的生物特征相同。指纹识别,虹膜识别等都没有自然的特性。不易发现的特质导致识别方法不容易让人反感,并且指纹识别或虹膜识别都需要使用压力传感器或者红外获取指纹和虹膜图像,在采集途中易有不良体验。也就是说,当人脸识别系统做的足够完善时,就能够真正的实现,我们在科幻电影当中所见到的“天眼”系统了。也就是当输入我们想要的人的图片信息后,能够通过人脸识别的系统,找出与其相关的记录的视频资料与图片。对于这一点,国外已经初步具有了雏形。
人脸识别技术由于其便利性和安全性,可以作为智能家居中的访问控制和认证系统,因此集成智能家居技术和人脸识别是未来发展的关键。 智能家庭人脸识别基于集成的操作系统和内置硬件平台,增强了人脸识别技术和智能家居应用的结合,具有新概念和高实用性的特点[5]。
更为重要的一点事是,人脸识别技术是未来基于大数据领域的重要发展方向。现如今公安部门都引入了大数据,这也弥补了传统技术的难点,通过人脸识别技术使得这些照片数据再度存储利用,能够大大提升公安信息化的管理和统筹,也就是说,人脸识别提取出来的参数,将成为新的一种信息加以存储,这将成为未来人脸识别的主要发展趋势。
1.2 国内外研究状况和相关领域中已有的研究成果
1.2.1 国外的研究状况
美国联邦调查局于2014年推出了下一代电子识别系统,总投资超过10亿美元。它用于通过监视来监控犯罪嫌疑人,通过网络捕捉犯人行踪。美国国防部和国土安全部也增加了对人脸识别技术的金钱的投入,以防止危险组织造成公众的生命的危险。2015年日立的人脸识别技术以每秒3600万帧的速度进行扫描,以高精度识别路人,并立即存储路人的路人图像以对相似的人脸进行分类。日本已经在日本的重要的机场建立了一个运用电脑设备高效识别人面部的系统,预计它将在东京奥运会和残奥会之前,实现日本本国国人能够无人检查出入境,并将很大程度的减少非本国游客的入境检查时间。
1.2.2 国内的研究状况
人脸识别系统现在在大多数领域发挥着关键作用,特别是在政府机构安全和出勤,网络安全,银行,海关控制,资产管理,军事安全,智能身份证,智能访问控制,驾驶执照验证,登录系统计算机。 自2015年以来,国家继续实施优惠政策,为面部识别技术在安全,医疗和金融领域的应用奠定基础。2014-2017年,中国人脸识别技术专利申请数量不断增长,年均增长36%。2014年中国人脸识别技术专利申请数量已达608项,截止至2017年中国人脸识别技术专利申请数量增长至2847项。
从目前我国人脸识别技术的应用来看,主要集中在三大领域:金融、安防以及考勤/门禁。从具体应用来看,其中尤其包括在公共安全,刑事鉴定和边境安全,电子政务,家庭登记,社会保障和信息安全,电子商务,电子货币和支付,出勤等领域的政府职能方面的刑事调查和监禁。商业企业的营销,进入和退出军事访问部门,访问控制和金融机构的访问控制。北京大学将人脸识别技术应用到了校园入园人员身份验证领域;北京市人社局也计划在市级公租房将全部安装人脸识别系统。
中国民航管理干部学院,中国科学院重庆绿色智能技术研究所和智慧航空科技有限公司联合开展了多项面部识别技术安全辅助验证系统的改造和改造。这个系统他的面部识别的成功率高达99%以上,识别速率不到1s,产品有着较小的个头,使用方便,能够离线运行。自2018年5月起,该系统已累计应用于中国65个机场的乘客安全检查,覆盖585个安全控制通道。根据相关机场测试条件的反馈,在使用人脸识别安全识别系统后,机场通道检查的效率和准确性得到显著的提高。查到使用其他人身份证的人数与去年相比有明显的增长。通过该系统,重庆一个江北机场发现了233起企图使用他人证件的案件。
随着智能设备的普及率通过发展现代科学技术和提高人们的生活水平而增加和增加,人脸识别在中国越来越受到重视。人脸识别的使用将越来越多,因此人脸识别领域将占据越来越重要的地位。
第2章 系统的需求分析
人脸识别系统现在正在许多领域中使用,但人脸识别技术也是近年来出现的一种新技术,并不为人所熟知。大量学者研究并不断更新中国和其他国家的人脸识别技术,使系统识别准确度达到新的高度。
2.1 应用程序的功能需求分析
该系统最重要的功能是识别面部。首先,该系统需要在计算机上通过相机拍照以获得面部并预处理图像,然后通过提取图像功能参数来训练面部训练器,最后使用面部训练器来查看相机的面部是否匹配。[6]
图像获取及处理功能:
这个模块是从摄像头获得图像,剪裁成相应的所需的图片大小,并且对图像进行预处理,使得减少今后识别的计算量以及凸显出所需要的参数。
人脸训练功能:
该模块是将处理过后的图片提取出来,并且通过相应的算法训练出所需要的分类器,为今后的人脸识别系统做准备。
人脸识别功能:
给模块是通过提取工程里面训练出的训练器同时比对摄像头的图像,如果能够匹配则在摄像图像的人脸框中显示相应的名字。如果匹配不上则显示错误。
2.2 环境需求分析
1. 所需软件环境:需要能够配置opencv3的软件,本次实验选择visual studio 2017,同时配置opencv 3.46,以为将opencv相应的文件库加进visual studio 2017 当中,而由于opencv3的版权问题需要下载 opencv-contrib-3.46通过cmake软件编配进visual studio 2017当中去[4]。
2. 所需硬件环境:需要一台装有摄像头的电脑,其操作系统选用windows10专业版。
第3章 系统的设计
本章主要是介绍系统的结构设计的流程以及系统各个模块的功能及相关的原理。同时附上所完成的代码加以解释原理。
3.1 系统的原理框图
图3.1 系统原理框图
3.2 各个模块详细介绍
3.2.1 图像拍照预处理模块
该模块需要能够检测出来人脸,原方案是自己通过Adaboost算法自己训练一个分类器,通过多张人脸的数据集训练出一个基于Haar特征的cascade分类器,由于opencv3当中附带有已经寻来你好的分类器,通过调用直接识别摄像头当中的人脸。
由于我们需要保存人脸素材,为防止干扰因素,加了一个if语句,只有当摄像头检测的人脸只有一个的时候才能拍照,否则会导致以错误的图片生成的训练器是错误的。
拍照的实质是通过相机捕捉到人脸之后,隔相同的时间保存摄像头捕捉到的图像,同时在保存的时候通过程序规范图片的尺寸,在本次实验当中,讲所有的人脸图片皆保存为了92*112。与此同时会将图片转换灰度,能够更凸显人脸的特征参数并且能够减少干扰因素,从而减少计算机的计算量,以达到提高准确率的目的。整个程序通过一个for的循环语句达到保存规范的图片 的处理,当图片达到10张的时候,会自动结束整个程序。
图3.2 拍照原理框图
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: