黃 俊,張娜娜,章 惠
(1.上海海洋大學(xué)信息學(xué)院,上海 201306;2.上海建橋?qū)W院信息技術(shù)學(xué)院,上海 201306)
(*通信作者電子郵箱nanazhang2004@163.com)
隨著科技的發(fā)展,人工智能技術(shù)已經(jīng)走進(jìn)人們的生活中,其中,以人臉識(shí)別[1]技術(shù)最具代表性,因其安全性高、穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)而被廣泛應(yīng)用于手機(jī)解鎖、金融支付、考勤簽到等領(lǐng)域。但是,人臉識(shí)別技術(shù)并不是絕對(duì)安全的,由于人們社交生活的大眾化,人們的面部圖像可以很容易地被不法分子獲得并加以利用[2],不法分子通過(guò)屏幕翻拍、照片、3 維模型[3]等方式就可對(duì)人臉識(shí)別系統(tǒng)進(jìn)行攻擊,這對(duì)用戶的利益造成了極大的危害。為了解決這一問(wèn)題,人臉活體檢測(cè)[4]技術(shù)應(yīng)運(yùn)而生?;铙w檢測(cè)是一種用于區(qū)分生物特征和非生物特征的技術(shù),近年來(lái),已有不少科研人員在活體檢測(cè)方面取得了不錯(cuò)的研究成果。
Singh 等[5]設(shè)計(jì)了一個(gè)互動(dòng)式活體檢測(cè)系統(tǒng),作者計(jì)算眼部區(qū)域的面積和牙齒的HSV(Hue,Saturation,Value)值來(lái)檢測(cè)眼睛和嘴巴的張合狀態(tài),以此來(lái)進(jìn)行活體判斷。田野等[6]從提取到的人臉圖像中計(jì)算出局部二值模式(Local Binary Pattern,LBP),結(jié)合離散余弦變換(Discrete Cosine Transform,DCT)獲 得LBP-MDCT(Local Binary Pattern on Multi-scale Discrete Cosine Transform)算子,并將其放進(jìn)支持向量機(jī)(Support Vector Machine,SVM)[7]中實(shí)現(xiàn)活體分類。胡斐等[8]利用LK(Lucas-Kanade)光流法對(duì)圖像進(jìn)行剪切波變換[9],將提取的特征放入卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)中進(jìn)行微調(diào),從而實(shí)現(xiàn)活體分類。
上述提到的方法在前期的數(shù)據(jù)處理過(guò)程中存在著計(jì)算量大、特征維數(shù)高、特征信息提取困難等問(wèn)題,本文針對(duì)這種不足,利用CNN 自動(dòng)提取特征的能力,提出了一種融合頭部姿態(tài)和面部表情的互動(dòng)式活體檢測(cè)算法,針對(duì)該算法做了以下兩個(gè)重點(diǎn)工作:
1)自建頭部姿態(tài)估計(jì)數(shù)據(jù)集,從網(wǎng)絡(luò)層數(shù)、卷積核數(shù)目、正則化等方面綜合考慮,改進(jìn)了VGGNet[10],設(shè)計(jì)了一個(gè)頭部姿態(tài)估計(jì)網(wǎng)絡(luò),通過(guò)實(shí)驗(yàn)論證了該網(wǎng)絡(luò)的分類效果較優(yōu);
2)自建表情識(shí)別數(shù)據(jù)集,對(duì)VGGNet 的池化層、全連接層進(jìn)行了改進(jìn),設(shè)計(jì)了一個(gè)表情識(shí)別網(wǎng)絡(luò),通過(guò)實(shí)驗(yàn)論證了該網(wǎng)絡(luò)的識(shí)別率較高。
最終本文融合頭部姿態(tài)估計(jì)網(wǎng)絡(luò)和表情識(shí)別網(wǎng)絡(luò)構(gòu)建了一個(gè)互動(dòng)式活體檢測(cè),該系統(tǒng)將人臉圖像并行送入到頭部姿態(tài)估計(jì)網(wǎng)絡(luò)和表情識(shí)別網(wǎng)絡(luò)中,并將預(yù)測(cè)結(jié)果與隨機(jī)指令進(jìn)行比對(duì),若比對(duì)一致,則視為活體判斷;反之,為非活體。圖1為本文活體檢測(cè)系統(tǒng)的相關(guān)流程。
圖1 活體檢測(cè)系統(tǒng)流程Fig.1 Flowchart of liveness detection system
CNN 是深度學(xué)習(xí)中的一種代表性算法,具有很強(qiáng)的特征提取能力,在視覺(jué)識(shí)別領(lǐng)域中占據(jù)著重要地位。隨著科研人員的不懈努力,許多優(yōu)秀的CNN 模型如AlexNet[11]、VGGNet等被提出并取得了不錯(cuò)的成績(jī)。一般地,CNN主要由卷積層、池化層、全連接層和輸出層組成。
1)卷積層。卷積層的主要作用是提取圖像特征,該層采用局部連接加權(quán)值共享的方式,極大地減少了網(wǎng)絡(luò)學(xué)習(xí)的參數(shù),并且在多個(gè)卷積核的作用下,能提取出多個(gè)特征圖。一般地,一個(gè)網(wǎng)絡(luò)中包含著多個(gè)卷積層,每個(gè)卷積層中均包含一個(gè)激活函數(shù)用以增強(qiáng)網(wǎng)絡(luò)的非線性表達(dá)能力,隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,網(wǎng)絡(luò)中提取的特征也會(huì)越來(lái)越清晰。該層的卷積運(yùn)算可表示如下:
式(1)中:l為卷積層在網(wǎng)絡(luò)中的位置,i為輸入特征圖的通道數(shù),j為輸出特征圖的通道數(shù),為卷積核,mj為上層輸出特征,為偏置項(xiàng),f(?)為修正線性單元(Rectified Linear Unit,ReLU)激活函數(shù)。
2)最大池化層。池化層的輸入為卷積層計(jì)算提取到的特征圖,通常特征圖包含著信息冗余、維度較高等弊端,使用最大池化操作可以很好地解決上述問(wèn)題,同時(shí)還能緩解網(wǎng)絡(luò)訓(xùn)練過(guò)程中產(chǎn)生的過(guò)擬合現(xiàn)象。相關(guān)計(jì)算過(guò)程[12]表示如下:
其中:y為池化區(qū)域c中的元素,down(?)為下采樣過(guò)程。
3)全連接層。全連接層中的每個(gè)神經(jīng)元都與上層神經(jīng)元相連接,這種做法能將卷積層和池化層提取到的局部信息整合在一起,從而提升數(shù)據(jù)分類的準(zhǔn)確率,有關(guān)神經(jīng)元的計(jì)算過(guò)程可表示為:
其中:w為權(quán)重參數(shù),b為偏置項(xiàng),f(?)為ReLU激活函數(shù)。
4)輸出層。輸出層的輸入是全連接層的輸出,該層采用Softmax 函數(shù)用于整理和歸一化輸出結(jié)果,可計(jì)算出每個(gè)類別的概率似然值,一般取概率值最大的一類作為網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果,相關(guān)計(jì)算公式如下:
其中:zi為上級(jí)單元輸出,n為總類別個(gè)數(shù)。
VGGNet 是CNN中一種較為經(jīng)典的分類模型,于2014 年被Simonyan 等提出,并在ILSVRC 2014 上取得了第二名的優(yōu)異成績(jī)。與傳統(tǒng)的CNN 模型一樣,VGGNet 擁有卷積層、池化層、全連接層和輸出層等基本結(jié)構(gòu)。不同的是,VGGNet 均使用了3×3大小的卷積核(步長(zhǎng)為1),同時(shí),作者還設(shè)計(jì)出了一系列的卷積組,用于增大感受野,減少參數(shù)量,提取更多的細(xì)節(jié)特征,具體表現(xiàn)為:
式(5)中,conv表示卷積層,3個(gè)連續(xù)的3×3卷積等價(jià)于一個(gè)7×7 的卷積核,2 個(gè)連續(xù)的3×3 卷積等價(jià)于一個(gè)5×5 的卷積核。與AlexNet中直接使用7×7 或5×5 大小的卷積核相比,使用卷積組能在局部感受野大小不變的同時(shí)減少參數(shù)量。另外,由于卷積層中均有ReLU 激活函數(shù),所以模型經(jīng)過(guò)多次的ReLU學(xué)習(xí),還能增強(qiáng)泛化能力。
圖2 為VGGNet 的網(wǎng)絡(luò)結(jié)構(gòu)。首先,網(wǎng)絡(luò)的輸入是1 張224×224×3 的圖像;然后,經(jīng)過(guò)5×5 或7×7 的卷積組提取更多的特征,在每個(gè)卷積組后面還添加了一層最大池化層,用以預(yù)防過(guò)擬合和提純,并在全連接層中整合提取到的局部信息;最后,通過(guò)SoftMax層輸出1 000個(gè)分類結(jié)果。
雖然VGGNet在ILSVRC 2014比賽中取得了不俗的成績(jī),但它針對(duì)的是1 000 個(gè)圖像分類,故而參數(shù)量十分龐大(約為1.38×108),根本無(wú)法用于一般的分類任務(wù)。下面本文將對(duì)VGGNet進(jìn)行結(jié)構(gòu)化的改進(jìn),以滿足本文任務(wù)的需要。
圖2 VGG-16網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 VGG-16 network structure
在實(shí)際應(yīng)用環(huán)節(jié)中,相對(duì)于預(yù)測(cè)頭部轉(zhuǎn)向的角度值,判斷頭部朝向(yaw、roll)反而更加簡(jiǎn)單,因此本文將構(gòu)建CNN對(duì)頭部姿態(tài)圖片進(jìn)行分類。頭部姿態(tài)估計(jì)任務(wù)最大的好處是位置信息明顯,網(wǎng)絡(luò)提取特征時(shí)比較容易,主要的難點(diǎn)在于所構(gòu)建的網(wǎng)絡(luò)是否能夠滿足準(zhǔn)確性和系統(tǒng)實(shí)時(shí)性的要求。
VGG-16 網(wǎng)絡(luò)中包含16 個(gè)帶參結(jié)構(gòu)層,其中包括13 個(gè)卷積層和3 個(gè)全連接層。如果直接使用VGG-16 來(lái)做頭部姿態(tài)分類,一方面,網(wǎng)絡(luò)訓(xùn)練過(guò)程緩慢,參數(shù)負(fù)載過(guò)多;另一方面,即便網(wǎng)絡(luò)在頭部姿態(tài)方面能取得不錯(cuò)的分類效果,但在后續(xù)的圖片預(yù)測(cè)時(shí)會(huì)耗費(fèi)大量的時(shí)間和計(jì)算力。因此,本文參考了VGGNet 的結(jié)構(gòu),在網(wǎng)絡(luò)結(jié)構(gòu)上做進(jìn)一步研究,在提升網(wǎng)絡(luò)分類準(zhǔn)確率的同時(shí),降低網(wǎng)絡(luò)參數(shù),精簡(jiǎn)網(wǎng)絡(luò),經(jīng)過(guò)多次的實(shí)驗(yàn)驗(yàn)證本文最終確定了頭部姿態(tài)網(wǎng)絡(luò)結(jié)構(gòu)并將其命名為Head-Pose-Net。表1 為Head-Pose-Net 的具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),其中,主要應(yīng)用到以下方法:
表1 Head-Pose-Net具體參數(shù)Tab.1 Head-Pose-Net related parameters
1)構(gòu)建卷積組。本文根據(jù)VGGNet 的原理重構(gòu)了卷積部分,如表1 所示,第一到第三卷積層等價(jià)于使用了一個(gè)7×7 大小的卷積核,第四到第五卷積層等價(jià)于使用了一個(gè)5×5 大小的卷積核,每個(gè)卷積層中均采用ReLU 函數(shù)進(jìn)行非線性激活,以增強(qiáng)網(wǎng)絡(luò)的泛化能力。在每個(gè)卷積組后面還采用了2×2的最大池化層,步長(zhǎng)為2,以此來(lái)減少網(wǎng)絡(luò)中的參數(shù),保留更多紋理特征。
2)dropout 正則化。在全連接層(fc1,fc2)中,本文應(yīng)用了dropout 正則化[13]手段,主要目的是為了抑制網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象。其關(guān)鍵思想是:在每輪的網(wǎng)絡(luò)訓(xùn)練過(guò)程中隨機(jī)選擇部分神經(jīng)元進(jìn)行丟棄,即停止對(duì)丟棄的神經(jīng)元進(jìn)行權(quán)值更新,進(jìn)而獲得一個(gè)隨機(jī)的網(wǎng)絡(luò)結(jié)構(gòu),讓每一輪的預(yù)測(cè)結(jié)果都不會(huì)依賴于某些特定的神經(jīng)元,進(jìn)而緩解過(guò)擬合現(xiàn)象。有關(guān)dropout 正則化的計(jì)算公式如下:
其中:f(?)為激活函數(shù),w為權(quán)值矩陣,b為偏置項(xiàng),m為該層的二值掩膜矩陣,p為隨機(jī)概率。
使用以上方式構(gòu)建網(wǎng)絡(luò)的好處是:前期利用多個(gè)連續(xù)3×3 卷積去構(gòu)建7×7 和5×5 的卷積能捕捉到圖像更多的細(xì)節(jié)特征,后期再利用3×3卷積提取出精細(xì)特征,整個(gè)算法卷積層層數(shù)較淺,且全連接層神經(jīng)元個(gè)數(shù)較VGGNet 有所減少,這使得整個(gè)網(wǎng)絡(luò)參數(shù)量(約為7.13×106)大大降低,網(wǎng)絡(luò)訓(xùn)練與預(yù)測(cè)速度比VGGNet更快。
表情識(shí)別與頭部姿態(tài)估計(jì)任務(wù)類似,仍需要構(gòu)建CNN 來(lái)執(zhí)行分類任務(wù),但表情識(shí)別任務(wù)又比較特殊,主要原因在于面部易受到裝飾物品的干擾,表情的劃分界限也比較模糊,如生氣與厭惡、大笑與驚訝等,故而給表情識(shí)別任務(wù)增加了難度,由于本文的最終目標(biāo)是互動(dòng)式活體檢測(cè),表情界限不明確也無(wú)法滿足用戶體驗(yàn)性和系統(tǒng)實(shí)時(shí)性的要求。綜合以上因素,本文只針對(duì)三種表情(中性、高興、驚訝)構(gòu)建表情識(shí)別網(wǎng)絡(luò),并將該網(wǎng)絡(luò)命名為Emotion-Rec-Net。在Emotion-Rec-Net中,除了構(gòu)建卷積組外,還應(yīng)用了以下方法:
1)卷積替換池化。雖然特征圖經(jīng)過(guò)池化層處理后可以剔除部分冗余信息,減少計(jì)算量,但比起使用步長(zhǎng)為2 的卷積層,傳統(tǒng)的池化層還是會(huì)損失部分有效信息,這里采用步長(zhǎng)為2 的卷積層替代池化層[14],不僅能夠進(jìn)一步的減少計(jì)算量,而且通過(guò)多次的ReLU激活,還能增強(qiáng)網(wǎng)絡(luò)的非線性表達(dá)能力。
2)全局平均池化。全局平均池化(Global Average Pooling,GAP)是一種可以取代全連接層的有效策略,它將每個(gè)輸出特征圖像素的平均值都計(jì)算出來(lái)[15],直接放入Softmax分類器中進(jìn)行分類,根據(jù)文獻(xiàn)[15]的實(shí)驗(yàn)結(jié)論來(lái)看,由于GAP中沒(méi)有參數(shù)更新,所以計(jì)算量并不高,進(jìn)一步的減小了過(guò)擬合的風(fēng)險(xiǎn)。
3)局部響應(yīng)歸一化(Local Response Normalization,LRN)是一種在深度學(xué)習(xí)訓(xùn)練中提升準(zhǔn)確率的技術(shù)[11],最早見(jiàn)于AlexNet,一般應(yīng)用在池化層之后,它的主要作用是將神經(jīng)元中響應(yīng)值較大的變得更大,并抑制響應(yīng)值較小的,進(jìn)一步增強(qiáng)網(wǎng)絡(luò)的泛化能力。相關(guān)計(jì)算公式如下:
其中:N為通道數(shù),為上層輸出值,k、n、α和β均為自定義超參數(shù)。
經(jīng)過(guò)多次實(shí)驗(yàn)測(cè)試,最終確定了Emotion-Rec-Net 的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),如表2 所示。表中只保留了卷積層及全局平均池化層,用于提純、降維的最大池化層已用步長(zhǎng)為2 的卷積層代替,卷積層中均采用3×3大小的卷積核和ReLU 激活函數(shù)。第3、6 和12 卷積層之后都有一層LRN,LRN中的超參數(shù)取值為k=2、n=4、α=0.001/9.0、β=0.75。
表2 Emotion-Rec-Net具體參數(shù)Tab.2 Emotion-Rec-Net related parameters
雖然本文將池化層替換成了卷積層,增加了整個(gè)網(wǎng)絡(luò)的參數(shù)量,但由于GAP 屬于無(wú)參結(jié)構(gòu),所以整個(gè)網(wǎng)絡(luò)的參數(shù)量(約為1.23×106)遠(yuǎn)遠(yuǎn)低于VGG-16的參數(shù)量,在計(jì)算力和抗過(guò)擬合能力上明顯優(yōu)于VGG-16,更有利于提高網(wǎng)絡(luò)的預(yù)測(cè)速度。
本文所用的軟件環(huán)境為Python 3.6.7,Tensorflow 1.10.0,OpenCV 4.1.0,硬件平臺(tái)為Intel Core i5-8300H,GPU為NVIDIA GeForce GTX1050Ti,4 GB 顯存,采用640×480的彩色攝像頭獲取圖像。實(shí)驗(yàn)測(cè)試時(shí)所采用的評(píng)價(jià)指標(biāo)為準(zhǔn)確率,計(jì)算公式為:
4.1.1 頭部姿態(tài)數(shù)據(jù)集
Head-Pose-Net 使用的公開(kāi)數(shù)據(jù)集為CAS-PEAL-R1,該數(shù)據(jù)集包含了1 040位志愿者的頭部姿態(tài)角度和不同光照、遮擋物下的人臉正臉圖像,具體表現(xiàn)為yaw 角度:{0°,±15°,±30°,±45°},pitch角度:{0°,±30°}。
本文在實(shí)現(xiàn)互動(dòng)式活體檢測(cè)時(shí),考慮到pitch 方向?qū)罄m(xù)表情識(shí)別的影響較大,故去除pitch方向,同時(shí)去除yaw中角度為±15°的圖像(角度不明顯),并自建roll方向的數(shù)據(jù)集。由于CAS-PEAL-R1 數(shù)據(jù)集中的人臉圖片較為單一,故添加了yaw方向和正視方向的樣本,以擴(kuò)增數(shù)據(jù)集。實(shí)驗(yàn)中添加的roll、yaw 和正視方向的數(shù)據(jù)均為實(shí)驗(yàn)室科研人員從互聯(lián)網(wǎng)和CelebA 數(shù)據(jù)集中嚴(yán)格篩選得到,背景、面部表情、頭部姿態(tài)均較為復(fù)雜,這么做的目的是增加網(wǎng)絡(luò)的泛化能力,使得網(wǎng)絡(luò)在真實(shí)的應(yīng)用場(chǎng)景下依舊有更好的魯棒性。
最終匯總的頭部姿態(tài)數(shù)據(jù)集包括5 個(gè)方向:正視(front)、左偏(left roll)、右偏(right roll)、左旋轉(zhuǎn)(left yaw)和右旋轉(zhuǎn)(right yaw)。對(duì)于其中的圖片,使用多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(Multi-Task Convolutional Neural Network,MTCNN)人臉檢測(cè)器[16]截取臉部區(qū)域,生成的相關(guān)樣本如圖3所示。
圖3 頭部姿態(tài)數(shù)據(jù)集示例樣本Fig.3 Some examples of head pose datasets
4.1.2 表情識(shí)別數(shù)據(jù)集
Emotion-Rec-Net 使用的公開(kāi)數(shù)據(jù)集為CK+,該數(shù)據(jù)集是由123 個(gè)人在實(shí)驗(yàn)環(huán)境下通過(guò)攝像機(jī)正面采集而獲得的,本文人為標(biāo)記并取出各個(gè)表情峰值較大時(shí)的圖片,通過(guò)鏡像翻轉(zhuǎn)操作擴(kuò)增該數(shù)據(jù),最終整理出的CK+數(shù)據(jù)集共3 464 張(三種表情)。
由于最終的活體檢測(cè)模塊需要用戶配合一起做頭部姿態(tài)和表情識(shí)別,所以只有正臉的表情圖片根本無(wú)法滿足系統(tǒng)要求,所以本文自建表情識(shí)別數(shù)據(jù)集,該數(shù)據(jù)集為實(shí)驗(yàn)室科研人員從CelebA 數(shù)據(jù)集中獲取并嚴(yán)格篩選得到,其中包含如下表情數(shù)據(jù):中性(正視、左偏、右偏、左旋轉(zhuǎn)、右旋轉(zhuǎn));高興(正視、左偏、右偏、左旋轉(zhuǎn)、右旋轉(zhuǎn));驚訝(正視、左偏、右偏、左旋轉(zhuǎn)、右旋轉(zhuǎn))。使用MTCNN 人臉檢測(cè)器截取臉部區(qū)域,生成的相關(guān)樣本如圖4所示。
圖4 表情識(shí)別數(shù)據(jù)集示例樣本Fig.4 Some examples of expression recognition datasets
4.2.1 Head-Pose-Net實(shí)驗(yàn)設(shè)置及結(jié)果
1)樣本分配。
本文采集整理的頭部姿態(tài)數(shù)據(jù)集詳情如表3所示。
針對(duì)頭部姿態(tài)數(shù)據(jù)集,本文按7∶2∶1 的比例,將其劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。為了測(cè)試網(wǎng)絡(luò)的性能,樣本劃分時(shí)需要注意以下兩個(gè)原則:
①樣本劃分成三個(gè)數(shù)據(jù)集時(shí),采取隨機(jī)抽取原則;
②為了進(jìn)行實(shí)驗(yàn)對(duì)比,除左、右旋轉(zhuǎn)樣本之外,測(cè)試集中的樣本均來(lái)源于CAS-PEAL-R1。
表3 頭部姿態(tài)數(shù)據(jù)集樣本數(shù)Tab.3 Sample size of head pose datasets
2)訓(xùn)練策略。
神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)通過(guò)梯度下降的方式使網(wǎng)絡(luò)收斂到最小值或局部極小值,本文在實(shí)驗(yàn)時(shí)采用的梯度下降優(yōu)化器為Adam 優(yōu)化器[17],Batch Size 為128,將三通道人臉圖像設(shè)置為90×110 大小,像素值歸一化到[0,1],學(xué)習(xí)率設(shè)為10-4,dropout 設(shè)為0.5,最大訓(xùn)練次數(shù)設(shè)為10 000,每訓(xùn)練100 次對(duì)網(wǎng)絡(luò)進(jìn)行一次驗(yàn)證。
3)結(jié)果對(duì)比。
本文使用生成的模型對(duì)測(cè)試集中的樣本圖片進(jìn)行預(yù)測(cè),生成的混淆矩陣如圖5所示。
圖5 頭部姿態(tài)混淆矩陣Fig.5 Head pose confusion matrix
從圖5 可得,正視時(shí)的準(zhǔn)確率最高,達(dá)到了100%,左、右偏臉的識(shí)別率稍低,這是因?yàn)闇y(cè)試的數(shù)據(jù)來(lái)源于自建數(shù)據(jù)集,背景、人臉姿態(tài)等較為復(fù)雜。綜上可得,CAS-PEAL-R1 數(shù)據(jù)集在Head-Pose-Net 上的平均準(zhǔn)確率為99.87%。為了驗(yàn)證Head-Pose-Net 的有效性,在相同數(shù)據(jù)集(CAS-PEAL-R1)下與其他文獻(xiàn)中的方法進(jìn)行對(duì)比,如表4所示。
表4 頭部姿態(tài)結(jié)果對(duì)比Tab.4 Head pose result comparison
從表4 可知,本文的方法略優(yōu)于表中文獻(xiàn)方法,具有良好的準(zhǔn)確率。
4.2.2 Emotion-Rec-Net實(shí)驗(yàn)設(shè)置及結(jié)果
1)樣本分配。
表情識(shí)別數(shù)據(jù)集詳情如表5所示。
表5 表情識(shí)別數(shù)據(jù)集樣本數(shù)Tab.5 Sample size of expression recognition datasets
與頭部姿態(tài)數(shù)據(jù)集劃分標(biāo)準(zhǔn)一樣,本文依舊按7∶2∶1 的比例,將表情識(shí)別數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,為了驗(yàn)證網(wǎng)絡(luò)的有效性,測(cè)試集分為CK+測(cè)試數(shù)據(jù)集和自建測(cè)試數(shù)據(jù)集。
2)訓(xùn)練策略。
實(shí)驗(yàn)采用Adam 優(yōu)化器,Batch Size 為128,將三通道人臉圖像設(shè)置為70×80 大小,像素值歸一化到[0,1],初始學(xué)習(xí)率設(shè)為10-3,每5 000次訓(xùn)練學(xué)習(xí)率乘以衰減因子0.2,最大訓(xùn)練次數(shù)設(shè)為50 000,每訓(xùn)練100次對(duì)網(wǎng)絡(luò)進(jìn)行一次驗(yàn)證。
3)結(jié)果對(duì)比。
本文對(duì)測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè)之后,得到結(jié)果如圖6所示。
圖6 表情識(shí)別混淆矩陣Fig.6 Expression recognition confusion matrix
從圖6可以得出,CK+測(cè)試集的平均準(zhǔn)確率為99.60%,其中,高興和驚訝的準(zhǔn)確率稍高,自建數(shù)據(jù)集由于背景干擾、頭部姿態(tài)干擾、不同的人表情不一致等因素平均準(zhǔn)確率稍低,僅為95.57%。為了驗(yàn)證Emotion-Rec-Net 的有效性,在相同數(shù)據(jù)集(CK+)下與其他文獻(xiàn)中的方法進(jìn)行對(duì)比,如表6所示。
表6 表情識(shí)別結(jié)果對(duì)比Tab.6 Expression recognition result comparison
對(duì)比結(jié)果可得,本文算法在CK+數(shù)據(jù)集上的準(zhǔn)確率略高于表中文獻(xiàn)算法,優(yōu)勢(shì)較明顯。需要特別說(shuō)明的是,文獻(xiàn)[12,22-24]均取三種表情的平均準(zhǔn)確率。
4.2.3 活體檢測(cè)結(jié)果
本文實(shí)現(xiàn)的是一個(gè)互動(dòng)式活體檢測(cè)系統(tǒng),融合了頭部與表情兩種面部狀態(tài),為了驗(yàn)證系統(tǒng)的可行性,在實(shí)驗(yàn)室條件下采集1 000張測(cè)試圖像,相關(guān)測(cè)試結(jié)果如表7所示。
從表7 可得,本文所提出的活體檢測(cè)算法平均準(zhǔn)確率為96.70%,現(xiàn)將該測(cè)試結(jié)果與其他文獻(xiàn)中的互動(dòng)式活體檢測(cè)結(jié)果進(jìn)行對(duì)比,如表8所示。
表7 活體測(cè)試樣本配置及結(jié)果Tab.7 Sample configuration and results of liveness detection results
表8 活體檢測(cè)結(jié)果對(duì)比Tab.8 Comparison of liveness detection results
從表8 可以得出,本文的活體檢測(cè)算法在準(zhǔn)確率上略優(yōu)于其他算法,性能較為良好。
本文的活體檢測(cè)系統(tǒng)要求用戶進(jìn)行3次認(rèn)證,3次認(rèn)證產(chǎn)生的指令數(shù)為3 375 種,在此情況下,不法分子很難利用事先準(zhǔn)備好的照片或視頻進(jìn)行系統(tǒng)攻擊,且本文的活體檢測(cè)系統(tǒng)實(shí)時(shí)性每秒可達(dá)20~28 幀,具有較好的魯棒性和泛化能力。圖7 為活體檢測(cè)系統(tǒng)部分測(cè)試效果,其中的(a)、(b)和(c)均為系統(tǒng)隨機(jī)指令下認(rèn)證用戶所做出的合法動(dòng)作,由于動(dòng)作與系統(tǒng)要求匹配,系統(tǒng)則視為活體,認(rèn)證通過(guò);(d)、(e)和(f)為用戶做出的非法動(dòng)作,由于動(dòng)作與指令不匹配,系統(tǒng)認(rèn)證失敗。
圖7 活體檢測(cè)系統(tǒng)測(cè)試效果Fig.7 Liveness detection system test results
在VGGNet 的結(jié)構(gòu)基礎(chǔ)上,本文提出了頭部姿態(tài)估計(jì)和表情識(shí)別兩個(gè)網(wǎng)絡(luò),并融合上述模型實(shí)現(xiàn)了一個(gè)互動(dòng)式活體檢測(cè)系統(tǒng)。針對(duì)活體檢測(cè)系統(tǒng)中的頭部姿態(tài)估計(jì)模塊,利用VGGNet 思想構(gòu)建了一個(gè)Head-Pose-Net;針對(duì)系統(tǒng)中的表情識(shí)別模塊,利用VGGNet 思想、卷積替代池化、LRN 和GAP 等方案構(gòu)建了一個(gè)Emotion-Rec-Net。同時(shí)為了增強(qiáng)網(wǎng)絡(luò)的泛化能力,自建了頭部姿態(tài)數(shù)據(jù)集和表情識(shí)別數(shù)據(jù)集,上述兩個(gè)模型在CAS-PEAL-R1 和CK+數(shù)據(jù)集上取得了較高的準(zhǔn)確率。最終實(shí)驗(yàn)表明,該活體檢測(cè)系統(tǒng)能有效地阻擋非活體攻擊,系統(tǒng)實(shí)時(shí)性較流暢。
雖然互動(dòng)式活體檢測(cè)在科研乃至市面上應(yīng)用較廣,但人機(jī)交互性依舊不夠友好,下一步研究的重點(diǎn)將依靠紅外單幀人臉圖像、CNN 和SVM 實(shí)現(xiàn)靜默活體檢測(cè),在保證準(zhǔn)確率不降低的情況下提升用戶體驗(yàn)性,節(jié)省時(shí)間。