eigenface

2024-04-09 01:58
文章标签 eigenface

本文主要是介绍eigenface,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

eigenface实现人脸识别

采用PCA方法,利用YALE的人脸数据库做人脸识别,15个人,165张图片,每张图片大小为100*100

这里yale文件中是源图片,通过changename.py将名字更改,存放到picture文件下

路径展示

图片展示

eigenface具体步骤
1.读取训练所需要的图片,这里使用subjectxx.normal.bmp文件,共15张图片,每张图片拉直为一个(1,100*100)的向量,合并成为一个(15,100*100)的大矩阵

import numpy as np
import cv2
import osdef loadImageSet(add):FaceMat = np.mat(np.zeros((15,100*100)))j =0for i in os.listdir(add):if i.split('.')[1] == 'normal':try:img = cv2.imread(os.path.join(add,i),0)#0表示读取灰度图except:print('load %s failed'%i)#变成一个向量j += 1return FaceMat

2.计算平均矩阵avgImg,得到偏差矩阵diffTrain(以下推导中记偏差矩阵为T)

FaceMat = loadImageSet('picture').T
avgImg = np.mean(FaceMat,1)
diffTrain = FaceMat-avgImg

3.计算协方差矩阵 S=TTT S = T T T ,注意到 T(100100,15) T 的 大 小 为 ( 100 ∗ 100 , 15 ) , S100100,100100) S 将 会 巨 大 ( 100 ∗ 100 , 100 ∗ 100 ) ,为了避免计算大矩阵特征值,特征向量,采用如下方法。

T

这篇关于eigenface的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886916

相关文章

人脸识别之特征脸识别方法EigenFace

人脸识别之特征脸方法(Eigenface) zouxy09@qq.com http://blog.csdn.net/zouxy09         因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的人脸识别方法的Matlab代码。这里仅把该代码分享出来。其实,在较新版本的OpenCV中已经提供了FaceRecognizer这一个类,里面不仅包含了特征脸EigenFace,

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

人脸识别之特征脸方法(Eigenface) zouxy09@qq.com http://blog.csdn.net/zouxy09         因为需要,花了一点时间写了下经典的基于特征脸(EigenFace)的人脸识别方法的Matlab代码。这里仅把该代码分享出来。其实,在较新版本的OpenCV中已经提供了FaceRecognizer这一个类,里面不仅包含了特征脸EigenFace,还有F

基于主成分分析(PCA)实现人脸识别(Eigenface原理)

基于主成分分析(PCA)的特征人脸识别 主成分分析(Principal components analysis,PCA) 是一种通过降维技术把多个变量化为少数几个主成分的统计方法,通过消除数据的相关性,找到一个空间,使得各个类别的数据在该空间上能够很好地分离(比如下图中斜对角线方向向量及其正交方向向量做为基向量的空间),是最重要的特征提取方法之一。 Eigenface 是人脸识别任务最经典

Eigenface(PCA)人脸识别实验

1、ORL数据集简介 ORL人脸数据集一共包含40个不同人的400张图像,是在1992年4月至1994年4月期间由英国剑桥的Olivetti研究实验室创建。 此数据集下包含40个目录,每个目录下有10张图像,每个目录表示一个不同的人。所有的图像是以PGM格式存储,灰度图,图像大小宽度为92,高度为112。对每一个目录下的图像,这些图像是在不同的时间、不同的光照、不同的面部表情(睁眼/闭眼,微笑