基於rgb描述的pca區域性人臉重建的實驗與侷限性
原創學術
筆記 fer
pca創新專案
機器視覺
*****
2012-04-17 12:21:06 privacy:1
實驗基於影象資料庫是jaffe,擷取嘴部66x36區域,pca投影子空間為10維。
訓練圖集一覽:
其中的anger子集:
對除了netural在內的六類表情各自做了pca訓練,得到了類內的子空間,然後再將每乙個」壓縮「後的訓練進行重構,得到重構進行比較:(其中第一行是原影象,第二行是在不同類別的子空間投影後重構出來的影象)
如果基於此進行分類,正確率可達到百分百。
然而exp 1.是基於資料庫裡面有的影象,也就是每乙個待重構的影象在資料庫中都有相對應的原影象,可以看到,即便充66x36=2376維度空間壓縮到了10維空間,重構誤差仍然相當小。
但是如果是原影象在資料庫不曾出現過呢,看下重構效果:(同樣,第一行是原圖,第二行是在不同類別的子空間下投影並重構的影象)
效果是相當糟糕,不僅從肉眼看已經變得血肉模糊,從他們的數值距離上看,也呈現出了很大的差異以及分類上的不準確性。
可以看出,這個恢復非常完美。
但是,如果放到不同的類別中去呢?它們的子空間有衝突,效果如何呢?
同樣在訓練相簿中加入了待測,但是放在了錯誤的集合(把長大的嘴和笑的嘴巴都放入生氣的子集),進行重構:
可以看得到恢復的效果還是不錯的!雖然跟正確的子空間相還是差些(可以看出來跟exp 3.相比變得模糊了),但是仍然是不錯的效果。
這次我把同乙個人而且與待測相似的新增到正確的資料子集中去(將下面兩張):
以下是重構結果:
效果好了多少呢?看看不加待測的相似之前的重構結果吧:
呼,差的有點遠。。
與exp 5.相比,多加了1r.tiff 2.tiff 6.tiff 三張與笑的表情無關的但是屬於同乙個人的表情。
重構結果如下:
可以看到重構結果在exp 5.得到了一定的提公升,令人感到一絲眼亮的是,加入的不相關居然有增強作用。
其實,將1r.tiff和2.tiff去除後,得到的重構結果也是相似的,因此事實上exp 6.實驗效果的增強來自於新加入的6.tiff,雖然與待測(微笑)很不相同,但是屬於同乙個人的,所以使得重構結果增強了。
得到降維後前10大特徵值的特徵向量(構成了特徵子空間,即特徵"嘴"):
測試在該子空間投影的時候的投影系數值為:
254.8638
-1044.95
-582.823
900.6475
394.5584
7.42199
-250.154
280.7748
-558.013
58.81635
得到降維後前10大特徵值的特徵向量(構成了特徵子空間,即特徵"嘴"):
測試在該子空間投影的時候的投影系數值為:
332.2779
-1260.66
771.9577
1200.439
772.8162
-136.661
1379.055
501.823
-79.3003
-362.726
發現在特徵空間2與特徵空間6上有比較大的差別,也就是對應上述特徵向量的2.jpg與6.jpg.
這意味著什麼呢?我認為,這意味著加入待測進行pca後,在得到的子空間的基中加入了待測的資訊(也就是上述的2與6這兩個基中加入了其資訊,並且相應的投影係數也改變了),從而使得待測的重構效果更好。
從上面實驗看出,pca重構的時候對待測本身或相似是否在資料庫中出現過很依賴,雖然這種說法很不嚴格,但卻符合實驗的直觀。
總的來說,pca是要選擇一組低維子空間的基來描述高維空間的資料,因此,基的完備性對於資料的重構是很重要的。
基於PCA的人臉識別步驟
人臉識別是乙個有監督學習過程,首先利用訓練集構造乙個人臉模型,然後將測試集與訓練集進行匹配,找到與之對應的訓練集頭像。最容易的方式是直接利用歐式距離計算測試集的每一幅影象與訓練集的每一幅影象的距離,然後選擇距離最近的影象作為識別的結果。這種直接計算距離的方式直觀,但是有乙個非常大的缺陷 計算量太大。...
基於PCA的人臉識別步驟
人臉識別是乙個有監督學習過程,首先利用訓練集構造乙個人臉模型,然後將測試集與訓練集進行匹配,找到與之對應的訓練集頭像。最容易的方式是直接利用歐式距離計算測試集的每一幅影象與訓練集的每一幅影象的距離,然後選擇距離最近的影象作為識別的結果。這種直接計算距離的方式直觀,但是有乙個非常大的缺陷 計算量太大。...
基於PCA的人臉識別步驟
人臉識別是乙個有監督學習過程,首先利用訓練集構造乙個人臉模型,然後將測試集與訓練集進行匹配,找到與之對應的訓練集頭像。最容易的方式是直接利用歐式距離計算測試集的每一幅影象與訓練集的每一幅影象的距離,然後選擇距離最近的影象作為識別的結果。這種直接計算距離的方式直觀,但是有乙個非常大的缺陷 計算量太大。...