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