前言

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人脸识别个人理解及步骤相关推荐

  1. 基于MATLAB实现PCA人脸识别

    文件大小:76M 代码行数:40行(主程序) 开发环境:Matlab2016.2018.2020 下载地址:点击下载 简要概述:基于MATLAB实现PCA人脸识别 PCA,即主成分分析,是一种数据降维 ...

  2. matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)

    前言:人脸识别是一个很经典的课题,围绕它可以做成很多实际应用,比如教室人脸考勤,人脸门禁系统,无人超市购物系统,刷脸支付系统等等.可是,为什么这一切是靠什么进行匹配人脸的呢,怎么那么神奇呢.人脸识别的 ...

  3. 基于PCA 人脸识别/人脸识别算法/人脸检测程序源码MATLAB ELM+PCA人脸识别 PCA人脸识别matlab代码 基于PCA算法的人脸识别

    1.基于PCA的人脸识别代码 2.MATLAB ELM+PCA人脸识别 2.基于PCA的人脸识别(matlab)(采用PCA算法进行人脸识别,通过抽取人脸的主要成 分,构成特征脸空间,识别时将测试图像 ...

  4. pca人脸识别python_[机器学习] 用PCA进行人脸识别

    本文会带你详细的分析PCA人脸识别的代码 PCA在人脸识别中有重要的应用,如果想详细了解PCA的原理,可以看我的这篇文章:任妍Carol:[机器学习] 人脸识别的重要方法--PCA​zhuanlan. ...

  5. 机器学习算法之PCA(主成分分析)人脸识别,最小重构误差和最大化散度证明,PCA主成分分析原理剖析,PCA人脸识别matlab实现,PCA人脸识别python实现

    目录 PCA介绍 PCA大致思路 PCA人脸识别(特征脸法) matlab代码实现 Python代码实现 PCA几何解释 PCA证明最小重构误差和最大散度等价 实验结果 PCA介绍 主成分分析(Pri ...

  6. MATLAB中PCA人脸识别实现

    因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的人脸识别方法的Matlab代码.这里仅把该代码分享出来.其实,在较新版本的OpenCV中已经提供了FaceRecognizer这一个 ...

  7. PCA降维算法(内含PCA可视化迷你案例+PCA人脸识别降维案例+PCA逆转降噪案例)

    文章目录 1.sklearn中的降维算法 (1)PCA (2)SVD (3)思考 2.重要参数n_components 3.PCA中的SVD 4.重要接口inverse_transform 5.重要接 ...

  8. pca人脸识别python_PCA人脸识别技术概述

    如今日益发展的计算机技术带动了很多领域的发展,今天我们通过一个真正实用的例子来讲解PCA使用原理. 在系列的侦探大片中,人脸识别技术已经进入人们的视线.同时一些app软件的发展也把这项技术带到了我们的 ...

  9. 基于opencv的pca人脸识别实现

    orl人脸样本库 这里用到的ORL人脸库(Olivetti Research Laboratory人脸数据库),诞生于英国剑桥Olivetti实验室. ORL人脸数据库由该实验室从1992年4月到19 ...

最新文章

  1. 5. python Collections -- OrdereDict
  2. python免费入门手册-Python 基础入门教程
  3. C++标准库vector类型的使用和操作总结
  4. mapinfo制作地图_用QGIS代替Mapinfo软件
  5. java 代码通用结构_java spring代码通用结构-java
  6. Celery 启动报错 can_read() got an unexpected keyword argument timeout
  7. 4-希尔排序C实现(递增递减的简单转换)
  8. Python 实现简单的爬虫
  9. android开花动画,15款界面最漂亮Android应用程序揭晓
  10. vant按需引入_VueCli2 配置Vant主题
  11. Java中4种引用类型笔记
  12. inDesign教程,如何创建具有吸引力的边注栏?
  13. 最优化算法之鲍威尔算法(java)
  14. 搭建基于 Nginx 的 RTMP 服务器,并用 ffmpeg 来进行推流和拉流
  15. Windows系统(tips)
  16. 微信网页扫码登录的实现(两种方式)
  17. 程序员通过google 赶快来赚美金~ hot
  18. solidity基础学习
  19. 利用LruCache为GridView异步加载大量网络图片完整示例
  20. 肆拾肆- 微信小程序 canvas 解锁及弹簧物理效应动画

热门文章

  1. 5个重要的人工智能预测(2019年)每个人都应该阅读
  2. Android 录屏\截图
  3. 狂砸209亿美元筹码,ADI能否挑战德州仪器的“铁王座”?
  4. Kotlin使用Java枚举无法编译问题,KotlinFrontEndException
  5. 关于人际交往的书籍推荐,提高人际关系能力你需要科学的方法
  6. 2018年天猫入驻新规则介绍 商家入驻必看
  7. 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】
  8. 第二集,简单介项目绍目录
  9. 笔记整理——使用openssl编程
  10. CW6163C车床的三维仿真及加工工艺