pca人脸识别个人理解及步骤
前言
pca,即主成分分析,是一种数据降维的方法,也是一种古老而经典的人脸识别的算法。理解pca算法的原理和步骤,对我们的思维启发还是很有帮助的。虽然说在众多的人脸识别中,pca是较简单的,但是要想清楚了解pca人脸识别的详细步骤和细节还是不容易的,尤其是对初学者而言。下面我详细介绍一下pca人脸识别的步骤。
1.人脸图像标准化处理
将待训练的样本图像进行标准化处理,去除背景信息,并进行人脸中心化处理,最终转化成尺寸一致的人脸图像(一般是灰度图像)。手标很麻烦,可以利用人脸检测,将人脸矩形区域提取出来。人脸检测也有相应的算法,这里不展开了。
2.构造训练样本
设一张人脸图像尺寸为m*n,则将像素按列排开,在转置一下得到1行 列的一个人脸样本,在统计学中也叫一次观测或记录,有个变量或字段,因为很大,变量的维度很高,直接处理计算复杂,且没有必要,因为这些变量肯定有相关信息。假设有num张人脸图像,则将所有人脸样本放在一块构成了一个样本矩阵trainSamples,其大小是
3.零均值化
求出平均脸,将trainSamples每行减去meanFace,得到zeroMeantrainSamples
4.求协方差矩阵
当然也可以采用SVD,奇异特征值分解的方法求。
5.求协方差矩阵的特征值、特征向量
求cov特征值D、特征向量,并单位化正交化,得到特征向量V。按贡献率从高到地重新排序。取前P个特征值,特征向量。得到投影矩阵
6.求零均值人脸样本的投影
得到特征脸
7.求测试样本的零均值人脸样本并求特征脸
8.对训练样本特征脸,测试样本特征脸构造距离矩阵
按照最临近原则归类
pca人脸识别个人理解及步骤相关推荐
- 基于MATLAB实现PCA人脸识别
文件大小:76M 代码行数:40行(主程序) 开发环境:Matlab2016.2018.2020 下载地址:点击下载 简要概述:基于MATLAB实现PCA人脸识别 PCA,即主成分分析,是一种数据降维 ...
- matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)
前言:人脸识别是一个很经典的课题,围绕它可以做成很多实际应用,比如教室人脸考勤,人脸门禁系统,无人超市购物系统,刷脸支付系统等等.可是,为什么这一切是靠什么进行匹配人脸的呢,怎么那么神奇呢.人脸识别的 ...
- 基于PCA 人脸识别/人脸识别算法/人脸检测程序源码MATLAB ELM+PCA人脸识别 PCA人脸识别matlab代码 基于PCA算法的人脸识别
1.基于PCA的人脸识别代码 2.MATLAB ELM+PCA人脸识别 2.基于PCA的人脸识别(matlab)(采用PCA算法进行人脸识别,通过抽取人脸的主要成 分,构成特征脸空间,识别时将测试图像 ...
- pca人脸识别python_[机器学习] 用PCA进行人脸识别
本文会带你详细的分析PCA人脸识别的代码 PCA在人脸识别中有重要的应用,如果想详细了解PCA的原理,可以看我的这篇文章:任妍Carol:[机器学习] 人脸识别的重要方法--PCAzhuanlan. ...
- 机器学习算法之PCA(主成分分析)人脸识别,最小重构误差和最大化散度证明,PCA主成分分析原理剖析,PCA人脸识别matlab实现,PCA人脸识别python实现
目录 PCA介绍 PCA大致思路 PCA人脸识别(特征脸法) matlab代码实现 Python代码实现 PCA几何解释 PCA证明最小重构误差和最大散度等价 实验结果 PCA介绍 主成分分析(Pri ...
- MATLAB中PCA人脸识别实现
因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的人脸识别方法的Matlab代码.这里仅把该代码分享出来.其实,在较新版本的OpenCV中已经提供了FaceRecognizer这一个 ...
- PCA降维算法(内含PCA可视化迷你案例+PCA人脸识别降维案例+PCA逆转降噪案例)
文章目录 1.sklearn中的降维算法 (1)PCA (2)SVD (3)思考 2.重要参数n_components 3.PCA中的SVD 4.重要接口inverse_transform 5.重要接 ...
- pca人脸识别python_PCA人脸识别技术概述
如今日益发展的计算机技术带动了很多领域的发展,今天我们通过一个真正实用的例子来讲解PCA使用原理. 在系列的侦探大片中,人脸识别技术已经进入人们的视线.同时一些app软件的发展也把这项技术带到了我们的 ...
- 基于opencv的pca人脸识别实现
orl人脸样本库 这里用到的ORL人脸库(Olivetti Research Laboratory人脸数据库),诞生于英国剑桥Olivetti实验室. ORL人脸数据库由该实验室从1992年4月到19 ...
最新文章
- 5. python Collections -- OrdereDict
- python免费入门手册-Python 基础入门教程
- C++标准库vector类型的使用和操作总结
- mapinfo制作地图_用QGIS代替Mapinfo软件
- java 代码通用结构_java spring代码通用结构-java
- Celery 启动报错 can_read() got an unexpected keyword argument timeout
- 4-希尔排序C实现(递增递减的简单转换)
- Python 实现简单的爬虫
- android开花动画,15款界面最漂亮Android应用程序揭晓
- vant按需引入_VueCli2 配置Vant主题
- Java中4种引用类型笔记
- inDesign教程,如何创建具有吸引力的边注栏?
- 最优化算法之鲍威尔算法(java)
- 搭建基于 Nginx 的 RTMP 服务器,并用 ffmpeg 来进行推流和拉流
- Windows系统(tips)
- 微信网页扫码登录的实现(两种方式)
- 程序员通过google 赶快来赚美金~ hot
- solidity基础学习
- 利用LruCache为GridView异步加载大量网络图片完整示例
- 肆拾肆- 微信小程序 canvas 解锁及弹簧物理效应动画