特征脸EigenFace的思想是把人脸从像素空间变换到另一个空间,在另一个空间中做相似性的计算。EigenFace是一种基于统计特征的方法,将人脸图像视为随机向量,并用统计方法辨别不同人脸特征模式。EigenFace的基本思想是,从统计的观点,寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此近似的表征人脸图像,这些特征向量称为特脸。 EigenFace选择的空间变换方法是PCA,主成分分析。PCA也常被称为特征脸方法。是一种基于人脸特征提取的人脸识别核心技术。它广泛的被用于预处理中以消去样本特征维度之间的相关性。
EigenFace方法利用PCA得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行本征值分解,得对对应的本征向量,这些本征向量(特征向量)就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合。
下面就直接给出基于特征脸的人脸识别实现过程:

1)将训练集的每一个人脸图像都拉长一列,将他们组合在一起形成一个大矩阵A。假设每个人脸图像是MxM大小,那么拉成一列后每个人脸样本的维度就是d=MxM大小了。假设有N个人脸图像,那么样本矩阵A的维度就是dxN了。
2)将所有的N个人脸在对应维度上加起来,然后求个平均,就得到了一个“平均脸”。你把这个脸显示出来的话,还挺帅的哦。
3)将N个图像都减去那个平均脸图像,得到差值图像的数据矩阵Φ。
4)计算协方差矩阵C=ΦΦT。再对其进行特征值分解。就可以得到想要的特征向量(特征脸)了。
5)将训练集图像和测试集的图像都投影到这些特征向量上了,再对测试集的每个图像找到训练集中的最近邻或者k近邻啥的,进行分类即可。

另外,对于步骤4),涉及到求特征值分解。如果人脸的特征维度d很大,例如256x256的人脸图像,d就是65536了。那么协方差矩阵C的维度就是dxd=65536x65536。对这个大矩阵求解特征值分解是很费力的。那怎么办呢?如果人脸的样本不多,也就是N不大的话,我们可以通过求解C’=ΦTΦ矩阵来获得同样的特征向量。可以看到这个C’=ΦTΦ只有NxN的大小哦。如果N远远小于d的话,那么这个力气就省得很值了。那为什么求解C’=ΦTΦ矩阵的特征向量可以获得C=ΦΦT的特征向量?

  其中,ei是C’=ΦTΦ的第i个特征向量,vi是C=ΦΦT的第i个特征向量,由证明可以看到,vi=Φei。所以通过求解C’=ΦTΦ的特征值分解得到ei,再左乘Φ就得到C=ΦΦT的特征向量vi了。也就是我们想要的特征脸。

特征脸算法原理
将 N 个尺寸为 WH 的人脸图像(训练集)分别按行级联成 N 个 WH 维的特征向量,,,(零均值),训练样本协方差为。
选定 M 个基向量z1z2,…,zM(正交基),M≤N,该基向量构成 M 维的特征空间。计算每个训练样本相对于每个基向量的投影,并对每个基向量投影进行累加求和,则第 k 个特征向量可以表示为 。约束条件为

所有的训练样本可以由M维的特征向量表示为,i=1,2,…,N。最大投影系数(特征值)对应的特征向量(总共有 M 个)认为是对训练样本的最好简约表示(可以是前几个),则与最大投影系数对应的基向量认为是有效的特征脸。将待识别人脸Γ归一化零均值,向量化之后投影到特征向量,得到 Π=uTΓ。利用 k 近邻分类器根据训练样本和待识别人脸的投影特征向量进行判别:
(1)
式(1)中:D 为两种模式之间的距离;Ф 为特征模版;П为测试人脸的模式。

人脸识别-特征脸方法相关推荐

  1. 人脸识别—特征脸方法

    人脸识别之特征脸方法(Eigenface) zouxy09@qq.com http://blog.csdn.net/zouxy09 因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的 ...

  2. python人脸识别特征脸法_人脸识别经典算法:特征脸方法(Eigenface)

    特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在之前的文章中已经讲过了.直接上特征脸方法的步骤: 步骤一:获取包含M张人脸图像的集合S.在我们的 ...

  3. python人脸识别特征脸法_人脸识别经典算法一 特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...

  4. 人脸识别:特征脸(Eigenface)

    Eigenface就是将人脸图像进行编码,映射到低维子空间上,在低维空间计算两幅人脸图像的距离,以此来进行人脸识别.映射到低维子空间的方法采用主成分分析(Principal Component Ana ...

  5. 人脸识别特征脸提取PCA算法

     本文转自:http://www.cnblogs.com/mikewolf2002/p/3432243.html PCA算法的基本原理可以参考:http://www.cnblogs.com/mik ...

  6. 人脸识别经典算法一:特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...

  7. OpenCV人脸识别之Eigenface算法(PCA特征脸方法)

    Eigenface Eigenfaces就是特征脸的意思,是一种从主成分分析(Principal Component Analysis,PCA)中导出的人脸识别和描述技术.特征脸方法的主要思路就是将输 ...

  8. 人脸识别算法之特征脸方法(Eigenface)

    一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 https://www.cnblogs.com/littl ...

  9. 人脸识别之特征脸方法(Eigenface)

    人脸识别之特征脸方法(Eigenface) zouxy09@qq.com http://blog.csdn.net/zouxy09 因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的 ...

  10. 中艺人脸识别考勤机使用方法_人脸识别考勤机的使用方法及注意事项 - 全文

    人脸识别考勤机概要 人脸识别考勤机是一种新型的存储类考勤机,事先只需采集员工的面像,并建立档案,当员工上下班站在人脸识别考勤机的识别区域内,考勤机上就会快速的记录考勤状况并保存记录. 人脸识别考勤机是 ...

最新文章

  1. Activiti工作流从入门到入土:工作流简介
  2. OpenCV alpha(权因子) 融合举例
  3. 006_JDK的Number派生类对Comparable接口的实现
  4. JVM总结---各处总结
  5. day21-python模块
  6. java arraylist排序_最全Java集合笔记
  7. 前端学习(593):使用devtools作为代码编辑器
  8. 腾讯丁珂:以“零信任”理念重构产业数字化时代安全防御体系
  9. logback为日志配置颜色
  10. VC操作Excel2003,Word2003的两种方式
  11. SqlServer日常积累(二)
  12. 人脸识别库-于仕琪老师库地址
  13. java软件开发必读15本书籍
  14. 广播前置放大器的作用_前置放大器的作用和特点
  15. 计算机科学与技术基础与核心,浅谈计算机科学与技术专业核心课程教学
  16. 华数机器人旋转编程_华数工业机器人编程 MOVE运动指令
  17. docker image 重命名
  18. CS5216 Capstone DP to hdmi 1080p转换器或者转接线设计原理|CS5216 DP转HDMI转换电路原理图
  19. 瑞吉外卖_短信验证bug
  20. 山姆公司关于营销培训方案

热门文章

  1. 封装系统(以封装Windows 7为例)
  2. 浙江大学计算机2018分数线,浙江大学2018多少录取分数线
  3. 洛谷P2440 木材加工 —二分答案
  4. hub设备_【小O新品】办公设备的小助手,ORICO奥睿科HUB集线器新品来袭
  5. angular8.x + ngx-translate实现国际化
  6. 计算机硬盘启动设置方法,如何在BIOS中设置硬盘启动
  7. python实现火车票查询工具_用 Python 写一个命令行火车票查看器
  8. Jlink V8 在 Keil MDK5.25 中无法正常烧写、调试程序的故障处理
  9. 用R语言理解圆周率、自然对数和欧拉常数
  10. 在Excel中输入身份证号码的方法或批量改为文本格式