本發(fā)明涉及人臉活體檢測(cè)領(lǐng)域,具體而言,涉及一種視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測(cè)方法。
背景技術(shù):
由于人臉容易獲取、非接觸式、使用方便等優(yōu)點(diǎn),人臉識(shí)別受到人們的喜愛,廣泛應(yīng)用在門禁出入境管理系統(tǒng)、登錄系統(tǒng)等。隨著智能設(shè)備的普及,人臉易被他人獲取,通過面具、照片或者視頻對(duì)人臉識(shí)別系統(tǒng)進(jìn)行攻擊。因此,在人臉識(shí)別系統(tǒng)中,人臉活體檢測(cè)變得非常重要,是保證用戶安全的不可或缺的手段,也是人臉識(shí)別得到廣泛推廣的前提。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測(cè)方法,以提供一種應(yīng)對(duì)視頻造假的人臉活體檢測(cè)方法。
為了達(dá)到上述的目的,本發(fā)明實(shí)施例采用的技術(shù)方案如下所述:
第一方面,本發(fā)明實(shí)施例提供了一種視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:構(gòu)建訓(xùn)練集,所述訓(xùn)練集包括視頻造假視頻和真人視頻;獲取視頻造假視頻和真人視頻中的圖像;通過人臉檢測(cè)算法檢測(cè)所述圖像中的人臉;將所述人臉進(jìn)行裁剪;對(duì)裁剪后出人臉圖像進(jìn)行歸一化處理;將所述歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),所述卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個(gè)卷積層、relu層、max-pooling層、全連接層、dropout層和softmaxwithloss層;所述輸入層將所述歸一化后的人臉圖像進(jìn)行隨機(jī)裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將所述特定像素的圖像送入多個(gè)卷積層中的第一個(gè)卷積層;所述第一個(gè)卷積層包括多個(gè)卷積核,所述第一個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特定像素的圖像經(jīng)過所述第一個(gè)卷積層后得到與所述第一個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述max-pooling層對(duì)所述特征圖像進(jìn)行壓縮,提取主要特征,所述特征圖像進(jìn)入第二個(gè)卷積層;所述第二個(gè)卷積層包括多個(gè)卷積核,所述第二個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特征圖像經(jīng)過所述第二個(gè)卷積層后得到與所述第二個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個(gè)max-pooling層后進(jìn)而進(jìn)入第三個(gè)卷積層;所述第三個(gè)卷積層包括多個(gè)卷積核,所述第三個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特征圖像經(jīng)過所述第三個(gè)卷積層后得到與所述第三個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第三個(gè)max-pooling層后進(jìn)而進(jìn)入第四個(gè)卷積層;所述第四個(gè)卷積層包括多個(gè)卷積核,所述第四個(gè)卷積層連接一個(gè)relu層和max-pooling層,隨后連接兩個(gè)全連接層,每個(gè)全連接層均依次連接一個(gè)relu層和dropout層,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過所述第四個(gè)卷積層后得到與所述第四個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,經(jīng)過第四個(gè)max-pooling層后進(jìn)而進(jìn)入兩個(gè)全連接層以及與所述全連接層連接的relu層和dropout層,dropout層通過訓(xùn)練時(shí),隨機(jī)讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點(diǎn)的權(quán)重不工作,dropout層之后依次連接一個(gè)全連接層和softmaxwithloss層,最后一個(gè)全連接層輸出所述人臉圖像的得分情況,將得分輸入到最后一層softmaxwithloss層,得到屬于視頻造假和真人的概率以及該次迭代的損失。
進(jìn)一步地,每一個(gè)所述卷積層和relu層之間均依次連接一個(gè)batchnorm層和一個(gè)scale層,所述batchnorm層將神經(jīng)元的輸出規(guī)范化到均值為0,方差為1,所述scale層逆轉(zhuǎn)所述batchnorm層對(duì)特征的破壞。
進(jìn)一步地,所述構(gòu)建訓(xùn)練集的步驟包括:按照預(yù)定比例構(gòu)建訓(xùn)練集和驗(yàn)證集,所述訓(xùn)練集和驗(yàn)證集均包括視頻造假視頻和真人視頻。
進(jìn)一步地,所述對(duì)裁剪后出人臉圖像進(jìn)行歸一化處理的步驟包括:對(duì)裁剪后出人臉圖像歸一化到256×256像素。
進(jìn)一步地,所述輸入層包含rgb三個(gè)通道,大小為256×256,將訓(xùn)練集分為1000個(gè)batch,每個(gè)batch大小為128,所述特定像素的圖像的像素為227×227。
進(jìn)一步地,所述第一個(gè)卷積層包括96個(gè)卷積核,每個(gè)卷積核的大小為7×7,卷積操作的步長為2,經(jīng)過第一個(gè)卷積層后得到96個(gè)像素為111×111的特征圖像,經(jīng)過第一個(gè)max-pooling層后,得到96個(gè)像素為55×55的特征圖像,所述第一個(gè)max-pooling層的大小為3×3,步長為2。
進(jìn)一步地,所述第二個(gè)卷積層包括256個(gè)卷積核,每個(gè)卷積核的大小為5×5,卷積操作的步長為2,經(jīng)過第二個(gè)卷積層后得到256個(gè)像素為26×26的特征圖像,經(jīng)過第二個(gè)max-pooling層后,得到256個(gè)像素為26×26的特征圖像,所述第二個(gè)max-pooling層的大小為3×3,步長為1,邊界填充為1。
進(jìn)一步地,所述第三個(gè)卷積層包括192個(gè)卷積核,每個(gè)卷積核的大小為3×3,邊界補(bǔ)充1,卷積操作的步長為1,經(jīng)過第三個(gè)卷積層后得到192個(gè)像素為26×26的特征圖像,經(jīng)過第三個(gè)max-pooling層后,得到192個(gè)像素為26×26的特征圖像,所述第三個(gè)max-pooling層的大小為3×3,步長為1,邊界填充為1。
進(jìn)一步地,所述第四個(gè)卷積層包括192個(gè)卷積核,每個(gè)卷積核的大小為3×3,邊界補(bǔ)充1,卷積操作的步長為1,經(jīng)過第四個(gè)卷積層后得到192個(gè)像素為26×26的特征圖像,經(jīng)過第四個(gè)max-pooling層后,得到192個(gè)像素為13×13的特征圖像,所述第四個(gè)max-pooling層的大小為3×3,步長為2。
第二方面,本發(fā)明實(shí)施例提供了一種基于視頻造假的人臉活體檢測(cè)方法,所述方法包括:獲取人臉圖像;通過人臉檢測(cè)算法檢測(cè)所述圖像中的人臉;將所述人臉進(jìn)行裁剪;對(duì)裁剪后出人臉圖像進(jìn)行歸一化處理;將所述歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),所述卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個(gè)卷積層、relu層、max-pooling層、全連接層、dropout層和softmax層;所述輸入層將所述歸一化后的人臉圖像進(jìn)行隨機(jī)裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將所述特定像素的圖像送入多個(gè)卷積層中的第一個(gè)卷積層;所述第一個(gè)卷積層包括多個(gè)卷積核,所述第一個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特定像素的圖像經(jīng)過所述第一個(gè)卷積層后得到與所述第一個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述max-pooling層對(duì)所述特征圖像進(jìn)行壓縮,提取主要特征,所述特征圖像進(jìn)入第二個(gè)卷積層;所述第二個(gè)卷積層包括多個(gè)卷積核,所述第二個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特征圖像經(jīng)過所述第二個(gè)卷積層后得到與所述第二個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個(gè)max-pooling層后進(jìn)而進(jìn)入第三個(gè)卷積層;所述第三個(gè)卷積層包括多個(gè)卷積核,所述第三個(gè)卷積層連接一個(gè)relu層和max-pooling層,所述特征圖像經(jīng)過所述第三個(gè)卷積層后得到與所述第三個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第三個(gè)max-pooling層后進(jìn)而進(jìn)入第四個(gè)卷積層;所述第四個(gè)卷積層包括多個(gè)卷積核,所述第四個(gè)卷積層連接一個(gè)relu層和max-pooling層,隨后連接兩個(gè)全連接層,每個(gè)全連接層均依次連接一個(gè)relu層和dropout層,所述特征圖像經(jīng)過所述第四個(gè)卷積層后得到與所述第四個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第四個(gè)max-pooling層后進(jìn)而進(jìn)入兩個(gè)全連接層以及與所述全連接層連接的relu層和dropout層,dropout層通過訓(xùn)練時(shí),隨機(jī)讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點(diǎn)的權(quán)重不工作,dropout層之后依次連接一個(gè)全連接層和softmax層,最后一個(gè)全連接層輸出所述人臉圖像的得分情況,將得分輸入到最后一層softmax層,得到屬于視頻造假和真人的概率。
本發(fā)明實(shí)施例提供的視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測(cè)方法,通過訓(xùn)練基于造假視頻的卷積神經(jīng)網(wǎng)絡(luò),對(duì)造假視頻進(jìn)行學(xué)習(xí),為人臉識(shí)別時(shí)抵御視頻造假攻擊提供保護(hù),保護(hù)人臉識(shí)別的安全。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1是本發(fā)明實(shí)施例提供的視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖。
圖2是卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練流程圖。
圖3是本發(fā)明實(shí)施例中訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型的示意圖。
圖4是本發(fā)明實(shí)施例提供的一種基于視頻造假的人臉活體檢測(cè)方法的流程圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。
因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
請(qǐng)參照?qǐng)D1,是本發(fā)明實(shí)施例提供的視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖。該方法包括以下步驟:
步驟s110,構(gòu)建訓(xùn)練集,訓(xùn)練集包括視頻造假視頻和真人視頻。
當(dāng)訓(xùn)練集不包括驗(yàn)證集時(shí),步驟s101還包括按照預(yù)定比例構(gòu)建訓(xùn)練集和驗(yàn)證集,所述訓(xùn)練集和驗(yàn)證集均包括視頻造假視頻和真人視頻。訓(xùn)練集和驗(yàn)證集的比例自由配置,例如可以為8:2或7:3,本發(fā)明實(shí)施例對(duì)此不做限定。真人視頻為錄制的真人的視頻,視頻造假視頻為對(duì)真人視頻進(jìn)行二次錄制的視頻,模擬用視頻造假進(jìn)行攻擊的情景。
步驟s120,獲取視頻造假視頻和真人視頻中的圖像。
從視頻造假視頻和真人視頻中分別取出多張圖像,比如隔3幀或者5幀取出一張圖像,則一個(gè)視頻總共取出:總幀數(shù)/3或者總幀數(shù)/5張圖像。
步驟s130,通過人臉檢測(cè)算法檢測(cè)所述圖像中的人臉。
人臉檢測(cè)算法可以為現(xiàn)有的通用的人臉檢測(cè)算法,如adaboost。
步驟s140,對(duì)人臉進(jìn)行裁剪。
在對(duì)人臉進(jìn)行裁剪過程中,利用人臉特征點(diǎn)定位的算法,找到人臉的準(zhǔn)確區(qū)域,得到準(zhǔn)確的人臉框,將該人臉框擴(kuò)大,一般擴(kuò)大1.8倍,將擴(kuò)大后的人臉框?qū)?yīng)的原圖中的區(qū)域裁剪出來,裁剪出來的人臉既包括人臉,也包括一定的背景,一定的背景存在有利于分類真假視頻。
步驟s150,對(duì)裁剪后出人臉圖像進(jìn)行歸一化處理。
裁剪后的人臉圖像經(jīng)過歸一化處理,歸一化到256×256像素。
步驟s160,將歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),該卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個(gè)卷積層、relu層、max-pooling層、全連接層、dropout層和softmaxwithloss層。
步驟s170,對(duì)該卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
其中,歸一化后的人臉圖像首先進(jìn)入輸入層,請(qǐng)參照?qǐng)D2,是卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,包括以下步驟:
步驟s171,輸入層將歸一化后的人臉圖像進(jìn)行隨機(jī)裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將特定像素的圖像送入多個(gè)卷積層中的第一個(gè)卷積層。
其中,輸入層的圖像包含rgb三個(gè)通道,且大小為256×256,將訓(xùn)練集分為1000個(gè)batch,每個(gè)batch大小為128。特定像素的圖像的像素為227×227,將該batch內(nèi)的圖像打亂順序送入第一個(gè)卷積層,該batch內(nèi)的圖像樣本正負(fù)比例1:1,且均屬于同一個(gè)人的人臉圖像,以降低由于不同外貌特征造成的差異,使網(wǎng)絡(luò)學(xué)習(xí)到由于真人和造假之間的本質(zhì)特征,降低類內(nèi)差異。
步驟s172,第一個(gè)卷積層包括多個(gè)卷積核,第一個(gè)卷積層連接一個(gè)relu層和max-pooling層,特定像素的圖像經(jīng)過第一個(gè)卷積層后得到與第一個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,max-pooling層對(duì)特征圖像進(jìn)行壓縮,提取主要特征,特征圖像進(jìn)入第二個(gè)卷積層。
在本實(shí)施例中,第一個(gè)卷積層的卷積核的個(gè)數(shù)為96個(gè),每個(gè)卷積核的大小為7×7,卷積操作的步長為2,經(jīng)過第一個(gè)卷積層后得到96個(gè)像素為111×111的特征圖像,第一個(gè)max-pooling層的大小為3×3,步長為2,經(jīng)過第一個(gè)max-pooling層后,得到96個(gè)像素為55×55的特征圖像。作為優(yōu)選的,每一個(gè)卷積層和relu層之間依次連接一個(gè)batchnorm層和一個(gè)scale層,經(jīng)過batchnorm層,scale層,relu層并不改變特征圖像的大小。當(dāng)深度網(wǎng)絡(luò)層次太多,信號(hào)和梯度越來越小,深層難以訓(xùn)練,被稱作梯度彌散,也有可能越來越大,又被稱作梯度爆炸,通過batchnorm層將神經(jīng)元的輸出規(guī)范化到均值為0,方差為1,scale層逆轉(zhuǎn)所述batchnorm層對(duì)特征的破壞,以克服深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練的弊病。由于深度網(wǎng)絡(luò)在訓(xùn)練時(shí),每一層的輸入數(shù)據(jù)分布一直是在發(fā)生變化的,因?yàn)榍懊嬉粚拥膮?shù)更新會(huì)導(dǎo)致后面一層的輸入數(shù)據(jù)的分布,batchnorm和scale可以解決訓(xùn)練時(shí),網(wǎng)絡(luò)中間層的數(shù)據(jù)分布發(fā)生改變的問題,batchnorm層是通過將神經(jīng)元的輸出規(guī)范化到:均值為0,方差為1,通過batchnorm層后,所有神經(jīng)元都規(guī)范化到了一種分布,但輸出限制在均值0方差1的分布又會(huì)使得網(wǎng)絡(luò)的表達(dá)能力變?nèi)?,也破壞了前面層學(xué)習(xí)到的特征,所以加入scale層,通過加入學(xué)習(xí)到的重構(gòu)參數(shù),逆轉(zhuǎn)對(duì)特征的破壞,逆轉(zhuǎn)的程序由模型訓(xùn)練時(shí)調(diào)整。這樣既將神經(jīng)元做了規(guī)范化又保留前面層所學(xué)到的特征,由于輸入變得穩(wěn)定,促進(jìn)了模型的收斂并一定程度上阻止了過擬合。通過逐層尺度歸一,避免了梯度消失和梯度溢出,而且加速收斂,同時(shí)作為一種正則化技術(shù)也提高了泛化能力;相比使用sigmoidtanh作激活函數(shù),計(jì)算量大,反向傳播求誤差梯度時(shí),求導(dǎo)計(jì)算量也很大,并且sigmoidtanh函數(shù)容易飽和,出現(xiàn)梯度消失情況,即在接近收斂時(shí),變換太緩慢,造成信息丟失。relu層會(huì)使部分神經(jīng)元輸出為0,造成稀疏性,不僅緩解了過擬合,也更接近真實(shí)的神經(jīng)元激活模型克服了梯度消失,在沒有無監(jiān)督預(yù)訓(xùn)練(即訓(xùn)練網(wǎng)絡(luò)的第一個(gè)隱藏層,再訓(xùn)練第二個(gè)…最后用這些訓(xùn)練好的網(wǎng)絡(luò)參數(shù)值作為整體網(wǎng)絡(luò)參數(shù)的初始值)的情況下相比sigmoid和tanh激活函數(shù)顯著加快收斂。
步驟s173,第二個(gè)卷積層包括多個(gè)卷積核,第二個(gè)卷積層連接一個(gè)relu層和max-pooling層,特征圖像經(jīng)過第二個(gè)卷積層后得到與第二個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個(gè)max-pooling層后進(jìn)而進(jìn)入第三個(gè)卷積層。
第二個(gè)卷積層包括256個(gè)卷積核,每個(gè)卷積核的大小為5×5,卷積操作的步長為2,經(jīng)過第二個(gè)卷積層后得到256個(gè)像素為26×26的特征圖像,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第二個(gè)max-pooling層后,得到256個(gè)像素為26×26的特征圖像,第二個(gè)max-pooling層的大小為3×3,步長為1,邊界填充為1。
步驟s174,第三個(gè)卷積層包括多個(gè)卷積核,第三個(gè)卷積層連接一個(gè)max-pooling層,特征圖像經(jīng)過第三個(gè)卷積層后得到與第三個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第三個(gè)max-pooling層后進(jìn)而進(jìn)入第四個(gè)卷積層。
第三個(gè)卷積層包括192個(gè)卷積核,每個(gè)卷積核的大小為3×3,邊界補(bǔ)充1,卷積操作的步長為1,經(jīng)過第三個(gè)卷積層后得到192個(gè)像素為26×26的特征圖像,經(jīng)過第三個(gè)max-pooling層后,得到192個(gè)像素為26×26的特征圖像,第三個(gè)max-pooling層的大小為3×3,步長為1,邊界填充為1。
步驟s175,第四個(gè)卷積層包括多個(gè)卷積核,第四個(gè)卷積層連接一個(gè)max-pooling層,隨后連接兩個(gè)全連接層,每個(gè)全連接層均依次連接一個(gè)relu層和dropout層,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第四個(gè)卷積層后得到與第四個(gè)卷積層的卷積核對(duì)應(yīng)數(shù)量的特征圖像,經(jīng)過第四個(gè)maxpooling層后進(jìn)而進(jìn)入兩個(gè)全連接層以及與全連接層連接的relu層和dropout層。
第四個(gè)卷積層包括192個(gè)卷積核,每個(gè)卷積核的大小為3×3,邊界補(bǔ)充1,卷積操作的步長為1,經(jīng)過第四個(gè)卷積層后得到192個(gè)像素為26×26的特征圖像,經(jīng)過第四個(gè)max-pooling層后,得到192個(gè)像素為13×13的特征圖像,第四個(gè)max-pooling層的大小為3×3,步長為2。
步驟s176,dropout層通過訓(xùn)練時(shí),隨機(jī)讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點(diǎn)的權(quán)重不工作,dropout層之后依次連接一個(gè)全連接層和softmaxwithloss層,最后一個(gè)全連接層輸出人臉圖像的得分情況,將得分輸入到最后一層softmaxwithloss層,得到屬于視頻造假和真人的概率以及當(dāng)前迭代的損失。
dropout層消除減弱了神經(jīng)元節(jié)點(diǎn)間的聯(lián)合適應(yīng)性,增強(qiáng)了泛化能力,dropout層通過訓(xùn)練模型時(shí),隨機(jī)讓網(wǎng)絡(luò)某些隱含層節(jié)點(diǎn)的權(quán)重不工作的方式防止模型過擬合,正則化手段,提高泛化能力。訓(xùn)練過程中,softmaxwithloss層包括softmax層和多維logisticloss層,softmax層將前面的得分情況映射為屬于每一類的概率,之后接一個(gè)多維logisticloss層,這里得到的是當(dāng)前迭代的損失。把softmax層和多維logisticloss層合并為一層保證了數(shù)值上的穩(wěn)定,兩個(gè)全連接層輸出為512維特征。
請(qǐng)參照?qǐng)D3,是本發(fā)明實(shí)施例中訓(xùn)練過程中的卷積神經(jīng)網(wǎng)絡(luò)模型的示意圖。本發(fā)明實(shí)施例提供的視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法通過訓(xùn)練基于造假視頻的卷積神經(jīng)網(wǎng)絡(luò),對(duì)造假視頻進(jìn)行學(xué)習(xí),為人臉識(shí)別時(shí)抵御視頻造假攻擊提供保護(hù),保護(hù)人臉識(shí)別的安全。
請(qǐng)參照?qǐng)D4,本發(fā)明實(shí)施例還提供了一種基于視頻造假的人臉活體檢測(cè)方法,該方法包括以下步驟:
步驟s210,獲取人臉圖像。
獲取的人臉圖像可以是通過門禁、電腦或者監(jiān)控器等設(shè)備的攝像頭獲取的人臉圖像。
步驟s220,通過人臉檢測(cè)算法檢測(cè)圖像中的人臉。
步驟s230,將人臉進(jìn)行裁剪.
步驟s240,對(duì)裁剪后出人臉圖像進(jìn)行歸一化處理。
步驟s250,將歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個(gè)卷積層、relu層、max-pooling層、全連接層、dropout層和softmax層。
步驟s260,對(duì)所述人臉圖像進(jìn)行識(shí)別。
其中,步驟s260的識(shí)別過程依據(jù)上述實(shí)施例訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行,以得到人臉圖像真假的概率。由于在前述實(shí)施例中已經(jīng)對(duì)具體過程和原理作出陳述,此處不再贅述。
綜上所述,本發(fā)明實(shí)施例提供了一種視頻造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測(cè)方法,通過訓(xùn)練基于造假視頻的卷積神經(jīng)網(wǎng)絡(luò),對(duì)造假視頻進(jìn)行學(xué)習(xí),為人臉識(shí)別時(shí)抵御視頻造假攻擊提供保護(hù),保護(hù)人臉識(shí)別的安全。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露的方法,也可以通過其它的方式實(shí)現(xiàn)。以上所描述的實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的實(shí)施例的方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。