"景先生毕设|www.jxszl.com

人脸识别的宿舍门禁管理系统

2021-01-17 12:47编辑: www.jxszl.com景先生毕设
摘要:对大学生住宿进行有效管理,学生宿舍门禁系统是最高效、最可行的方法,在监督保证学生按时归宿的同时,也可以防止非法人员进出宿舍威胁学生人身财产安全,从而营造一个良好安全的和谐校园环境。传统的学生宿舍门禁系统通常采用刷卡方式识别身份以出入宿舍,但是这种简单的识别方式安全系数较低。为增强识别有效性,本文研究系统结合人脸识别技术,采用C++语言开发,同时使用直方图差值比较的识别方式,应用性强,安全系数高,便于管理,易于维护。
目录
摘要1
关键词1
Abstract1
Key words1
1选题背景1
1.1 问题的提出1
1.2 国内外研究状况2
1.2.1 国外研究状况2
1.2.2 国内研究状况2
2 开发平台2
2.1 OpenCV概述2
2.1.1 OpenCV系统简介2
2.1.2 OpenCV人脸检测2
3 开发函数及技术方法2
3.1 C++语言3
3.2 Haar特征脸识别4
3.2.1 Haar特征5
3.2.2 特征值计算6
3.3 感兴趣区域7
3.4 直方图特征匹配8
3.4.1 直方图简介9
3.4.2 直方图建立10
3.4.3 直方图特征匹配11
3.5 KNN算法12
4 前期图片收集12
5 系统界面实现13
6总结14
致谢15
参考文献16 基于人脸识别的宿舍门禁管理系统
引言
选题背景
1.1 问题的提出
校园安全一直是大众视线中的热点和焦点,其中,学生宿舍安全是最为重要的问题。宿舍作为学生学习和休息的重要场所,出入频繁,人员流通量大,很容易给不法分子创造机会混入,从而引发盗窃、传销、诈骗等恶性事件,威胁学生在校安全。学生宿舍门禁系统作为监控管理的有效方式,其安全性和可行性显得尤为重要。然而传统的刷卡身份识别方式安全性较低,学生之间就可以用借卡方式轻易刷入宿舍,但
 

 *51今日免费论文网|www.jxszl.com +Q: ^351916072
宿舍管理系统无法识别校园卡与持卡人身份是否相符。为了弥补这个漏洞,提出采用人脸识别来辨识进入者身份,并与数据库中的信息进行对比从而判断是否为该宿舍学生。
1.2 国内外研究状况
1.2.1 国外研究状况
国外对于人脸识别领域的研究起步较早,其中以日本、美国以及欧洲地区的研究技术成果先进,并位于世界的前列。国外主要的研究机构有美国的麻省理工【1】、美国的卡耐基梅隆、密西根州立、耶鲁等【2】。
国外对于人脸识别的普遍应用已经进入平常化,譬如人脸识别支付,在美国早已经实行。在英国,PayPal零售服务部门高管表示,他有信心在2016年前,让英国人丢弃传统意义上的钱包,仅仅使用智能手机“人脸识别”即可支付。
1.2.2 国内研究状况
相对于国外研究,我国在人脸识别领域起步较晚,但是我国看好该技术发展前景并十分重视其研究与创新开发,同时在科技基金上予以大力支持。其中以中科院等科技研究机构为领头代表,我国在人脸识别领域快速前进。目前,我国研究的重点主要在以下几个方面:基于集合特征的人脸正面自动识别方法,基于代数特征的人脸正面识别方法和基于连接机制的人脸正面自动识别方法【3】。
如今随着社会的发展和进步,人脸识别检测技术已经不仅仅局限于军事、政治中了。由于其成本价格低、操作简便、效率高等特征,在各个领域得到了广泛的应用,譬如在刑事侦查、商业市场上均可见到。
开发平台
2.1 OpenCV概述
2.1.1 OpenCV系统简介
OpenCV是由Intel公司开发的开源图像处理算法库【4】,采用了C函数以及C++编写,因此它的编程代码可以被普通大众编译器进行编译,并且可以被运用在众多商业市场系统。
OpenCV应用领域广泛,覆盖计算机视觉、图像分割、运动跟踪等众多领域。其中,本文研究的人脸识别也属于OpenCV应用领域范围。OpenCV系统具有较强的兼容性,它除了可以在Linux、Windows、Mac等的常见的操作系统上运行,也具有其他的用户接口,像Python,mat lab和Ruby 等语言的接口也可以使用。此外,OpenCV主要应用于实时的系统,由此可以更加优质的发挥多核处理器的优越性能。
2.1.2 OpenCV人脸检测
在OpenCV中,人脸检测识别为热门专题。其原理主要是通过Haar特征来识别是否为人脸,并且对该人脸进行识别。
3 开发函数及技术方法
3.1 C++语言
C++语言是在C语言的基础上为支持面向对象的程序设计而研制的通用程序设计语言,它是由AT&T贝尔实验室的Bjarne Stroustrup博士创建。研制C++的首要目标是使C++首先是一个更好的C语言,所以根除了C语言中存在的问题,增加了许多新功能。C++的另一个目标是支持面向对象的程序设计,因此在C++中引入了类的机制。所研制的这个语言最初被称为“带类的C语言”,1983年取名为C++。C++语言的标准化工作从1989年开始,于1994年制定了ANSI C++标准草案【5】。
C + +的主要特点有两个方面:面向对象的C语言的全力支持和。 C + +演变而来的C,C维护简单,高效,并在下面的汇编语言指令功能的一些操作。同时, C语言已被改进和扩展系统,堵塞C语言的许多缺陷型,C + +编译器提供了更好的编译时类型检查和分析,可以检查出更多的错误的那种。 C + +中,以提高C语言的安全性,并且比C语言更安全。因为C + +仍然用C语言,这使得大量的代码无需修改可能是在C + +编译器使用C语言库和大量的实用软件很容易移植到C + + ,兼容。因此,使用C语言程序员可以学习C + + ,用C + +编程。此外,通过使用用C + +很好看的一个程序,代码结构更加合理。 C + +是最重要的特点是面向对象编程的支持,使用C + +编程,编程的高效率;对于面向对象的方法更接近人类认识世界的方法, C + +来更易于描述更易于理解和维护程序的问题;可重用代码的C + +模板库提供了支持; C + +是更有利于大规模编程。 C + +是一个支持多种编程方式,提供基于对象的设计方法和程序支持的语言 程序。非常适于使用不同的开发方法的程序员【6】。

原文链接:http://www.jxszl.com/jsj/wljs/44621.html