教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

基于PCA算法的人脸识别(附代码)

来源:网络收集 时间:2026-08-25
导读: 基于PCA算法和KL展开的人脸识别算法 基于PCA算法的人脸识别 【摘要】基于K-L变换的PCA(principal Component Analysis)算法能够用于二阶矩随机过程的线性展开和主成分分析,利用这个原理,可以对人脸特征进行提取,选取合适的矢量,使得人脸在其上拥有最多

基于PCA算法和KL展开的人脸识别算法

基于PCA算法的人脸识别

【摘要】基于K-L变换的PCA(principal Component Analysis)算法能够用于二阶矩随机过程的线性展开和主成分分析,利用这个原理,可以对人脸特征进行提取,选取合适的矢量,使得人脸在其上拥有最多的投影分量,从而张成一个人脸的“特征空间”,用相对较少的变量来表达人脸的最主要的特征,从而实现人脸的快速识别。求取特征向量时,由于图片本身维数可能较高,在此采用svd分解将相关矩阵进行降维,从而获得相关矩阵的特征值和特征矢量。

【引言】人脸识别在身份识别和安检等方面都有很重要的用途,随着信息化、自动化需求越来越高,人们也一直在寻求一种快速、高效的识别手段。对于人脸的识别,传统的算法是几何信息法,人脸图象可以被看作一个椭圆中的特征集, 可用一个清楚的模型来表示。几何信息法提取人脸的各种几何特征,如五官的空间位置分布规则、人脸的轮廓规则等。通过检测图象中是否存在满足这些规则的图象块即可判断是否有人脸, 其中使用较多的是人脸的器官分布规则。现有的特征点自动定位算法并没有提供一个很高的准确率, 且需要相当的计算

[1]量,因此在时效性上的作用大打折扣。

之前尝试使用过基于肤色分布特征的人脸识别方法,即先对人脸肤色在不同色度上的分布进行统计,得到标准人脸的肤色分布矢量标准,然后将待检测的图像色度分布矢量与之比较,观察其欧氏距离是否满足阈值,这种方法在人脸大小方面有更强的适应性,但是面临的最主要的问题是没有统计人脸的几何信息,由于将色度信息综合起来统计其概率,人脸的轮廓、口鼻耳的位置信息就被压缩了,这样就有可能会将一些仅仅是颜色相似的其他图案识别为人脸,而现在采用的PCA主成分分析算法能够更加有效地提取人脸的主要特征,因此这种方法能够更加有效地将人脸识别出来。

在本文中我们将对这种新方法予以实现,下面分别从数学模型、基本理论方法、算法分析、测试结果等方面予以展开。

一、 数学模型

我们要处理的是人脸图片,一般而言,图片的保存形式是一个二维的点阵FM¤N,对于 RGB彩色图像而言,图片保存的形式是一个三维矩阵,第三维每一个元素代表每种基色的分量,在本文中,我们仅处理灰度图像,即二维矩阵。

首先我们得思考人脸的基本特征,一是人脸的色度信息,即在一定的照度条件下,人脸会呈现出某些分布在一定范围内的灰度值;而是人脸各个器官的分布信息,即脸的轮廓信息、口鼻耳的位置信息等等。在实际情况下,随着人种肤色、光照条件、不同人长相等差异会导致矩阵F元素的分布会有一定的不同。

具体考虑某一张人脸,它可能更倾向于在头发和人脸的交界处由一种色度调换到另一种色度,在眉毛、眼睛、嘴巴等处颜色较深,尽管这种分布不是固定的,但是一般而言其色度会有一定的范围,其位置也有一定的范围,这些共同构成了人脸的特征。换一个角度,如果我们将人脸的二维表示F变换成一个M*N的一维向量D,那么这个D是一个随机变量,但是这个随机变量的某些元素值有一定的分布范围,从这个角度来看,人脸的一维表示就是一个二阶矩过程X(n),我们可以对其进行分析,但是现在的问题是这个二阶矩过程是一个M*N点的矢量,而M*N一般而言很大,现在的问题就是能不能找到一个变换,能够最大限度地利用这个二阶矩过程的特点,在本例中,也就是人脸的特征,以期能够用相对较少的矢量来

基于PCA算法和KL展开的人脸识别算法

重新展开这个二阶矩过程?Karhunan-Loeve展开为我们提供了这么一个方法,它告诉我们,对于一个二阶矩过程,我们能够找到一组新的矢量来对它进行展开,这组矢量正是这个二阶矩过程自相关矩阵的特征矢量,而特征值则反映了该二阶矩过程在相应特征矢量上的投影值。基于这个原理,我们就能够选取这些特征值中最主要的部分,包含90%以上分量的特征矢量来重新表示这个二阶矩过程,这样就是实现了对于这个二阶矩过程的降维处理,且能体现其最主要的特征。

二、 相关理论和方法

基于上述理论,我们首先要找到表征人脸的二阶矩过程X[n]的相关矩阵R[m,n],由相关 矩阵的计算公式R[m;n]=EfX[m]¤XH[n]g可知,我们需要计算一个期望信息,在本例中期望的获得是通过有限个过程(即图像)的矢量乘来近似表示的,这是我们产生误差的第一步,一般而言,图像个数越多,产生的相关矩阵也就越接近真实值,但是这样会增大计算量,因此取折中,我们一般选取100~200张图片就能基本获得相关矩阵的数值。

假设我们一共有K张样本,这样我们就可以得到样本的矩阵表示其中A为MN*K的矩阵。

A=[ 1

这样x[n]的自相关矩阵可以表达为

R[m,n]=[ 1 … 1… ][…

… ……] … … ]

Karhunan-Loeve展开描述如下:

定理1.1 令fX(t);t2[a;b]g是均方连续的二阶矩随机过程,则存在一组完备的、连续的标准正交基函数fÁ(t);n¸1g和与之相应的非负系数f¸n;n¸1g$,满足

(1) X(t)的自相关函数RX(t;s)有如下展开(Mercer)

RX(t;s)=1X

n=1¸nÁn(t)Án(s) <1>

(2) 随机过程X(t)在均方意义下有如下展开(Karhunan-Loeve)

X(t)=

其展开系数满足

1Xn=1<X;Án>Án(t) <2>

E(<X;Ám>n=¸n±mn <3>

由上述原理我们知道,二阶矩过程可以用其相关矩阵的向量展开,由公式<3>可知,展开系数正是相关矩阵特征值的平方根,反映了该二阶矩过程在该特征向量方向上的投影分量大小,特征值越大,说明该特征向量越能反映该二阶矩过程的主值。因此,我们能够选取特征值之和占所有特征值相当比例(比如95%)的特征向量来重新表示该二阶矩过程,而忽略那些分量小的并不具代表性的向量,从而实现了主成分的提取和计算的简化。

基于PCA算法和KL展开的人脸识别算法

下面的工作就是计算相关矩阵的特征值和特征向量,当样本图像像素较大,比如本文中112*92=10304,那么相关矩阵就是10304*10304的矩阵,这是一个相当大的矩阵,求其特征值和特征向量将是一件计算量非常的过程,在此,我们采svd分解来求取相关矩阵的特征值,从而简化运算。svd分解描述如下:

定义1.1 设A2Rm£n,A的奇异ATA的特征值的肺腑平方根称作A的奇异值;

值的全体记作¾(A)

当A为夫矩阵Cm£n时,只需将ATA改为AHA,定义1.1仍然成立。

定理1.2(奇异值分解定理) 设A2Rm£n,则必存在正交矩阵

U=[u1;:::;um]2Rm£n和V=[v1;:::;vn]2Rn£m

使得

P其中r=diag(¾1;:::;¾r);¾1¸:::¸¾r>0

当A为复矩阵Cm£n是,只需要将定理中U,V改为酉矩阵,其他不变,定理

1.2仍然成立。

基于上述分解,可以得到A=USVT,那么AT=VSTUT,因此我们有

R=AAT=USVTVSTUT=US2UT

因此,A矩阵的奇异值的平方即为相关矩阵R的特征值,结合上面分析A矩阵的特征值即为二阶矩在特征空间中的表示系数(考虑到我们计算的是能量,因此我们选择表示系数的平方,即相关阵的特征值来讨论能量),而正交阵U的列矢量正是相应的特征向量,在本文中,由 …… 此处隐藏:6012字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于PCA算法的人脸识别(附代码).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1994597.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)