国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于優(yōu)化LeNet-5的近紅外圖像中的靜默活體人臉檢測

2021-10-08 01:25張娜娜
紅外技術(shù) 2021年9期
關(guān)鍵詞:活體人臉準確率

黃 俊,張娜娜,章 惠

(1.上海海洋大學信息學院,上海 201306;2.上海建橋?qū)W院信息技術(shù)學院,上海 201306)

0 引言

隨著人臉識別技術(shù)的普及和計算機視覺技術(shù)的蓬勃發(fā)展,人臉支付、人臉登錄、人臉取件等系統(tǒng)已被實施應用在人們的生活中。但是,在一些特殊場景下,人臉識別系統(tǒng)極易被外來手段攻擊,如:電子屏幕翻拍、照片打(沖)印、三維人臉模型等。因此,為了維護人臉識別系統(tǒng)的安全,保障用戶的利益,人臉活體檢測技術(shù)顯得相當重要。目前,市面上及研究領(lǐng)域中被用的最廣泛的是交互式的活體檢測方法。

文獻[1]提出了一個關(guān)于眼睛和嘴部動作的交互式活體檢測方法,主要思想是計算用戶眼睛區(qū)域和牙齒的HSV(Hue,Saturation,Value)色彩空間,以此來判斷它們的開合狀態(tài)。文獻[2]設(shè)計了一個關(guān)于嘴部狀態(tài)和頭部姿態(tài)的互動式活體檢測系統(tǒng),作者利用支持向量機(support vector machine,SVM)[3]和面部特征點算法,來預測頭部姿態(tài)方向和嘴部開合狀態(tài),通過隨機指令要求用戶做出對應動作,以實現(xiàn)活體檢測。文獻[4]要求用戶完成一些隨機表情動作,并計算連續(xù)視頻幀的SIFT(scale-invariant feature transform)流能量值來判斷表情變化。文獻[5]則在虛擬柜員機(virtual teller machine,VTM)的相機條件下,利用眼球色素變化進行眨眼檢測,加以背景檢測、張嘴檢測和微笑檢測等組合命令得以實現(xiàn)交互式活體檢測。

交互式活體檢測存在著人機交互不友好、認證過程繁瑣等缺點,針對其弊端,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和近紅外光的靜默活體檢測方法,利用近紅外光的成像特點及光在材質(zhì)上的反射特性,直接去除了電子屏幕、相片沖印的人臉攻擊;利用CNN 自動提取圖像特征的優(yōu)勢,對近紅外光下的真人人臉圖像和照片打印人臉圖像進行分類,相對于可見光下的人臉圖像,近紅外人臉圖像特征明顯,更易于區(qū)分活體人臉與非活體人臉。針對上述內(nèi)容,主要做了如下兩個重點工作:

1)自建非活體人臉數(shù)據(jù)集(照片打印人臉),利用近紅外攝像頭采集包含人臉的照片打印圖像;

2)對LeNet-5[6]的結(jié)構(gòu)、卷積核大小、特征圖數(shù)目、全連接層等部分進行研究討論,修改并設(shè)計了一個活體分類模型,通過實驗驗證了該模型在活體檢測方面有著較高的識別率。

1 卷積神經(jīng)網(wǎng)絡(luò)和LeNet-5

1.1 卷積神經(jīng)網(wǎng)絡(luò)

1.1.1 卷積層

在CNN 中,卷積層是核心,它的主要作用是提取圖像特征,提升圖像分類準確率。該層由若干個卷積核和激活函數(shù)組成,每個卷積核參數(shù)均通過反向傳播進行不斷地更新,最終提取出多個特征圖。通常第一個卷積層提取的圖像特征較為模糊,但隨著卷積層數(shù)的增加,網(wǎng)絡(luò)提取能力越來越強,圖像特征也越來越清晰。卷積層的數(shù)學表達式[7]如下所示:

式中:k為卷積核矩陣;xi(l-1)為上層輸出特征圖;b為加性偏置項;f(?)為激活函數(shù),一般采用 ReLU(Rectified Linear Unit)激活函數(shù)。

1.1.2 池化層

卷積操作雖然可以提取圖像特征,但輸出的特征圖參數(shù)量大、信息雜,在網(wǎng)絡(luò)訓練時會嚴重占用計算資源,加重過擬合現(xiàn)象,所以,為了提高計算和運行速度,縮減模型參數(shù),提高模型泛化能力,池化層經(jīng)常作為卷積層的下一層輸入單元,其數(shù)學表達式[8]為:

式中:down(?)為下采樣函數(shù);βjl為權(quán)重項;bjl為偏置項。

1.1.3 全局平均池化

CNN 中的參數(shù)主要集中在全連接層中,是導致模型發(fā)生過擬合的現(xiàn)象的源頭,全局平均池化(global average pooling,GAP)[9]是一種能有效解決過擬合的主要方法之一。它的主要原理是計算上層特征圖的像素均值,從而獲得相關(guān)低維特征。相比于全連接層,它更好地保留了空間信息,降低了參數(shù)量,具有更強的魯棒性。相關(guān)數(shù)學表達式為:

式中:(i,j)表示像素位置;k表示通道索引。

1.1.4 輸出層

輸出層也叫做SoftMax 層,該層含有一個SoftMax分類器,作用是歸一化全連接層的輸出結(jié)果,經(jīng)過SoftMax 函數(shù)的計算,會返回一組概率值,在模型推導時,概率值最高的一類可作為模型的分類結(jié)果。有關(guān)該層的數(shù)學表達式為:

式中:ai為上層結(jié)構(gòu)的輸出結(jié)果;n為類別數(shù)。

1.1.5 交叉熵損失

交叉熵損失反映了真實值和預測值的概率分布差異,訓練中,交叉熵主要用于計算SoftMax 輸出的概率損失,值越低,模型的預測效果就越好。有關(guān)交叉熵損失的數(shù)學表達式為:

式中:n為類別數(shù),p(x)為真實分布值,q(x)為預測分布值。在分類模型的訓練中,由于獨熱編碼(One-Hot)的特殊性,損失函數(shù)可以寫成如下表達式:

1.2 LeNet-5 模型

LeNet-5 是深度學習中較經(jīng)典的CNN 模型之一,是一種結(jié)構(gòu)較為簡單的CNN,最早被用來進行手寫數(shù)據(jù)集的識別。LeNet-5 主要包含7 個結(jié)構(gòu)層,其中有3個卷積層(C1、C3、C5)、2 個池化層(S2、S4)、1 個全連接層(F6)和1 個輸出層(Output),此外,LeNet-5 還包含一個輸入層,該層的圖片輸入大小為32×32。

C1 的核大小為5,步長為1,輸入層的圖片經(jīng)過該層操作之后會輸出6 個28×28 的特征圖;

S2 的核大小為2,步長為2,C1 輸出的特征圖經(jīng)過該層操作之后會輸出6 個14×14 的特征圖;

C3 的核大小為5,步長為1,S2 輸出的特征圖經(jīng)過該層操作之后會輸出16 個10×10 的特征圖;

S4 的核大小為2,步長為2,C3 輸出的特征圖經(jīng)過該層操作之后會輸出16 個5×5 的特征圖;

C5 的核大小為5,步長為1,S4 輸出的特征圖經(jīng)過該層操作之后會輸出120 個1×1 的特征圖;

F6 是全連接層,共有84 個神經(jīng)元結(jié)點,層中每一個神經(jīng)元均與C5 中的神經(jīng)元相連接;

Output 是LeNet-5 的最后一層,因為LeNet-5 是一個10 分類的模型,所以該層共有10 個神經(jīng)元節(jié)點。

由于本文實現(xiàn)的是一個2 分類(活體、非活體)的任務,且樣本數(shù)據(jù)比手寫數(shù)據(jù)集復雜,所以使用LeNet-5 進行活體圖片的分類顯然是不合理的。因此,本文參考LeNet-5 的結(jié)構(gòu)與思想,在該結(jié)構(gòu)上做進一步研究,以達到任務要求,以下是本文對LeNet-5 的改進方案。

2 優(yōu)化LeNet-5 的人臉活體檢測模型

在真實場景中,模型的識別準確率和實時性是評價系統(tǒng)是否合格的重要指標,因此,本文經(jīng)過多次實驗驗證,在保證模型實時性較高的前提下提升了準確率。最終確定了活體檢測模型的結(jié)構(gòu)并將其命名為LeNet_Liveness,其中,主要進行了以下優(yōu)化:

1)改變部分卷積核大小。常見的卷積核大小有7×7、5×5 和3×3 等,從數(shù)學角度出發(fā),7×7 的卷積核能提取到更多的圖像細節(jié),即卷積核越大,感受野越大,提取到的特征越多,有利于提升圖像分類的精度。由于圖像中的“人臉”目標遠大于“數(shù)字”目標,特征復雜,因此,為了在前期不丟失太多的圖像信息,本文將第一和第二卷積層的核大小設(shè)為7,以增大感受野,擴大提取細節(jié),后面幾個卷積層的核大小保持不變,依舊為5。

2)增加卷積核個數(shù)。與手寫數(shù)據(jù)集相比,活體檢測數(shù)據(jù)集稍復雜,使用較少的卷積核無法表達圖像信息,而使用較多的卷積核又會帶來計算量的增加,但有助于提升圖像分類的準確率,基于此考慮,本文最初在模型第一層選擇32 個卷積核,一來,模型參數(shù)不會增加太多;二來,能提取出更多的低層次信息,保留更多細節(jié)特征。

3)加深模型結(jié)構(gòu)。淺層神經(jīng)網(wǎng)絡(luò)由于復雜度較低,無法更好地提取到圖像中的主要特征,使得模型分類效果欠佳,最終影響模型的識別率,本文在LeNet-5的結(jié)構(gòu)層數(shù)上做了修改,將原來的3 層卷積增加至5層,以提高網(wǎng)絡(luò)的擬合能力。

4)GAP 替代全連接層。CNN 大部分參數(shù)集中在全連接層中,如果采用傳統(tǒng)的全連接層,勢必會造成模型參數(shù)的增大,而GAP 屬于無參結(jié)構(gòu),那么整個模型的參數(shù)就能有所降低,對于模型后期的預測速度能有所提高,除此之外,還能有效防止過擬合。

圖1為LeNet_Liveness 的結(jié)構(gòu)圖,表1為模型的相關(guān)結(jié)構(gòu)參數(shù)。輸入層為128×128 的三通道人臉圖片。C1、C2、C3、C4 和C5 是卷積層,移動步長均為1,其中,C1、C2 層的卷積核大小為7×7,C3、C4 和C5 層的卷積核大小為5×5,除此之外,C1 輸出32 個特征圖,C2 輸出64 個特征圖,C3 輸出128個特征圖,C4 輸出256 個特征圖,C5 輸出512 個特征圖。P1、P2、P3、P4 和P5 均為最大池化層,即對每個輸入的特征圖進行2×2 的最大值運算,步長為2,以縮減圖像長寬,減小計算量。GAP 為全局平均池化層,OutPut 為輸出層。

圖1 LeNet_Liveness 結(jié)構(gòu)圖Fig.1 LeNet_Liveness structure diagram

表1 模型結(jié)構(gòu)參數(shù)Table 1 Model structure parameters

3 實驗與結(jié)果分析

3.1 實驗環(huán)境與評估指標

實驗的硬件環(huán)境為Intel Core i5-8300H 處理器,NVIDIA GeForce GTX1050TI(4GB 顯存),內(nèi)存為8GB 大小,深度學習框架為TensorFlow-1.13.1,圖像處理庫為OpenCV-4.1.0,編程語言為Python-3.6.7,使用1920×1080 的近紅外攝像頭(帶補燈光,850 nm)采集數(shù)據(jù)。

分類模型通常使用準確率(Accuracy)作為其性能的評估標準,相關(guān)計算公式如下:

式中:“TP”表示正樣本中預測為正的樣本數(shù);“TN”表示負樣本中預測為負的樣本數(shù);“FP”表示負樣本中預測為正的樣本數(shù);“FN”表示正樣本中預測為負的樣本數(shù);“Accuracy”越接近1 表示模型分類效果越好。

3.2 數(shù)據(jù)集

實驗所使用的數(shù)據(jù)集中共包含兩類:一類為近紅外活體樣本;另一類為近紅外非活體樣本。其中,活體圖像數(shù)據(jù)為香港理工大學在2010年采集的公開數(shù)據(jù)集PolyU-NIRFD[10],該數(shù)據(jù)集包含了350 名志愿者分別在不同光照強度、不同頭部姿態(tài)和不同表情下的近紅外圖像,每人被采集了約100 張圖像,共計38981張,使用MTCNN(Multi-task convolutional neural network)人臉檢測器[11]截出人臉區(qū)域。相關(guān)示例樣本如圖2(a)所示。

非活體樣本圖像數(shù)據(jù)為本文自建數(shù)據(jù)集,該數(shù)據(jù)集建立方式遵循以下準則:

1)圖像攻擊數(shù)據(jù)應具有多樣性。本文從CelebA數(shù)據(jù)集、互聯(lián)網(wǎng)中隨機選取了約500 張不同頭部姿態(tài)和不同表情狀態(tài)下的圖像,并使用惠普打印機(DeskJet 2600)將每張圖像打印在A4 紙上,以構(gòu)建攻擊樣本。

2)采集過程應與活體樣本采集過程類似。根據(jù)PolyU-NIRFD 的采集條件,本文在數(shù)據(jù)采集時控制了以下變量:

①距離特定。在和攝像頭距離保持不變的情況下,隨機開啟或關(guān)閉攝像頭補光燈,在這兩種光照條件下,手持A4 紙圖像,通過旋轉(zhuǎn)、彎曲紙張等方式進行圖像捕捉。

②光照特定。光照包含兩種情況,一種是打開補光燈,另一種是關(guān)閉補光燈,在補光燈開啟/關(guān)閉的情況下,手持A4 紙張由遠及近、從左往右的移動,在移動過程中,隨機旋轉(zhuǎn)、彎曲紙張。

上述采集過程設(shè)置每5 幀保存一張圖片,最終利用近紅外攝像頭采集了A4 紙圖像在不同距離、不同角度、不同光照下的近紅外圖像,共計42300 張,使用MTCNN 人臉檢測器截出人臉區(qū)域。相關(guān)示例樣本如圖2(b)所示。

圖2 近紅外活體檢測數(shù)據(jù)示例Fig.2 Examples of near-infrared liveness detection data

3.3 模型訓練

為了更好地驗證模型的識別率,本文采用10 折交叉驗證法,每份樣本集中的圖像均采取隨機抽樣方法,模型訓練時,設(shè)置BatchSize 為64,共訓練10 個epoch,初始學習率為10-4,每隔5 個epoch 學習率乘以0.1,梯度下降優(yōu)化器為Adam[12],將三通道人臉圖像設(shè)為128×128 大小,使用最小最大值歸一化方法將像素值歸一化到[0,1]區(qū)間,具體公式為:

式中:x為當前像素值;xmin、xmax分別為圖像像素最小值和最大值。

表2為10 折交叉驗證相關(guān)結(jié)果,從中可得,10組測試集的準確率均在99.90%以上,平均準確率達到了99.95%,每組測試的準確率差距較小,這說明模型在epoch 達到10 時已趨于穩(wěn)定狀態(tài)。圖3為第一組實驗的迭代過程圖,從圖中可以看出,當epoch 大于4后,Accuracy 基本保持在一條直線上,Loss 值也下降到0.02 以下,隨著迭代次數(shù)的增加,Loss 值繼續(xù)下降。當epoch 大于5 后,Loss 值基本保持一條直線,且十分接近于0,最終達到穩(wěn)態(tài)。圖4是測試圖片過程中的所有卷積層提取的特征圖可視化結(jié)果。

表2 10 折交叉驗證結(jié)果Table 2 10-fold cross-validation results

圖3 數(shù)據(jù)訓練過程Fig.3 Data training process Liveness Face

圖4 卷積層相關(guān)特征Fig.4 Convolution layer related features

3.4 模型比較與結(jié)果分析

為了說明本文設(shè)計的LeNet_Liveness 的有效性,在數(shù)據(jù)預處理、數(shù)據(jù)集劃分等基本條件不變的情況下,本文分別使用SVM和LeNet-5對活體檢測數(shù)據(jù)集進行分類識別,最終實驗測試結(jié)果如表3所示。

由表3可得,本文的近紅外數(shù)據(jù)集在SVM 和LeNet-5 的算法下均有較高的準確率,其中,SVM 的平均準確率為 96.67%,LeNet-5 的平均準確率為98.23%,這是因為真人/照片在近紅外光成像中特征明顯,易于區(qū)分,所以準確率較高。本文所提出的LeNet_Liveness 的實驗結(jié)果最高,達到了99.95%,單張圖片的平均預測時間在CPU 上為31.08 ms,GPU上僅為10.77 ms,與SVM 和LeNet-5 相比,速度較慢,這是由于模型結(jié)構(gòu)的加深、卷積核數(shù)量的增加等帶來的弊端,降低了推理速度,但對于FPS 為30 的攝像頭來說,實時性依舊較高。圖5為本文的近紅外活體檢測系統(tǒng),當真人人臉/照片打印出現(xiàn)在系統(tǒng)中時,系統(tǒng)會自動判斷對象的活體屬性,且系統(tǒng)的實時速度每秒約為18~22 幀(包含了MTCNN 人臉檢測算法),實時性較高。

表3 三種算法結(jié)果比較Table 3 Comparison of the results of the three algorithms

圖5 活體檢測系統(tǒng)示例Fig.5 Examples of live detection systems

為了進一步驗證本文方法的有效性,現(xiàn)與其它文獻中所提出的活體檢測方法進行對比,對比結(jié)果如表4所示。

由表4各項指標比較可得,交互式活體檢測基本不依賴于特殊設(shè)備,環(huán)境易部署,成本低,算法準確率高,但人機友好性較差。靜默活體檢測大多依賴于特殊設(shè)備,特別是近紅外設(shè)備,在近紅外光下,使用CNN 提取的特征較其它機器學習類算法明顯,具有很高的活體識別率,本文借助近紅外圖像和CNN 取得的活體識別率最高,達到了99.95%,具有良好的魯棒性和泛化能力。

表4 不同文獻結(jié)果比較Table 4 Comparison of results from different literature

4 結(jié)語

根據(jù)近紅外光在真人人臉和打印照片上的成像特點,提出一種基于改進LeNet-5 和近紅外圖像的靜默活體檢測方法,在LeNet-5 的結(jié)構(gòu)基礎(chǔ)上進行改進,構(gòu)建了一個LeNet_Liveness,針對該結(jié)構(gòu)進行了多次的實驗分析,最終實驗發(fā)現(xiàn),在近紅外場景下,本文提出的LeNet_Liveness 在活體檢測數(shù)據(jù)集上有較高的分類準確率,對抗擊非活體攻擊非常有效。

雖然本文對LeNet-5 進行了結(jié)構(gòu)上的優(yōu)化,增加了網(wǎng)絡(luò)訓練、推理時間和模型參數(shù),但在活體識別率上取得了比較好的成績。高精度、高效率一直是科研人員在深度學習領(lǐng)域不斷探索的最終目標,本文雖然提高了模型精度,但在推理效率上依舊有所降低,下一步,本文計劃在維持模型識別率的基礎(chǔ)上,減少模型參數(shù),提升推理效率,同時,配合可見光攝像頭,利用CNN、多色彩特征等方法,實現(xiàn)在可見光場景下的靜默活體檢測。

猜你喜歡
活體人臉準確率
有特點的人臉
一起學畫人臉
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
讓活體肝移植研究走上世界前沿
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
活體器官移植,你怎么看?
基于安全加密的人臉活體檢測技術(shù)
三國漫——人臉解鎖
沙河市| 长武县| 盖州市| 象山县| 阳高县| 宣威市| 确山县| 吉木乃县| 宁明县| 塘沽区| 上饶县| 崇州市| 酒泉市| 济宁市| 水富县| 潼关县| 浪卡子县| 会宁县| 历史| 丰台区| 阿拉善右旗| 涟源市| 醴陵市| 丹阳市| 车致| 江北区| 壶关县| 廉江市| 军事| 广水市| 泽库县| 宝山区| 富顺县| 大埔区| 云梦县| 西安市| 阿克陶县| 大安市| 新绛县| 酉阳| 榆中县|