matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)
前言:人臉識別是一個很經典的課題,圍繞它可以做成很多實際應用,比如教室人臉考勤,人臉門禁系統,無人超市購物系統,刷臉支付系統等等。可是,為什么這一切是靠什么進行匹配人臉的呢,怎么那么神奇呢。人臉識別的主流方法有PCA,KPCA,bp神經網絡,卷積神經網絡cnn,向量機SVM,LDA,ICA,稀疏矩陣等等方法。該文主要講解PCA算法,講PCA具體是怎么降維的,何為降維,怎么就降維了,以及何為人臉特征向量等。本人盡自己所能,講到通俗易懂,平易近人,以簡單的矩陣做枚舉,講的不好的地方多多包涵。
1、假設簡單矩陣為人臉圖像的矩陣
假定張三,李四,王五3人的歸一化同樣大小以后的灰度圖像分別為A,B,C,為減少記憶量,其對應矩陣同名為A,B,C。
假設A如下:
| 2 | 1 | 3 |
| 4 | 2 | 1 |
| 1 | 2 | 0 |
用矩陣表示,就是
A=
2 1 3
4 2 1
1 2 0
假設B如下:
| 0 | 1 | 2 |
| 2 | 2 | 3 |
| 3 | 8 | 1 |
用矩陣表示,就是
B=
0 1 2
2 2 3
3 8 1
假設C如下:
| 4 | 0 | 3 |
| 1 | 1 | 0 |
| 3 | 4 | 5 |
用矩陣表示,就是
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(:)
同理,取列后的矩陣為:
同理,取列后的矩陣C為:
1、對矩陣進行行向處理
對取列后的矩陣A、B、C再進行轉置,即將矩陣逆時針旋轉90°,再上下鏡像翻轉180°,線性代數表示式是:(A)T , (B)T , (C)T, matlab公式為:A = A';
對A進行轉置,轉置后的矩陣A為:
同理,轉置后的矩陣B為:
同理,轉置后的矩陣C為:
至此,完成了以下工作:
也就是原來3行3列的矩陣A,B,C變成了現在的1行9列,如下圖所示:
| 張三A | 2 | 4 | 1 | 1 | 2 | 2 | 3 | 1 | 0 |
| 李四B | 0 | 2 | 1 | 1 | 2 | 2 | 2 | 3 | 0 |
| 王五C | 4 | 1 | 3 | 0 | 1 | 4 | 3 | 0 | 5 |
1、取均值
對以上3個行向量取平均值,matlab調用格式為:mA=mean(samples),如下圖:
1、求偏差矩陣,即每個向量跟均值作差
張三李四王五的ABC向量分別減去平均向量mA,即samples-mA,對應像素相減,結果為下圖所示:
因工作原因,MATLAB主成分PCA人臉識別深度解析(二)待續。。。抽絲剝繭深度解剖PCA主成分人臉識別系統算法,有需要可私心本人,會抽時間進行撰寫。
創作不易,多多點贊,好評,轉發。。。
總結
以上是生活随笔為你收集整理的matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThinkPHP6项目基操(19.实战部
- 下一篇: Vue第一部分(4):表单的双向数据绑定