本公開(kāi)涉及人臉識(shí)別技術(shù)領(lǐng)域,更具體地涉及一種活體人臉驗(yàn)證方法及系統(tǒng)、以及活體人臉驗(yàn)證裝置。
背景技術(shù):
當(dāng)前,人臉識(shí)別系統(tǒng)越來(lái)越多地應(yīng)用于安防、金融領(lǐng)域需要身份驗(yàn)證的場(chǎng)景,如銀行遠(yuǎn)程開(kāi)戶(hù)、門(mén)禁系統(tǒng)、遠(yuǎn)程交易操作驗(yàn)證等。在這些高安全級(jí)別的應(yīng)用領(lǐng)域,除了確保被驗(yàn)證者的人臉相似度符合數(shù)據(jù)庫(kù)中存儲(chǔ)的底庫(kù),首先需要驗(yàn)證被驗(yàn)證者是一個(gè)合法的生物活體。也就是說(shuō),人臉識(shí)別系統(tǒng)需要能夠防范攻擊者使用照片、視頻、3d人臉模型、或者面具等方式進(jìn)行攻擊。
目前市場(chǎng)上的技術(shù)產(chǎn)品中還沒(méi)有公認(rèn)成熟的活體驗(yàn)證方案,已有的技術(shù)要么依賴(lài)特殊的硬件設(shè)備(諸如,紅外相機(jī)、深度相機(jī)),或者只能防范簡(jiǎn)單的靜態(tài)照片攻擊。
因此,需要既不依賴(lài)于特殊的硬件設(shè)備又能夠有效地防范照片、視頻、3d人臉模型或者面具等多種方式的攻擊的人臉識(shí)別方式。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題而提出了本發(fā)明。本發(fā)明實(shí)施例提供了一種活體人臉驗(yàn)證方法及系統(tǒng)、以及計(jì)算機(jī)程序產(chǎn)品,其能夠基于精細(xì)頭部動(dòng)作來(lái)進(jìn)行活體人臉驗(yàn)證,從而降低活體人臉驗(yàn)證的成本,并提高活體人臉驗(yàn)證的準(zhǔn)確度,相應(yīng)地提高了應(yīng)用活體人臉驗(yàn)證的應(yīng)用場(chǎng)景的安全性。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種活體人臉驗(yàn)證方法,包括:隨機(jī)地生成動(dòng)作指令序列;以及在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還包括:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還包括:對(duì)于每個(gè)動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失敗;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還包括:對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還包括:獲取人臉圖像;計(jì)算人臉圖像中的人臉屬性;以及根據(jù)所計(jì)算的人臉屬性,識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
作為示例,所述對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失敗,進(jìn)一步包括:在所述定時(shí)時(shí)間內(nèi),當(dāng)檢測(cè)到人臉動(dòng)作與該動(dòng)作指令不匹配時(shí),無(wú)論所述定時(shí)時(shí)間是否到期,均確定活體人臉驗(yàn)證失敗。
作為示例,所述未檢測(cè)到人臉動(dòng)作包括未檢測(cè)到可識(shí)別的人臉動(dòng)作和未檢測(cè)到不可識(shí)別的人臉動(dòng)作,其中,所述可識(shí)別的人臉動(dòng)作包括所述預(yù)設(shè)的動(dòng)作指令集合中的任何人臉動(dòng)作,所述不可識(shí)別的人臉動(dòng)作包括未被包括在所述預(yù)設(shè)的動(dòng)作指令集合中的人臉動(dòng)作。
作為示例,在確定人臉動(dòng)作依序與所述動(dòng)作指令序列中的動(dòng)作指令的匹配比例超出匹配比例閾值的情況下,確定活體人臉驗(yàn)證成功。
作為示例,所述方法部署在人臉圖像采集端,和/或,所述動(dòng)作指令序列通過(guò)在預(yù)設(shè)的動(dòng)作指令集合中選擇動(dòng)作指令來(lái)生成。
根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種活體人臉驗(yàn)證系統(tǒng),包括:一個(gè)或多個(gè)處理器;一個(gè)或多個(gè)存儲(chǔ)器;在所述存儲(chǔ)器的至少一個(gè)中存儲(chǔ)的計(jì)算機(jī)程序指令,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)執(zhí)行以下步驟:隨機(jī)地生成動(dòng)作指令序列;以及在確定人臉動(dòng)作匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)了計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)執(zhí)行以下步驟:隨機(jī)地生成動(dòng)作指令序列;以及在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
作為示例,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)或計(jì)算機(jī)運(yùn)行時(shí)還執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失?。粚?duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
作為示例,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)或計(jì)算機(jī)運(yùn)行時(shí)還執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)還包括:圖像采集設(shè)備,用于采集人臉圖像。
作為示例,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)或計(jì)算機(jī)運(yùn)行時(shí)還執(zhí)行以下步驟:計(jì)算所述人臉圖像中的人臉屬性;以及根據(jù)所計(jì)算的人臉屬性,識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
作為示例,所述對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失敗,進(jìn)一步包括:在所述定時(shí)時(shí)間內(nèi),當(dāng)檢測(cè)到人臉動(dòng)作與該動(dòng)作指令不匹配時(shí),無(wú)論所述定時(shí)時(shí)間是否到期,均確定活體人臉驗(yàn)證失敗。
作為示例,所述未檢測(cè)到人臉動(dòng)作包括未檢測(cè)到可識(shí)別的人臉動(dòng)作和未檢測(cè)到不可識(shí)別的人臉動(dòng)作,其中,所述可識(shí)別的人臉動(dòng)作包括所述預(yù)設(shè)的動(dòng)作指令集合中的任何人臉動(dòng)作,所述不可識(shí)別的人臉動(dòng)作包括未被包括在所述預(yù)設(shè)的動(dòng)作指令集合中的人臉動(dòng)作。
作為示例,在確定人臉動(dòng)作依序與所述動(dòng)作指令序列中的動(dòng)作指令的匹配比例超出匹配比例閾值的情況下,確定活體人臉驗(yàn)證成功。
作為示例,所述方法部署在人臉圖像采集端,和/或,所述動(dòng)作指令序列通過(guò)在預(yù)設(shè)的動(dòng)作指令集合中選擇動(dòng)作指令來(lái)生成。
根據(jù)本發(fā)明實(shí)施例的再一方面,提供了一種活體人臉驗(yàn)證裝置,包括:隨機(jī)動(dòng)作指令序列生成模塊,用于隨機(jī)地生成動(dòng)作指令序列;以及活體人臉驗(yàn)證模塊,用于在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置還包括:指令序列發(fā)出模塊,用于按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置還包括:動(dòng)作匹配檢測(cè)子模塊,用于確定人臉動(dòng)作與所發(fā)出的動(dòng)作指令是否匹配;以及驗(yàn)證結(jié)果輸出子模塊,用于輸出活體人臉驗(yàn)證的驗(yàn)證結(jié)果。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置,對(duì)于所述指令序列發(fā)出模塊發(fā)出的每個(gè)動(dòng)作指令,在所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊確定活體人臉驗(yàn)證失敗;對(duì)于所述指令序列發(fā)出模塊發(fā)出的除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令匹配并且所述指令序列發(fā)出模塊存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述指令序列發(fā)出模塊才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述指令序列發(fā)出模塊發(fā)出的所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置還包括:定時(shí)器,用于在每個(gè)動(dòng)作指令發(fā)出后對(duì)定時(shí)時(shí)間進(jìn)行計(jì)時(shí)。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置,對(duì)于所述指令序列發(fā)出模塊發(fā)出的每個(gè)動(dòng)作指令,在所述定時(shí)器超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊確定未檢測(cè)到人臉動(dòng)作的情況下、或者在所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊確定活體人臉驗(yàn)證失?。粚?duì)于所述指令序列發(fā)出模塊發(fā)出的除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在所述定時(shí)器未超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令匹配并且所述指令序列發(fā)出模塊存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述指令序列發(fā)出模塊才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述指令序列發(fā)出模塊發(fā)出的所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在所述定時(shí)器超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊確定活體人臉驗(yàn)證成功。
作為示例,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置還包括:圖像獲取模塊,用于獲取人臉圖像;人臉屬性計(jì)算模塊,用于計(jì)算人臉圖像中的人臉屬性;以及人臉動(dòng)作識(shí)別模塊,用于根據(jù)所計(jì)算的人臉屬性識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
作為示例,所述動(dòng)作指令序列包括至少一個(gè)動(dòng)作指令,每個(gè)動(dòng)作指令為單一動(dòng)作指令或序貫動(dòng)作指令,每個(gè)序貫動(dòng)作指令指示依序執(zhí)行至少兩個(gè)單一動(dòng)作,每個(gè)單一動(dòng)作為簡(jiǎn)單動(dòng)作或復(fù)雜動(dòng)作,每個(gè)單一動(dòng)作指令指示執(zhí)行一個(gè)單一動(dòng)作,并且每個(gè)單一動(dòng)作指令為簡(jiǎn)單動(dòng)作指令或復(fù)雜動(dòng)作指令,每個(gè)簡(jiǎn)單動(dòng)作指令指示執(zhí)行一個(gè)臉部動(dòng)作,每個(gè)復(fù)雜動(dòng)作指令指示同時(shí)執(zhí)行至少兩個(gè)臉部動(dòng)作。
作為示例,所述動(dòng)作指令序列包括至少兩個(gè)動(dòng)作指令,每個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令。
作為示例,所述至少一個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令與復(fù)雜動(dòng)作指令的任意組合,并且所述至少一個(gè)動(dòng)作指令中的至少一部分為復(fù)雜動(dòng)作指令。
作為示例,所述至少一個(gè)動(dòng)作指令為序貫動(dòng)作指令與單一動(dòng)作指令的任意組合,并且所述至少一個(gè)動(dòng)作指令中的至少一部分動(dòng)作指令為序貫動(dòng)作指令。
作為示例,所述對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失敗,進(jìn)一步包括:在所述定時(shí)時(shí)間內(nèi),當(dāng)檢測(cè)到人臉動(dòng)作與該動(dòng)作指令不匹配時(shí),無(wú)論所述定時(shí)時(shí)間是否到期,均確定活體人臉驗(yàn)證失敗。
作為示例,所述未檢測(cè)到人臉動(dòng)作包括未檢測(cè)到可識(shí)別的人臉動(dòng)作和未檢測(cè)到不可識(shí)別的人臉動(dòng)作,其中,所述可識(shí)別的人臉動(dòng)作包括所述預(yù)設(shè)的動(dòng)作指令集合中的任何人臉動(dòng)作,所述不可識(shí)別的人臉動(dòng)作包括未被包括在所述預(yù)設(shè)的動(dòng)作指令集合中的人臉動(dòng)作。
作為示例,在確定人臉動(dòng)作依序與所述動(dòng)作指令序列中的動(dòng)作指令的匹配比例超出匹配比例閾值的情況下,確定活體人臉驗(yàn)證成功。
作為示例,所述方法部署在人臉圖像采集端,和/或,所述動(dòng)作指令序列通過(guò)在預(yù)設(shè)的動(dòng)作指令集合中選擇動(dòng)作指令來(lái)生成。
根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法及系統(tǒng)、活體人臉驗(yàn)證裝置、以及計(jì)算機(jī)程序產(chǎn)品,通過(guò)隨機(jī)地生成動(dòng)作指令序列,然后基于精細(xì)頭部動(dòng)作識(shí)別判斷人臉動(dòng)作是否匹配隨機(jī)生成的動(dòng)作指令序列,可以不依賴(lài)于特殊的硬件設(shè)備,從而可以降低活體人臉驗(yàn)證的成本,另一方面,而且可以有效地防范照片、視頻、3d人臉模型或者面具等多種方式的攻擊,從而可以提高活體人臉驗(yàn)證的準(zhǔn)確度,并且進(jìn)而可以提高應(yīng)用根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法及系統(tǒng)、活體人臉驗(yàn)證裝置、以及計(jì)算機(jī)程序產(chǎn)品的應(yīng)用場(chǎng)景的安全性。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖說(shuō)明
通過(guò)結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行更詳細(xì)的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。附圖用來(lái)提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中,相同的參考標(biāo)號(hào)通常代表相同部件或步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法的核心思想的示意性流程圖;
圖2是根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法的示意性流程圖;
圖3是根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法的示意性流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的確定人臉動(dòng)作與動(dòng)作指令是否匹配的示意性流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖;
圖6是根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖;
圖7是根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖;
圖8是根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)的示意性框圖。
具體實(shí)施方式
為了使得本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更為明顯,下面將參照附圖詳細(xì)描述根據(jù)本發(fā)明的示例實(shí)施例。顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是本發(fā)明的全部實(shí)施例,應(yīng)理解,本發(fā)明不受這里描述的示例實(shí)施例的限制?;诒竟_(kāi)中描述的本發(fā)明實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)的情況下所得到的所有其它實(shí)施例都應(yīng)落入本發(fā)明的保護(hù)范圍之內(nèi)。
圖1是根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法的核心思想的示意性流程圖。
如圖1所示,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法100首先在步驟s110隨機(jī)地生成動(dòng)作指令序列。所述動(dòng)作指令序列可以包括一個(gè)動(dòng)作指令或多個(gè)動(dòng)作指令。
例如,可以在預(yù)設(shè)的動(dòng)作指令集合中選擇動(dòng)作指令來(lái)生成該動(dòng)作指令序列。所述預(yù)設(shè)的動(dòng)作指令集合可以包括但不限于以下動(dòng)作指令中的至少一部分:低頭、仰頭、搖頭、眨眼、閉眼、張嘴、微笑、聳眉、伸舌、微笑且眨眼、伸舌且眨眼、張嘴且仰頭、低頭且微笑等。
通過(guò)隨機(jī)地生成動(dòng)作指令序列,使得難以預(yù)測(cè)動(dòng)作指令序列中的具體動(dòng)作指令的內(nèi)容以及順序,進(jìn)而使得難以預(yù)先根據(jù)動(dòng)作指令進(jìn)行攻擊,例如通過(guò)預(yù)先錄制人臉視頻來(lái)進(jìn)行攻擊。
然后,在步驟s120,在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功,即檢測(cè)到活體人臉。
作為示例,在確定人臉動(dòng)作依序一一對(duì)應(yīng)地匹配所述動(dòng)作指令序列中的動(dòng)作指令的情況下,確定檢測(cè)到活體人臉。
可替換地,可以設(shè)定人臉動(dòng)作匹配比例閾值,在確定人臉動(dòng)作依序與所述動(dòng)作指令序列中動(dòng)作指令的匹配比例超出匹配比例閾值的情況下,確定檢測(cè)到活體人臉。
根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法可以部署在人臉圖像采集端處,例如,在安防應(yīng)用領(lǐng)域,可以部署在門(mén)禁系統(tǒng)的圖像采集端;在金融應(yīng)用領(lǐng)域,可以部署在個(gè)人終端處,諸如智能電話(huà)、平板電腦、個(gè)人計(jì)算機(jī)等。
替代地,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還可以分布地部署在服務(wù)器端(或云端)和個(gè)人終端處。例如,在金融應(yīng)用領(lǐng)域,可以在服務(wù)器端(或云端)隨機(jī)地生成動(dòng)作指令序列,服務(wù)器端(或云端)將隨機(jī)地生成的動(dòng)作指令序列傳遞給個(gè)人終端,個(gè)人終端根據(jù)所接收的動(dòng)作指令序列以及人臉動(dòng)作來(lái)進(jìn)行活體人臉驗(yàn)證,然后個(gè)人終端將活體人臉驗(yàn)證結(jié)果傳送給服務(wù)器端(或云端)。再例如,可以在服務(wù)器端(或云端)隨機(jī)地生成動(dòng)作指令序列,服務(wù)器端(或云端)將隨機(jī)地生成的動(dòng)作指令序列傳遞給個(gè)人終端,個(gè)人終端將采集的人臉圖像傳遞給服務(wù)器端(或云端),然后服務(wù)器端(或云端)根據(jù)所接收的動(dòng)作指令序列以及人臉動(dòng)作來(lái)進(jìn)行活體人臉驗(yàn)證,如果需要的話(huà),服務(wù)器端(或云端)還可以將活體人臉驗(yàn)證結(jié)果傳遞給個(gè)人終端。
根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法,通過(guò)采用隨機(jī)動(dòng)作序列,不僅可以有效地防止照片、3d模型和人臉面具的攻擊,而且更為有效地能夠防止提前錄制的視頻攻擊。
下面將參考圖2-圖4來(lái)具體描述根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法。
圖2是根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法的示意性流程圖。
在步驟s210,隨機(jī)地生成動(dòng)作指令序列。
在步驟s220,按照所述動(dòng)作指令序列中的指令順序,逐一地發(fā)出動(dòng)作指令。例如,按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
在步驟s230,確定人臉動(dòng)作與所發(fā)出的動(dòng)作指令是否匹配。
僅在步驟s230確定人臉動(dòng)作與步驟s220發(fā)出的動(dòng)作指令匹配的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法才進(jìn)行到步驟s240,否則在步驟s260確定活體人臉驗(yàn)證失敗。
在步驟s240,確定所述動(dòng)作指令序列中是否存在下一個(gè)動(dòng)作指令需要發(fā)出。
在步驟s240確定所述動(dòng)作指令序列中存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法返回步驟s220,以便進(jìn)行下一個(gè)動(dòng)作指令的匹配判斷。
在步驟s240確定所述動(dòng)作指令序列中沒(méi)有下一個(gè)動(dòng)作指令需要發(fā)出的情況下,即已經(jīng)發(fā)出了所述動(dòng)作指令序列中的所有動(dòng)作指令并且人臉的動(dòng)作與每個(gè)動(dòng)作指令均匹配,則在步驟s250確定活體人臉驗(yàn)證成功,即確定當(dāng)前人臉為活體人臉。
因此,根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法,對(duì)于每個(gè)動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法,對(duì)于隨機(jī)地生成的動(dòng)作指令序列中的每個(gè)動(dòng)作指令,僅在用戶(hù)正確做出該動(dòng)作指令相應(yīng)的動(dòng)作(即確定人臉動(dòng)作與該動(dòng)作指令匹配)后才會(huì)開(kāi)始下一個(gè)動(dòng)作指令的判斷。
此外,根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法,對(duì)于隨機(jī)地生成的動(dòng)作指令序列,只有在用戶(hù)依次通過(guò)所述動(dòng)作指令序列要求的所有動(dòng)作判斷之后,才能確定活體人臉驗(yàn)證成功。
圖3是根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法的示意性流程圖。與根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法相比,根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法在每個(gè)動(dòng)作指令匹配檢測(cè)階段包括了定時(shí)器超時(shí)判斷。
在步驟s210,隨機(jī)地生成動(dòng)作指令序列。
在步驟s220,按照所述動(dòng)作指令序列中的指令順序,逐一地發(fā)出動(dòng)作指令。例如,按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
在發(fā)出了所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令后,根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法立即執(zhí)行步驟s310,并且在步驟s310設(shè)置定時(shí)器的定時(shí)時(shí)間。應(yīng)了解,在本發(fā)明第二實(shí)施例的描述中,根據(jù)功能分別描述步驟s220和步驟s310,然而應(yīng)了解步驟s220和步驟s310可以合并在一起。
在步驟s320,確定定時(shí)器的定時(shí)時(shí)間是否超時(shí)。在步驟s320可以確定是否在定時(shí)器的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作。例如,在步驟s320可以確定是否在定時(shí)器的定時(shí)時(shí)間內(nèi)未檢測(cè)到可識(shí)別的人臉動(dòng)作,可識(shí)別的人臉動(dòng)作可以包括所述預(yù)設(shè)的動(dòng)作指令集合中的任何人臉動(dòng)作;或者在步驟s320可以確定是否在定時(shí)器的定時(shí)時(shí)間內(nèi)未檢測(cè)到任何人臉動(dòng)作,不僅可以包括可識(shí)別的人臉動(dòng)作還可以包括不可識(shí)別的人臉動(dòng)作,所述不可識(shí)別的人臉動(dòng)作可以指代未被包括在所述預(yù)設(shè)的動(dòng)作指令集合的人臉動(dòng)作,換言之,所述不可識(shí)別的人臉動(dòng)作首先是人臉動(dòng)作(區(qū)別于人臉無(wú)動(dòng)作),其次由于其未被包括在所述預(yù)設(shè)的動(dòng)作指令集合中,因此不能被識(shí)別。
在步驟s320確定定時(shí)器的定時(shí)時(shí)間超時(shí)的情況下,根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法進(jìn)行到步驟s260,并確定活體人臉驗(yàn)證失敗。
在步驟s320確定定時(shí)器的定時(shí)時(shí)間不超時(shí)的情況下,根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法進(jìn)行到步驟s230。
根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法,對(duì)于隨機(jī)地生成的動(dòng)作指令序列中的每個(gè)動(dòng)作指令,只有用戶(hù)在規(guī)定的定時(shí)時(shí)間內(nèi)完成指定動(dòng)作并且用戶(hù)不能做出明顯錯(cuò)誤動(dòng)作的情況下,才能通過(guò)該動(dòng)作指令的動(dòng)作匹配檢測(cè)。這里,所述明顯錯(cuò)誤動(dòng)作可以包括與當(dāng)前動(dòng)作指令不匹配的可識(shí)別的人臉動(dòng)作,或者根據(jù)實(shí)際情況還可以包括與當(dāng)前動(dòng)作指令不匹配的明顯的不可識(shí)別的人臉動(dòng)作。
例如,當(dāng)前發(fā)出的動(dòng)作指令為眨眼指令,定時(shí)時(shí)間為5秒,當(dāng)檢測(cè)到用戶(hù)的人臉動(dòng)作為微笑、搖頭、伸舌等時(shí),無(wú)論定時(shí)時(shí)間是否到期,都得到活體人臉檢測(cè)失敗的結(jié)果;另一方面,當(dāng)在定時(shí)時(shí)間內(nèi)一直未檢測(cè)到有效的人臉動(dòng)作時(shí),即不僅沒(méi)有檢測(cè)到眨眼動(dòng)作也沒(méi)有檢測(cè)到其它可識(shí)別的人臉動(dòng)作,在此情況下,也得到活體人臉檢測(cè)失敗的結(jié)果。
接下來(lái),步驟s230-步驟s260的操作與參考圖2描述的第一實(shí)施例中的步驟s230-步驟s260的操作相同,在此不再贅述。
因此,根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法,對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
圖4是根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法的步驟s230中確定人臉動(dòng)作與所發(fā)出的動(dòng)作指令是否匹配的示意性流程圖。
在步驟s410,獲取圖像??梢酝ㄟ^(guò)圖像采集設(shè)備采集灰度或彩色圖像,所述圖像采集設(shè)備可以是智能電話(huà)的攝像頭、平板電腦的攝像頭、個(gè)人計(jì)算機(jī)的攝像頭、或者甚至可以是網(wǎng)絡(luò)攝像頭,并且可以從圖像采集設(shè)備接收所述圖像采集設(shè)備采集的灰度或彩色圖像。
在步驟s420,針對(duì)所獲取的圖像,計(jì)算人臉屬性。人臉的關(guān)鍵點(diǎn)、姿態(tài)、表情、頭部動(dòng)作等性質(zhì)通稱(chēng)為人臉屬性。
在步驟s430,根據(jù)所計(jì)算的人臉屬性,識(shí)別人臉動(dòng)作。
這里,所述人臉屬性可以包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
作為示例,可以首先確定所獲取的圖像中是否包含人臉,在檢測(cè)到人臉的情況下定位出人臉關(guān)鍵點(diǎn)。人臉關(guān)鍵點(diǎn)是臉部一些表征能力強(qiáng)的關(guān)鍵點(diǎn),例如眼睛、眼角、眼睛中心、眉毛、鼻子、鼻尖、嘴巴、嘴角和臉部輪廓等。例如,可以采用傳統(tǒng)的人臉關(guān)鍵點(diǎn)定位方法,其基于參數(shù)形狀模型,根據(jù)關(guān)鍵點(diǎn)附近的表觀(guān)特征,學(xué)習(xí)出一個(gè)參數(shù)模型,在使用時(shí)迭代地優(yōu)化關(guān)鍵點(diǎn)的位置,最后得到關(guān)鍵點(diǎn)坐標(biāo)。再例如,還可以采用基于級(jí)聯(lián)回歸的方法定位關(guān)鍵點(diǎn),其能夠根據(jù)輸入的人臉圖像,實(shí)時(shí)定位出精準(zhǔn)的人臉關(guān)鍵點(diǎn)。
人臉關(guān)鍵點(diǎn)的定位在人臉動(dòng)作識(shí)別中起著重要的作用,然而應(yīng)了解本發(fā)明不受具體采用的人臉關(guān)鍵點(diǎn)定位方法的限制。無(wú)論是現(xiàn)有的人臉關(guān)鍵點(diǎn)定位方法還是將來(lái)開(kāi)發(fā)的人臉關(guān)鍵點(diǎn)定位方法,都可以應(yīng)用于根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法中,并且也應(yīng)包括在本發(fā)明的保護(hù)范圍內(nèi)。
可以預(yù)先獲得多種預(yù)先規(guī)定的人臉動(dòng)作(例如,與上述預(yù)設(shè)的動(dòng)作指令集合中的動(dòng)作指令相應(yīng)的人臉動(dòng)作)的人臉圖片,人工標(biāo)記出人臉關(guān)鍵點(diǎn)和具體人臉動(dòng)作,通過(guò)機(jī)器學(xué)習(xí)方法預(yù)先建立人臉動(dòng)作模型庫(kù)。
在所述人臉屬性?xún)H包括人臉關(guān)鍵點(diǎn)的情況下,例如,可以根據(jù)所計(jì)算的人臉關(guān)鍵點(diǎn)與所述人臉動(dòng)作模型庫(kù)中的人臉關(guān)鍵點(diǎn)模型,通過(guò)迭代計(jì)算、神經(jīng)網(wǎng)絡(luò)、模糊計(jì)算等各種計(jì)算手段來(lái)識(shí)別人臉動(dòng)作。
另外,在所述人臉屬性包括動(dòng)作系數(shù)和/或姿態(tài)系數(shù)的情況下,例如,可以根據(jù)所計(jì)算的人臉關(guān)鍵點(diǎn)與所述人臉動(dòng)作模型庫(kù)中的人臉關(guān)鍵點(diǎn)模型計(jì)算人臉的動(dòng)作系數(shù)和/或姿態(tài)系數(shù)。這里,姿態(tài)系數(shù)專(zhuān)指低頭、仰頭、搖頭和轉(zhuǎn)頭的姿態(tài)執(zhí)行程度,例如左轉(zhuǎn)頭系數(shù)可以表示左轉(zhuǎn)頭程度,動(dòng)作系數(shù)表示除低頭、仰頭、搖頭和轉(zhuǎn)頭之外的其他動(dòng)作的執(zhí)行程度,例如張嘴系數(shù)可以表示張嘴程度以及閉眼系數(shù)可以表示閉眼程度。例如,所述動(dòng)作系數(shù)可以包括但不限于微笑系數(shù)、眨眼系數(shù)、張嘴系數(shù)、聳眉系數(shù)、伸舌系數(shù)等。所述姿態(tài)系數(shù)可以包括但不限于左搖頭系數(shù)、右搖頭系數(shù)、低頭系數(shù)、仰頭系數(shù)等。
例如,可以利用所定位的人臉關(guān)鍵點(diǎn)與所述人臉動(dòng)作模型庫(kù)中的人臉關(guān)鍵點(diǎn)模型,迭代得出旋轉(zhuǎn)矩陣,可以根據(jù)旋轉(zhuǎn)矩陣確定左搖頭角度、右搖頭角度、仰頭角度或低頭角度,在相應(yīng)的角度大于相應(yīng)的檢測(cè)角度閾值(例如30度)的情況下,確定檢測(cè)到相應(yīng)姿態(tài)(動(dòng)作)。例如,在左搖頭角度大于其檢測(cè)角度閾值的情況下,確定檢測(cè)到左搖頭;在右搖頭的角度大于其檢測(cè)角度閾值的情況下,確定檢測(cè)到右搖頭;在仰頭的角度大于其檢測(cè)角度閾值的情況下,確定檢測(cè)到仰頭;而在低頭的角度大于其檢測(cè)角度閾值的情況下,確定檢測(cè)到低頭。這里,左搖頭角度可以作為左搖頭系數(shù),右搖頭角度可以作為右搖頭系數(shù),低頭角度可以作為低頭系數(shù),仰頭角度可以作為仰頭系數(shù)。
當(dāng)然,本發(fā)明也不限于必須根據(jù)所計(jì)算的人臉關(guān)鍵點(diǎn)來(lái)計(jì)算人臉的動(dòng)作系數(shù)和/或姿態(tài)系數(shù)。
作為示例,所述人臉屬性可以?xún)H包括動(dòng)作系數(shù)和/或姿態(tài)系數(shù),可以采用現(xiàn)有的動(dòng)作/姿態(tài)識(shí)別方法來(lái)得到動(dòng)作系數(shù)和/或姿態(tài)系數(shù),并且也可以采用將來(lái)開(kāi)發(fā)的動(dòng)作/姿態(tài)識(shí)別方法來(lái)得到動(dòng)作系數(shù)和/或姿態(tài)系數(shù),這些計(jì)算人臉屬性的方式都應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。
這里,在步驟s420中定位的人臉關(guān)鍵點(diǎn)為2d關(guān)鍵點(diǎn),而人臉動(dòng)作模型庫(kù)中的人臉關(guān)鍵點(diǎn)模型可以為3d關(guān)鍵點(diǎn)或2d關(guān)鍵點(diǎn)。
在步驟s440,確定是否識(shí)別到人臉動(dòng)作。
在步驟s440確定未識(shí)別到人臉動(dòng)作的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法返回到步驟s320,繼續(xù)獲取圖像。
在步驟s440確定識(shí)別到人臉動(dòng)作的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法進(jìn)行到步驟s450。
在步驟s450,確定所識(shí)別的人臉動(dòng)作與動(dòng)作指令是否匹配。
在步驟s450確定所識(shí)別的人臉動(dòng)作與動(dòng)作指令匹配的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法進(jìn)行到步驟s240。
然而,在步驟s450確定所識(shí)別的人臉動(dòng)作與動(dòng)作指令不匹配的情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法進(jìn)行到步驟s260,確定活體人臉驗(yàn)證失敗。
本發(fā)明實(shí)施例所需的外界輸入僅包括普通的圖像,例如可以為普通的視頻圖像序列,僅需在屏幕上與用戶(hù)進(jìn)行交互,因此無(wú)需特殊硬件,可以部署在人臉圖像采集端處,例如,在安防應(yīng)用領(lǐng)域,可以部署在門(mén)禁系統(tǒng)的圖像采集端;在金融應(yīng)用領(lǐng)域,可以部署在個(gè)人終端處,諸如智能電話(huà)、平板電腦、個(gè)人計(jì)算機(jī)等。
當(dāng)然,本發(fā)明不限于此,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法還可以分布地部署在服務(wù)器端(或云端)和個(gè)人終端處。
圖5示出了根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖。
根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置500包括隨機(jī)動(dòng)作指令序列生成模塊510和活體人臉驗(yàn)證模塊520。
所述隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成動(dòng)作指令序列。
所述活體人臉驗(yàn)證模塊520進(jìn)行活體人臉驗(yàn)證,并且在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功,即檢測(cè)到活體人臉。
其中,隨機(jī)動(dòng)作指令序列生成模塊510和活體人臉驗(yàn)證模塊520可以為硬件、軟件、固件以及它們的任意可行的組合。
圖6示出了根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖。
根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證裝置包括隨機(jī)動(dòng)作指令序列生成模塊510、指令序列發(fā)出模塊610、以及活體人臉驗(yàn)證模塊520。所述活體人臉驗(yàn)證模塊520可以包括動(dòng)作匹配檢測(cè)子模塊6210以及驗(yàn)證結(jié)果輸出子模塊6220。
隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成動(dòng)作指令序列。
指令序列發(fā)出模塊610按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所發(fā)出的動(dòng)作指令是否匹配。
驗(yàn)證結(jié)果輸出子模塊6220根據(jù)所述動(dòng)作匹配檢測(cè)子模塊6210的檢測(cè)結(jié)果以及所述指令序列發(fā)出模塊610的最后指令指示,輸出活體人臉驗(yàn)證成功或失敗的驗(yàn)證結(jié)果。
此外,所述指令序列發(fā)出模塊610還在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令匹配的情況下,確定所述動(dòng)作指令序列中是否存在下一個(gè)動(dòng)作指令需要發(fā)出,并且在確定所述動(dòng)作指令序列中存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所述指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令匹配、并且所述指令序列發(fā)出模塊610確定不存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所述指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
因此,對(duì)于所述指令序列發(fā)出模塊610發(fā)出的每個(gè)動(dòng)作指令,在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220確定活體人臉驗(yàn)證失敗。對(duì)于所述指令序列發(fā)出模塊610發(fā)出的除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令匹配并且所述指令序列發(fā)出模塊610存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述指令序列發(fā)出模塊610才發(fā)出下一個(gè)動(dòng)作指令。對(duì)于所述指令序列發(fā)出模塊610發(fā)出的所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220確定活體人臉驗(yàn)證成功。
根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證裝置,對(duì)于隨機(jī)地生成的動(dòng)作指令序列中的每個(gè)動(dòng)作指令,僅在用戶(hù)正確做出該動(dòng)作指令相應(yīng)的動(dòng)作(即確定人臉動(dòng)作與該動(dòng)作指令匹配)后才會(huì)開(kāi)始下一個(gè)動(dòng)作指令的判斷。
此外,根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證裝置,對(duì)于隨機(jī)地生成的動(dòng)作指令序列,只有在用戶(hù)依次通過(guò)所述動(dòng)作指令序列要求的所有動(dòng)作判斷之后,才能確定活體人臉驗(yàn)證成功。
其中,隨機(jī)動(dòng)作指令序列生成模塊510、指令序列發(fā)出模塊610、動(dòng)作匹配檢測(cè)子模塊6210以及驗(yàn)證結(jié)果輸出子模塊6220可以為硬件、軟件、固件以及它們的任意可行的組合。
圖7示出了根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證裝置的示意性框圖。
根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證裝置包括隨機(jī)動(dòng)作指令序列生成模塊510、指令序列發(fā)出模塊610、以及活體人臉驗(yàn)證模塊520。所述活體人臉驗(yàn)證模塊520可以包括動(dòng)作匹配檢測(cè)子模塊6210、驗(yàn)證結(jié)果輸出子模塊6220以及定時(shí)器6230。
隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成動(dòng)作指令序列。
指令序列發(fā)出模塊610按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
定時(shí)器6230在每個(gè)動(dòng)作指令發(fā)出后對(duì)定時(shí)時(shí)間進(jìn)行計(jì)時(shí)。
指令序列發(fā)出模塊610發(fā)出當(dāng)前排序最前的動(dòng)作指令后,觸發(fā)定時(shí)器6220開(kāi)始計(jì)時(shí)??梢灶A(yù)先設(shè)置定時(shí)器6220的定時(shí)時(shí)間,例如,定時(shí)器6220的定時(shí)時(shí)間可以但不限于被設(shè)置為3秒、5秒或10秒。定時(shí)器6220在定時(shí)時(shí)間到期后輸出定時(shí)器超時(shí)信號(hào)。
在定時(shí)器6230未超時(shí)的情況下,動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所發(fā)出的動(dòng)作指令是否匹配。
此外,所述指令序列發(fā)出模塊610還在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與步驟s220發(fā)出的動(dòng)作指令匹配的情況下,確定所述動(dòng)作指令序列中是否存在下一個(gè)動(dòng)作指令需要發(fā)出,并且在確定所述動(dòng)作指令序列中存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令。
在所述定時(shí)器6220未超時(shí)、所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所述指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令匹配、并且所述指令序列發(fā)出模塊610確定不存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與所述指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
在定時(shí)器6230輸出定時(shí)器超時(shí)信號(hào)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
因此,對(duì)于所述指令序列發(fā)出模塊610發(fā)出的每個(gè)動(dòng)作指令,在所述定時(shí)器6230超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210確定未檢測(cè)到人臉動(dòng)作的情況下、或者在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220確定活體人臉驗(yàn)證失敗。對(duì)于所述指令序列發(fā)出模塊610發(fā)出的除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在所述定時(shí)器6230未超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令匹配并且所述指令序列發(fā)出模塊610存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,所述指令序列發(fā)出模塊610才發(fā)出下一個(gè)動(dòng)作指令。對(duì)于所述指令序列發(fā)出模塊610發(fā)出的所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在所述定時(shí)器6230超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220確定活體人臉驗(yàn)證成功。
其中,隨機(jī)動(dòng)作指令序列生成模塊510、指令序列發(fā)出模塊610、動(dòng)作匹配檢測(cè)子模塊6210、驗(yàn)證結(jié)果輸出子模塊6220、以及定時(shí)器6230均可以為硬件、軟件、固件以及它們的任意可行的組合。
此外,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置還包括:圖像獲取模塊(未示出)、人臉屬性計(jì)算模塊(未示出)、以及人臉動(dòng)作識(shí)別模塊(未示出)。所述圖像獲取模塊獲取人臉圖像。所述人臉屬性計(jì)算模塊計(jì)算所獲取的人臉圖像中的人臉屬性。所述人臉動(dòng)作識(shí)別模塊根據(jù)所計(jì)算的人臉屬性識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證裝置,對(duì)于隨機(jī)地生成的動(dòng)作指令序列中的每個(gè)動(dòng)作指令,只有用戶(hù)在規(guī)定的定時(shí)時(shí)間內(nèi)完成指定動(dòng)作并且用戶(hù)不能做出明顯錯(cuò)誤動(dòng)作的情況下,才能通過(guò)該動(dòng)作指令的動(dòng)作匹配檢測(cè)。這里,所述明顯錯(cuò)誤動(dòng)作可以包括與當(dāng)前動(dòng)作指令不匹配的可識(shí)別的人臉動(dòng)作,或者根據(jù)實(shí)際情況還可以包括與當(dāng)前動(dòng)作指令不匹配的明顯的不可識(shí)別的人臉動(dòng)作。
例如,所述指令序列發(fā)出模塊610當(dāng)前發(fā)出的動(dòng)作指令為眨眼指令,所述定時(shí)器6230的定時(shí)時(shí)間為5秒,當(dāng)檢測(cè)到用戶(hù)的人臉動(dòng)作為微笑、搖頭、伸舌等時(shí),所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作與動(dòng)作指令不匹配,無(wú)論所述定時(shí)器6230的定時(shí)時(shí)間是否到期,所述驗(yàn)證結(jié)果輸出子模塊6220都得到活體人臉檢測(cè)失敗的結(jié)果;另一方面,當(dāng)在所述定時(shí)器6230的定時(shí)時(shí)間內(nèi)一直未檢測(cè)到有效的人臉動(dòng)作時(shí),即不僅沒(méi)有檢測(cè)到眨眼動(dòng)作也沒(méi)有檢測(cè)到其它可識(shí)別的人臉動(dòng)作,在此情況下,所述驗(yàn)證結(jié)果輸出子模塊6220也得到活體人臉檢測(cè)失敗的結(jié)果。
其中,圖像獲取模塊、人臉屬性計(jì)算模塊、人臉動(dòng)作識(shí)別模塊均可以為硬件、軟件、固件以及它們的任意可行的組合。
接下來(lái),將具體描述本發(fā)明實(shí)施例中的隨機(jī)生成的動(dòng)作指令序列。根據(jù)本發(fā)明實(shí)施例的所述動(dòng)作指令序列可以包括至少一個(gè)動(dòng)作指令,每個(gè)動(dòng)作指令為單一動(dòng)作指令或序貫動(dòng)作指令,每個(gè)序貫動(dòng)作指令指示依次執(zhí)行至少兩個(gè)單一動(dòng)作,每個(gè)單一動(dòng)作為簡(jiǎn)單動(dòng)作或復(fù)雜動(dòng)作,每個(gè)單一動(dòng)作指令指示執(zhí)行一個(gè)單一動(dòng)作,并且每個(gè)單一動(dòng)作指令為簡(jiǎn)單動(dòng)作指令或復(fù)雜動(dòng)作指令,每個(gè)簡(jiǎn)單動(dòng)作指令指示執(zhí)行一個(gè)臉部動(dòng)作,每個(gè)復(fù)雜動(dòng)作指令指示同時(shí)執(zhí)行至少兩個(gè)臉部動(dòng)作。在本發(fā)明實(shí)施例中,簡(jiǎn)單動(dòng)作可以指僅包括一個(gè)臉部動(dòng)作的動(dòng)作,例如眨眼、閉眼、微笑、點(diǎn)頭、搖頭等;復(fù)雜動(dòng)作可以指同時(shí)進(jìn)行至少兩個(gè)臉部動(dòng)作的動(dòng)作,例如同時(shí)張嘴且左搖頭、同時(shí)閉眼且仰頭等。
將參照根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法及裝置給出所述動(dòng)作指令序列的示例。
第一示例
在該第一示例中,所述動(dòng)作指令序列包括至少兩個(gè)動(dòng)作指令,每個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令。
所述隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成的動(dòng)作指令序列包括兩個(gè)動(dòng)作指令,每個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令。例如,該動(dòng)作指令序列依序包括:眨眼動(dòng)作指令(第一動(dòng)作指令)以及張嘴動(dòng)作指令(第二動(dòng)作指令)。
所述指令序列發(fā)出模塊610首先發(fā)出眨眼動(dòng)作指令,并且所述定時(shí)器6230開(kāi)始計(jì)時(shí)。
在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為眨眼動(dòng)作、并且所述定時(shí)器6230未超時(shí)的情況下,所述隨機(jī)動(dòng)作指令序列生成模塊510發(fā)出張嘴動(dòng)作指令并且所述定時(shí)器6230重新開(kāi)始計(jì)時(shí)。
接下來(lái),在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為張嘴動(dòng)作、并且所述定時(shí)器6230未超時(shí)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
然而,在眨眼動(dòng)作檢測(cè)過(guò)程中,在所述定時(shí)器6230未超時(shí)、但所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為伸舌動(dòng)作的情況下,或者在所述定時(shí)器6230超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210未檢測(cè)到可識(shí)別的人臉動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。這里,可識(shí)別的人臉動(dòng)作可以包括如上所述的在人臉動(dòng)作模型庫(kù)中預(yù)先定義的人臉動(dòng)作。
另一方面,在張嘴動(dòng)作檢測(cè)過(guò)程中,在所述定時(shí)器6230未超時(shí)、但所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為搖頭動(dòng)作的情況下,或者在所述定時(shí)器6230超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210未檢測(cè)到可識(shí)別的人臉動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
可選地,在所述定時(shí)器6230未超時(shí)、但所述動(dòng)作匹配檢測(cè)子模塊6210檢測(cè)到不可識(shí)別的人臉動(dòng)作的情況下,所述動(dòng)作匹配檢測(cè)子模塊6210也可以輸出活體人臉驗(yàn)證失敗的結(jié)果,或者可以繼續(xù)檢測(cè)人臉動(dòng)作。這里,不可識(shí)別的人臉動(dòng)作包括在人臉動(dòng)作模型庫(kù)中未預(yù)先定義的人臉動(dòng)作,并且不可識(shí)別的人臉動(dòng)作不同于無(wú)人臉動(dòng)作。例如,不可識(shí)別的人臉動(dòng)作可以是手遮住人臉眼睛等。
在該示例中,即使隨機(jī)生成的動(dòng)作指令序列僅包括兩個(gè)簡(jiǎn)單動(dòng)作指令,由于其隨機(jī)性,可以較好地防范針對(duì)固定動(dòng)作指令所進(jìn)行的攻擊。
第二示例
在該第二示例中,所述至少一個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令與復(fù)雜動(dòng)作指令的任意組合,并且所述至少一個(gè)動(dòng)作指令中的至少一部分為復(fù)雜動(dòng)作指令。
例如,所述隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成的動(dòng)作指令序列僅包括一個(gè)復(fù)雜動(dòng)作指令,該復(fù)雜動(dòng)作指令為同時(shí)張嘴且左搖頭動(dòng)作指令。
所述指令序列發(fā)出模塊610發(fā)出該同時(shí)張嘴且左搖頭動(dòng)作指令。
在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為同時(shí)張嘴且左搖頭動(dòng)作、并且所述定時(shí)器6230未超時(shí)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
然而,在所述定時(shí)器6230未超時(shí)、但所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為低頭動(dòng)作的情況下,或者在所述定時(shí)器6230超時(shí)并且所述動(dòng)作匹配檢測(cè)子模塊6210未檢測(cè)到可識(shí)別的人臉動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
可選地,在所述定時(shí)器6230未超時(shí)、但所述動(dòng)作匹配檢測(cè)子模塊6210檢測(cè)到不可識(shí)別的人臉動(dòng)作的情況下,根據(jù)實(shí)際需要,所述動(dòng)作匹配檢測(cè)子模塊6210也可以輸出活體人臉驗(yàn)證失敗的結(jié)果,或者可以繼續(xù)檢測(cè)人臉動(dòng)作。
在該示例中,隨機(jī)生成的動(dòng)作指令序列包括了復(fù)雜動(dòng)作指令,相對(duì)于簡(jiǎn)單動(dòng)作指令而言,可以使得活體人臉驗(yàn)證更為準(zhǔn)確,并且抗攻擊能力更強(qiáng)。
第三示例
在該第三示例中,與該第二示例的情況相同,所述至少一個(gè)動(dòng)作指令為簡(jiǎn)單動(dòng)作指令與復(fù)雜動(dòng)作指令的任意組合,并且所述至少一個(gè)動(dòng)作指令中的至少一部分為復(fù)雜動(dòng)作指令。
例如,所述隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)地生成的動(dòng)作指令序列可以包括兩個(gè)動(dòng)作指令,其中,第一動(dòng)作指令為同時(shí)伸舌且仰頭動(dòng)作指令(復(fù)雜動(dòng)作指令),第二動(dòng)作指令為微笑動(dòng)作指令(簡(jiǎn)單動(dòng)作指令)。
所述指令序列發(fā)出模塊610首先發(fā)出該同時(shí)伸舌且仰頭動(dòng)作指令,并且所述定時(shí)器6230開(kāi)始計(jì)時(shí)。
在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為伸舌且仰頭動(dòng)作、并且所述定時(shí)器6230未超時(shí)的情況下,所述指令序列發(fā)出模塊610確定還有一個(gè)動(dòng)作指令(即,第二動(dòng)作指令)需要發(fā)出。
然后,所述指令序列發(fā)出模塊610再發(fā)出微笑動(dòng)作指令,并且定時(shí)器6230重新開(kāi)始計(jì)時(shí)。
接下來(lái),在動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為微笑動(dòng)作、并且所述定時(shí)器6230未超時(shí)的情況下,所述指令序列發(fā)出模塊610確定沒(méi)有動(dòng)作指令需要發(fā)出。此時(shí),所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
另一方面,在所述指令序列發(fā)出模塊610發(fā)出該同時(shí)伸舌且仰頭動(dòng)作指令后,在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為搖頭動(dòng)作(即,可識(shí)別的人臉動(dòng)作)、并且所述定時(shí)器6230未超時(shí)的情況下,或者在所述定時(shí)器6230超時(shí)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
另外,在所述指令序列發(fā)出模塊610發(fā)出該微笑動(dòng)作指令后,在所述動(dòng)作匹配檢測(cè)子模塊6210確定人臉動(dòng)作為點(diǎn)頭動(dòng)作(即,可識(shí)別的人臉動(dòng)作)、并且所述定時(shí)器6230未超時(shí)的情況下,或者在所述定時(shí)器6230超時(shí)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
在該示例中,隨機(jī)生成的動(dòng)作指令序列包括多個(gè)動(dòng)作指令,并且所述多個(gè)動(dòng)作指令至少包括復(fù)雜動(dòng)作指令,相對(duì)于一個(gè)動(dòng)作指令而言,提高了活體人臉驗(yàn)證的要求,可以很好地防止視頻、3d人臉模型、和人臉面具的攻擊。
第四示例
在第一到第三示例中,無(wú)論是簡(jiǎn)單動(dòng)作指令還是復(fù)雜動(dòng)作指令,每個(gè)動(dòng)作指令均為單一動(dòng)作指令。
在該第四示例中,所述至少一個(gè)動(dòng)作指令為序貫動(dòng)作指令與單一動(dòng)作指令的任意組合,并且所述至少一個(gè)動(dòng)作指令中的至少一部分動(dòng)作指令為序貫動(dòng)作指令。
例如,隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)生成的動(dòng)作指令序列包括一個(gè)序貫動(dòng)作指令,該序貫動(dòng)作指令為先眨眼再伸舌。在此情況下,在所述定時(shí)器6230未超時(shí)、并且所述動(dòng)作匹配檢測(cè)子模塊6210首先識(shí)別出眨眼動(dòng)作接著又識(shí)別出伸舌動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。反之,在所述定時(shí)器6230超時(shí)、或者在所述動(dòng)作匹配檢測(cè)子模塊6210檢測(cè)到與所述序貫動(dòng)作指令不同的其它可識(shí)別的人臉動(dòng)作(例如,搖頭、或伸舌、或先眨眼再搖頭、或先眨眼再微笑)的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
再例如,隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)生成的動(dòng)作指令序列包括兩個(gè)序貫動(dòng)作指令,其中,第一動(dòng)作指令為先眨眼再伸舌,第二動(dòng)作指令為先微笑再抬頭。在此情況下,在所述定時(shí)器6230未超時(shí)、并且所述動(dòng)作匹配檢測(cè)子模塊6210首先識(shí)別出眨眼動(dòng)作接著又識(shí)別出伸舌動(dòng)作的情況下,所述指令序列發(fā)出模塊610繼續(xù)發(fā)出第二動(dòng)作指令并且定時(shí)器6230重置,然后,在所述定時(shí)器6230未超時(shí)、并且所述動(dòng)作匹配檢測(cè)子模塊6210首先識(shí)別出微笑動(dòng)作接著又識(shí)別出抬頭動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。反之,在所述定時(shí)器6230超時(shí)、或者在所述動(dòng)作匹配檢測(cè)子模塊6210檢測(cè)到與所述第一動(dòng)作指令不同的其它可識(shí)別的人臉動(dòng)作、或者在所述動(dòng)作匹配檢測(cè)子模塊6210檢測(cè)到與所述第二動(dòng)作指令不同的其它可識(shí)別的人臉動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證失敗的結(jié)果。
再例如,隨機(jī)動(dòng)作指令序列生成模塊510隨機(jī)生成的動(dòng)作指令序列包括一個(gè)序貫動(dòng)作指令和一個(gè)單一動(dòng)作指令,其中,第一動(dòng)作指令為序貫動(dòng)作指令,例如先眨眼再伸舌,第二動(dòng)作指令為單一動(dòng)作指令,例如同時(shí)張嘴并搖頭(復(fù)雜動(dòng)作指令)。在此情況下,在所述定時(shí)器6230未超時(shí)、并且所述動(dòng)作匹配檢測(cè)子模塊6210首先識(shí)別出眨眼動(dòng)作接著又識(shí)別出伸舌動(dòng)作的情況下,所述指令序列發(fā)出模塊610繼續(xù)發(fā)出第二動(dòng)作指令并且定時(shí)器6230重置,然后,在所述定時(shí)器6230未超時(shí)、并且所述動(dòng)作匹配檢測(cè)子模塊6210識(shí)別出同時(shí)張嘴并搖頭動(dòng)作的情況下,所述驗(yàn)證結(jié)果輸出子模塊6220輸出活體人臉驗(yàn)證成功的結(jié)果。
以上給出了根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法及裝置可以隨機(jī)地生成并采用的動(dòng)作指令序列的示例,動(dòng)作指令序列越復(fù)雜,活體人臉驗(yàn)證的可靠性越高,抗視頻攻擊、3d人臉模型攻擊的能力越強(qiáng)。
圖8示出了根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)的示意性框圖。
如圖8所示,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)包括:一個(gè)或多個(gè)處理器;一個(gè)或多個(gè)存儲(chǔ)器;以及在所述存儲(chǔ)器的至少一個(gè)中存儲(chǔ)的計(jì)算機(jī)程序指令。
所述計(jì)算機(jī)程序指令在被處理器的至少一個(gè)運(yùn)行時(shí)可以實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置的各個(gè)功能模塊的功能,并且/或者可以執(zhí)行根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法
具體地,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)執(zhí)行以下步驟:隨機(jī)地生成動(dòng)作指令序列;以及在確定人臉動(dòng)作匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
例如,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)可以執(zhí)行如上所述的根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法,并且可以執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
再例如,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)可以執(zhí)行如上所述的根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法,并且可以執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失?。粚?duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
此外,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)還執(zhí)行以下步驟:獲取人臉圖像;計(jì)算所述人臉圖像中的人臉屬性;以及根據(jù)所計(jì)算的人臉屬性,識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
此外,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)還可以包括:圖像采集設(shè)備,用于采集人臉圖像。
在此情況下,根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng),在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)從所述圖像采集設(shè)備獲取人臉圖像。
此外,根據(jù)本發(fā)明實(shí)施例,還提供了一種計(jì)算機(jī)程序產(chǎn)品。根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)了計(jì)算機(jī)程序指令。
所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)可以實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置的各個(gè)功能模塊的功能,并且/或者可以執(zhí)行根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證方法。
例如,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)執(zhí)行以下步驟:隨機(jī)地生成動(dòng)作指令序列;以及在確定人臉動(dòng)作依序匹配所述動(dòng)作指令序列的情況下,確定活體人臉驗(yàn)證成功。
例如,在所述計(jì)算機(jī)程序指令被所述計(jì)算機(jī)運(yùn)行時(shí)可以執(zhí)行如上所述的根據(jù)本發(fā)明第一實(shí)施例的活體人臉驗(yàn)證方法,并且可以執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失敗;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
再例如,在所述計(jì)算機(jī)程序指令被所述計(jì)算機(jī)運(yùn)行時(shí)可以執(zhí)行如上所述的根據(jù)本發(fā)明第二實(shí)施例的活體人臉驗(yàn)證方法,并且可以執(zhí)行以下步驟:按照所述動(dòng)作指令序列中的指令順序,發(fā)出所述動(dòng)作指令序列內(nèi)所有尚未發(fā)出的動(dòng)作指令中當(dāng)前排序最前的動(dòng)作指令;對(duì)于每個(gè)動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)未檢測(cè)到人臉動(dòng)作、或者確定人臉動(dòng)作與該動(dòng)作指令不匹配的情況下,確定活體人臉驗(yàn)證失??;對(duì)于除了所述動(dòng)作指令序列中排序最低的動(dòng)作指令之外的動(dòng)作指令,僅在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配并且存在下一個(gè)動(dòng)作指令需要發(fā)出的情況下,才發(fā)出下一個(gè)動(dòng)作指令;以及對(duì)于所述動(dòng)作指令序列中排序最低的動(dòng)作指令,在確定在該動(dòng)作指令發(fā)出后的定時(shí)時(shí)間內(nèi)檢測(cè)到的人臉動(dòng)作與該動(dòng)作指令匹配的情況下,確定活體人臉驗(yàn)證成功。
此外,在所述計(jì)算機(jī)程序指令被所述處理器的至少一個(gè)運(yùn)行時(shí)還執(zhí)行以下步驟:獲取人臉圖像;計(jì)算所述人臉圖像中的人臉屬性;以及根據(jù)所計(jì)算的人臉屬性,識(shí)別人臉動(dòng)作,其中,所述人臉屬性包括人臉關(guān)鍵點(diǎn)位置、人臉動(dòng)作系數(shù)、人臉姿態(tài)系數(shù)中的至少一項(xiàng)。
根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證裝置中的各模塊可以通過(guò)根據(jù)本發(fā)明實(shí)施例的活體人臉驗(yàn)證系統(tǒng)中的至少一個(gè)處理器運(yùn)行在至少一個(gè)存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn),或者可以在根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)的計(jì)算機(jī)指令被計(jì)算機(jī)運(yùn)行時(shí)實(shí)現(xiàn)。
所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的任意組合,例如一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包含用于隨機(jī)地生成動(dòng)作指令序列的計(jì)算機(jī)可讀的程序代碼,另一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包含用于進(jìn)行人臉活動(dòng)識(shí)別的計(jì)算機(jī)可讀的程序代碼。
所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以包括智能電話(huà)的存儲(chǔ)卡、平板電腦的存儲(chǔ)部件、個(gè)人計(jì)算機(jī)的硬盤(pán)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦除可編程只讀存儲(chǔ)器(eprom)、便攜式緊致盤(pán)只讀存儲(chǔ)器(cd-rom)、usb存儲(chǔ)器、或者上述存儲(chǔ)介質(zhì)的任意組合。
在上面詳細(xì)描述的本發(fā)明的示例實(shí)施例僅僅是說(shuō)明性的,而不是限制性的。本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的原理和精神的情況下,可對(duì)這些實(shí)施例進(jìn)行各種修改,組合或子組合,并且這樣的修改應(yīng)落入本發(fā)明的范圍內(nèi)。