王 博
(1.商洛學院電子信息與電氣工程學院陜西商洛 726000;2.商洛市人工智能研究中心陜西商洛 726000)
在智能門禁系統(tǒng)中,人臉的檢測和識別[1-2]是一項核心技術。隨著人工智能的發(fā)展,人臉檢測和識別在生活中的應用越來越廣泛。比如軍事公共安全和日常門禁等領域[3-6]。20世紀90年代Turk等[7]基于PCA 的EigenFaces,使用主成分分析方法,對臉部特征進行提取,達到人臉分類目的,是受限條件下一個簡單的人臉識別方法,但是由于缺乏對光照、姿態(tài)、表情和圖像質量變化的魯棒性,在無約束條件下的人臉識別相對無效。He Xiaofei[8]等通過預先假設分布的情況下進行預測,獲得低維特征用來描述人臉,但是問題在于整體的方法沒有辦法包含局部的人臉變化。2000年以后,Shen Linlin 等[9]基于局部特征的人臉識別方法逐漸嶄露頭角,但是手工設計的特征往往缺少魯棒性。尹鵬博[10]等在深度卷積神經網(wǎng)絡中引入注意力機制,優(yōu)化損失函數(shù),提高模型的人臉特征提取能力。
智能家居的重要組成部分是一扇安全可靠的門和一把智能的鎖。智能鎖使用戶無需實體鑰匙即可進入家中。雖然有很多商業(yè)智能門禁系統(tǒng),但大多數(shù)都很昂貴。文中選取的樹莓派控制器相對價格比較低廉,能夠達到大幅降低智能門鎖成本,智能門禁系統(tǒng)原理圖見圖1。
圖1 智能門禁系統(tǒng)原理圖Fig.1 Schematic diagram of intelligent access control system
圖1 中人臉采集模塊主要包括以樹莓派為核心控制單元,使用攝像頭拍攝視頻輸入,通過樹莓派傳輸至算法中心,算法經過識別將結果反饋,并將其發(fā)送到LCD 顯示結果。識別算法的核心功能是識別輸入的人員,并將他們分組為朋友、家人和陌生人。
智能門禁系統(tǒng)采用的算法核心如圖2所示,圖2中分上下兩個支路,上方支路的輸入為人臉數(shù)據(jù)庫中存在的已知人臉,下方輸入的為待檢測未知人臉。上下兩個支路分別將輸入的數(shù)據(jù)經由MTCNN網(wǎng)絡提取、識別。該網(wǎng)絡可以有效地提取到人臉的特征信息,并且識別出是否包含人臉。經過MTCNN 網(wǎng)絡可以提取出圖片中的人臉區(qū)域,并將提取到的人臉輸入到FeceNet中,F(xiàn)aceNet 可以將輸入的人臉圖像特征進行向量化,這里將其降維到128 維的特征向量。上下兩個支路對128 維特征向量進行歐氏距離比較,如果歐氏距離小于閾值則表示待檢測人臉輸入已知人臉,反之表示未知人臉。這樣只要遍歷整個已知人臉庫就可以達到人臉識別的目的。
圖2 智能門禁算法模型Fig.2 Intelligent access control algorithm
Multi-task convolutional neural network 簡稱MTCNN,即多任務卷積神經網(wǎng)絡,主要由三層網(wǎng)絡結構組成,第一層是P-Net,第二層是R-Net,第三層是O-Net。
P-Net:首先將輸入數(shù)據(jù)構建5 層特征金字塔,如圖2所示,設置縮放因子factor為0.709。
R-Net:對粗檢測的P-Net 結果使用R-Net 對候選框進一步優(yōu)化和篩選,R-Net 的輸入為P-Net 的輸出,需要將P-Net 的輸出大小轉換為24×24,目的主要在于去除大量的非人臉候選框。
O-Net:對R-Net 的輸出候選框進行精選,結構和P-Net和R-Net類似,O-Net的輸入為R-Net的輸出,需要將R-Net 輸出大小轉換為48×48。O-Net 輸出最終的人臉候選框、人臉置信度和關鍵點信息。
FaceNet 使用InceptionV1 作為主干特征提取網(wǎng)絡,將卷積神經網(wǎng)絡學習到的人臉特征,映射為較少的特征向量,利用歐氏距離的方法比較兩個人臉圖像之間的距離。將圖像分類問題變?yōu)樘卣骷姆诸悊栴},這樣做的好處在于提高效率,通常情況下人臉識別的特征向量維度為1000 維以上,而FaceNet 僅僅使用128 維甚至64 維特征,部分方法可以使用降維的思想進行處理,但也僅僅是一種線性變化。
如圖3 所示,截取后的圖像Batch 進入到深度網(wǎng)絡當中,提取人臉特征,并進行L2 正則化,通過Embedding 將人臉特征降為128 維特征向量。使用Triplet-Loss 作為損失函數(shù),利用距離的不同將同一人臉與不同人臉進行區(qū)分。
圖3 FaceNet 三元損失Fig.3 FaceNet Triplet Loss
FaceNet 的輸出結果是128 維空間向量,同時也將數(shù)據(jù)庫中的人臉進行向量化,將兩個向量進行比對,利用歐氏距離來表征相似程度,特征的相似度越高,就認為是同一個人,同一個人的多張臉部圖像映射到空間上的距離比不是同一個人的空間距離要小。
FaceNet 訓練模型中使用的大多數(shù)人臉屬于歐美人臉,不適應包括中國人臉在內的亞洲人臉。對此問題,使用亞洲人臉數(shù)據(jù)庫_CASIA-FaceV5 中的500 個中國人臉加上自行采集的900 個人臉組成新的適用于中國人臉的數(shù)據(jù)集(CASIA-Face)。
將該模型與Eigenface 和FisherFace 的ROC 曲線進行比較,從圖4 結果看,本文模型曲線面積大于Eigenface 和FisherFace 的ROC 面積,因此在AUC 指標上優(yōu)于Eigenface和FisherFace算法。
圖4 FLW數(shù)據(jù)集上ROC結果比較Fig.4 Comparison of ROC results on FLW dataset
為驗證算法,將Eigenfaces,F(xiàn)ishe-face 和本文模型在FLW 數(shù)據(jù)集CASIA-Face 數(shù)據(jù)集(含900 張拍攝圖片)上進行驗證,實驗結果如表1所示。
表1 實驗結果對比Tab.1 Comparison of experimental results
從表1 可以看出,改進的模型在FLW 數(shù)據(jù)集上精度達到89.2%,比Fisherface 提高6%,AUC 提高0.8。在更適合中國人臉的CASIA-Face 數(shù)據(jù)集上,精度達到98.6%。歐氏距離方面,本文模型針對中國人同一人臉圖片的歐氏距離平均值,要比FaceNet結果小0.05左右,表明改進后的模型在對中國人臉的檢測上要比FaceNet官方模型有優(yōu)勢。
對單張人臉進行識別,分別使用正常人臉、側臉和需要旋轉對齊的人臉圖片,如圖5 所示,均能夠正常檢測人臉并可正確識別出LX,ZF 和HL 三個人臉。
圖5 人臉識別結果Fig.5 Face recognition results