PCA与2DPCA及2D-2DPCA零基础理解(上)

首先要知道为什么PCA是什么,为什么要用PCA。PCA即主成分分析,例如对于一幅图像,要表示它,可以用他的主要部分表示即可,这样可以降低在图像处理中的数据处理难度,例如可以降低数据的存储容量。那么,什么样的方法能够降低数据处理难度呢,降维便是一种很好的方法,这就引出了PCA(通过降维达到获取主要部分即主成分分析)。
为了避免将知识分散开讲,最后还是云里雾里的,我现在将PCA的大致步骤讲一下:
由于PCA目前主要用于人脸识别方面,接下来我将以人脸图像作为输入图像,在实验中,我用的是ORL人脸库,这是一个开源的人脸库,一共有40个人的人脸集,每个人脸集有10副人脸图像,图像尺寸为92112(但在计算机中存储时是按照数组11292大小存储的)
下载地址:ORL人脸库
假设现在有M张人脸图像,每张人脸的大小是mn(m=112,n=92)。
1.将每张图片转化为一维列向量列向量组成矩阵;
2.求协方差矩阵;
3.求协方差矩阵特征值与特征向量,将特征向量按照特征值大小进行排列,形成特征向量矩阵;
4.根据所给的能量占比,来选择要选前多少个一维特征向量,组成新的特征向量矩阵;
5.根据最终所选的特征向量矩阵进行重构。
现在,我们详细的来了解各个步骤是怎样操作的。
1.由每张图片的大小可知,每张图片经变换后形成的一维列向量大小为(112
92)1,将M个一维列向量按照从左往右进行排列(当然排列顺序随你所想,我在这要从左往右排是为了叙述清楚),排列后的图像集矩阵大小为(11292)M;
2.计算协方差矩阵,根据线性代数的知识可知,协方差矩阵的计算公式是该矩阵乘以该矩阵的转置(如果转置都不知道是什么,你可以在学PCA之前,查看一下线性代数或者是矩阵论),这样求得的协方差矩阵大小为(112
92)(11292),这个数据是何其的大;
3.求协方差矩阵的特征值与特征向量,即(协方差矩阵-λ倍单位矩阵)X,λ即是特征值,X即是特征向量。接下来将特征值按照从大到小进行排列,将其特征向量也按照相应特征值的排列顺序进行排列,即可得到特征向量矩阵(这是第一个特征向量矩阵);
4.基本在让我们用PCA处理人脸时,都会给出一个能量占比,或者是处理的误差大小,这是我们选择前几个特征向量的依据,假设我们通过分析选择前m个特征向量,则这个特征向量矩阵(第二个特征向量矩阵)的大小为(112
92)m。因为PCA是主成分分析,就是要让主要的信息去代替全部的信息(在这你该理解PCA的含义了吧),这时我们选择的特征向量矩阵的每一列大小是11292,我们称他们为基,根据这些基,我们可以得到一个新的由这些基组成的人脸空间,如果将每一个列矩阵输出(这时将一维列矩阵按112*92的二维矩阵输出),我们可以看到这些图像形似人脸,便将其称为特征脸,在一维PCA中,我们所获得的基就是传闻已久的特征脸。
5.重构是通过PCA分析最终能够在一定的误差范围内,通过特征脸复现原人脸。在第4点,我们得到了特征脸就是PCA里的基,那么我们可以想象出如下:给一副人脸图像,我可以在人脸空间中找到一个点代表这幅图像,而这个点又是根据它的基所确定的,也就是说,每一副人脸就是由多个特征脸所确定的,所叠加的(当然是向量的叠加),这时候可以以三维空间来类比想象。
下面还有怎样确定给定的人脸是属于哪一个人的,这也是个比较绕人的知识点,我将会放到下篇博文中再说。

  • 11
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值