用于驗證活體人臉的方法、設(shè)備和計算機程序產(chǎn)品的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及人臉識別技術(shù)領(lǐng)域,更具體地涉及一種用于驗證活體人臉的方法、設(shè)備和計算機程序廣品。
【背景技術(shù)】
[0002]人臉識別是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù)。人臉識別使用通用的攝像機作為識別信息獲取裝置,以非接觸的方式獲取識別對象的人臉圖像,然后通過對所獲取的圖像與數(shù)據(jù)庫圖像進行比對來完成識別過程。目前,人臉識別技術(shù)已用于政府、軍隊、銀行、社會福利保障、電子商務(wù)、安全防務(wù)等領(lǐng)域。例如,可以將人臉識別系統(tǒng)應(yīng)用于銀行遠程開戶、門禁系統(tǒng)、遠程交易操作驗證等。
[0003]在基于人臉識別來進行身份識別的應(yīng)用中,衍生出一些惡意欺騙人臉身份驗證的方法。例如,攻擊者使用假面具、或者播放視頻、動畫等來仿冒特定人的人臉的動作來欺騙人臉身份驗證。這使得基于人臉的身份驗證方法很可能對這些攻擊失效。為了提高身份識別的準確性,可以首先驗證待驗證對象是一個生物活體,然后通過比對待驗證對象的面部特征與數(shù)據(jù)庫中已存的各個用戶的面部特征來識別待驗證對象的身份。人臉識別系統(tǒng)的所述驗證生物活體的過程能夠防范攻擊者使用照片、視頻、動畫、3D人臉模型、或者面具等方式進行攻擊。因此,期望提供一種有效的驗證活體人臉的技術(shù)方案,來有效地防范攻擊者借助于非活體工具進行的攻擊。
【發(fā)明內(nèi)容】
[0004]本公開實施例提供了一種用于驗證活體人臉的方法、設(shè)備和計算機程序產(chǎn)品,其使得能夠有效地識別出不具有活體人臉的待驗證對象,從而有效地防范攻擊者借助于非活體工具進行的攻擊。
[0005]第一方面,提供了一種用于驗證活體人臉的方法。該用于驗證活體人臉的方法可包括:隨機地生成字符串并呈現(xiàn)給待驗證對象;識別所述待驗證對象的面部動作;確定所述面部動作是否與所述字符串的發(fā)音相匹配,得到第一確定結(jié)果;基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0006]結(jié)合第一方面,在第一方面的一種實現(xiàn)方式中,所述識別所述待驗證對象的面部動作可包括:獲取待驗證對象的面部圖像;分析所述面部圖像而獲得人臉屬性;基于所獲得的人臉屬性確定所述面部動作。
[0007]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,所述分析所述面部圖像而獲得人臉屬性可包括通過分析每幀面部圖像獲得人臉的關(guān)鍵點位置作為人臉屬性;所述基于所獲得的人臉屬性確定所述面部動作可包括基于所述關(guān)鍵點位置在各幀面部圖像中的變化來確定所述面部動作。
[0008]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,所述確定所述面部動作是否與所述字符串的發(fā)音相匹配可包括:利用已訓練的神經(jīng)元網(wǎng)絡(luò)確定所述面部動作是否與所述字符串的發(fā)音相匹配。
[0009]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,所述已訓練的神經(jīng)元網(wǎng)絡(luò)通過如下的操作來獲得:獲取與所述字符串對應(yīng)的多個訓練圖像,各個訓練圖像包括不同的人在說出所述字符串時的面部圖像;確定在人臉的關(guān)鍵點之中的易于被面具覆蓋的指定關(guān)鍵點;生成與每個訓練圖像中的人臉的包含所述指定關(guān)鍵點的多個關(guān)鍵點對應(yīng)的特征向量序列;利用所生成的各個特征向量序列來訓練所述神經(jīng)元網(wǎng)絡(luò)。
[0010]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,利用該已訓練的神經(jīng)元網(wǎng)絡(luò)確定所述面部動作是否與所述字符串的發(fā)音相匹配可包括:該已訓練的神經(jīng)元網(wǎng)絡(luò)基于所述面部動作確定待驗證對象說出所述字符串的概率;當所確定的概率大于預定概率時,確定所述面部動作與所述字符串的發(fā)音相匹配。
[0011]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,用于驗證活體人臉的方法還可包括:獲取待驗證對象在預定時間段期間的音頻信息;確定所述音頻信息是否與所述字符串的發(fā)音相匹配,得到第二確定結(jié)果。
[0012]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,所述基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉包括:基于第一確定結(jié)果和第二確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0013]結(jié)合第一方面及其上述實現(xiàn)方式,在第一方面的另一實現(xiàn)方式中,基于第一確定結(jié)果和第二確定結(jié)果判斷所述待驗證對象是否是活體人臉可包括:如果第二確定結(jié)果指明所述音頻信息與所述字符串的發(fā)音不匹配,判斷所述待驗證對象不是活體人臉;在第二確定結(jié)果指明所述音頻信息與所述字符串的發(fā)音相匹配的情況下,如果第一確定結(jié)果指明所述面部動作與所述字符串的發(fā)音相匹配,判斷所述待驗證對象是活體人臉,如果第一確定結(jié)果指明所述面部動作與所述字符串的發(fā)音不匹配,判斷所述待驗證對象不是活體人臉。
[0014]第二方面,提供了一種用于驗證活體人臉的設(shè)備。該用于驗證活體人臉的設(shè)備可包括:處理器;存儲器;和存儲在所述存儲器中的計算機程序指令。在所述計算機程序指令被所述處理器運行時可以執(zhí)行以下步驟:隨機地生成字符串并呈現(xiàn)給待驗證對象;識別所述待驗證對象的面部動作;確定所述面部動作是否與所述字符串的發(fā)音相匹配,得到第一確定結(jié)果;基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0015]結(jié)合第二方面,在第二方面的一種實現(xiàn)方式中,所述識別待驗證對象的面部動作可包括:獲取待驗證對象的面部圖像;分析所述面部圖像而獲得人臉屬性;基于所獲得的人臉屬性確定所述面部動作。
[0016]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,所述分析所述面部圖像而獲得人臉屬性可包括通過分析每幀面部圖像獲得人臉的關(guān)鍵點位置作為人臉屬性;所述基于所獲得的人臉屬性確定所述面部動作可包括基于所述關(guān)鍵點位置在各幀面部圖像中的變化來確定所述面部動作。
[0017]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,所述確定所述面部動作是否與所述字符串的發(fā)音相匹配可包括:利用已訓練的神經(jīng)元網(wǎng)絡(luò)確定所述面部動作是否與所述字符串的發(fā)音相匹配。
[0018]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,所述已訓練的神經(jīng)元網(wǎng)絡(luò)通過如下的操作來獲得:獲取與所述字符串對應(yīng)的多個訓練圖像,各個訓練圖像包括不同的人在說出所述字符串時的面部圖像;確定在人臉的關(guān)鍵點之中的易于被面具覆蓋的指定關(guān)鍵點;生成與每個訓練圖像中的人臉的包含所述指定關(guān)鍵點的多個關(guān)鍵點對應(yīng)的特征向量序列;利用所生成的各個特征向量序列來訓練所述神經(jīng)元網(wǎng)絡(luò)。
[0019]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,利用該已訓練的神經(jīng)元網(wǎng)絡(luò)確定所述面部動作是否與所述字符串的發(fā)音相匹配可包括:該已訓練的神經(jīng)元網(wǎng)絡(luò)基于所述面部動作確定待驗證對象說出所述字符串的概率;當所確定的概率大于預定概率時,確定所述面部動作與所述字符串的發(fā)音相匹配。
[0020]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,用于驗證活體人臉的設(shè)備還可包括音頻采集器件,在所述計算機程序指令被所述處理器運行時還執(zhí)行以下步驟:利用所述音頻采集器件獲取待驗證對象在預定時間段期間的音頻信息;確定所述音頻信息是否與所述字符串的發(fā)音相匹配,得到第二確定結(jié)果。
[0021]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,所述基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉可包括:基于第一確定結(jié)果和第二確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0022]結(jié)合第二方面及其上述實現(xiàn)方式,在第二方面的另一實現(xiàn)方式中,基于第一確定結(jié)果和第二確定結(jié)果判斷所述待驗證對象是否是活體人臉可包括:如果第二確定結(jié)果指明所述音頻信息與所述字符串的發(fā)音不匹配,判斷所述待驗證對象不是活體人臉;在第二確定結(jié)果指明所述音頻信息與所述字符串的發(fā)音相匹配的情況下,如果第一確定結(jié)果指明所述面部動作與所述字符串的發(fā)音相匹配,判斷所述待驗證對象是活體人臉,如果第一確定結(jié)果指明所述面部動作與所述字符串的發(fā)音不匹配,判斷所述待驗證對象不是活體人臉。
[0023]第三方面,提供了一種用于驗證活體人臉的計算機程序產(chǎn)品,包括計算機可讀存儲介質(zhì)。在所述計算機可讀存儲介質(zhì)上存儲了計算機程序指令。所述計算機程序指令由處理器執(zhí)行以使得所述處理器:隨機地生成字符串并呈現(xiàn)給待驗證對象;識別所述待驗證對象的面部動作;確定所述面部動作是否與所述字符串的發(fā)音相匹配,得到第一確定結(jié)果;基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0024]第三方面,提供了一種用于驗證活體人臉的設(shè)備。該用于驗證活體人臉的設(shè)備可包括:字符發(fā)生器,隨機地生成字符串并呈現(xiàn)給待驗證對象;動作識別單元,用于識別所述待驗證對象的面部動作;第一匹配單元,用于確定所述面部動作是否與所述字符串的發(fā)音相匹配,得到第一確定結(jié)果;判斷單元,用于基于所述第一確定結(jié)果判斷所述待驗證對象是否是活體人臉。
[0025]在根據(jù)本公開實施例的上述用于驗證活體人臉的方法、設(shè)備和計算機程序產(chǎn)品的技術(shù)方案中,通過確定待驗證對象的面部動作是否與隨機地生成的字符串的發(fā)音相匹配,能夠有效地識別出不具有活體人臉的待驗證對象,從而有效地防范攻擊者借助于非活體工具進行的攻擊。
【附圖說明】
[0026]為了更清楚地說明本公開實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得