matlab主成分分析散点图_MATLAB主成分PCA人脸识别深度解析(一)

fa307a27c32afe62b38825d7eca2a5ad.png

前言:人脸识别是一个很经典的课题,围绕它可以做成很多实际应用,比如教室人脸考勤,人脸门禁系统,无人超市购物系统,刷脸支付系统等等。可是,为什么这一切是靠什么进行匹配人脸的呢,怎么那么神奇呢。人脸识别的主流方法有PCA,KPCA,bp神经网络,卷积神经网络cnn,向量机SVM,LDA,ICA,稀疏矩阵等等方法。该文主要讲解PCA算法,讲PCA具体是怎么降维的,何为降维,怎么就降维了,以及何为人脸特征向量等。本人尽自己所能,讲到通俗易懂,平易近人,以简单的矩阵做枚举,讲的不好的地方多多包涵。

1、假设简单矩阵为人脸图像的矩阵

假定张三,李四,王五3人的归一化同样大小以后的灰度图像分别为A,B,C,为减少记忆量,其对应矩阵同名为A,B,C。

假设A如下:

213
421
120

用矩阵表示,就是

A=

2 1 3

4 2 1

1 2 0

假设B如下:

012
223
381

用矩阵表示,就是

B=

0 1 2

2 2 3

3 8 1

假设C如下:

403
110
345

用矩阵表示,就是

C=

4 0 3

1 1 0

3 4 5

1、对矩阵进行列向处理

对矩阵A, B,C进行按列排序转换,设I是m行n列的矩阵,matlab使用方式是:I1 = I(:)表示矩阵I生成m*n行1列的矩阵。

A= A(:)

cadba4a16e68a6792687849ded2ed77d.png

同理,取列后的矩阵为:

586445d713f785091dc08ac4cf64d478.png

同理,取列后的矩阵C为:

014eae1c6a424aa917985634ae09a57e.png

1、对矩阵进行行向处理

对取列后的矩阵A、B、C再进行转置,即将矩阵逆时针旋转90°,再上下镜像翻转180°,线性代数表示式是:(A)T , (B)T , (C)T, matlab公式为:A = A';

对A进行转置,转置后的矩阵A为:

02264998668586abd9738b6e81e9df4b.png

同理,转置后的矩阵B为:

94e918ab328ae45e30560d9d03c17b34.png

同理,转置后的矩阵C为:

246408665a6bc57957277430156a5d00.png

至此,完成了以下工作:

4ae8a37c4af73ed3e07ef59457e4098f.png

607a67ac0332ca9a6574f6947fc6ee5b.png

ceb3798d27b21495ef6de48153c3fbab.png

也就是原来3行3列的矩阵A,B,C变成了现在的1行9列,如下图所示:

张三A241122310
李四B021122230
王五C413014305

1、取均值

对以上3个行向量取平均值,matlab调用格式为:mA=mean(samples),如下图:

60fbfd50c9a99132887a55f14eefb685.png

1、求偏差矩阵,即每个向量跟均值作差

张三李四王五的ABC向量分别减去平均向量mA,即samples-mA,对应像素相减,结果为下图所示:

99a413584127cf9832bf43da7051e310.png

因工作原因,MATLAB主成分PCA人脸识别深度解析(二)待续。。。抽丝剥茧深度解剖PCA主成分人脸识别系统算法,有需要可私心本人,会抽时间进行撰写。

创作不易,多多点赞,好评,转发。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值