一種基于卷積神經網絡的活體人臉檢測方法
【專利摘要】一種基于卷積神經網絡的活體人臉檢測方法,涉及機器學習以及模式識別領域。本發明是面向人臉識別中的欺騙問題提出的。傳統的人臉識別技術很容易被攻擊,攻擊者經常采用照片、視頻以及3D模型等方法對合法用戶的人臉進行復制。如果人臉識別系統不能有效地區分真實人臉和假冒人臉,入侵者就很容易以假冒身份通過識別系統。基于這個問題,本發明提出了一種針基于卷積神經網絡的活體人臉檢測方法。本發明所提出的方法中的卷積神經網絡是基于cuda_convnet框架實現的,網絡結構包括四個卷積層,兩個max?pooling層,以及一個全連接層和一個soft?max層,soft?max層包括兩個神經元,用來預測真假人臉的概率分布。
【專利說明】
一種基于卷積神經網絡的活體人臉檢測方法
技術領域
[0001]本發明涉及機器學習和模式識別領域,具體涉及一種基于卷積神經網絡的活體人臉檢測的研究和實現。
【背景技術】
[0002]人臉識別是生物特征技術的一項熱門的研究領域,與其他生物特征技術相比,人臉識別技術具有非接觸性、友好性等優勢。人臉識別系統已經在越來越多的場合進行使用,例如移動終端解鎖系統、電腦開機登錄系統、門禁系統。另外,人臉識別還應用在刑事偵查,監控系統等領域。但是,在人臉識別技術迅速發展的背后,存在著巨大的安全隱患。人臉識別系統可以判別人臉的真實身份,但是卻無法判別攝像頭前的人臉圖像是來自合法用戶還是非法用戶。因為,非法用戶可以使用合法用戶的照片,視頻,或者3D模型來欺騙人臉識別系統。國際知名的信息安全會議Black Hat指出,目前大部分的人臉識別系統都可以被一張彩色的打印照片所攻擊。所以人臉識別技術目前還存在嚴重的安全隱患。針對上述人臉識別技術遇到的這一挑戰,人臉活體檢測技術應運而生。并且人臉活體檢測技術的研究已經成為生物認證領域的一個研究熱點。人臉識別技術的主要攻擊包括:照片,視頻,以及3D模型。人臉假冒欺騙手段的多樣化給人臉欺騙檢測技術的研究帶來了極大的挑戰。
[0003]真實人臉與假冒人臉兩者的主要區別主要來自一下三個方面:(I)圖像紋理:假冒的人臉圖像經過了二次采集甚至更多次采集。經過多次采集之后,圖像的紋理信息會發生變化。(2)三維結構:真實人臉是三維結構,而照片人臉以及視頻人臉都是二維結構。(3)運動模式:運動模式包括兩方面,一方面是人臉自身的運動,這種運動模式多種多樣,例如眨眼運動,嘴唇運動以及表情的變化等等。照片人臉很難模擬出這樣的運動,而視頻可以通過人機交互將其區分開。二是人臉與背景間的相對運動。人臉照片或者屏幕往往比人臉區域要大,這一區域與人臉具有相同的運動模式,真實人臉與背景的運動模式是不相同的。因此可以通過人臉以及背景的運動模式進行比較來區分真實人臉與假冒人臉。本發明主要以圖像紋理的區別來判斷真實人臉以及假冒人臉。
【發明內容】
[0004]本發明提供了一種基于卷積神經網絡的活體人臉檢測方法。該方法可以判斷人臉圖像是活體的還是非活體的,從而防止非法用戶使用合法用戶的照片、視頻進行欺騙。傳統的活體人臉檢測算法都是基于手工特征提取的,一種有效的手工特征需要經過很多實驗以及改進算法,也需要經過很長時間才能設計出來,而卷積神經網絡不需要手工設計特征,只需要設計網絡結構,訓練參數即可。
[0005]該方法主要步驟包括:
[0006]A、對攝像頭采集的視頻進行分幀采樣;
[0007]B、對樣本圖像進行預處理,包括兩種處理方法:1.對樣本圖像進行人臉檢測,所使用的檢測方法是基于adaboost的人臉檢測算法,檢測到人臉之后將人臉區域裁剪出來,并將所有人臉圖像歸一化到X*X像素;2.不進行人臉檢測,直接將整幅圖像(包括人臉區域以及背景區域)歸一化到X*X像素。
[0008]C、利用卷積神經網絡對歸一化后的圖像進行特征提取;
[0009]進一步,所述步驟C具體包括:
[0010]Cl、設計卷積神經網絡的網絡結構。該網絡結構包括一個輸入層,4個卷積層一個全連接層以及一個sof t-max層。輸入層的圖像大小是X*X,包括RGB三個通道,所以輸入為X*X*3。輸入層的圖像在進行卷積神經網絡處理前需要進行預處理,將X*X像素的圖像的四個角進行裁剪,并將圖像再以中心為基準進行裁剪,裁剪后總共得到5幅大小為S*S像素(S〈X)的圖像,然后將5幅圖像進行水平翻轉。這樣一幅圖像經過裁剪以及翻轉后可得到10幅圖像。第一個卷積層與第二個卷積層的是權值共享的,它們分別包括64個卷積核,每個卷積核的大小為5*5。在第一個卷積層與第二個卷積層后面分別連接了一個max-pool ing層,max-pooling 層的大小為 3*3。 一幅S*S 像素的圖像經過第一個卷積層后可得到64 個 S*S 的圖像塊,即特征圖。經過第一個max-pool ing層后,得到64個S1*S1像素(SI = S/2)的特征圖,特征圖的大小變為原來的一半,也就是說經過max-pooling層后進行了降維,特征向量的維數變為原來的一半。這樣,經過第二個卷積層與第二個max-pooling層后,特征圖的大小為S2*S2像素(S2 = Sl/2),又縮減為原來的一半。第三個卷積層與第四個卷積層沒有權值共享,它們分別包括32個卷積核,每個卷積核的大小為3*3。全連接層由η個神經元組成,它與第四個卷積層是全連接狀態,所以,經過全連接層后,就可得到一個η維的特征向量。最后一層是sof t-max層,包括兩個神經元,這兩個神經元就對應著一幅圖像在真實人臉與及假冒人臉的二分類上的概率分布。
[0011]C2、網絡結構設計完成之后,需要對網絡進行訓練,但是在訓練網絡之前需要把數據庫中的圖像轉換成卷積網絡可讀的文件類型,而且需要把訓練集分成m(m>l)個batch。
[0012]C3、使用前m-1個batch進行訓練,第m個batch進行驗證,學習率為10—2,迭代次數為1000-1500;
[0013]C4、m個batch—起進行訓練,仍然使用第m個batch進行驗證,學習率為10—3,再迭代1000-1500次;
[0014]C5、學習率降低為10—4,最后再迭代500-100次。
[0015]D、統計測試集中每幅人臉圖像的概率分布,將一段視頻中所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。
[0016]進一步,所述步驟D具體包括:
[0017 ] Dl、對測試集的圖像經過步驟A,B的處理后生成batch文件,并將batch文件作為卷積網絡的輸入,進行特征提取以及真假概率分布的計算。
[0018]D2、將測試集中每段視頻的所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。
【附圖說明】
:
[0019]圖1是基于卷積神經網絡的活體人臉檢測框架示意圖。
[0020]圖2是卷積神經網絡的網絡結構示意圖。
[0021]圖3是網絡(人臉圖像作為輸入)第一層濾波器可視化示意圖
[0022]圖4是網絡(整幅圖像作為輸入)第一層濾波器可視化示意圖
[0023]圖5是在Replay-attack數據庫的實驗結果示意圖。
[0024]圖6是在CASIA-FASD數據庫的實驗結果示意圖。
【具體實施方式】
:
[0025]下面將結合附圖及實施案例對本發明的技術方案進行更詳細的說明。
[0026]本發明的整體框架如說明書附圖1所示,分為人臉檢測,特征提取以及分類三個部分。
[0027]A、對攝像頭采集的視頻進行分幀采樣,視頻總共有270幀,每隔10幀采一張樣本圖像;
[0028]B、對樣本圖像進行預處理,包括兩種處理方法:1.對樣本圖像進行人臉檢測,所使用的檢測方法是基于adaboost的人臉檢測算法,檢測到人臉之后將人臉區域裁剪出來,并將所有人臉圖像歸一化到32*32像素;2.不進行人臉檢測,直接將整幅圖像(包括人臉區域以及背景區域)歸一化到32*32像素。
[0029]C、利用卷積神經網絡對歸一化后的圖像進行特征提取,卷積神經網絡的網絡結構如說明書附圖2所示;
[°03°]進一步,所述步驟C具體包括:
[0031]Cl、設計卷積神經網絡的網絡結構。該網絡結構包括一個輸入層,4個卷積層一個全連接層以及一個sof t-max層。輸入層的圖像大小是32*32,包括RGB三個通道,所以輸入為32*32*3。輸入層的圖像在進行卷積神經網絡處理前需要進行預處理,將32*32的圖像的四個角進行裁剪,并將圖像再以中心為基準進行裁剪,總共得到5幅大小為24*24像素的圖像,然后將5幅圖像進行水平翻轉。這樣一幅圖像經過裁剪以及翻轉后可得到10幅圖像。第一個卷積層與第二個卷積層的是權值共享的,它們分別包括64個卷積核,每個卷積核的大小為5*5。在第一個卷積層與第二個卷積層后面分別連接了一個max-pool ing層,max-pool ing層的大小為3*3。一幅24*24像素的圖像經過第一個卷積層后可得到64個24*24的圖像塊,即特征圖。經過第一個max-pool ing層后,得到64個12*12的特征圖,特征圖的大小變為原來的一半,也就是說經過max-pooling層后進行了降維,特征向量的維數變為原來的一半。這樣,經過第二個卷積層與第二個max-pool ing層后,特征圖的大小為6*6,又縮減為原來的一半。第三個卷積層與第四個卷積層沒有權值共享,它們分別包括32個卷積核,每個卷積核的大小為3*3。全連接層由160個神經元組成,它與第四個卷積層是全連接狀態,所以,經過全連接層后,就可得到一個160維的特征向量。最后一層是soft-max層,包括兩個神經元,這兩個神經元就對應著一幅圖像在真實人臉與及假冒人臉的二分類上的概率分布。
[0032]C2、網絡結構設計完成之后,需要對網絡進行訓練,但是在訓練網絡之前需要把數據庫中的圖像轉換成卷積網絡可讀的文件類型,而且需要把訓練集分成4個batch。
[0033]C3、使用前3個batch進行訓練,第4個batch進行驗證,學習率為10—3,迭代次數為1200;
[0034]C4、4個batch—起進行訓練,仍然使用第4個batch進行驗證,學習率為10—3,再迭代1300次;
[0035]C5、學習率降低為10—4,最后再迭代600次。訓練結束后第一個卷積層的的64個卷積核的可視化特征圖如附圖3和圖4所示。
[0036]D、統計測試集中每幅人臉圖像的概率分布,將一段視頻中所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。
[0037]進一步,所述步驟D具體包括:
[0038]Dl、對測試集的圖像經過步驟A, B的處理后生成一個batch文件,并將batch文件作為卷積網絡的輸入,進行特征提取以及真假概率分布的計算。
[0039]D2、將測試集中每段視頻的所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。在本實例中,我們分別使用CASIA-FASD數據庫與Replay-attack進行測試,并將本方法與現有的種方法進行比較,分別是:(I)基于LBP的活體人臉檢測算法,(2)基于DMD+LBP+SVM的活體人臉檢測算法,(3)基于Non-Rigid Detect1n(NRD)的活體人臉檢測算法,(4)基于Face-Background Consistency(FBC)的活體人臉檢測算法,(5)基于Fus1nof FBC and NRD的活體人臉檢測算法,(6)基于LBP+LDA活體人臉檢測算法等等。實驗結果對比圖如說明書附圖5和附圖6所示。只用人臉區域進行實驗的方法用LFDNetp來表示,用整幅圖像進行實驗的方法用LFDNetw來表示。比較的基準包括檢測正確率以及HTER(Half-Total Error Rate),HTER是錯誤拒絕率與錯誤接受率之和的一半。這里的錯誤拒絕率是指將真實人臉錯判為假冒人臉的概率,錯誤接受率是指將假冒人臉錯判為真實人臉的概率。從檢測率以及HTER的結果可以看出,我們的算法性能與其他算法相比有所提高,而且使用整幅圖像的識別率高于只使用人臉區域的方法,這是因為背景區域也同樣包含真假信息,可以作為判別依據。
【主權項】
1.一種基于卷積神經網絡的活體人臉檢測方法,其特征在于,包括以下步驟: A、對攝像頭采集的視頻進行分幀采樣; B、對樣本圖像進行歸一化; C、利用卷積神經網絡對歸一化后的圖像進行特征提取; 步驟C具體包括: Cl、設計卷積神經網絡的網絡結構; 該網絡結構包括一個輸入層,4個卷積層一個全連接層以及一個soft-max層;輸入層的圖像大小是X*X,包括RGB三個通道,所以輸入為X*X*3 ;輸入層的圖像在進行卷積神經網絡處理前需要進行預處理,將X*X像素的圖像的四個角進行裁剪,并將圖像再以中心為基準進行裁剪,裁剪后總共得到5幅大小為S*S像素(S〈X)的圖像,然后將5幅圖像進行水平翻轉;這樣一幅圖像經過裁剪以及翻轉后得到10幅圖像;第一個卷積層與第二個卷積層的是權值共享的,它們分別包括64個卷積核,每個卷積核的大小為5*5 ;在第一個卷積層與第二個卷積層后面分別連接了一個max-pooling層,max-pooling層的大小為3*3;—幅S*S像素的圖像經過第一個卷積層后得到64個S*S的圖像塊,即特征圖;經過第一個max-pooling層后,得到64個SI*SI像素的特征圖,SI = S/2,特征圖的大小變為原來的一半,也就是說經過max-pooling 層后進行了降維,特征向量的維數變為原來的一半; 這樣,經過第二個卷積層與第二個max-pool ing層后,特征圖的大小為S2*S2像素,S2 = S1/2又縮減為原來的一半;第三個卷積層與第四個卷積層沒有權值共享,它們分別包括32個卷積核,每個卷積核的大小為3*3;全連接層由η個神經元組成,它與第四個卷積層是全連接狀態,所以,經過全連接層后,就得到一個η維的特征向量;最后一層是soft-max層,包括兩個神經元,這兩個神經元就對應著一幅圖像在真實人臉與及假冒人臉的二分類上的概率分布; C2、網絡結構設計完成之后,把數據庫中的圖像轉換成卷積網絡可讀的文件類型,而且需要把訓練集分成m個batch,m>l ; C3、使用前m-1個batch進行訓練,第m個batch進行驗證,學習率為10—2,迭代次數為1000-1500; C4、m個batch—起進行訓練,仍然使用第m個batch進行驗證,學習率為10—3,再迭代1000-1500次; C5、學習率降低為10—4,最后再迭代500-100次; D、統計測試集中每幅人臉圖像的概率分布,將一段視頻中所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。2.根據權利要求1所述的一種基于卷積神經網絡的活體人臉檢測方法,其特征在于,所述步驟D具體包括: Dl、對測試集的圖像經過步驟A,B的處理后生成batch文件,并將batch文件作為卷積網絡的輸入,進行特征提取以及真假概率分布的計算; D2、將測試集中每段視頻的所有樣本人臉圖像的概率最大值所對應的類別作為該視頻的分類結果。
【文檔編號】G06K9/00GK105956572SQ201610320416
【公開日】2016年9月21日
【申請日】2016年5月15日
【發明人】毋立芳, 許曉, 漆薇, 賀嬌瑜, 徐姚文, 張洪嘉
【申請人】北京工業大學