人脸识别防盗门的研究

近年来,随着人类思想的不断进步以及科学技术的飞速发展,传统的门锁已经暴露出了很多弊端。因此,设计一种全新的、安全可靠的门锁就变得很有必要。本课题在MATLAB的环境下,进行基于人脸识别的防盗门系统设计与仿真。通过PCA人脸识别方法完成对采集到的图像进行预处理,接着借助图像纹理特征模式识别法,进一步处理图像。这一系统的主要工作就是利用摄像头采集含有人脸的图像,并在图像中定位到人脸,接着对检测到的人脸进行数据、图像等处理,并且将识别的结果与人脸数据库进行对比来判断是否启动防盗门系统。
目 录
一、引言 1
二、总体设计 1
三、人脸图像预处理以及在MATLAB中的实现 2
(一)图像转化 2
(二)图像增强 4
(三)边缘检测 6
(四)人脸定位 7
四、特征提取及模式识别 10
(一)人脸特征提取的方法 10
(二)模式识别 13
(三)模式识别方法 14
五、防盗门系统整体设计与仿真 15
(一)系统流程图 15
(二)GUI人机界面设计 16
(三)系统设计 18
(四)系统应用 23
总结 24
致谢 25
参考文献 26
附录 27
附录一:人脸定位程序图. 27
附录二:人脸识别程序图. 29
一、引言
近年来,随着人类思想的不断进步以及科学技术的飞速发展,传统的门锁已经暴露出了很多弊端。首先,安全性不高,有些小偷很容易的就可以打开门锁;其次,总是随身携带钥匙很麻烦。因此,设计一种全新的、安全可靠的门锁就变得很有必要。
本篇论文研究的就是采用人脸识别技术的防盗门,人脸识别技术在目前的日常生活中还没普及,但在未来,这项全新的技术肯定会得到广泛的应用。人脸识别技术不但安全可靠,而且非常便捷,无需携带任何东西,只要提前存入信息,就能进行身份识别。因为人脸是第一无二的,所以安全性有了很好的保证。作为一项全新的技术,人脸识别技术还不够成熟,需要不断的研究、完善,但这项技术在不久的将来,肯定能改变人们的生活 *好棒文|www.hbsrm.com +Q: *351916072* 
方式,让人们的生活更加便捷。当我们需要证明自己身份的时候,不必出示各种各样的证件,也不会因为别人伪造证件而产生麻烦,那是一个真正“刷脸”的时代。
目前,人脸识别技术被应用于部分高校的宿舍门禁系统,这使得学生的安全得到了保障。在国家出入境系统中,人脸识别技术也发挥着巨大的作用,这也大大稳固了国家的安全。如今,不论大大小小的考试,都出现了替考的现象,因为通过人眼很难辨别人与黑白图像的差距,一旦替考成功,那将是对其他考生极大的不公平,有了人脸识别系统,就可以完全杜绝这类事情。现在的车站虽然有了实名制验证,但仍有一些不法分子通过窃取他人身份证蒙混过关,这严重影响了社会治安,有了人脸识别系统,这些人将无处可逃。而人脸识别技术在今后日常生活中最先被应用到的应该是门锁这一方面,生活中总有些人会忘带钥匙被关在门外,或者是双手拎着东西不方便开门,这时如果是装有人脸识别系统的门,那只需把脸对准摄像头,识别成功后门将自动打开,省去了很多麻烦。安全问题在这样的门面前也不攻自破,任凭撬锁技术再怎么娴熟,对于“刷脸”的门也是无从下手。人脸识别技术将大大改善人们的生活,让未来生活更加轻松、便捷。
二、总体设计
首先要做的就是创建一个人脸图像数据库(如图2.1所示),人脸图像会因为姿态、采光、表情等诸多因素影响,本次研究只是收集了一个人的30张现阶段不同的照片作为数据库,目的是为了让同一个人在一天内的不同时段都能被识别成功,以此证明该程序的可行性。
其次是对图像的预处理,预处理的过程先是通过图像转换来统一格式,接着图像增强,使图像更清晰,用到的主要方法有直方图均衡化、图像平滑以及锐化,紧接着还要进行边缘检测,以确保图像的完整性,最后人脸定位。完成对图像的预处理之后将对图像进行特征提取以及模式识别。
完成以上操作后就是对人脸识别软件的设计研究,将在MATLAB的图形人机界面下设计程序,使人脸能够被成功识别,最后将软件应用到防盗门中。
三、人脸图像预处理以及在MATLAB中的实现
所谓人脸图像预处理就是对获得的图像进行处理,使得处理后的图像能够进行特征提取。之所以要进行预处理,是因为我们获得的图像一般都不能直接识别使用,因为获得的图像或多或少都存在着没用的信息,而我们需要做的就是提炼出有用的信息,图像预处理就是对图像进行灰度级变换,通过这种方法达到预处理的目的。人脸图像的预处理主要包括了以下几个方面,如图3.1所示。

图3.1 图像预处理的过程
(一)图像转换
图像转换可以很好地解决图像之间的格式问题,如果格式不同,后期的识别也许就无法进行。本文将用到的是MATLAB高级仿真软件,因为这款软件自带各种能够进行图像类型转换的函数,这就可以使图像的转换更为便捷,让我们操作起来更加得心应手,也不会因为某些特殊格式的转换而使研究停滞。除此之外,MATLAB还能帮助我们解决数据类型转换的问题,例如可以将uint8转换为double,通过这样的处理,可以方便图像的运算。
首先要做的就是先把图像转换成灰度图像,因为后期对图像的处理都是对灰度图像进行处理的,在MATLAB中实现转换的代码如下:
i=imread(f:1.jpg);
j=rgb2gray(i);
imshow(j);
imwrite(j,f:1.tif)
原图像如图3.2所示,灰度转换后的图像如图3.3所示。只有进行了图像灰度转换,才能更好地对图像做进一步的处理。

图3.2 原图像

图3.3 图像灰度变换

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/752.html

好棒文