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