基于PCA算法的人脸识别系统设计毕业设计 联系客服

发布时间 : 星期一 文章基于PCA算法的人脸识别系统设计毕业设计更新完毕开始阅读6101f707842458fb770bf78a6529647d2628344f

在主菜单界面一共有四个按钮:训练样本,载入照片,人脸识别,退出系统。点击“训练样本”对现有人脸数据库里的图像全部进行计算统计,然后将结果生成一个trainresult.mat文件。点击“载入照片”将会弹出加载图象的对话框,点击“开始识别”按钮则弹出识别界面的对话框。点击“退出系统”则退出识别界面 4.2.2训练图像

训练样本的过程没有出现界面,训练样本的过程就是计算人脸样本库里面图象的灰度值,然后根据PCA算法提取人脸样本的特征值跟特征向量。然后将结果保存在一个叫trainresult.mat的文件。这个文件用来进行人脸识别,只要在人脸样本库中更新数据之后都需要重新训练一次。在人脸样本众多的情况下,样本训练过程会比较慢,人脸识别过程也会相对复杂,所以本设计只针对少量样本的人脸库。 4.2.3载入照片

为了能够快速、准确的显示出识别效果,载入的识别图象需要经过FACESAVE进行人脸定位处理过的图象。FACESAVE软件既可以处理出灰色的照片,也可以处理出彩色的照片。载入之后,绿色对话框会显示出图象的来源位置,有助于操作人的寻找。

图4.3识别图象的载入

4.2.4人脸识别的功能与说明

人脸识别过程与采集过程有同样的步骤,首先也是对人脸图象进行归一化的处理,本设计图象像素统一处理为28*23,,然后读取图象,判断图象是否为灰度图象。如果是,则继续,如果不是,则把彩色图象转化为灰度图象。转变为灰度图象后,则图象增强,调整图片矩阵样式,全部转变为1列的矩阵,最后得到的特征矩阵与训练的trainresult.mat文件的特征矩阵计算的“距离”,计算的特征矩阵的MAT文件的“距离”,这里的距离是指上述欧氏距离。从中寻找最小值,而后与设定的阈值相比较,如果比阈值小,就表明是图人脸样本库的人脸,反之,如果最小距离比阈值大,则表明不是人脸样本库中的已知人脸,给出相应的提示。

图4.4 人脸的识别

4.3功能实现及主要函数说明

本设计主要有三个函数:dist.m 、facerecg.m、mytrain.m。其中dist.m函数是欧式距离算法函数,facerecg.m函数式人脸识别的主界面函数,mytrain.m函数是人脸识别的算法主函数。 4.3.1保存图像和训练图像

用电脑摄像头拍过照片,得到了人脸图象,但是这个人脸图象必须经过处理一下才能使用,需要将图象进行归一化。所有图象需要像素统一,格式统一。所以先使用FACESAVE进行人脸定位处理,得到92*112的图象。然后将人脸样本存入人脸样本库。本次设计一共用了7个文件夹,每个文件夹代表一个人,一个文件夹有5张样本图象。

训练图象时,还要经过两个图象的处理,通过函数goalsize = [28 23]将图片归一到28*23,然后使用函数(if color == 3 I = rgb2gray(I) I= imadjust(I,stretchlim(I)))对图象进行灰度处理。接着利用PCA算法,提取图象的特征值。最终数据保存在trainresult.mat文件中。 4.3.2人脸识别的过程

识别过程主要是图象的输入、图像的处理,距离与阈值的比较三部分,与样本训练过程相似。是别的过程简单通俗的讲,就是把一个图象,用几个简单的数字来表示,图象之间相似度的比较,也就是数字之间差值的比较,差值越小,就越相似。待识别的图像投影到特征脸空间中,然后得到一行特征向量,

然后计算待识别人脸与图像库中的人脸的欧式距离,找出最小值,该过程对应于函数function distance = dist(feature1,feature2),如果比阈值小,就表明是图人脸样本库的人脸,在数据库中的查询图像特征的基本信息,并将结果输出到对话框中,相反,如果最小距离大于阈值,就表明此图不是人脸样本库里面的图象,继而主界面就会给出相应的提示。如图4.5所示。

图4.5 未识别界面

关于阈值的范围确定,有许多方法。本设计中,利用带识别图象与样本图象距离的多次比较,选取了一个最大可以识别的距离作为阈值,这个阈值能够很大程度排除不是人脸样本图象库中的人脸。

4.5实验结果

设计中有7个人的头像,每个人有5张样本图象,一共有35张样本图象。6个人是用国外人脸识别测试脸型。一人是用笔记本电脑拍摄照片,然后进行处理得到的。

在实验时,当待识别图象的采光与样本图象采光相似时,识别能够完全正

确,并且表情姿态的影响很小。但是在两种图象采光不相同的情况下,识别率很低。

这次识别结果,基本上能反映出基于PCA算法的人脸识别了,已经的完成了这次设计的目的。如果要进行精确地识别,则需要巨大的数据库,对现在的情况来讲,也不大现实。

4.6影响人脸识别的因素

影响人脸识别成功率的因素大致有:图象光度,人脸的姿势以及图象的像素都会使识别的成功率改变。 4.6.1光照变化

在人脸识别中,如果样本库图象光照与待识别图象光照差距很大的时候,识别率一般都会很低。光照的转变能够来自光线目标或能量分布的差别能够带来光照的转变,人脸3D布局也是影响其的一个因素。 4.6.2人脸形态变化

在人脸图像的采集,如果人的态度的变化,然后产生投影变形会导致面部紧张,不同部位的图像压缩和闭塞,改变了很多。面对变化的姿势有6个自由度,是三维空间中的一个先决条件:X,Y,Z轴沿平移和绕X,Y,Z轴的旋转。其中,X平移,Y轴的图象对人脸位置显示的变化,采用适当的方法获得通过坐标变换变化的校正;图像比例的变化就是沿Z轴的变化,通过缩放二维图像可以实现对它的校正。围绕轴线的变化可以分为平面旋转,横向深度旋转旋转和垂直深度。其中,绕Z轴旋转的平面旋转;垂直深度旋转也叫上下高低旋转或仰俯旋转,是绕X轴的旋转;侧深度旋转叫做左右旋转或水平偏转,是绕Y轴的旋转。自由的6度以上时,x和y的变化,旋转轴周围的难以确定直接从图像。

4.7系统存在的问题

首先,在运行时间方面,一般是可以接受的,但反应速度慢,对数据库的读写和存储的主要相关,且计算量比较大。在实际应用中,如果涉及大量的人员和信息,效率会更差,主要原因是PCA方法效率不够高,如果要满足实际应用的需要,必须与其它方法相结合才能得到比较好的识别效果和运行效率。