题目名称:MATLAB人脸识别疫情防护门禁系统
课题介绍:该系统为基于MATLAB的疫情防护门禁系统。建立一个GUI可视化界面,将疑似病例录入进人脸库,对其进行训练。测试的时候,采集一张全身照人脸图片,进行人脸定位,分割,和库内人脸进行对比,如果是库内人脸,则判定为疑似病例,GUI进行报警,包括文字和语音报警。如果不是库内人脸,则说明非疑似人员,可放行。
源码框架下载:戳我下载GUI框架
摘 要
作为数字图像处理和计算机视觉领域的一个重要组成部分,利用摄像机对图像进行采集,从图像中检测人脸并进行识别,有着非常重要的研究意义和应用价值。面对突如其来的新型肺炎疫情,人们生活秩序被严重打乱。跟普通流感不同,此次疫情可以通过人体唾沫传播,感染他人能力很强。近期面对疫情,国家层面的人员进出管控显得尤为迫切,可以直接从源头把关,防止疑似人员流窜,有效地保护了自己和他人,不给病毒以传播的机会。而往往,就有一些人不响应国家和党的号召,面对此次病毒不以为然,依然我行我素,自由行走,给病毒有机可乘,给自己和他人的生命安全造成重大安全隐患。如果有一套疫情防护门禁系统,可以通过数字图像的采集识别,判别出该人是否是疑似人员,并且做出相应警示报警等,显得尤为重要和迫切。随着计算机视觉技术的逐年精进,基于图像的门禁识别迅速吸引了人们的视线。
首先介绍人脸识别的相关背景、意义及现状,并对目前的几种主要人脸识别技术的方法,如子空间算法、支持向量机、神经网络分类和稀疏编码分类等进行介绍。另外对人脸识别实验中常用的数据库进行介绍。我们运用数理统计的知识,将PCA原理进行详细的解释,并进行仿真。然后根据仿真的结果,抽取了其中一个测度,然后将其进行总结,然后匹配。
关键词:人脸识别,PCA算法,特征提取,欧氏距离
第一章 绪 论
1.1 人脸识别的背景和意义
人脸识别是近年来研究领域的热门话题,是生物识别的一个重要分支和组成部分。生物识别技术是通过人体本身具有的生物特征对人的身份进行鉴定的方法。这些特征包括人脸、指纹、虹膜、语音、步态以及笔迹等。生物识别在安全保障等众多领域应用广泛,具有不易伪造、方便快捷、防伪性能好等优点。本设计为基于人脸识别的门禁系统,可以将疑似病人设置为库内人员,当小区里面有人需要外出时,进行人脸采集,人脸定位,跟库里面的人脸进行比对,当识别为库内人员的时候,进行疑似病例不可外出的警示,否则则可以放开门禁给以通行。
第二章 人脸识别技术综述
2.1 人脸识别技术的流程
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像,并自动在图像中检测人脸,进而对检测到的人脸进行脸部的一系列相关技术。
因此,机器对人脸进行识别的过程与人类视觉识别人脸的过程类似,大致可分为四个步骤,如图2-1 所示。
图2-1 人脸识别流程图
(1) 图像采集:不同的人脸图像都能通过摄像镜头采集下来,静态图像、动态图像、不同表情都可以采集。但是受人脸采集的影响因素,这一步骤不是很容易实现,因此,许多著名的实验室,通过严格控制摄像机的位置,来创建一些规范的人脸库(包括姿态、面部表情的变化),通过建立成熟的人脸数据库来供研究者实验。
(2) 人脸检测:人脸检测主要用于人脸识别的预处理,它能将图像中人脸的位置准确的标出来。人脸图像中包含的特征十分丰富,人脸检测就是挑选其中有用的信息,利用这些特征来实现人脸检测。人脸识别的预处理是服务于特征提取的。但是,系统获取的原始图像受到各种条件的限制和随机干扰,不能直接使用,必须对原始图像进行图像预处理。图像预处理的方法有中值滤波、灰度拉伸、归一化处理以及锐化等[6]。
(3) 特征提取:人脸特征提取就是针对人脸的某些特征进行的。特征提取从原始模式信息中提取出最有利于分类的特征,同时达到了降维的目的。其本质是在适当降维的同时,保留最有效的特征。
(4) 分类识别:将提取的人特征数据与数据库中存储的数据进行搜索匹配,当相似度超过一个阈值,则把匹配得到的结果输出。人脸识别就是将采集到的人脸特征与数据库里的人脸特征进行比较,根据相似程度来判断人脸的身份信息。这一过程分为两类:一类是确认,一对一的图像对比;另一类是辨认,一对多的图像匹配对比。
第三章 PCA的人脸特征提取
3.1 PCA算法
3.1.1 PCA算法的基本原理
将其缩写展开以后就是(Principal Component Analysis)[22]。利用统计学原理,可以按照一定的原则,找到他们之间的不同进行分类。这样就能大大简化我们的计算步骤,进而提高计算机的运行速率。将图形进行息处理主要就是为了降维,也就是将三维立体的人体图像特征转换到二维当中。而且正是由于它的这个功能,这项技术也被广泛的运营在图像压缩的处理当中。其最主要的依据上一小节我们讲到的kl变换。这样就可以达到合并数据简化数据的效果。
在整个前期图像输入过程当中,都是以灰度值来进行统计的。就是给其变成0-255灰度范围内的像素点。当把所有的像素点进行分类统计以后,其会构成一个矩阵,输入到之前已经创建好的一个坐标空间当中,然后经过kl,就可以很容易的找到我们需要的一些信息,这就为之后的从图像处理简便化奠定了基础。因为在我们此时已经收集到的数据其实施三维的,然后经过统计学,保留最主要区别的特征,降维就可以实现我们想要的结果。在这个党总,我们做了几组对照样、一种是利用不一样的被测人员,一种是利用同一个被测人员的不同表情进行测试。前者对其太阳光的影响,后者则是对其表情姿势的影响。在这个中间 人脸的一些最基本的特点就是人。在PCA中,我们主要利用这个构成的向量做基地。最终得到的效果不是很好。
经过这项处理之后,我们就能得到特征空间了。接下来的任务就是旋转l.zhege处理也能使得维数降低。唯独的不同对应分类也不同。
3.2 基于PCA的特征提取
这个部分具体包括下面讲述的几个环节。图像捕捉输入。创建模板库和特征空间。特征值以及对应向量的获得。接下来,我们就这三个部分进行一一仔细的介绍。
1.第一部分
我们利用照相机,选定环境进行图像捕捉。将捕捉到的图像进行简单的处理,得到其属性信息。衡量其是否需要二值化处理。对于不同的算法,我们选择的处理方式是不一样的。那么,本篇论文所使用的算法就是利用kl。此种变换方式的最主要的限制条件就是背景要是一样的。太阳光的话,要求不是很高。但是属性要相同。这样就能够作为一个简单的模板库了。
2.第二部分
在上述步骤完成以后,我们要多放几张同一个人的图片进去,这就构成了一个训练矩阵。因为格式是相同的,kl之后就变成一维那么每个照片都能够统计为一个点,这样就使得整个空间更加简化了。
3.第三部分
将上述完成的步骤继续进行下一步,将结果创建一个样本集,那么出现的协方差矩阵则为:
为矩阵。A 是在进行灰度二值化后与平均矩阵差值。 是平均人脸图像,M被测人员数量。
因为我们上述的表达并不是很简答的,综合三者,我们最终选择二号来谨慎性人和对应其向量的计算。
4.特征值和特征向量取得
在上述得到以后,我们还要找到人和对应的特征向量。因为我们本片论文用到的算法以kl为基础。且最后得到的是维的矩阵。因此我们就可以直接求对应的特征值和特征向量。还有,直接算的话,其计算是非常复杂的。我们在下面会介绍一些相对而言比较简单的办法。
(1)特征值分解
假定,那么就有正交矩阵和,使得
在这个里面是A的非零正特征值,那么
的列向量是 的特征向量,的列向量是 的特征向量[23]。
(2)特征向量
如果我们遇到高阶矩阵的时候,我们可以将其分为多个低阶矩阵相乘的形式。这就在无形当中降低了我们的计算量,是非常有用的。
假定: ,要获得 的特征值和特征向量的值。那么我们就可以先找到 的和。具体关系我们可以简单的概括为:
从这个式子我们就能够很容易的得到他们的关系。那就是,的特征向量是。
在这里我们需要特别提到的就是:运用上述提及到的放飞起啊,最终得到的计算结果是相同的。这也间接证明了我们却是起到了简化计算的效果。
第四章 基于PCA和欧式距离的分类器的人脸识别
4.1 MATLAB人机交互界面GUI介绍
制作这个界面一般可以基于命令创建,当然也可以基于MATLAB提供的图形用户界面开发环境GUIDE中的图形用户界面开发工具的GUI创建方式制作。我们在这篇论文中主要侧重于后面一种。
4.2系统框架以及GUI设计
在进行编程的时候,我们必须要有一个整体的认识,将每一部分做什么都要安排的清清楚楚,这样才不至于在真正编写的时候忙乱。具体的整个系统的设计流程如下图:
GUI界面的使用在编写程序的时候主要有两大快。分别是模板库的显示,被测图片的显示。具体的设计情况在下面的步骤当中:
图:4-2 GUI设计图
图:4-3 GUI设计图
4.3 程序仿真及调试结果
4.3.1人脸库采集
在一开始进行模板库的创建的时候我们一般使用的都是ORL人脸数据库。他们在创建的时候都参照了一定的标准。如果这些库里面都没有适合你的需求,那么在这个时候我们就必须自己创建自己合适的数据库了。就需要我们自己去拍照自己去创建。但是前提是我们要对其进行预处理。本片论文设计的系统都是从网上找的一些ORL图片和AR图片,这样可以更好的实现格式的一致性。
图:4-4 部分人脸图像截图
这8幅图只是我从整个模板库里面找出的几张。整个数据库有两部分组成,一部分是模板库,一部分则是被测人脸库。在被测库里面有十个人的鱼片,每个人的不同表情各两张。格式大小完全是一样的。我们按序号将其编号,方便接下来的比对。
4.3.2特征提取仿真分析
(1)特征值分布图
特征提取之前,最重要的先要把模板库里面的图像导入到matlab里面。然后把图片航变换,组成协方差矩阵。在这个里面,我们要把每一个点的特征值和特征向量计算出来。这以前那个就构成了我们所谓的特征分布图。根据上面的一张图,我们可以很明显的看的出来,即每个图像的特征值差别非常大,但是在这个过程当中我们必须将其对应到子空间,这样才能大大降低我们的计算,也可以减少时间。对后续过程当中优化也是一个非常有优势的一个举措。
图:4-5 特征值分布图
4.3.3库外判别分析
首先将疑似病例人员进行采集人脸,入库,训练,得到每个人的人脸特征值。本设计为提取人脸特征值,特征值跟样本库里面的人脸特征值进行一一对比,设置一个判断阈值,当符合阈值内,则判定为库内人员,即是疑似病例,否则,为非疑似病例,提示可以放行。
4.3.4 模板匹配及识别的仿真分析
图:4-6 库内疑似病例人脸匹配效果
图:4-7 库内疑似病例人脸匹配效果
参考文献
[1]何春. 人脸识别技术综述[J]. 智能计算机与应用,, 6(5):112-114.
[2]赵士伟,张如彩,王月明,等. 生物特征识别技术综述[J]. 中国安防.,, 29(7):79-86.
[3]Perronnin F, Dugelay J L. An Introduction To Biometrics and Face Recognition[C]// IMAGE:e-Learning, Understanding, Information Retrieval and Medical. Cagliari, Italy: The First Interna-tional Workshop. :1-20.
[4]章毓晋编著. 基于子空间的人脸识别[M]. 北京市:清华大学出版 10.
[5]吴鹏著. MATLAB高效编程技巧与应用 25个案例分析[M].北京市:北京航空航天大学出版社..
[6]龚声蓉. 数字图像处理与分析[M]. 北京:清华大学出版社,.
[7]胡丽乔. 复杂条件下人脸识别特征提取算法的研究[D]. 上海:东华大学,.
[8]Yuille A L, Cohen D S, Halinan P W. Feature Extraction From Faces Using Deformable Templates[C]. IEEE International Conference on Computer Vision and Pattern Recognition. Washington,DC: IEEE Computer Soc, 1989, 104-109.
[9]卢小玲. 基于半监督学习的人脸识别算法研究[D]. 成都市:电子科技大学,.
Sirovich L, Kirby M. Low-Dimensional Procedure for the Characterization of Human Faces[J].Journal of the Optical Society of America A Optics & Image Science, 1987,4(3):519-24.