程志偉 王振陽 黃宏成 時(shí)良仁 劉彥博
(1.上海交通大學(xué)汽車電子控制技術(shù)國(guó)家工程實(shí)驗(yàn)室;2.上海交通大學(xué)學(xué)生創(chuàng)新中心,上海市 200240)
近年來,人工智能的興起使諸多領(lǐng)域都發(fā)生了變革,其中汽車的智能化與網(wǎng)聯(lián)化也在逐漸實(shí)現(xiàn)。借助于人臉識(shí)別這種強(qiáng)大的智能算法,解鎖車輛是值得探究的一個(gè)方向。典型人臉識(shí)別系統(tǒng)(包含人臉檢測(cè)、特征提取和人臉識(shí)別)魯棒性較差,不適合用于車輛解鎖。在此基礎(chǔ)上增加活體檢測(cè)模塊能有效避免惡性攻擊,保證了車輛解鎖的便捷性與安全性。
完整的人臉識(shí)別系統(tǒng)涵蓋人臉位置檢測(cè)、活體檢測(cè)、人臉識(shí)別等。人臉位置檢測(cè)大致可分為基于知識(shí)、基于不變特征和基于統(tǒng)計(jì)模型。早期的人臉位置檢測(cè)有采用基于知識(shí)的算法,由于將人臉知識(shí)進(jìn)行硬編碼轉(zhuǎn)換成合理的規(guī)則是非常困難的,基于知識(shí)的方法存在識(shí)別精度差的問題。基于不變特征的人臉檢測(cè)通過各種面部不變特征來確定圖像中是否存在人臉。此外,在RGB、HSV、YCbCr等顏色空間采用皮膚不變特征檢測(cè)人臉的算法也有不少應(yīng)用?;诓蛔兲卣鞯聂敯粜暂^差,光照變化、噪音、遮擋會(huì)使檢測(cè)結(jié)果嚴(yán)重偏離。基于統(tǒng)計(jì)模型的方法將圖像映射到低維空間并采用機(jī)器學(xué)習(xí)算法區(qū)分人臉和背景[1],這是人臉檢測(cè)應(yīng)用最多、效果最好的算法。
活體檢測(cè)對(duì)人臉識(shí)別系統(tǒng)的安全性是至關(guān)重要的。真實(shí)人臉和假冒人臉在圖像紋理、三維結(jié)構(gòu)、運(yùn)動(dòng)信息這三方面是有所區(qū)別的,其中根據(jù)圖像紋理(圖像陰影、圖像模糊、圖像高光)來區(qū)分真假人臉的方法應(yīng)用較廣。較為典型的算法有:LGS算法、基于旋轉(zhuǎn)不變LBPV算法和傅里葉頻譜分析法。以上方法均采用了手工提取特征,所提取的特征可能存在局限性,而采用深度學(xué)習(xí)自動(dòng)提取特征能很好地解決這些問題,達(dá)到更高準(zhǔn)確率、更魯棒的活體檢測(cè)效果。
人臉識(shí)別大致可分為基于幾何特征、基于模板匹配兩大類方法。基于幾何特征的方法本質(zhì)上是一種匹配局部信息來識(shí)別人臉的算法,而基于模板匹配的算法則是計(jì)算模板和圖像的全局自相關(guān)來實(shí)現(xiàn)人臉識(shí)別,總體性能更好,其中比較常見的有特征臉法、彈性圖匹配、淺層神經(jīng)網(wǎng)絡(luò)方法、深度學(xué)習(xí)方法。近年來的深度學(xué)習(xí)可以說完全統(tǒng)治了識(shí)別領(lǐng)域。神經(jīng)網(wǎng)絡(luò)方法的優(yōu)勢(shì)在于它可以通過訓(xùn)練獲得其他方法難以實(shí)現(xiàn)的特征的隱形表現(xiàn),避免了復(fù)雜的特征提取(深度學(xué)習(xí)直接將特征提取與分類融為一體)。
人臉檢測(cè)是活體檢測(cè)和人臉識(shí)別的前提,為保證檢測(cè)的速度和精度采用基于統(tǒng)計(jì)模型的方法,具體是采用實(shí)時(shí)性較好、精度較高的Haar-like特征的級(jí)聯(lián)分類器[2]檢測(cè)人臉。人臉檢測(cè)的主要步驟如下:首先計(jì)算圖像的積分圖并在積分圖上計(jì)算Haar-like特征,然后采用AdaBoost算法訓(xùn)練區(qū)分人臉和非人臉的強(qiáng)分類器,最后使用篩選式級(jí)聯(lián)分類器把強(qiáng)分類器級(jí)聯(lián)到一起,提高人臉檢測(cè)的速度與精度。
Haar-like特征是由Viola等人提出的,具體形式如圖1所示,它包括兩個(gè)二矩形、一個(gè)三矩形以及一個(gè)對(duì)角四矩形。二矩形特征是計(jì)算左右區(qū)域的像素和之差,三矩形特征是計(jì)算左右區(qū)域與中間區(qū)域的像素和之差,四矩形特征則是計(jì)算對(duì)角區(qū)域像素和之差。在一個(gè)子窗口中至少有數(shù)以十萬計(jì)的Haar-like特征,大量的運(yùn)算無法滿足實(shí)時(shí)性要求。因此,需要計(jì)算原始圖像的積分圖,積分圖只需遍歷一次圖像就可以求出圖像中所有區(qū)域像素和,然后在積分圖上進(jìn)行特征計(jì)算,能夠大幅提升計(jì)算效率。
(1)(2)(3)(4)
圖1 Haar-like特征示意圖
Fig.1 Schematic diagram of Haar-like features
計(jì)算出Haar-like特征后利用Adaboost算法訓(xùn)練弱分類器并形成強(qiáng)分類器。其中弱分類器的訓(xùn)練步驟如下:先對(duì)每個(gè)特征計(jì)算所有訓(xùn)練樣本的特征值,并將其排序;然后求得每個(gè)元素的分類誤差,尋找誤差最小的元素作為最優(yōu)閾值,這樣就得到了最優(yōu)弱分類器。強(qiáng)分類器的產(chǎn)生需要經(jīng)過多輪迭代,相當(dāng)于讓所有弱分類器投票,在對(duì)投票結(jié)果按照弱分類器的錯(cuò)誤率加權(quán)求和,將投票加權(quán)求和的結(jié)果與平均投票結(jié)果比較得出最終的結(jié)果。獲得了強(qiáng)分類器之后,采用級(jí)聯(lián)策略將其組合成最終的人臉檢測(cè)算法。
卷積神經(jīng)網(wǎng)絡(luò)是由Yann Lecun等人提出的一種學(xué)習(xí)算法,該算法開啟了深度學(xué)習(xí)的浪潮。典型的卷積神經(jīng)網(wǎng)絡(luò)有AlexNet[3]、VGG[4]、Googlenet[5]、ResNet[6]。一般的卷積神經(jīng)網(wǎng)絡(luò)由卷積層、線形整流層、池化層、全連接層組成。卷積神經(jīng)網(wǎng)絡(luò)在大型數(shù)據(jù)集ImageNet 1000類物體識(shí)別的準(zhǔn)確率已經(jīng)高達(dá)90%,可見卷積神經(jīng)網(wǎng)絡(luò)的特征提取和識(shí)別能力足夠強(qiáng)大。受此啟發(fā),使用深度神經(jīng)網(wǎng)絡(luò)提取真人和照片的圖像特征,并對(duì)真人和照片進(jìn)行分類。由于從零開始訓(xùn)練一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)往往會(huì)耗費(fèi)幾周甚至幾個(gè)月的時(shí)間,因此采用了遷移學(xué)習(xí)的方法。遷移學(xué)習(xí)就是將ImageNet 1000類物體上已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)模型針對(duì)自己的數(shù)據(jù)集進(jìn)行微調(diào),使其能很好地區(qū)分不同類別。事實(shí)證明,遷移學(xué)習(xí)是高效并且完全可靠的學(xué)習(xí)策略。
活體檢測(cè)算法的總體框架如圖2所示,算法分訓(xùn)練階段與測(cè)試階段。在訓(xùn)練階段,首先將訓(xùn)練集中的圖像大小統(tǒng)一調(diào)整為224*224像素,然后將同一尺寸的訓(xùn)練圖像輸入ResNet18進(jìn)行特征提取,最后得出分類結(jié)果并計(jì)算損失,進(jìn)行反向傳播從而訓(xùn)練出一個(gè)區(qū)分度好、泛化能力強(qiáng)的模型。在測(cè)試階段,同樣先把測(cè)試集中的圖像大小統(tǒng)一為224*224像素,然后利用訓(xùn)練好的ResNet18進(jìn)行分類,最后計(jì)算出分類的準(zhǔn)確率并對(duì)訓(xùn)練模型做出評(píng)估。
圖2 活體檢測(cè)算法流程
活體檢測(cè)網(wǎng)絡(luò)在Microsoft提出的ResNet18基礎(chǔ)上進(jìn)行了修改,具體網(wǎng)絡(luò)模型見圖3。該網(wǎng)絡(luò)是一個(gè)18層的殘差卷積神經(jīng)網(wǎng)絡(luò),輸入為224*224的人臉圖像,經(jīng)過一系列卷積層、Relu層、池化層輸出一個(gè)二維向量,從而表示輸入圖像屬于人臉和照片的概率。網(wǎng)絡(luò)訓(xùn)練之前,首先將標(biāo)準(zhǔn)的ResNet18的1000維全連接層改為2維全連接層,然后采用遷移學(xué)習(xí)的方法在原始模型的基礎(chǔ)上微調(diào)所有filter的參數(shù)。為了保證網(wǎng)絡(luò)收斂,不宜采用較大地學(xué)習(xí)率,因而學(xué)習(xí)率設(shè)為0.001。經(jīng)過訓(xùn)練,在訓(xùn)練集上活體檢測(cè)能達(dá)到100%的準(zhǔn)確率,在測(cè)試集上達(dá)到了93%的準(zhǔn)確率,因此基本實(shí)現(xiàn)了活體檢測(cè)功能,有效避免了照片、視頻等惡性攻擊,確保了人臉解鎖識(shí)別系統(tǒng)的安全性。
圖3 修改后的ResNet18網(wǎng)絡(luò)結(jié)構(gòu)
人臉識(shí)別階段是將攝像頭實(shí)時(shí)采集的圖像和本地的參考圖像做比對(duì),計(jì)算相似性,從而識(shí)別身份信息。人臉識(shí)別是整套系統(tǒng)的關(guān)鍵,識(shí)別的精度與速度直接影響系統(tǒng)的性能。
綜合考慮各方面因素,采用谷歌提出的FaceNet[7]卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行人臉識(shí)別。FaceNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,網(wǎng)絡(luò)的輸入為三通道220*220人臉圖像,首先經(jīng)過卷積操作,卷積核的大小為64*7*7*3,卷積之后的特征圖大小為110*110*64;然后在特征圖上進(jìn)行Relu操作,特征圖大小保持不變;緊接著在特征圖上進(jìn)行池化操作,得到55*55*64的特征圖;最后進(jìn)行標(biāo)準(zhǔn)化操作,避免網(wǎng)絡(luò)出現(xiàn)過擬合。重復(fù)以上操作數(shù)次,最終經(jīng)過幾個(gè)全連接層和L2正則化得到一個(gè)128維的歐氏距離。FaceNet網(wǎng)絡(luò)模型參數(shù)較多,訓(xùn)練時(shí)間過長(zhǎng),因而直接采用訓(xùn)練好的權(quán)重進(jìn)行識(shí)別。經(jīng)過訓(xùn)練之后,同一個(gè)人之間的距離會(huì)非常接近,不同人之間的距離會(huì)遠(yuǎn)離,可以通過設(shè)置合理的閾值來區(qū)分不同人臉,從而達(dá)到高準(zhǔn)確率的人臉識(shí)別效果。
圖4 FaceNet網(wǎng)絡(luò)結(jié)構(gòu)
考慮到車輛空間局限性、硬件成本以及算法性能等諸多因素,采用Raspberry Pi 3B+開發(fā)板、Movidius NCS計(jì)算棒和夜視紅外攝像頭驗(yàn)證人臉識(shí)別系統(tǒng)的可靠性。經(jīng)過實(shí)驗(yàn)驗(yàn)證,系統(tǒng)能快速地檢測(cè)人臉,檢測(cè)速度約為每秒30幀,完全滿足檢測(cè)實(shí)時(shí)性要求。同時(shí),系統(tǒng)可以較好地區(qū)分真實(shí)人臉和二次采集的人臉圖像,識(shí)別效果如圖5所示。從圖中可以看出,活體檢測(cè)模塊能將左邊的照片與右邊的真人進(jìn)行有效的區(qū)分。系統(tǒng)的人臉識(shí)別模塊具有極高的準(zhǔn)確率。人臉識(shí)別模塊采用的FaceNet深度學(xué)習(xí)算法在著名的LFW人臉數(shù)據(jù)集上能達(dá)到99.63%的準(zhǔn)確率,高于正常人類的識(shí)別能力,能夠勝任解鎖車輛的任務(wù)。在實(shí)驗(yàn)過程中,未曾出現(xiàn)將非用戶誤認(rèn)為用戶而解鎖的情況。綜上所述,所設(shè)計(jì)的人臉識(shí)別系統(tǒng)算法是有效的,并且準(zhǔn)確率高、實(shí)時(shí)性較好。
圖5 活體檢測(cè)效果
為實(shí)現(xiàn)車輛智能解鎖,設(shè)計(jì)了一套完整的人臉識(shí)別系統(tǒng),包括了人臉檢測(cè)、活體檢測(cè)以及人臉識(shí)別三大部分。在嵌入式平臺(tái)樹莓派上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)可以不分晝夜快速檢測(cè)與識(shí)別人臉并解鎖車輛,此外對(duì)照片、視頻的攻擊有較好的防護(hù),能夠滿足系統(tǒng)的安全性要求。整套系統(tǒng)創(chuàng)新性高,實(shí)用性強(qiáng),符合車輛智能化、網(wǎng)聯(lián)化的發(fā)展趨勢(shì)。未來,對(duì)上述人臉識(shí)別系統(tǒng)還可以做一些改進(jìn)。一方面,可通過配備3D結(jié)構(gòu)光傳感器實(shí)現(xiàn)更好的抗攻擊性能,另一方面,可以對(duì)現(xiàn)有算法進(jìn)行一定優(yōu)化,提高系統(tǒng)的實(shí)時(shí)性。