崔 瑩
(銅陵職業(yè)技術學院信息工程系,安徽 銅陵 244000)
在具有較高維數(shù)的數(shù)據(jù)中,子空間方法通過一組基向量生成的子空間來表征結構化信息[1]。子空間方法可以分為主分量分析法(PCA)、葉分量分析(LCA)以及獨立分量分析法(ICA)等[2,3]。PCA,ICA和LCA是并列的三種提取分量的方法,有一定區(qū)別的,例如PCA要求觀測樣本集合的協(xié)方差矩陣所得特征基必須是正交的[4];而ICA的特征基則為非正交的,同時這幾種方法也就一定的聯(lián)系。比如,在白化零均值空間下,葉分量分析方法可以視為一種增量式的ICA方法[5]。LCA算法是一種新的算法,目前應用較少,基于LCA算法的特性可以應用于圖像分割、圖像特征提取、圖像去噪(利用了高階累積量對高斯噪聲不敏感的特點,通過對圖像數(shù)據(jù)計算其高階累積量,從而達到去噪的目的。)以及高光譜圖像的壓縮(通過以統(tǒng)計獨立為優(yōu)化目標,通過尋找分離矩陣,從觀測信號中估計出源信號。)等[6,7]。基于此,通過對一組人臉圖片降維并提取樣本特征,然后利用LCA算法對樣本進行增量式(在線)學習來實現(xiàn)LCA的人臉識別。
葉分量分析法是一種增量式子空間學習方法[1]。該方法是通過某高維空間中時間上順序得到的一組隨機觀測樣本來估計該高維空間的概率密度的分布情況。葉分量分析適用于經(jīng)過白化和中心化處理后的樣本空間,既該樣本空間在個維度上具有零均值和單位方差。在自然圖像中,樣本的分布往往是集中在幾個方向上的,每個方向上集中分布的樣本構成一個葉,樣本空間中有c個這樣的葉,它們將樣本空間劃分為c個互不相交的葉區(qū)域。在每個葉區(qū)域中,能夠找到一個具有代表性的單位向量來表征該區(qū)域的所有向量,該分量稱為葉分量,如圖1。
圖1 兩維白樣本空間內(nèi)葉區(qū)域及葉分量
每個葉分量之間不需要滿足正交性和線性獨立性,假設所有葉分量組成的空間為[8]:
K=samples{v1,v2,…,vc}
(1)
每個葉分量均為單位向量,那么該空間中的任意向量表示為
(2)
l為x在所有葉分量上的響應向量,既x在vi上的投影。
根據(jù)葉分量的定義,每個葉區(qū)域可由一個具有代表性的向量vi表示,因為樣本空間中的每個葉區(qū)域中的向量是集中分布在某個方向上的,因此vi在該方向上應具有較大的方差。因此,假設X樣本空間的協(xié)方差矩陣的最大特征值為λi,1,則vi作為與λi,1對應的特征向量應當滿足:
(3)
經(jīng)λi,1縮放后的vi可以被估計為屬于該葉區(qū)域的樣本加權平均值,每個樣本的權值即為vi對該樣本的響應。具體提取葉分量的方法如下:1)樣本去均值,既計算樣本每列向量均值,再用每列向量里的數(shù)減去該均值;2)計算協(xié)方差矩陣;3)計算特征值、特征向量;4)選取特征值最大的一組特征向量作為投影向量;5)對該組特征向量轉置;6)將轉置后的特征向量與樣本空間矩陣進行矩陣乘法。最終得到的矩陣的每一列代表一個葉區(qū)域,既每一列為一個葉分量。
LCA算法的增量式學習過程可以提供模式分類的有效信息,只需要在葉分量分析的初始化過程中將訓練樣本的類標號賦給該葉分量,通過訓練樣本的葉分量和測試樣本的葉分量進行對比,將訓練樣本的葉分量類標號賦予與其最為接近的測試樣本的葉分量,從而判定測試樣本對應的具有標號的類,從而可以達到模式識別的目的。模式識別過程如圖2所示。
圖2 本文模式識別過程
此以ORL人臉數(shù)據(jù)(http://download.csdn.net/detail/kyszp123/1583590)作為研究對象,包括400幅不同臉部姿態(tài)和表情的人臉圖像。每幅圖片的大小一致且均為灰度圖像,其中每10幅圖像為1個人的臉,每10幅圖中取前5幅圖片為訓練樣本,后5幅圖片為測試樣本,如圖3,這樣可以將400幅圖片分為兩部分,既200幅訓練圖片組成的訓練樣本和200幅測試圖片組成的測試樣本。在訓練樣本中,取單個圖片的像素為行數(shù),圖片總個數(shù)為列組成一個二維矩陣X,該矩陣稱為由200個葉區(qū)域組成的訓練樣本空間。測試樣本用同樣的方法,得到一個二維矩陣,該矩陣為由200個葉區(qū)域組成的測試樣本空間,這兩個空間維數(shù)相同。
圖3 訓練樣本和測試樣本
訓練樣本空間需要進行預處理,因為葉分量分析適用于去均值和白化后的樣本空間,既需要對訓練樣本去均值和計算協(xié)方差矩陣。具體步驟如下:1)對樣本矩陣的每一列取平均值。2)矩陣的每一列減去當前列均值。3)對去均值的矩陣計算協(xié)方差。而圖像識別分為訓練過程和識別過程。對于本文來說,就是取測試樣本葉分量集中的一個葉分量與訓練樣本的每個葉分量進行比較,找到兩葉分量歐氏距離最小的那個訓練樣本中的葉分量對應的標號,將其賦予該測試樣本葉分量。訓練過程:1)初始化m個葉分量和類標號,并將葉區(qū)域內(nèi)樣本數(shù)設置為1。而識別過程:1)測試樣本X(t)視為t時刻到達的樣本。通過葉分量分析的執(zhí)行過程,與訓練樣本進行比較,找到與測試樣本X(t)有最大響應的葉分量vj1≤j≤m,既兩向量歐氏距離最小,最終得到測試樣本對應的實際類別;2)將測試樣本的實際類別與原類別進行比較,找到相同部分,即為識別出的圖片。3)統(tǒng)計識別率,將識別出的圖像的路徑及名字輸出到txt文檔。
葉分量分析作為一種子空間學習方法,具有特征學習的能力,只需要在葉分量分析方法的初始過程中,初始化葉分量的同時將觀測樣本的類標號賦給該葉分量。假設記訓練樣本中有c個葉分量vi,1
如圖4所示,為訓練樣本集葉分量標號示意圖,每幅圖片經(jīng)提取葉分量后,可以找到一個葉分量與之對應,由于ORL人臉數(shù)據(jù)庫為40組人臉照片,每10張為1人的人臉照片,取前5張作為訓練圖片,第一組測試人臉照片標號1,以此類推。
圖4 本文訓練樣本集葉分量標記過程
在對測試樣本進行識別的過程是這樣的,經(jīng)過投影后的測試樣本矩陣,其每一列為一個葉分量,表示一幅測試圖像,共200幅測試圖像,每次取出一張測試樣本對應的葉分量與訓練樣本葉分量集的每一個葉分量進行歐式距離比較,找出兩個葉分量之間距離最小的那個訓練樣本中的葉分量,將此訓練樣本葉分量的標號,賦予對應的測試樣本葉分量,具體過程如圖5。
圖5 測試樣本標記過程
全部標記后,每個測試樣本將擁有一個標號,將此標號與對應的訓練樣本標號進行相減,若為0,則表示該測試圖片被識別。最終,在200張測試圖片中,有171張被識別,識別率為85.5%。
以LCA方法為特征子空間提取方法,通過提取訓練樣本中每幅圖片的葉分量,找到訓練樣本的特征子空間,通過將訓練樣本和測試樣本分別投影到特征子空間,從而達到特征提取的過程,再通過LCA的在線學習過程,將訓練樣本進行標號處理,對比訓練樣本和測試樣本,將最接近的訓練樣本標號賦予測試樣本,這樣做的好處是可以快速對樣本進行一次性分類,通過標號相減,找出被識別的圖像,既節(jié)省了時間又達到了識別的效果。