热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Matlab人脸识别技术

算法流程:本系统运用PCA算法来实现人脸特征提取,然后通过计算欧式距离来判别待识别测试人脸,本个系统框架图如下:图ÿ

算法流程:

本系统运用PCA算法来实现人脸特征提取,然后通过计算欧式距离来判别待识别测试人脸,本个系统框架图如下:

v2-fd406ed284b8a13e8ffe482fd6fea7af_b.jpg

图: 人脸识别系统框架图

整个系统的流程是这样的,首先通过图像采集建立人脸库,这个人脸库里的人脸图像必须是格式及像素统一的,然后针对库里的人脸进行人脸训练,利用PCA进行人脸特征提取,获取特征矩阵向量组,将测试人脸投缘到特征子空间中,运用欧氏距离,在人脸库里查找相应的人脸图像,并输出。

下载:MATLAB平台人脸识别[合影识别,分割多个人脸,GUI界面].zip_matlab人脸识别-专业指导文档类资源-CSDN下载

算法介绍

基于PCA算法的人脸特征提取

2.1PCA的基本原理

PCA中文全称主成分分析 法(Principal Component Analysis)[6]。掌握事物间主要区别的,运用统计学的分析方法,它可以是复杂的问题得到简化,找到物质之间的本质区别,用事物的主要影响因素来解决问题。计算主成分的主要目的是用来降维,也就把将高维空间数据降到低维空间中去。这种线性变化经常被用到数据的压缩和分析中。它就是以K-L变换为基础,运用它的正交变换可以降低数据的运算量。

在这个系统中,库内人脸读入后被变成为灰度数值图像,把这些数值矩阵按行或者按列排练构成一个原始图像空间,运用K-L变换有效的提取人脸图像的特征,这是为下面的小空间模式匹配奠定基础,这个原始图像空间是维数较高的矩阵,通过K-L变换后获得一组新的正交基。分析比较人脸训练样本中的一些统计特征,保留主要的特征向量,减少向量矩阵的维数,获得了维数较小的人脸空间。在参与训练的人脸样本中,一种是不一样人脸组成的总体散分布矩阵,另一种是同个人脸的不同表情的平均图片或者说是类间散布矩阵。第一种的运用对人脸图像的背景光线的要求很高,后者可以很好的避免光线带来的的干扰,且有减少计算量的作用。选择的正交基的原则是取大去小,所谓的大、小就是特征值的的大小,特征值的数值反应一个人脸的基本特征轮廓,在主要成分分析中就是以它主要能量特征值对应的向量来做基底,用这个方法可以很好的进行人脸重构,重构的人脸必须是参与算法的人脸图像,否则实现重建的效果较差。

通过降维后,就可以获得特征空间,将待识别人脸图像进行旋转变换,可以有效的降低维数[9]。也就是用特征空间的向量的线性代数运算来表示。这样就可以把人脸识别这个过程转换成m维空间坐标系数分类问题,至于如何分类可以采用简单的距离进行判断。

2.2 基于PCA的特征提取

PCA人脸识别特征提取有几个过程:人脸图像获取和处理;构造人脸库并且训练形成特征子空间;提取特征值和特征向量。下面对整个PCA提取特征过程中的步骤做一个详细的描述。

  1. 人脸图像获取和处理,构造人脸库

通过拍照的方式,在背景设定的环境下,拍取人脸图像,然后对人脸样本采取前期的处理,其中包括人脸图像格式的变换,是否需要灰度处理等等。这些都要根据算法需求来对图像进行前期的预处理。PCA算法运用的统计学原理中的K-L变换的原理,对图像背景要求一致,而对光线的要求也一般,前期只要保证图像像素和格式一致就可以。最后保存图像,建立人脸库。

2.训练人脸库

人脸图像获取后,要放进人脸库,把人脸库统一配置后,选取每个人若干图片参与训练,变成训练矩阵。假定格式统一的人脸图像的像素为n*m,采取变换转化为一维矩阵,然后按行相连构成N=m*n维数的的矢量,每个人脸图像都可以视为N维空间中的一点,运用K-L变换可以将这个图像转换到底维的空间当中去,这样描述更加具体。

3.计算人脸图像的生成矩阵

采用训练后的人脸图像构成样本集,产生协方差矩阵可以用以下几种方法求出来(三种等价):

v2-cc68825b9e625d85dc1e2661a0a514d1_b.jpg

协方差矩阵 是一个大小为N*N的合成矩阵(其中N表示 的维数),A 表示每个人脸灰度图像减去平均人脸图像后按列构成的的矩阵, 是平均人脸图像,M表示人脸库内参与训练的人脸数。

鉴于公式的复杂性,一般选择第二个公式来计算人脸特征值和特征向量。

4.提取特征值和特征向量

在我们获得协方差矩阵后,需要求出其特征值和特征向量,由于PCA的理论基础是K-L变换,而我们所求的K-L变换的新坐标系是由N*N维的矩阵 的特征值和特征量组成,直接求 的这两个参数难度高计算量非常大,下面介绍两种方法:

(1)奇异值分解原理

v2-dfa608da04c0d11a12271227391d4eb2_b.jpg

前几个值比较大他们包涵了矩阵的A的大部分信息,U的列向量(左奇异向量)是 的特征向量,V的列向量(右奇异向量)是 的特征向量[11]。

(2)小矩阵计算大矩阵特征向量原理

在求高维矩阵特征向量时,可以用统计学的方法,将它变换为求转化为求低维矩阵的特征向量:

v2-96d1ebcb3c59006b4878181a9b0929ff_b.jpg

注意:以上两种求解协方差矩阵的特征值和特征向量的方法,结果是一致的[12]。

2.3 相似性测度

人脸样本在用PCA算法获取人脸特征后,转换为特征空间内的一点。所以样本之间的区分性可以运用角度或者距离的计算来比较实现。常见的匹配的算法有夹角余弦、街区距离、和欧式距离等等,下面具体的描述下欧式距离这个测度。

欧式距离的定义:欧式距离(Eudidean distance)是一个普遍使用的距离定义,它说明某种物质在多维空间的真实距离。欧式距离看作是衡量物质的相似程度的依据,两个点的距离差越小就越一样。

假如x,y是两幅维数一样的图像,它们的维数都是是M*N,则它在一个设定空间的表示如下:

式中 为图像x,y的第(k,1)个像素点。则图像间的欧式距离可表示如下为:

v2-576564963f8e478afb526c1eb4f8deba_b.jpg

根据上述式子,一副M*N的图像可以看作M*N维欧式空间中的一个点,而图像的坐标用图像的一个像素的灰度值表示。

三、 程序仿真及调试结果

3.1人脸库的生成

人脸库的建立可以运用目前现有的ORL人脸数据库、JAZZ人脸数据库等,这些人脸库内的人脸都是按某个标准建立,所以在设计人脸之前,必须针对需要,来选择。或者你也可以自己构造人脸数据库,库内人脸可以采用拍照等方式来获取。不过要进行一些前期处理,以满足系统要求。本系统是收集互联网上的图像获取图像,然后实现格式以及大小一致

v2-3d1152862e4bb93f2e1f3ed1a61bcf79_b.jpg

图: 部分人脸图像截图

上图就是部分人脸库内人脸图像截图。这个人脸库分为测试人脸库和训练人类库,在训练人脸库内的所有人脸数目有二十张,十个人的,一个人有两张图像,不同的表情。在测试人脸库内有10张人脸,这10张人脸是在训练库内挑选的10个人脸表情。每张人脸图像的大小为180*200,格式为JPG。因为本系统针对的图像格式要求必须为JPG格式的图像。我把这20张图片的命名,用数字1-20来代替,以便后面在识别阶段,可以读出对应的数字,类似人的名字

3.2特征提取和人脸重建的仿真分析

(1) 根据PCA算法的获取人脸库特征值分布图

特征提取首先把库内待训练的人脸图像,读入matlab转换成灰度图像,进而将人脸图像按行排列,构成协方差矩阵,这个协方差矩阵里面,每一行都代表一个人脸,所以求这个协方差矩阵的特征值和特征向量,也就是求每个人脸的特征,每个特征值对应的特征向量,构成了特征向量子空间,下图中曲线的就是库内所有人脸图像进行特征提取获得特征值后,按特征值大小排列,由图可以看出,每张人脸图像对应特征值大小的区别性很大,只要提取数值较高的特征值对应的特征向量来组成特征子空间即可,大大的减少了特征矩阵的向量的数量,这样可以降低计算量,提高特征提取的运算速率。也为后面的人脸识别系统运行提高速度。

v2-257332e8c14258fbba4df93f7c86e94b_b.jpg

图: 特征值分布图

3.3 模板匹配及识别的仿真分析

v2-6822dea31050488fc5dbd2f2627baff3_b.jpg



图:4-7人脸匹配效果1


v2-14d2cbb2f8b6bf9d2aca6f73db581ba8_b.jpg



图:4-8人脸匹配效果2

对比图4-6和图4-7这两幅图像,可以看出本系统可以很好的匹配库内人脸,这匹配过程是先测试人脸投影到特征子空间中,这 样便可以 让这张图像成为多维空间中的一点,通过计算其与每个人脸图像的欧式距离,然后对比找出最小欧式距离的人脸,这样就可以匹配到相应的人脸图像。


  1. GUI界面仿真

库外人脸判别


v2-75a2cff28f5e70cc1f6d458c6c534896_b.jpg



v2-49e8f3e5d9dc15c153f1b6d0c858d722_b.jpg



推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了一道经典的状态压缩题目——关灯问题2,并提供了解决该问题的算法思路。通过使用二进制表示灯的状态,并枚举所有可能的状态,可以求解出最少按按钮的次数,从而将所有灯关掉。本文还对状压和位运算进行了解释,并指出了该方法的适用性和局限性。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
author-avatar
浪漫族屋nr
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有