MATLAB 的疫情防控人脸门禁系统设计

2021-07-08 14:19姜明明王忠祥米世新刘涵玉
南方农机 2021年12期
关键词:特征向量特征值特征提取

玄 冉,姜明明,王忠祥,米世新,刘涵玉

(山东农业工程学院,山东 淄博 255000)

伴随着高新技术及传感器的普及和应用,生物识别已经逐渐被揭开神秘的面纱,作为生物识别的一项重要分支,人脸识别已经成为研究领域的热门话题。生物识别在安全保障等众多领域被广泛应用,具有不易伪造、方便快捷、防伪性能好等优点。本设计为基于人脸识别的门禁系统,可以将疑似人员设置为库内人员,当小区里的人需要外出时进行人脸采集与人脸定位,然后与库内人脸进行比对;当识别为库内人员的时候,发出疑似人员不可外出的警示,否则提示可以放开门禁给以通行。

1 人脸识别技术综述

人脸识别,是利用摄像机采集到的含有人体面部的图像[1],通过相关技术进行检测,主要识别人体面部特征信息加以分辨,最终实现人类个体分类识别的一项技术。

综上,可以大体将人脸识别的过程分为四个步骤,如图1所示。

图1 人脸识别流程图

1)图像采集。人体面部表情采集易受到环境因素的影响,不容易实现,人脸图像可以通过摄像头进行记录,许多著名实验室会通过严格控制图像采集的位置,规范地创建包括姿态、表情变化在内的人脸库,通过人脸库进行相应的研究。

2)人脸检测。主要用于面部识别的预处理,它能通过处理将面部的位置标出。人脸检测的目的是透过面部丰富的特征信息筛选出有用的特征,由于环境条件的干扰是随机的,必须将原始采集到的图像进行图像预处理。图像预处理的方法有中值滤波、灰度拉伸、归一化处理及锐化等[2]。

3)特征提取。针对筛选出的最有利分类的特征信息,进行适当降维,保留最有效的特征信息。

4)分类识别。将采集的面部特征信息整合成数据,再与数据库比对匹配,当相似度到达一定阈值,则将数据库匹配的结果输出。其本质就是根据特征相似关系确定人物信息。

2 PCA的人脸特征提取

2.1 PCA算法的基本原理

PCA 是缩写,展开以后就是Principal Component Analysis[3]。利用统计学原理,可以按照一定的原则,找到它们之间的不同进行分类,简化计算步骤,提高计算机的运行速率。将图形进行信息处理主要是为了降维,也就是将三维立体的人体图像特征转换到二维当中。正是由于它的这个功能,这项技术也被广泛地运用在图像压缩的处理当中,其最主要的依据是KL变换。这样就可以达到合并数据、简化数据的效果。

在整个前期图像输入过程中,都是以灰度值来进行统计的,即使其变成0~255灰度范围内的像素点。当把所有的像素点进行分类统计以后,其会构成一个矩阵,输入到之前已经创建好的一个坐标空间中,然后经过KL变换,就可以很容易地找到需要的信息,这就为之后图像处理简便化奠定了基础。因为此时已经收集到的数据其实是三维的,然后经过统计学,保留最主要区别的特征进行降维就可实现想要的结果。在PCA中,主要利用这个构成的向量作为基底。

经过这项处理之后就能得到特征空间了,接下来的任务就是旋转使维数降低[4]。

2.2 基于PCA的特征提取

这个部分具体包括下面讲述的几个环节:捕捉输入图像,创建模板库和特征空间,获得特征值及对应向量。以下是有关这三个部分的详细介绍。

1)第一部分。利用摄像机进行图像采集和捕捉。首先,将采集到的图像进行预处理得到属性信息,判断是否需要进行二值化,本文采用的算法是KL算法,KL算法在线性算法中能量集中效率最高,图像压缩后均方误差最低。此种变换方式最主要的限制条件就是背景要一致,完全可以构建一个简单的模板库。

2)第二部分。在上述步骤完成以后,多放几张同一个人的图片进去,这就构成了一个训练矩阵。因为格式是相同的,KL 变换之后就变成一维的,那么每个照片都能够统计为一个点,这样就使得整个空间更简化了。

3)第三部分。上述步骤完成后,继续进行下一步,将结果创建一个样本集,那么出现的协方差矩阵如下。

CA为 矩阵。A是在进行灰度二值化后与平均矩阵差值。Xi是平均人脸图像,M为被测人员数量。

2.3 特征值和特征向量取得

在上述CA得到以后,还要找到人和对应的特征向量。因为本文用到的算法以KL 为基础,且最后得到的CA是n×n维的矩阵,因此可以直接求对应的特征值和特征向量。但直接计算的话,其计算是非常复杂的,下面会介绍一些相对比较简单的办法。

2.3.1 特征值分解

从这个式子就能够很容易得到它们的关系。那就是CA=AAT的特征向量是A⋅vi。

在这里需要特别提到的是:运用上述提及到的方法,最终得到的计算结果是相同的,这也间接证明了确实起到了简化计算的效果。

3 基于PCA和欧式距离的分类器的人脸识别

3.1 MATLAB人机交互界面GUI介绍

制作这个界面一般可以通过命令创建[6],也可以通过MATLAB提供的图形用户界面开发环境GUIDE中的图形用户界面开发工具的GUI创建方式制作,本文侧重于后者。

3.2 系统框架以及GUI设计

在进行编程的时候,必须要有一个整体的认识[7],每一部分做什么都要安排得清清楚楚,这样的话,在真正编写的时候才不至于忙乱。具体的整个系统的设计流程,如图2所示。

图2 人脸识别系统框架图

GUI界面的使用在编写程序的时候主要有两大块[8],分别是模板库的显示和被测图片的显示。

3.3 程序仿真及调试结果

3.3.1 人脸库采集

在一开始进行模板库的创建时,一般使用的都是ORL人脸数据库,在创建的时候参照了一定的标准。如果这些库里面都没有适合的,就需要自己去拍照,自己去创建,但是需要对其进行预处理。

整个数据库由两部分组成,一部分是模板库,一部分则是被测人脸库。在被测库里面有10 个人的照片,每个人不同表情的照片各两张,照片格式大小完全一样。

3.3.2 特征提取仿真分析

特征值分布图,如图3所示。特征提取之前,最重要的是先要把模板库里面的图像导入到MATLAB 里面,然后进行变换,组成协方差矩阵。在这个里面,要把每一个点的特征值和特征向量计算出来,就构成了所谓的特征分布图。每个图像的特征值差别非常大,但是在这个过程当中必须将其对应到子空间,这样才能大大降低计算量,也可以节约时间,对后续过程中的优化也是一个非常有优势的举措。

图3 特征值分布图

3.3.3 库外判别分析

对疑似病例人员进行人脸采集、入库、训练,得到每个人的人脸特征值[9]。本设计为提取人脸特征值,特征值与样本库里面的人脸特征值进行一一对比,设置一个判断阈值。当属于阈值内,则判定为库内人员,即疑似人员;否则为非疑似病例,提示可以放行。

4 结语

通过对实验结果的分析可以发现,本设计利用MATLAB 数字图像处理相关技术及PCA 算法进行人脸识别,在一定程度上能解决疫情期间人员管控的相关问题。MATLAB仿真结果表明:人脸识别的准确率可以达到80%,它可以有效解决人员流窜问题,有效地避免人力物力资源的浪费,本文所设计的系统对疫情防控是实用的。

猜你喜欢
特征向量特征值特征提取
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
利用LMedS算法与特征值法的点云平面拟合方法
克罗内克积的特征向量
单圈图关联矩阵的特征值
凯莱图的单特征值
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取
三个高阶微分方程的解法研究