利用OpenCV实现基于PCA算法的人脸识别
关于Opencv实现人脸检测的阐述

关于Opencv实现人脸检测的阐述最近用Opencv开发一个人脸检测的小程序,结构并不复杂,但对于Opencv初学者来说还是具有一定的引导意义。
接下来对于程序开发中出现的一些问题进行简单讨论。
一、图像采集。
图像既可以从摄像头设备中读取,也可以从磁盘中加载,两者方法大同小异。
以摄像头为例,Opencv对于摄像头的操作同matlab中一样,是通过一个简单的API 函数实现的,具体如下:CvCapture* m_pCapture;m_pCapture = cvCreateCameraCapture(0);IplImage* m_pFrameImage;m_pFrameImage = cvQueryFrame(m_pCapture);首先是创建一个视频流结构体指针m_pCapture,之后调用cvCreateCameraCapture(0)函数将结构体与相应视频输入设备关联,若只有一个视频输入设备(如笔记本摄像头),建议参数给0,若有多个视频设备则应给对应的ID号。
关联完成后,调用cvQueryFrame(m_pCapture);得到m_pCapture结构体中视频流的下一帧图像,存储在图像指针对应的区域,至此,完成摄像头图像采集。
从磁盘中读取图像过程相对复杂一点,需要用到MFC中关于文件及文件夹读取的知识。
具体讲用两条途径,一是定位指定文件夹,继而读取文件夹下的所有图像文件;二是直接定位文件,继而读取相应文件。
读取文件夹的具体代码如下:BROWSEINFO bi;//用来存储用户选中的目录信息TCHAR name[MAX_PATH];//存储路径name[0]='d';ZeroMemory(&bi,sizeof(BROWSEINFO));//清空目录对应的内存bi.hwndOwner=GetSafeHwnd();//得到窗口句柄bi.pszDisplayName=name;BIF_BROWSEINCLUDEFILES;//这句话是什么意思bi.lpszTitle=_T("Select folder");//对话框标题bi.ulFlags=0x80;//设置对话框形式LPITEMIDLIST idl=SHBrowseForFolder(&bi);//返回所选中文件夹的IDif(idl==NULL)return;SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));//将文件信息格式化存储到对应缓冲区中str.ReleaseBuffer();//与GerBuffer配合使用,清空内存m_Path=str;//将路径存储在m_path中if(str.GetAt(str.GetLength()-1)!='\\')m_Path+="\\";UpdateData(FALSE);文件夹读取过程中关键函数为SHBrowseForFolder,这个函数有什么样作用以及具体用法网上都有具体的帖子和博客进行说明,这里不做赘述,最终文件夹路径存储在变量m_Path中。
利用OpenCV实现基于PCA算法的人脸识别

A x1,x2,...,x10 T
• 其中向量xi为由第i个图像的每一列向量堆叠成一列的MN 维列向量,即把矩阵向量化,如下图所示:
训练阶段
•
如:第i个图像矩阵为
1 2 3 4 5 6 7 8 9
1
•
则xi为
4 7
2
5
系统优缺点分析
系统存在的问题: 1. 抗干扰能力较差。环境光照,遮挡物,人的表情和位置都对识别 结果造成较强的干扰。 2. 训练的时间较长,执行效率不够高。只能对小样本的图像进行识 别,如果图像库太大,则运行效率会比较低。
系统的优点: 1. 不需要对图像进行过多的预处理,PCA本身就能实现降噪的功能; 2. 能有效地识别人脸,且过程相对简单,主要是图像数据的处理和
OpenCV 对非商业应用和商业应用都是免费的,源代码公开, 具备强大的图像和矩阵运算能力,具有丰富的函数处理函数, 减少开发者的工作量,有效提高开发效率和程序运行的可靠 性。
应用:人机互动 、物体识别 、图象分割 、人脸识别 、 动作识别、运动跟踪 、机器人
人脸识别基本介绍
人脸识别,是基于人的脸部特征信
8
369Fra bibliotek 训练阶段
•
第二步:计算平均脸
计算训练图片的平均脸:
1 10
i 10 i 1
xi
训练阶段
•
第三步:计算差值脸
计算每一张人脸与平均脸的差值
di xi i 1
训练阶段
第四步:构建协方差矩阵
C
1 10
10
d
id
求出原协方差矩阵的特征向量
ui
1
基于OpenCv的图像识别

基于2DPCA的人脸识别算法研究摘要人脸识别技术是对图像和视频中的人脸进行检测和定位的一门模式识别技术,包含位置、大小、个数和形态等人脸图像的所有信息。
由于近年来计算机技术的飞速发展,为人脸识别技术的广泛应用提供了可能,所以图像处理技术被广泛应用了各种领域。
该技术具有广阔的前景,如今已有大量的研究人员专注于人脸识别技术的开发。
本文的主要工作内容如下:1)介绍了人脸识别技术的基础知识,包括该技术的应用、背景、研究方向以及目前研究该技术的困难,并对人脸识别系统的运行过程以及运行平台作了简单的介绍。
2)预处理工作是在原始0RL人脸库上进行的。
在图像的预处理阶段,经过了图象的颜色处理,图像的几何归一化,图像的均衡化和图象的灰度归一化四个过程。
所有人脸图像通过上述处理后,就可以在一定程度上减小光照、背景等一些外在因素的不利影响。
3)介绍了目前主流的一些人脸检测算法,本文采用并详细叙述了Adaboost人脸检测算法。
Adaboost算法首先需要创建人脸图像的训练样本,再通过对样本的训练,得到的级联分类器就可以对人脸进行检测。
4)本文介绍了基于PCA算法的人脸特征点提取,并在PCA算法的基础上应用了改进型的2DPCA算法,对两者的性能进行了对比,得出后者的准确度和实时性均大于前者,最后将Adaboost人脸检测算法和2DPCA算法结合,不仅能大幅度降低识别时间,而且还相互补充,有效的提高了识别率。
关键词:人脸识别 2DPCA 特征提取人脸检测2DPCA Face Recognition Algorithm Basedon The ResearchAbstract:Face recognition is a technology to detect and locate human face in an image or video streams,Including location, size, shape, number and other information of human face in an image or video streams.Due to the rapid development of computer operation speed makes the image processing technology has been widely applied in many fields in recent years. This paper's work has the following several aspects:1)Explained the background, research scope and method of face recognition,and introduced the theoretical method of face recognition field in general.2)The pretreatments work is based on the original ORL face database. In the image preprocessing stage, there are the color of the image processing, image geometric normalization, image equalization and image gray scale normalization four parts. After united processing, the face image is standard, which can eliminate the adverse effects of some external factors.3)All kinds of face detection algorithm is introduced, and detailed describing the Adaboost algorithm for face detection. Through the Adaboost algorithm to create a training sample,then Training the samples of face image,and obtaining the cascade classifier to detect human face.4)This paper introduces the facial feature points extraction based on PCA ,and 2DPCA is used on the basis of the PCA as a improved algorithm.Performance is compared between the two, it is concluds that the real time and accuracy of the latter is greater than the former.Finally the Adaboost face detection algorithm and 2DPCA are combined, which not only can greatly reduce the recognition time, but also complement each other, effectively improve the recognition rate.Key words:Face recognition 2DPCA Feature extraction Face detection目录第1章前言 (1)1.1 人脸识别的应用和研究背景 (1)1.2 人脸识别技术的研究方向 (2)1.3 研究的现状与存在的困难 (3)1.4 本文大概安排 (4)第2章人脸识别系统及软件平台的配置 (4)2.1 人脸识别系统概况 (4)2.1.1 获取人脸图像信息 (5)2.1.2 检测定位 (5)2.1.3 图像的预处理 (5)2.1.4 特征提取 (6)2.1.5 图像的匹配与识别 (6)2.2 OpenCV (6)2.2.1 OpenCV简介 (6)2.2.2 OpenCV的系统配置 (7)2.3 Matlab与图像处理 (8)第3章图像的检测定位 (8)3.1 引言 (8)3.2 人脸检测的方法 (8)3.3 Adaboost算法 (9)3.3.1 Haar特征 (10)3.3.2 积分图 (10)3.3.4 级联分类器 (11)第4章图像的预处理 (13)4.1 引言 (13)4.2 人脸图像库 (13)4.3 人脸预处理算法 (14)4.3.1 颜色处理 (14)4.3.2几何归一化 (15)4.3.3直方图均衡化 (16)4.3.4灰度归一化 (18)4.4 本章小结 (19)第5章图像的特征提取与识别 (19)5.1 引言 (19)5.2 图像特征提取方法 (20)5.2.1基于几何特征的方法 (20)5.2.2基于统计的方法 (20)5.2.3弹性图匹配(elastic graph matching) (21)5.2.4神经网络方法 (21)5.2.5支持向量机(SVM)方法 (22)5.3 距离分类器的选择 (22)5.4 PCA算法的人脸识别 (24)5.5 二维主成分分析(2DPCA) (25)5.5.1 2DPCA人脸识别算法 (25)5.5.2 特征提取 (27)5.5.3 分类方法 (27)5.5.4 基于2DPCA的图像重构 (28)5.6 实验分析 (28)第6章总结与展望 (33)6.1 本文总结 (33)6.2 未来工作展望 (33)致谢 (34)参考文献: (35)第1章前言1.1 人脸识别的应用和研究背景随着社会科学技术的发展进步,特别是最近几年计算机的软硬件技术高速发展,以及人们越来越将视野集中到快速高效的智能身份识别,使生物识别技术在科学研究中取得了重大的进步和发展。
基于PCA算法的人脸识别登录系统设计

基于PCA算法的人脸识别登录系统设计张 诚 杨 阳(四川建筑职业技术学院,四川 德阳 618000)摘 要:人脸识别是生物识别方法中应用最广泛的技术之一,主要应用于军警公安、金融、网络安全、物业管理以及国家重要部门。
笔者设计的基于PCA算法的人脸识别登录系统,功能模块包括读入人脸图像建立人脸图像库、人脸图像预处理、人脸图像识别和输出结果。
本设计采用MATLAB进行基于人脸识别的登录系统程序设计与仿真,实验结果表明笔者设计的人脸识别登录系统的识别正确率可达到90%。
关键词:人脸识别;PCA算法;图像预处理;MATLAB;登录系统中图分类号:TP391.41 文献标识码:A 文章编号:1003-9767(2017)11-125-04Design of Face Recognition Login System based on PCA AlgorithmZhang Cheng, Yang Yang(Sichuan College of Architectural Technology, Deyang Sichuan 618000, China) Abstract: Face recognition is one of the most widely used biological identification technology. It is mainly applied in the military police, financial, network security, property management and important state department. This face recognition login system based on PCA algorithm has four function modules, which are reading facial image to establish facial image library, facial image preprocessing, facial image recognition and outputting result. This design uses MATLAB to program and simulate. The results show that this face identification login system can reach 90% correct recognition rate.Key words: face recognition; PCA algorithm; image preprocessing; MATLAB; login system1 前言传统的登录系统是通过“ID+密码”的方式来进行身份认证,将非法用户拒之门外,从而保障计算机信息的安全性。
数字图像报告_基于PCA算法的人脸识别

数字图像处理作业姓名:XXXXXXX专业:信息与通信工程学号:201XXXXXXXXXX∑===ψ20012001i i i x 作业1:基于PCA 算法的人脸识别1. PCA 算法原理主成分分析(Principal Component Analysis, 简称PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效方法。
PCA 方法由于其在降维和特征提取方面的有效性,在人脸识别领域得到了广泛的应用。
利用K-L 变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。
利用特征脸法进行人脸识别的过程由训练阶段和识别阶段两个阶段组成 其具体步骤如下:第一步:训练集有400个样本,由灰度图组成,每个样本大小为M*N 写出训练样本矩阵:(1) 其中向量xi 为由第i 个图像的每一列向量堆叠成一列的MN 维列向量,即把矩阵向量化, 如:第i 个图像矩阵为则xi 为第二步:计算平均脸计算训练图片的平均脸()Tx x x x 20021,...,,=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡963852741(2)第三步:计算差值脸计算每一张人脸与平均脸的差值(3)第四步:构建协方差矩阵(4)(5)第五步:求协方差矩阵的特征值和特征向量,构造特征脸空间协方差矩阵的维数为MN*MN ,考虑其维数较大,计算量比较大,所以采用奇异值分解(SingularValue Decomposition ,SVD)定理,通过求解 的特征值和特征向量来获得 的特征值和特征向量。
求出 的特征值 及其正交归一化特征向量 根据特征值的贡献率选取前p 个最大特征向量及其对应的特征向量贡献率是指选取的特征值的和与占所有特征值的和比,即:一般取 即使训练样本在前p 个特征向量集上的投影有99%的能量求出原协方差矩阵的特征向量则“特征脸”空间为:第六步 将每一幅人脸与平均脸的差值脸矢量投影到“特征脸”空间,即2001,2,...,=,ψ-=i x d i i T i T i i AA d d C 200120012001==∑=()20021,...,d d d A ,=A A T T AA A A T iλi νa i i i p i i i ≥=∑∑====20011λλϕ%99=a ),...,2,1(1p i Av u i i i ==λ()p u u u w ,,...,21=(6) (7)(8)识别阶段则包括以下几个步骤: 第一步:将待识别的人脸图像 与平均脸的差值脸投影到特征空间,得到其特征向量表示:(10)第二步:定义阈值(11)第三步:采用欧式距离来计算 与每个人脸的距离(12)为了区分人脸和非人脸,还需要计算原始图像 与由特征脸空间重建的图像 之间的距离 (13)其中:(14)根据以下规则对人脸进行分类:1)若,则输入图像不是人脸图像; 2)若,且 , 则输入图像包含未知人脸; 3)若 ,且 , 则输入图像为库中第k 个人的人脸。
python使用opencv进行人脸识别

python使用opencv进行人脸识别欢迎来到小码哥的博客博客搬家啦/RvFZs2cpython使用opencv进行人脸识别环境ubuntu 12.04 LTSpython 2.7.3opencv 2.3.1-7安装依赖sudo apt-get install libopencv-*sudo apt-get install python-opencvsudo apt-get install python-numpy示例代码#!/usr/bin/env python#coding=utf-8import osfrom PIL import Image, ImageDrawimport cvdef detect_object(image):'''检测图片,获取人脸在图片中的坐标'''grayscale = cv.CreateImage((image.width, image.height), 8, 1)cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)cascade =cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalfa ce_alt_tree.xml")rect = cv.HaarDetectObjects(grayscale, cascade,cv.CreateMemStorage(), 1.1, 2,cv.CV_HAAR_DO_CANNY_PRUNING, (20,20))result = []for r in rect:result.append((r[0][0], r[0][1], r[0][0]+r[0][2],r[0][1]+r[0][3]))return resultdef process(infile):'''在原图上框出头像并且截取每个头像到单独文件夹''' image = cv.LoadImage(infile);if image:faces = detect_object(image)im = Image.open(infile)path = os.path.abspath(infile)save_path = os.path.splitext(path)[0]+"_face"try:os.mkdir(save_path)except:passif faces:draw = ImageDraw.Draw(im)count = 0for f in faces:count += 1draw.rectangle(f, outline=(255, 0, 0))a = im.crop(f)file_name =os.path.join(save_path,str(count)+".jpg")# print file_namea.save(file_name)drow_save_path = os.path.join(save_path,"out.jpg")im.save(drow_save_path, "JPEG", quality=80) else:print "Error: cannot detect faces on %s" % infileif __name__ == "__main__":process("./opencv_in.jpg")转换效果原图:转换后使用感受对于大部分图像来说,只要是头像是正面的,没有被阻挡,识别基本没问题,准确性还是很高的。
基于主成分分析(PCA)的人脸识别技术

基于主成分分析(PCA)的⼈脸识别技术本科期间做的⼀个课程设计,觉得⽐较好玩,现将之记录下来,实验所⽤。
1、实验⽬的(1)学习主成分分析(PCA)的基础知识;(2)了解PCA在⼈脸识别与重建⽅⾯的应⽤;(3)认识数据降维操作在数据处理中的重要作⽤;(4)学习使⽤MATLAB软件实现PCA算法,进⾏⼈脸识别,加深其在数字图像处理中解决该类问题的应⽤流程。
2、实验简介(背景及理论分析)近年来,由于恐怖分⼦的破坏活动发⽣越发频繁,包括⼈脸识别在内的⽣物特征识别再度成为⼈们关注的热点,各国均纷纷增加了对该领域研究的投⼊。
同其他⽣物特征识别技术,如指纹识别、语⾳识别、虹膜识别、DNA识别等相⽐,⼈脸识别具有被动、友好、⽅便的特点。
该技术在公众场合监控、门禁系统、基于⽬击线索的⼈脸重构、嫌疑犯照⽚的识别匹配等领域均有⼴泛应⽤。
⼈脸识别技术是基于⼈的脸部特征,对输⼊的⼈脸图像或者视频流,⾸先判断其是否存在⼈脸。
如果存在⼈脸,则进⼀步的给出每个脸的位置、⼤⼩和各个主要⾯部器官的位置信息。
其次并依据这些信息,进⼀步提取每个⼈脸中所蕴涵的⾝份特征,并将其与已知的⼈脸进⾏对⽐,从⽽识别每个⼈脸的⾝份。
⼴义的⼈脸识别实际包括构建⼈脸识别系统的⼀系列相关技术,包括⼈脸图像采集、⼈脸定位、⼈脸识别预处理、⾝份确认以及⾝份查找等;⽽狭义的⼈脸识别特指通过⼈脸进⾏⾝份确认或者⾝份查找的技术或系统。
我们在处理有关数字图像处理⽅⾯的问题时,⽐如经常⽤到的图像查询问题:在⼀个⼏万或者⼏百万甚⾄更⼤的数据库中查询⼀幅相近的图像。
其中主成分分析(PCA)是⼀种⽤于数据降维的⽅法,其⽬标是将⾼维数据投影到较低维空间。
PCA形成了K-L变换的基础,主要⽤于数据的紧凑表⽰。
在数据挖掘的应⽤中,它主要应⽤于简化⼤维数的数据集合,减少特征空间维数,可以⽤较⼩的存储代价和计算复杂度获得较⾼的准确性。
PCA法降维分类原理如下图所⽰:如上图所⽰,其中五⾓星表⽰⼀类集合,⼩圆圈表⽰另⼀类集合。
基于PCA的人脸识别研究

基于PCA的人脸识别研究基于PCA的人脸识别研究摘要:人脸识别是一项非常重要的生物特征识别技术,它在安防领域、信息安全和社交媒体等方面有着广泛的应用。
在人脸识别中,特征提取是一个关键环节,而PCA(主成分分析)是一种常用的特征提取方法。
本文旨在研究和探讨基于PCA的人脸识别方法,并通过实验验证其性能和有效性。
中文关键词:人脸识别、PCA、特征提取、特征脸、嵌入式系统1. 引言近年来,随着计算机科学和图像处理技术的迅猛发展,人脸识别技术受到了广泛的关注。
人脸作为每个个体独特的生物特征,可以通过计算机视觉算法进行提取和识别,从而实现人脸识别的自动化和快速化。
人脸识别技术在安防领域、社交媒体、信息安全等方面都具有重要的应用前景。
2. 相关工作在人脸识别领域,特征提取是一个关键的步骤。
特征提取的目标是将原始图像数据转换为具有辨别性的特征向量。
主成分分析(PCA)是一种经典的特征提取方法,它通过线性变换将高维人脸图像数据转换为低维的特征空间。
其基本思想是找到原始数据中最重要的方向,从而实现维度的降低。
这些重要方向称为主成分,它们是原始数据方差最大的方向。
3. 基于PCA的人脸识别方法3.1 数据预处理在使用PCA进行人脸识别之前,需要对原始图像数据进行预处理。
预处理的目标是将图像数据转换为特征向量,以便进行后续的特征提取和识别。
常见的预处理步骤包括图像归一化、灰度化和人脸对齐。
其中,图像归一化可以将不同大小和角度的人脸图像转换为相同大小和角度,从而提高后续处理的准确性。
3.2 特征提取PCA的核心思想是通过线性变换将高维数据投影到低维空间,从而实现维度的降低。
在人脸识别中,PCA将人脸图像的像素表示转换为特征脸。
特征脸是一组代表人脸独特特征的向量,它们是原始数据中方差最大的方向。
通过计算协方差矩阵和特征向量,可以得到特征脸。
3.3 人脸识别在得到特征脸后,可以通过计算待识别人脸与已存储特征脸之间的相似度进行人脸识别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OpenCV 对非商业应用和商业应用都是免费的,源代码公开, 具备强大的图像和矩阵运算能力,具有丰富的函数处理函数, 减少开发者的工作量,有效提高开发效率和程序运行的可靠 性。 应用:人机互动 、物体识别 、图象分割 、人脸识别 、 动作识别、运动跟踪 、机器人
人脸识别基本介绍
人脸图像采集及检测
人脸识别,是基于人的脸部特征信 息进行身份识别的一种生物识别技 术。用摄像机或摄像头采集含有人 脸的图像或视频流,并自动在图像 中检测和跟踪人脸,进而对检测到 的人脸进行脸部的一系列相关技术, 通常也叫做人像识别、面部识别。
• 第五步:求协方差矩阵的特征值和特征向量,构 造特征脸空间 若协方差矩阵的维数为MN*MN,当其维数较大, 计算量比较大,所以采用奇异值分解 (SingularValue Decomposition ,SVD)定理,通 T T A A AA 过求解 的特征值和特征向量来获得 的特 征值和特征向量。
w
T
• 第二步:定义阈值
1 max i j , i, j 1,2,...,200 2 i, j
• 第三步:采用欧式距离来计算 与每个 人脸的距离
i i
2
2
i 1,2,...,200
系统优缺点分析
系统存在的问题: 1. 抗干扰能力较差。环境光照,遮挡物,人的表情和位置都对识别 结果造成较强的干扰。 2. 训练的时间较长,执行效率不够高。只能对小样本的图像进行识 别,如果图像库太大,则运行效率会比较低。 系统的优点: 1. 不需要对图像进行过多的预处理,PCA本身就能实现降噪的功能; 2. 能有效地识别人脸,且过程相对简单,主要是图像数据的处理和 矩阵的运算; 3. 由于是通过低维子空间表示的,可以对图像的数据进行一定地压 缩,从而减少了计算量,提高运行速度;
利用OpenCV实现基于 PCA算法的人脸识别
1. 2. 3. 4.
OpenCV基本介绍 人脸识别概要 PCA原理介绍 用PCA算法人脸识别的优缺点
OpenCV 基本介绍
OpenCV(Open Source Computer Vision Library)是一个 基于(开源)发行的跨平台计算机视觉库,可以运行在 Linux、Windows和Mac OS操作系统上。它轻量级而且高效— —由一系列 C 函数和少量 C++ 类构成,同时提供了Python、 Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉 方面的很多通用算法。
i 10
1
xi i
训练阶段
• 第三步:计算差值脸
计算每一张人脸与平均脸的差值
di xi i 1
训练阶段
第四步:构建协方差矩阵
1 C 10
d id i i
1
10
T
1 BB T 10
B d1 d 2 ,...,d10
训练阶段
人 脸 识 别
人脸图像预处理
人脸图像特征提取
匹配与识别
PCA 算法基本介绍
• PCA方法由于其在降维和特征提取方面的有效性 ,在人脸识别领域得到了广泛的应用。 • PCA方法的基本原理是:利用K-L变换抽取人脸的 主要成分,构成特征脸空间,识别时将测试图像 投影到此空间,得到一组投影系数,通过与各个 人脸图像比较进行识别。 • 主要包括两个阶段:训练阶段+识别阶段
训练阶段
• 第一步:假设训练集有10个样本,由灰度图组成,每个样 本大小为M*N(ORL人脸库:分辨率92*112=10304)
• 写出训练样本矩阵:
A x1 ,x 2 ,..., x 10
T
• 其中向量xi为由第i个图像的每一列向量堆叠成一列的MN 维列向量,即把矩阵向量化,如下图所示:
训练阶段
• 如:第i个图像矩阵为
1 2 3 4 5 6 7 8 9
1 4 7 2 5 8 3 6 9
•
则xi为
训练阶段
• 第二步:计算平均脸 计算训练图片的平均脸:
1 10
训练阶段
• 求出C的特征值 i及其正交归一化特征向量 • 根据特征值的贡献率选取前p个最大特征向 量及其对应的特征向量 i • 贡献率是指选取的特征值的和与占所有特征 值的和比,即:
i 1 i 200 i 1
i p
i
a
i
训练阶段
一般取 a 99 % 即使训练样本在前p个特 征向量集上的投影有99%的能量 求出原协,2,..., p)
则“特征脸”空间为:
w u1 , u2 ,... ,u p
训练阶段
• 第六步 • 将每一幅人脸与平均脸的差值脸矢 量投影到“特征脸”空间,即
i w di i 1,2,...,200
T
识别阶段
• 第一步:将待识别的人脸图像 与平均脸的差值 脸投影到特征空间,得到其特征向量表示: