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