文/王振華 蘇金善 仝瓊琳
(伊犁師范大學電子與信息工程學院 新疆維吾爾自治區伊寧市 835000)
隨著計算機技術的發展,人臉識別已經成為計算機視覺和生物識別領域被研究最多的主題之一。人臉識別算法也從最初基于人工設計特征和傳統的機器學習方法[1]逐漸轉變為深度學習方法[2]。深度學習一般通過大量的數據進行訓練,從而學到更為穩健的人臉表征[3]。CNN是人臉識別方面最常用的一類深度學習方法[4],目前也成功應用于很多人臉識別系統。
由于人臉識別算法的逐步成熟,人臉識別也逐漸成為一種可靠的認證機制,并應用于許多訪問控制場景。不過目前的面部識別或認證,主要使用全正臉面部圖像數據來執行,但實際上有些情況下攝像頭只能拍攝到人臉的側面,或者被拍攝者可能戴了帽子、眼鏡、口罩等遮擋物,導致無法獲得完整的正臉圖像。因此,使用部分遮擋的面部數據進行人臉識別是一個亟待開發的研究領域[5]。
有遮擋人臉識別領域已有的研究工作主要可以分為子空間回歸、魯棒性誤差編碼與魯棒特征提取等三類[6]。盡管這些算法已經取得長足的進展,但是依然無法完全有效地排除遮擋的影響,仍然面臨著許多挑戰[7-9]。本文立足于目前的研究進展,采用基于深度學習的方法進行人臉檢測,并對部分遮擋情況下的人臉圖像進行識別,取得了較為良好的效果。
如圖1所示,人臉識別系統一般由以下4個模塊組成[2]:
1.1.1 人臉檢測人臉檢測的目標是找出圖像中所有人臉的具體位置,返回結果為每個人臉的邊界框的位置坐標。
1.1.2 人臉對齊人臉對齊的目標是利用圖像中的參考點來對圖像進行裁剪或者縮放,通過合理的仿射變換將人臉調整到最優的角度和位置。
1.1.3 人臉表征
人臉表征也就是特征提取,具體目標是把人臉圖像的像素值轉換成一個特征向量。在理想情況下,相同個體的所有人臉圖像都應該映射到相似的特征向量。
1.1.4 人臉匹配
將兩個人臉圖像特征向量進行比較,從而得到一個相似度量值,

圖1:人臉識別系統組成模塊

圖2:圖像預處理及特征提取模型結構
該度量值用來判斷兩張人臉圖像是否為同一個人。
卷積神經網絡(CNN)是人臉識別研究領域最常用的一類深度學習方法,其主要特點是不需要專門設計針對不同類型人臉圖像穩健的特定特征,而是可以通過訓練學習得到。這種訓練學習方法的主要缺陷是需要使用規模非常大的數據集進行訓練,并且數據集中需要包含足夠多的類型變化,從而可以泛化到訓練集中未曾見過的樣本上。目前一些包含自然人臉圖像的大規模數據集已經被公開,可以很方便用來訓練CNN模型[10]。
現階段可以使用不同的方法來訓練用于人臉識別的CNN模型,一種可行的方法是采用基本的分類問題解決思想,在模型訓練階段,把訓練集中的每個主體都對應到一個類別。在模型訓練好之后,就可以去除分類層,將之前的層學習到的特征作為人臉表征,這樣我們就可以用該模型去識別訓練集中不存在的主體[2]。
本文基于上述人臉識別系統,建立了如圖2模型結構。
首先通過CNN模型將數據集中原始人臉圖片中的具體人臉部位提取出來并進行歸一化處理,然后使用CNN模型對預處理之后的人臉進行特征提取,從而得到一組128維的特征向量。分類器使用提取得到的特征向量進行匹配,從而實現人臉分類識別。本文所用的CNN模型來自OpenFace預訓練好的模型[11],這是一個基于深度神經網絡的開源人臉識別系統,由卡耐基梅隆大學的B.Amos主導實現。

圖3:ORL人臉數據集樣本圖像

圖4:隨機遮擋1/4樣本圖像

圖5:隨機遮擋1/2樣本圖像

圖6:不同遮擋條件下的人臉識別準確率
特征分類是人臉識別的關鍵步驟,本文采用余弦相似度來進行分類[5]。余弦相似度是用于衡量兩個向量相似程度的一種方法,可以通過公式(1)中的向量內積公式進行計算。

其中,A和B是兩個向量,θ是兩個向量之間的夾角。公式(2)為向量長度公式,其中x=[x1,x2,x3,…,xn],據此可以得到向量A和B之間的余弦相似度CS,即公式(3)。


在分類過程中,我們通過計算測試圖片test_im和已訓練圖片traning_imi之間的余弦相似度,由于余弦相似度的數值越大表示兩者匹配度越高,因此我們計算得到test_im和traning_imi之間的余弦相似度最大值CSmax如公式(4)所示:

其中i的取值為1,…,n。n為訓練集中所有圖片的總數。根據CSmax可以得到test_im所屬類別也就可以完成人臉分類識別。
本文實驗基于ORL人臉數據集,該數據集由英國劍橋的Olivetti研究實驗室在1992年左右創建,其中共包含40個不同的人,每個人的10張照片均是在不同的條件(光照、時間、面部表情細節等)下進行拍攝。所有圖像均是在亮度較暗的背景下拍攝的正臉圖像(個別圖片稍微有些側偏),如圖3所示。400張圖像均是以PGM格式灰度圖存儲,圖像寬度為92,高度為112。
為了測試在不同的遮擋條件下的識別效果,本次實驗分為4種情況。分別為無遮擋、遮擋1/4、遮擋1/2和遮擋3/4。其中,遮擋1/4和遮擋1/2的樣本圖片見圖4和圖5。
在每次實驗中,訓練集和測試集各占一半。其中訓練集用于計算CS閾值即最小值。然后用測試集中的圖片來進行測試。
4種實驗條件下的識別結果如圖6。
實驗結果表明:在無遮擋情況下,本文基于余弦相似度的分類方法可以取得100%的識別準確率;在人臉圖像被隨機遮擋1/4的情況下,識別準確率為84%;當遮擋比例增加到1/2時,識別準確率降低到了64%;當遮擋比例為3/4時,基本已經無法準確識別,識別率接近為0。
根據以上結果可以發現,圖像的遮擋比例越高,越難以準確識別。由于隨機遮擋1/4的情況下的識別準確率較為良好,也就說明在部分遮擋條件下可以取得較為準確的識別結果。這對于解決現實場景中戴口罩或者戴墨鏡的人臉圖像識別提供了一種解決問題的方向。
部分遮擋情況下的人臉圖像識別是圖像處理領域的重要課題,在對部分遮擋人臉圖像進行處理時,本文基于深度CNN模型進行特征提取,并采用余弦相似度進行分類識別,在遮擋比例不高的情況下,取得了較為良好的識別結果。當然本文的實驗還存在一些不足,比如特征的建立和分類器的選擇等方面,這將在我們下一步的研究中進行改進。