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