【计算机视觉】特征脸EigenFace与PCA
【计算机视觉】特征脸EigenFace与PCA
标签(空格分隔): 【图像处理】
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/lg1259156776/。
说明:本文主要想弄清楚将人脸识别推向真正可用的第一种方法:特征脸方法。
【这里采用的是1维的PCA方法,将图像转变为行向量或者列向量,虽然破坏了几何结构,但是处理比较直观方便】
第一步是构建样本集合
获取包含有M张人脸图像的集合S,每张人脸图片的大小scaling到统一的尺寸,如下面图片集合:
每个图片都转变为N维的向量,然后一行一行的吧放起来,从而构成了样本矩阵X,这一点就与我前段所写的协方差矩阵以及matlab PCA函数princomp函数的输入的样本矩阵格式一样了。
第二步进行均值和协方差矩阵
将图像矩阵每一列都加起来取平均,得到一个平均图像,公式和结果如下图所示:
第三步计算差值矩阵或者样本矩阵零均值化
每行也就是每张图象都减去样本均值。
第四步计算协方差矩阵及其特征值、特征向量
实际上这些步骤都是PCA最传统的步骤,一步一步来的。但是对于图像数据来说,如果每个pixel都当作是一个维度特征的话,那么这个协方差矩阵实在太大了那么如果当我们的训练样本数量小于图像维数的时候,起作用的特征向量只有M个,而不是对应的图像维数个,其余都是零,所以求解特征向量的时候我们只需要求解一个。
这些特征向量还原成像素排列,得到如下所示的特征脸:
图中有二十五个特征脸,数量和训练样本一样只是巧合,一般只只需要7个特征脸就可以。
人脸识别
考虑一张新的人脸,scaling到相同的尺寸,然后进行特征转换,对应的公式为:
其中k=1,2,…,M表示对应的特征脸uk,也就是PCA中的第k个特征映射矢量,通过这M个特征脸,可以将新的人脸转变为在特征脸的坐标系的坐标表示:
实际上所有的脸,不管是新来的,还是样本集中的,都会被映射到该特征脸构成的矢量空间中的坐标表示,也可以说是在每个特征脸的权重,这个权重是提炼出来的某个人脸的在特征脸坐标系下的表示,如果要进行人脸识别的话:
其中Ω表示要判别的输入的人脸,而Ωk表示训练集中某个人脸,求取距离,一个一个判断,如果距离小于某个阈值,则认为成功匹配。否则认为没有找到匹配的对象,认为是新的人脸或者不是人脸两种情况。根据训练集的不同,阈值设定并不不是固定的。
2015-11-27 学习笔记 张朋艺
【计算机视觉】特征脸EigenFace与PCA的更多相关文章
- 特征脸(Eigenface)理论基础-PCA(主成分分析法)
在之前的博客 人脸识别经典算法一:特征脸方法(Eigenface) 里面介绍了特征脸方法的原理,但是并没有对它用到的理论基础PCA做介绍,现在做补充.请将这两篇博文结合起来阅读.以下内容大部分参考 ...
- 人脸识别经典算法一:特征脸方法(Eigenface)
这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...
- 【笔记】特征脸(PCA在人脸识别领域的应用)
人脸识别与特征脸(简单介绍) 什么是特征脸 特征脸(Eigenface)是指用于机器视觉领域中的人脸识别问题的一组特征向量,该方法被认为是第一种有效的人脸识别方法. PCA的具体实现思想见 [笔记]主 ...
- 特征脸是怎么提取的之主成分分析法PCA
机器学习笔记 多项式回归这一篇中,我们讲到了如何构造新的特征,相当于对样本数据进行升维. 那么相应的,我们肯定有数据的降维.那么现在思考两个问题 为什么需要降维 为什么可以降维 第一个问题很好理解,假 ...
- 机器学习:PCA(人脸识别中的应用——特征脸)
一.思维理解 X:原始数据集: Wk:原始数据集 X 的前 K 个主成分: Xk:n 维的原始数据降维到 k 维后的数据集: 将原始数据集降维,就是将数据集中的每一个样本降维:X(i) . WkT = ...
- PCA算法提取人脸识别特征脸(降噪)
PCA算法可以使得高维数据(mxn)降到低维,而在整个降维的过程中会丢失一定的信息,也会因此而实现降噪除噪的效果,另外,它通过降维可以计算出原本数据集的主成分分量Wk矩阵(kxn),如果将其作为数据样 ...
- Eigenface与PCA人脸识别算法实验
简单的特征脸识别实验 实现特征脸的过程其实就是主成分分析(Principal Component Analysis,PCA)的一个过程.关于PCA的原理问题,它是一种数学降维的方法.是为了简化问题.在 ...
- 机器学习: 特征脸算法 EigenFaces
人脸识别是机器学习和机器视觉领域非常重要的一个研究方向,而特征脸算法是人脸识别里非常经典的一个算法,EigenFaces 是基于PCA (principal component analysis) 即 ...
- 【从零学习openCV】IOS7人脸识别实战
前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集 ...
随机推荐
- idea 设置 maven 默认位置
在 idea 中创建 maven 项目 每次都要修改掉 默认的maven位置,觉得很烦.... 所以这边篇博客就是专门解决掉这个麻烦精的......(233333) 首先 File --> ...
- mysql group_concat长度限制
group_concat函数有长度限制 查找当前数据库长度 show variables like 'group_concat_max_len' 设置当前session的group_concat长度, ...
- BZOJ 4129 Haruna’s Breakfast ( 树上带修莫队 )
题面 求树上某路径上最小的没出现过的权值,有单点修改 添加链接描述 分析 树上带修莫队板题,问题是怎么求最小的没出现过的权值. 因为只有nnn个点,所以没出现过的最小值一定在[0,n][0,n][0, ...
- CF662C Binary Table (FWT板题)
复习了一发FWT,发现还挺简单的... 没时间写了,就放一个博客吧:Great_Influence 的博客 注意这一句ans[i]=∑j⊗k=if[j]∗dp[k]ans[i]= ∑_{j⊗k=i} ...
- redis在linux服务器部署
0)参考资料 http://www.cnblogs.com/liuling/p/2014-4-19-02.html 1)下载安装包地址 http://download.redis.io/release ...
- 五十七.分布式ELK平台、ES安装 、 扩展插件 、Kibana安装
1. ES集群安装 准备1台虚拟机 部署elasticsearch第一个节点 访问9200端口查看是否安装成功 1ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写 ...
- 创建第一个springboot项目,maven project
- Codevs 1743 反转卡片(splay)
1743 反转卡片 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description [dzy493941464|yywyzdzr原创] 小A将N ...
- c++ 数据类型长度
#include <iostream> using namespace std; int main() { cout << "char: " << ...
- 下载安装Xocde并创建一个C语言的项目工程
安装好Xcode后,新建工程 选择command line tool 选择c语言 点击创建 可以设置运行平台版本 设置 设置c标准 去掉c++ 支持 打开编辑页面 运行 参考: https://www ...