毛明揚
(廣州華商學院數據科學學院 廣州 511300)
在日常生活中,所看到的圖像大多為高維圖像,如果直接對其進行識別,過程繁雜,識別結果也存在不精準的情況,為此常利用數據降維解決不精準的問題。數據降維就是在特定的空間內,通過某種算法規則使高維數據轉換為低維流形結構。通常使用的降維算法有監督式降維的算法和非監督式降維算法兩種。監督式的算法通常可以對數據進行最大化的聚類處理,而非監督的算法則可以在數據降維時將損失值降到最小。但是,面對高維數據的高度非線性和高相關屬性,單訓練樣本人臉識別在此情況下容易發生識別干擾因素過多的情況,為此相關研究受到了重視。
文獻[1]提出基于深度學習和約束稀疏表達的人臉識別算法,完成對人臉的識別過程;文獻[2]提出基于改進卷積神經網絡與集成學習的人臉識別算法,確保算法整體具有較強的可移植性;然后,引入集成學習策略,對所有人臉圖像進行個體學習器的學習;文獻[3]提出一種結合內變化基和乘性協同表示分類的人臉識別算法,利用基稀疏字典構建減小訓練樣本間的差異,實現人臉智能識別;文獻[4]提出基于結構化局部約束低秩表示的人臉識別,通過線性分類器對測試樣本分類,采用結構化局部約束低秩實現人臉識別。雖然上面的算法取得一定進展,但是影響因素較多,容易出現過度擬合現象。
本文在上述研究的基礎上,考慮局部鄰域多流形度量的情況下,提出單訓練樣本人臉識別算法。本文所研究的創新點是提出局部鄰域多流形度量。局部鄰域多流形度量在一定程度上可以很好地將高維特征轉換為便于識別的低維流形結構。同時,對于護照、身份證等特殊場合下的查驗方式單訓練樣本,識別效果更佳;在局部權重矩陣的理論指導下,找出人臉圖像內部的最佳投影區域,減小重構數據點和原始數據點之間的誤差,實現單訓練樣本人臉識別。
在獲取到的人臉圖像中,通常因為光線問題、遮擋物原因或者圖像拍攝角度等因素的干擾,使得圖像中含有較多的噪聲和雜質。若直接再提取特征,則可能存在誤差,導致提取結果不準確影響最終人臉識別的結果。針對此問題,本文首先考慮局部鄰域多流形度量,局部鄰域多流形度量可以將高維特征轉換為便于識別的低維流形結構,并求得相應的關系。選擇Contourlet變換算法對人臉圖像的進行預處理,該算法具有較好的去噪效果,將該算法引入到原始圖像中,去除掉多余的噪聲和雜質,然后對其進行圖像重構。Contourlet 變換算法由拉普拉斯塔式分解結構和方向濾波器結構組成,具體內容如圖1所示。

圖1 Contourlet變換算法原理
在Contourlet 變換算法原理的基礎上,經過變換處理,得到的人臉圖像如圖2所示。

圖2 人臉圖像預處理效果
在圖2 中,圖(a)是未經過處理的原始圖像,圖2(b)是經過Contourlet 變換后的圖像。根據圖2 所示內容,經過處理后的圖像,預處理效果有了明顯的提升,具有較好的效果。
為了有效提取到圖像的特征,需要將其劃分為多個相等或不相等的子塊圖像,這主要取決于具體的人臉圖像。將人臉圖像的長和寬看作是定值,在互不重疊的原則上對其進行劃分,得到人臉圖像分塊。
隨機選取一幅人臉圖像,在這幅圖像中提取代表的是流形內部和外部近鄰,利用多流形判將對人臉圖像特征的提取轉換為最優化問題。
對于多流形距離度量矩陣的構建,通過仿射包來實現。如果非空子集內包含了多條穿越該子集的線段,那么就可以認為非空子集是一個仿射子集。非空子集維度與仿射空間內的維度始終保持在一種平行的狀態下。將所得的仿射子集進行匯總整合,即可得到仿射包。
通過預處理后,人臉原始圖像結構轉換處理成為了一個非線性的低維流形結構,為了對每個流形結構內的特征實現準確抓取,建立了多個局部模型,此模型并非單一的模型,其優勢是在一定程度上提高識別率。目前所有的多模型算法都是將低維流形結構劃分為若干個子集,其中每個子集代表了對應的線性空間,由此可以在一定程度上增加平均識別率。由于線性空間內部無法實現結構的緊密聯系,因此,本文提出利用仿射包來表示流形結構。假設當前已知人臉數據集的類別標簽,形成一個子集,那么即可得到個人臉數據子集。利用譜聚類算法,計算得到仿射包,以此類推,得到其他流形的仿射包。在仿射包的作用下,剔除掉了線性空間內的冗余信息[6~7],可以使子集在緊密的狀態下存在。
構建誤差度量矩陣,假設wij為將第j個數據點在重構第i個數據點時所做的貢獻權值,為了得到wij的具體值,設定每個數據點在進行重構時,只允許通過它的近鄰點k來確定。
在權值矩陣L={l1,l2,…,lk} 中,處于同一行中的所有元素相加等于1,即:

重構的數據集與原始數據集之間差異較小,流形結構的內部距離保持不變。那么重構后的數據集[8]用式(2)表示為

式中,X表示重構系數。
在人臉圖像數據集內,根據誤差度量矩陣來構建零空間,然后再對沒有進行預處理的圖像進行特征人臉的選取[9],將所得特征臉結果代入到訓練集匯總,即可針對單訓練樣本問題得到解決。
計算求得人臉圖像的特征臉數據集,與之相對應的時間序列目標函數為[10~11]

式(3)中,Ei表示時間特征向量,將λ值的前d個 特 征 整 合 在 一 起,得 到 特 征 向 量[12~13]λ1>λ2>…>λd。E′=(E′1,E′2,…,E′d)表 示Ei的 投 影 矩陣。在低維流形空間內進行人臉圖像的映射[14~15],保障減少識別時間的基礎上,確保重要特征不會變形、消失。
實驗中所使用到的人臉圖像數據均來自于FDDB(Face Detection Data Set and Benchmark)數據集 和MALF(Multi-Attribute Labelled Faces)數 據集。FDDB 數據集中的圖像來自38 個人,在64 種不同環境下所拍攝,分為5 個子集。MALF 數據集中的圖像來自65 個人,每個人在光線、遮擋完全不同的環境下均拍攝了21張圖像,共同組成了MALF數據集。在此次實驗中,從FDDB 數據集中選取了具有代表性的23 張樣本圖像,具體如圖3 所示,其中測試集和訓練集的數量分別為10和13,從MALF數據集中選取了12 張樣本圖像,具體如圖4 所示,訓練集和測試集的數量分別為8和4。

圖3 FDDB數據集23張人臉圖像

圖4 MALF數據集12張人臉圖像
首先為了驗證近鄰點k值的變化對人臉圖像識別結果是否產生影響,針對FDDB 和MALF 數據集,利用單一變量原則選取不同的k值,確定這兩個數據集在最優識別率下k的具體值。結果如圖5所示。

圖5 兩個數據集隨k 值變化情況

通過觀察圖5(a)和圖5(b)可知,識別率取決于k值的變化。在FDDB 數據集中,當k值為40時,識別率為最優,而在MALF 數據集中,當k值為70時,識別率為最優。
根據圖5 得到的結果,結合劃分的訓練集和測試集,利用文獻[1]基于深度學習和約束稀疏表達的人臉識別算法和文獻[2]基于改進卷積神經網絡與集成學習的人臉識別算法驗證在不同數據集下識別結果,如表1所示。

表1 在不同數據集下不同算法人臉識別結果
通過觀察表1 可知,本文算法平均識別率高達97%,而深度學習網絡識別算法和改進卷積神經網絡識別算法的平均識別率僅僅為85%和88%。其原因是由于本文算法在對人臉圖像識別前對數據進行預處理,有效去除了冗余信息。
為了更加深入驗證所設計算法的效果和有效性,對三種算法進行人臉識別所需要的時間進行仿真實驗,結果如圖6所示。

圖6 三種算法在不同數據集下人臉識別時間
由圖6 可知,通過三種算法在不同數據集下人臉識別時間差異較大,本文算法在數據集相同的前提下,人臉識別所用的時間最少,而其他兩種算法的時間較長。這是由于本文算法將原始人臉圖像從高維數據形式轉換為了低維流形數據,再對其進行預處理,一定程度上有利于提高處理效率。
針對單訓練樣本中人臉圖像識別,在識別過程中存在著大量的干擾因素問題,提出了一種有效的人臉識別算法。預處理人臉圖像中的噪聲等影響因素,確保后續人臉識別效果更加精準。實現線性空間內結構的緊密聯系,在此基礎上可取得理想的識別結果。實驗得出如下結論:本算法具有較高的識別率,可以有效去除冗余信息,減少識別時間,增加識別效率。對于人臉識別仍在不斷發展中,未來可以針對多訓練樣本進行更加深入的研究。為人臉識別發展提供更多的參考。