4.2 基于PCA尋找模式(模型)(PCA to find patterns)
假設我們有20張圖像,每張圖像由N個像素的高和N個像素的寬組成(N*N的矩陣)。對于每張圖像,我們可以使用上一節(jié)的方法將其表示為一個圖像向量。然后,我們可以將所有的圖像(現在一張圖像對應一個向量)放到一個大矩陣里面,形如:
以此作為我們使用PCA算法的第一步(現在處理的對象是一個由20張圖像構成的大矩陣)。一旦使用PCA,我們要做的就是求解協(xié)方差矩陣得到特征向量(eigenvectors)。這(PCA)為什么有用呢?假設我們想實現面部識別,原始的數據集是人臉圖像。問題是,給定一張新的人臉圖像,識別出這張新圖像對應原始數據圖像中的哪一類人臉圖像,也就是根據人臉圖像信息進行分類(注意,這張新圖像并不是來自于我們一開始所給的那20張圖像)?這個問題在計算機視覺的解法是,基于PCA分析得到的新坐標系下,測量新的人臉圖像與已知的20張人臉圖像之間的區(qū)別,而不是在原來的坐標系。
http://www.cnblogs.com/XMU-hcq/p/6353698.html
事實證明經過PCA算法得到的新的坐標系更有利于識別人臉,這是因為PCA算法告訴我們原始圖像(數據)之間的差異(differences and similarities)。PCA算法確定了數據中的統(tǒng)計模型。
因為所有的向量都是 維,所以我們將得到
個特征向量(eigenvector)。實際上,我們也可以丟棄一些意義不大的eigenvectors(只保留特征值前k大對應的eigenvectors),識別的效果同樣不錯。
4.3 基于PCA的圖像壓縮(PCA for image compression)
使用PCA算法進行圖像壓縮又稱為Hotelling 變換或者K-L變換。假如我們有20張圖像,每張個像素。我們可以構造
個向量,每個向量20維,每一維對應這20張圖像中同一個像素的強度值,下文我(博主)將補充說明。這一點與上一個例子的大不同,上一個例子是構成的向量vector中的每個元素都是對應不同的像素,而現在這個例子構成的每個向量(
個)的元素對應20張圖像相同的一個像素值。
---------------
補充說明:個20維的向量
第1個向量形如:
第2個向量形如:
第
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數據結構來看看(二) 2017-07-26
學習是年輕人改變自己的最好方式