基于MATLAB的小区门禁人脸识别系统设计
2021-01-26张莉莉陈一
张莉莉 陈一
洛阳师范学院物理与电子信息学院
一、引言
随着经济水平的快速发展和生活质量的不断提高,入室行窃案件已屡见不鲜。为此,人们对自身的人身财产安全产生了很大的担忧,为了防范此类事情的发生,目前,科技的发展与社会安防需求的提高促使智能门禁系统的产生,比如感应卡式门禁系统,指纹门禁系统,虹膜门禁系统,人脸识别门禁系统,乱序键盘门禁系统等等。尽管它们在安全性,方便性等方面都各有特长,但是相比其他智能门禁系统,基于人脸识别的门禁系统操作简便,结果直观,无需用户接触,不具有强制性,设备通用且成本较低。
基于人脸识别的门禁系统主要功能是将摄像头采集到的图像进行识别,如果通过身份鉴定就打开大门,如果鉴定失败则不打开大门,若鉴定失败访客依然要打开门禁则报警。人脸识别技术是一种生物识别技术,它首先需要通过具有拍摄功能的设备对人脸图片进行采集,然后对捕捉到的人脸运用灰度处理、特征提取等一系列复杂的算法进行处理。较之其他的身份识别方法,此项技术需要用到的数据量更多,因此识别结果也更加精确。处理如此大的数据量,可以采用功能强大的MATLAB来进行,文中设计了一种利用MATLAB来进行人脸识别的门禁系统。
图1 系统设计方案图
二、系统设计方案
首先进行人脸库的建立,本系统采样数为20。采集格式和像素统一的人脸图像,用1、2、3等数字编号对人脸图片进行命名。人脸的图片与图片的编号共同构成人脸库。基于PCA的原理及方法,需要对人脸库内的图片做一个前期的处理,通过PCA进行降维后,获得人脸库内图片的特征矩阵向量组。选中待识别图片后,对待识别图片进行一个相同的处理,得到其特征矩阵向量组。然后通过欧氏距离,获得人脸库内与待识别人脸欧氏距离最小的人脸图片,并获取其编号,将其输出。在此基础上运用提取到的特征向量,实现了人脸重建的功能。如图1为系统设计方案图。
三、人脸识别系统的设计实现
(一)构造人脸库
人脸库的建立是人脸识别过程中最首要的一个步骤,是进行以后所有步骤的基础。人脸库要包括人脸图片和人脸的名称两个基本信息,人脸库的大小在一定程度上会决定程序总体的运行速度。人脸库内的数据越大,人脸识别的迅速越慢。面向客户的人脸库是由用户导入的,用户提供的人脸图片像素或者照片不统一,可采用批量入库工具,将所有人脸图片的像素改为180*200,JPG格式。然后将这些人脸截图放在两个文件夹中,分别命名为测试库和训练人脸库。
(二)构成数据库
构造人脸库后,要对人脸库内的每张图片循环进行处理,将所有的图片数据变成训练矩阵,将其从二维图片转换为一维矩阵,构成整个人脸库一维矩阵库T,图2为数据库T的截图,之后人脸的每张图片都可以看作是N维空间中的一点,运用K-L变换将图像映射到底维空间中[1]。
图2 数据库T的部分截图
(三)特征提取
将数据库中得到的灰度图片按行排列,构成协方差矩阵A,A可以表示用人脸库内的每张人脸的灰度图片减去平均人脸图像构成的矩阵。获得协方差矩阵后,基于PCA理论的K-L变换,就可以求出每张人脸图片的特征值和特征向量,这些特征值和特征向量可以看作每张人脸的特征。每个特征值构成一个特征向量,将所有的特征值对应的特征向量集合起来,就构成了特征向量子空间[2],将每张人脸提取到的特征值按照从大到小的顺序进行排列可得到图3所示。
图3 特征值分布图
对从MATLAB输出的人脸特征分布图进行分析,可以看出,每一张人脸具有不同的特征值,而且每张人脸之间的特征值的区别还相对较大。
(四)模板匹配
将人脸库内的每张人脸运用PCA算法获取到特征值之后,将这些特征值转换为特征空间中的一点。利用欧氏距离的方法达到模板匹配的功能。欧氏距离是在目前的所有匹配方式中适用范围最广泛的一种匹配方式,可以把欧氏距离看作是两个个体之间相似度的参数,两点之间的欧氏距离越小,就表示两张图片之间的相似度越高。用欧氏距离最小原则得出与测试人脸最匹配的人脸。
要在matlab中实现模块匹配的功能,首先将测试人脸投影到特征值的子空间中,然后进行其与每张图片之间的相似度测定,即计算此图片与库内每张人脸图片的欧氏距离,对比找出与测试人脸具有最小欧式距离的人脸并获取该人脸的数字代号,这样就可以匹配到待测人脸与库内最相似的一张人脸图片。此模块可以比较好的完成人脸模板匹配的功能。
(五)人脸重建
在特征提取模块中,提取到了整个人脸图库的特征值和特征向量,所有的特征值都有大小之分,较大的特征值对应较大的特征向量,把较大的特征向量叫做主分量。相应的,也有较小的特征分量,但较小的特征分量只能表示出人脸图片中的小特征,像人的鼻子,嘴巴。人脸重建需要的就是获取到的特征向量[3],用特征向量构建到特征向量矩阵,就可以得到特征人脸,用特征人脸便可以重新构造出人脸。这个模块中的人脸重建其实也就是从人脸图片提取到提取特征向量的一个逆过程。用p表示特征向量的数目,分别取p=1、3、4、6、8来重建人脸。可以看出,p=1时,人脸重建得到的图片较模糊,随着p值的不断增大,人脸重建得到的图片则愈发清晰,p=8时,则可以较完美的重建出人脸。
图4的这张图片,取自人脸库内的图片,可以看出随着特征向量数目的增多,人脸重建的效果越显著,最后匹配成功,小区门禁系统就会打开,而图5的图片没有参与过人脸训练,无论我们将特征向量的数目设置为多少,都不会清晰的重建出人脸图片,小区门禁系统不会打开门锁。
图4 人脸重建效果图1
图5 人脸重建效果图2
四、小结
人脸识别技术相对于接触式的指纹识别有许多不同之处,PCA其自身处理数据的包容性能够将原始数据有一个更好的呈现。