基于Python的人脸识别系统的设计.docx
《基于Python的人脸识别系统的设计.docx》由会员分享,可在线阅读,更多相关《基于Python的人脸识别系统的设计.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要人脸识别是本世纪的一个热门技术话题之一。随着科技飞速发展。人脸识别技术已渗透进社会中的各个领域,例如:军事、医疗、教育、娱乐等。类似于人脸识别支付、人脸识别登陆、人脸识别认证等功能,我们几乎每天都在使用。本设计主要运用Python语言、Opencv(计算机视觉库)、Tkinter(Python的Tk GUI工具包)制作的一个含有人脸识别的一个信息系统。其工作原理为:以含有人脸的图片为素材,从图片中提取人脸数据的特征值作为识别的标准后,与人脸系统库中人脸比对,从而识别出图片中的人物,并执行与该人物相关的一系列功能。关键词:人脸识别 Opencv GUI 检测AbstractFace reco
2、gnition is one of the hot technical topics in this century. With the rapid development of technology, Face recognition technology has been in various fields in society, such as military, medical, education, entertainment, etc.Similar to face recognition payment, face recognition login, face recognit
3、ion authentication and other functions, we use it almost every day.This design mainly uses the Python language, Opencv (The vision library of computer), and Tkinter (Python Tk GUI toolkit) to design an information system containing face recognition.Working principle: It uses the picture containing t
4、he face as the material, extracts the feature value of the face data in the picture as the recognition standard, and then compares it with the face in the face system library.Thus, the person in the picture is recognized, and perform a series of functions related to the character.Key words: Face rec
5、ognition Opencv GUI Detection广东东软学院本科生毕业设计(论文)目录第一章 绪言11.1选题目的与意义11.2研究现状21.3主要内容3第二章 人脸识别的相关理论和技术42.1脸部识别原理42.1.1采集人脸图像42.1.2人脸检测52.1.3人脸信息对比(人脸识别)52.2人脸识别算法62.2.1几何特征识别法62.2.2特征脸识别法(PCA)82.2.3线段Hausdorff距离识别法(LHD)92.2.4支持向量机(SVM)的识别法92.3本章小结9第三章 人脸识别系统的软件设计103.1人脸识别的算法设计103.2软件功能的设计123.3软件功能的实现133
6、.4本章小结16第四章 功能测试和系统调试174.1人脸识别系统的功能测试与结果174.2实验结果测试与对比18总结与展望20课题工作总结20未来展望20参考文献21致谢22附录23 广东东软学院本科生毕业设计(论文)第一章 绪言1.1选题目的与意义 如今时代发展飞速,从汽车到火车,再从飞机到火箭,科技的进步令人瞠目结舌。从农耕社会到现在的信息社会,我们的生活也逐步迈向小康。但凡事都有其两面性。在科技进步下,带来了信息化的社会,但就是在这个信息化的社会下,防止信息的泄露也演变成了国际性的难题之一。据不完全统计,全世界80%以上的人,他们的个人信息都保存在服务器中;92%以上的企业信息都保存在服
7、务器主机内。出于安全性的考虑,国家机密资料更是有很大一部分都需要用加密硬盘进行保存。这些数据可充分体现出人们对信息安全性的重视。如今,人们都喜欢使用电子设备存储信息。第一、现在的电子设备越来越小巧,可随身携带;第二、电子设备体积虽小却能装载下大容量的东西;第三、电子设备不仅存储空间大,其存储的内容更是多种多样,不但可以存储文本、图片、视频,还可以存储三维模型、软件等。真因为电子设备的存在,同时也大大提高了信息在人与人之间传递的速率。从另一个方位思考,可发现这些信息同时也蕴含了极高的价值,例如个人的隐私信息、公司的机密信息、国家的机密信息等,所以,人们都很希望这些信息得到严密的保护,希望信息能够
8、层层加密,就像是保险箱一样。也正因人们的需求太大,大大促进了如今的信息技术行业。如今的加密方式的种类也很多,我们使用得最多的就是密码加密,这是利用了混淆技术原理8,把一些可识别的信息经过某些手段处理后,变成无法识别的信息。这种密码加密方式仅适用于一些使用率较少的秘密信息,对于一些使用率较高的秘密就显得不太合适,因为这些秘密每天都要被使用,所以这样每天反复的输入密码,会显得十分繁琐,同时还加剧密码泄露风险。总而言之,类似于密码保护等身份识别工具已经无法满足社会的要求15,研究新的身份识别工具是一个必然的趋势。本次毕业设计选择了人脸识别,以保证用户的真实性,从而进一步提高管理效率以及管理水平。人脸
9、识别技术早在20世纪60年代已有很多科学家在研究了。但是碍于当时的计算机处理速度,人脸识别这一技术才没办法发挥它的真正的“实力”。在80年代后,计算机的硬件方面大大提高,其处理速度方面也大大提升,人脸识别技术又被广大科学家重新研究,因此,人脸识别有了重大突破,进入真正的自动识别阶段。这一技术经过一段时间的成长后,在90年代后期,便涉及到各个领域,例如军事、教育、医学等。从人脸识别的发展历程上可以看出,人脸识别技术的发展饱经风雨,但是也影响不了它飞速发展的速度。从20世纪60年代至今不过就是几十年的时间,人脸识别技术已从简单的二维平面模型识别到现在的三维立体模型识别、多姿态识别等。人脸识别技术在
10、学术上的解释是:人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。为什么能通过人脸识别某个人的身份呢?是因为每个人脸都有一个共性都是由眼、鼻、口组成,并且它们的大致位置是不变的。但是在这些共性中又存在许多的不同点。例如:有些人是双眼皮有些人,是单眼皮;每个人的瞳距不一样;每个人嘴巴大小不一样;每个人鼻子的大小不一样等。就算是双胞胎都是会存在些许差别。人脸识别技术就是根据这些共性与差异辨别出身份的。1.2研究现状 人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术16。并且已涉及生活的各个领域,例如:军事、教育、购物等。其发展具有很大的潜力,就算在这个技术还未成熟的时候,在
11、一些科技电影中就对这一项技术描述得淋漓尽致,也对其进行“华丽的预言”。正因这一技术的潜力极大,所以,我国也出台了许多相关政策支持这一技术的研发。2015年以来,我国相继出台了安全防范视频监控人脸识别系统技术要求、信息安全技术网络人脸识别认证系统安全技术要求等法律法规,为人脸识别技术在社会的发展,以及在各个领域的普及奠定了非常重要的基础1。在2017年的人工智能被写入全国政府报告的同年7月,国务院发布了新一代人工智能发展规划,同年的12月,工信部出台了促进新一代人工智能产业发展三年行动计划(2018-2020年)1。由于人脸识别也属于人工智能的一部分,所以在这几个出台的规划中,也对人脸识别的有效
12、检出率以及正确识别率作出了一些标准规定。显而易见,人脸识别的发展是必然的,是这个时代的选择。人脸识别最早在20世纪60年代就已有科学家在研究了,只不过是受制于当时的科技技术不够先进,计算机处理速度缓慢,才导致人脸识别这一技术迟迟无法面向社会。后来计算机的发展渐渐有了起色,人类也因此进入了计算机的信息时代,计算机的各个方面都突飞猛进地增长,有了良好的硬件基础后,人脸识别这一技术也伴随着计算机的增长而逐渐走向成熟。人脸识别的整个发展过程可以分为五个阶段,它们分别是机械识别阶段、半自动化识别阶段、非接触式识别阶段及互联网应用阶段。与其他生物识别方式相比,人脸识别优势在于更具有自然性、具有不被察觉性等
13、特点16。但与此同时人脸识别的研究难度也会比其它生物识别方式高。第一、人的脸部异变性比较大,换句话说就是外形的容易变化,容易影响识别的准确率。第二、环境的光度也会影响识别的准确率,由于如今的人脸识别大多数还是使用图像处理的方式识别,光的角度对于图像人脸的识别精确度的会有一定的影响。第三、人脸包含了许多姿态,例如开心、难过、憔悴、笑等,也给人脸识别造成了更大的研究难度。人脸识别其优势虽明显,未来必将会成为生物识别的主导技术之一,但其对于技术的要求也非常高。如果人脸识别在精度问题上能够得到有力的解决的话,人脸识别估计会替代指纹识别,成为市场应用规模最大的生物识别技术之一。从申请专利数量来看,200
14、7-2017年,我国人脸识别专利申请数量总体上呈上升的趋势,尤其是2014年后,计算机人脸识别专利申请数量大幅增多,到2017年,人脸识别专利申请数量达到2847项。从公开专利数量来看,2007-2017年,我国人脸识别专利公开数量总体上呈稳定趋势。2017年,我国人脸识别专利公开数量为2698项,达到近年来最大值;截至2018年7月,专利公开数量为2163项。从专利数据上可知,人脸识别技术的发展趋势一直在快速增长。同时也说明了,人脸识别技术还可能继续成为下一个世纪的热门技术之一。在市面上的与人脸识别技术相关的书籍、文献、资料也不少,所以当前人脸识别技术的研究现状是非常不错的。1.3主要内容
15、本文将以设计人脸识别系统为主,对人脸识别技术进行深度的研究、学习。在设计开展之前,首先介绍一下人脸识别的相关知识、具体原理、以及算法知识。人脸识别算法有许多种,本文将不一一具体说明。在人脸识别算法知识中,会以阐述几何特征人脸识别算法为主。几何特征人脸识别算法也是本次设计的核心。除此之外,本文还会着重对以下几点进行了较为深入的探讨:(1)采集人脸图像过程(2)人脸检测过程(3)人脸信息对比过程27 第二章 人脸识别的相关理论和技术2.1脸部识别原理计算机识别人脸与人识别人脸的方式存在很大的差异。人是通过肉眼的视觉影像获取到这个人物的脸部信息,进而识别出这个人的身份信息。如果是个双胞胎的话,还可以
16、通过这个人的肢体动作感知来区分。但对于计算机而言,就会显得相对困难,因为计算机不像人一样有感知,计算机需要将这些信息转化成数据,再对这些数据进行一系列的处理后,才能达到识别的效果。所以,人脸识别会涉及许多领域的知识点,其中最主要的就是图像处理。计算机需要通过大量数据才能识别出一个人脸。在这个地球上一共有70多亿人,因此一个精确的人脸识别背后需要大数据的支撑。在人脸识别算法中,有一个基于卷积神经网络人脸上识别算法,它拥有极其庞大的人脸库,涉及到大数据、深度学习、以及人工智能等相关知识。经过多重考察后,最后选用了Opencv作为设计的工具。因为利用Opencv对图像操作非常方便。Opencv可对图
17、像进行剪辑、加载、拷贝等操作,还可以对图像进行基本的处理、例如去噪点、色彩处理等。不仅如此Opencv里还有摄像头的功能,方便本次设计制作以视频流为基准的人脸识别。而且OpenCV还可以进行一些线性代数上的计算,以内置函数模块实现计算特征值、特征向量、特征矩阵等。OpenCV 还提供了图像连通域、霍夫变换、图像轮廓处理、连通分支的分析、多项式的逼近、图像的模板匹配、曲线拟合、狄劳尼三角化等目标识别,以及多种特征提取方法、HMM模型4。人脸识别的过程主要分为采集人脸图像、人脸检测、人脸信息比对三个过程。2.1.1采集人脸图像采集人脸图像的渠道有很多种(下面列举三种常用的):利用电子机器摄像头拍摄
18、互相网上的人脸识别库扫描仪采集对象是一些含有人脸的2D图像、3D图像、视频等。不同的类型的图像,识别的方式也会有所不同。例如:3D人脸图像识别就有两种,一种是在三维的基础上,另一种则是在2D图像的基础上。3D图像识别之所以可以在2D图像识别的基础上识别,是因为3D图像只是比2D多出一个维度的数据,所以可以通过处理2D图像再加上一个深度数据的方式来识别3D的人脸图像。以目前的调查数据显示,3D的人脸识别准确度会比2D的人脸识别准确度会更精准。2.1.2人脸检测人脸检测是人脸识别的前提和基础12。这个过程主要检测的是图像中是否含有人脸。由于人的脸部器官之间大致位置关系是固定的,并且这些脸部器官也会
19、有所差异,例如瞳距、大小、角度等。可以通过这些共性与非共性的集合,在人脸图像寻找出一个特征点,通过这些能够标识人脸的的特征点数据追踪到人脸图像中的人脸位置,人脸图像是由多个像素点组合而成,计算机一般会用数据去记录每个像素点,对这些像素点进行分析之后就可以得到人脸数据特征矩阵,从而得到特征值与特征向量等数据。如今的人脸识别技术已成熟,所以市面上已有不少人脸检测工具,Opencv就是其中之一,在人脸检测这一模块可以使用OpenCV中的人脸模型去定位人脸位置之后再对人脸进行进一步的解析。但需要注意,在图像检测中,一般会先使用灰度处理过图像后,再进行人脸检测,因为这样能够提高人脸识别的性能。当然,彩色
20、也是可以的。本次设计将使用的是灰度处理过的图像进行识别。人脸检测这一部分主要有图像的预处理、特征提取与选择两部分。预处理影响图像的因素会有很多,例如:光线亮度、拍摄角度等。当图像被影响了之后就容易产生许多噪点,这些噪点会影响我们人脸识别的各种检测。所以图像处理是很有必要的。一般是把图像中的噪点去除掉,还有把图像灰度化。特征提取特征提取是整个人脸识别里面很关键的一部分。很多识别方法都是以特征点为参照的基准才能达到检测/识别的效果。在OpenCV里,含有许多器官的特征值,利用这些特征值可以定位出图像中是否含有人脸,如果含有人脸的话,就会返回给系统其上下左右四个点的位置。再利用这四个点就找出人脸的具
21、体位置了。2.1.3人脸信息对比(人脸识别)仅仅识别出人脸还不够,还需要识别出具体的人物。所以就需要人脸信息对比。人脸识别肯定离不开脸部识别算法。在开发设计过程中,可以自己去设计属于自己的人脸识别算法,但这样设计难度也会随之增加,也可以利用开源的人脸识别库,调用其中的脸部算法函数,这样会方便自己的初次学习,而且自己写的脸部识别算法还可能不如别人的算法好,导致系统设计缺陷多。而且人脸识别的算法质量对人脸识别的准确率会有一定的影响。人脸识别的算法有很多,主要的就是几何特征识别、以统计学为原理的PCA识别算法、神经网络识别算法、局部特征算法、弹性匹配算法等。本次人脸识别设计采用的算法是几何特征识别算
22、法,利用OpenCV与face_recognition的结合制作的人脸识别系统。这部分主要检测图像中的人脸到底是谁。如果要应用在市场应用上,在这个过程中需要建立一个人脸数据库。在图像检测完毕后,将图像中的人脸与人脸数据库的人脸进行比对,从而识别出这个人脸。一般人脸信息相似度不会设置为百分之100,脸部表情也会影响人的脸部的相似度,一般设置相似度为60%左右。2.2人脸识别算法在众多人脸识别算法中,特征分析也是人脸识别的核心之一。经过多个的人脸模型的训练后,所有的特征点组合起来后就能建立出人的脸部模型。通过这个脸部模型就可以定位到人脸图像中的人脸位置。但是还不能识别出这个人脸到底属于谁,还需要对
23、识别出来的人脸作进一步再分析,以某一相似值为标准,与人脸库中的人脸信息作对比。其中,主要的识别算法有:几何特征识别法、局部特征识别法、特征脸识别法(PCA)、神经网络识别法(CNN)、弹性匹配识别方法、线段Hausdorff距离(LHD)识别法、支持向量机(SVM)的识别法2。2.2.1几何特征识别法基于几何特征的提取方法主要是人脸的主要器官进行定位3。由于脸部器官的结构、大小等的不同,所以可以对脸部以几何进行描述,构成脸部的几何特征。这些几何特征主要包括特征点的位置、特征点之间的距离、特征点之间的角度等3。通过对这些特征点进行解析,利用特征点与特征点之间的距离构造出特征向量16,再利用该特征
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 识别 系统 设计
限制150内