本發(fā)明涉及生物特征處理領域,尤其涉及一種手掌防偽方法和裝置。
背景技術:
現有的手掌識別設備,在登記或識別手掌時,一般是直接獲取用戶的手掌圖像,以進行手掌登記和識別。
此時,不法分子可能利用手掌識別設備的漏洞,使用偽造的手掌信息通過手掌識別設備的識別或被手掌識別設備登記,例如使用盜取的手掌圖像讓手掌識別設備攝取該手掌圖像,或者使用偽造的包括手掌掌紋信息的手掌模型讓手掌識別設備攝取,
這樣,將會在手掌識別設備使用時,帶來安全隱患。
技術實現要素:
本發(fā)明實施例提供了一種手掌防偽方法和裝置,用于對活體手掌進行檢測。
為了解決上述技術問題,本發(fā)明實施例提供了以下技術方案:
一種手掌防偽方法,所述方法包括:
獲取待檢測手掌的至少兩張手掌圖像,所述手掌圖像包括手指圖像;
對每一所述手掌圖像,提取所述手指圖像的至少兩個手指關鍵點,所述至少兩個手指關鍵點屬于至少兩個不同的手指;
計算所述至少兩個手指關鍵點間的手指距離值;
根據所述至少兩張手掌圖像的所述手指距離值判斷所述待檢測手掌是否為活體手掌。
為了解決上述技術問題,本發(fā)明實施例還提供了以下技術方案:
一種手掌防偽裝置,所述裝置包括:
獲取單元,用于獲取待檢測手掌的至少兩張手掌圖像,所述手掌圖像包括手指圖像;
提取單元,用于對每一所述手掌圖像,提取所述手指圖像的至少兩個手指關鍵點,所述至少兩個手指關鍵點屬于至少兩個不同的手指;
計算單元,用于計算所述至少兩個手指關鍵點間的手指距離值;
判斷單元,用于根據所述至少兩張手掌圖像的所述手指距離值判斷所述待檢測手掌是否為活體手掌。
從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
獲取待檢測手掌的至少兩張手掌圖像,該手掌圖像包括手指圖像。然后,對每一所述手掌圖像,提取所述手指圖像的至少兩個手指關鍵點,該至少兩個手指關鍵點屬于至少兩個不同的手指;跟著,計算該至少兩個手指關鍵點間的手指距離值。從而,根據該至少兩張手掌圖像的手指距離值判斷所述待檢測手掌是否為活體手掌。因對偽造的手掌拍攝出的手掌圖像的手指距離值不會變化,而活體手掌可被其所屬的用戶靈活控制,使得攝取活體手掌的不同的手掌圖像上,手指距離值會有變化,根據待檢測手掌的不同的手掌圖像的手指距離值,即可判斷出待檢測手掌是否為活體手掌。
附圖說明
圖1為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖;
圖2為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖;
圖3為圖2所示實施例涉及的手掌圖像的一示意圖;
圖4為圖2所示實施例涉及的手掌圖像的另一示意圖;
圖5為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖;
圖6為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖;
圖7為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖;
圖8為本發(fā)明實施例提供的一種手掌防偽裝置的結構示意圖。
具體實施方式
本發(fā)明實施例提供了一種手掌防偽方法和裝置,用于對活體手掌進行檢測。
圖1為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖。參閱圖1,本發(fā)明實施例的方法包括:
步驟101:獲取待檢測手掌的至少兩張手掌圖像,手掌圖像包括手指圖像。
步驟102:對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點,該至少兩個手指關鍵點屬于至少兩個不同的手指。
步驟103:計算至少兩個手指關鍵點間的手指距離值。
步驟104:根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。
可選地,
獲取待檢測手掌的至少兩張手掌圖像,包括:
當發(fā)出第一提示指令后,獲取待檢測手掌的第一手掌圖像,第一提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài);
當發(fā)出第二提示指令后,獲取待檢測手掌的第二手掌圖像,第二提示指令用于提示用戶控制待檢測手掌執(zhí)行第二手掌狀態(tài);
根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌,包括:
判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求;
判斷第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求;
若第一手指距離值滿足第一手指距離值要求,且第二手指距離值滿足第二手指距離值要求,則確定待檢測手掌為活體手掌。
可選地,
手掌圖像包括第一手掌圖像和第二手掌圖像,
根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌,包括:
確定第一手掌圖像的第一手指距離值滿足第一手指距離值要求;
確定第二手掌圖像的第二手指距離值滿足第二手指距離值要求;
方法還包括:
獲取圖像獲取時長,其中圖像獲取時長表示獲取第一手掌圖像和獲取第二手掌圖像之間的時間長度;
當圖像獲取時長小于預設時間長度時,確定待檢測手掌為活體手掌。
可選地,
獲取待檢測手掌的至少兩張手掌圖像,包括:
當發(fā)出第三提示指令后,獲取待檢測手掌的第一手掌圖像和第二手掌圖像,其中第三提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài)和第二手掌狀態(tài),第一手掌狀態(tài)與第一手指距離值要求對應,第二手掌狀態(tài)與第二手指距離值要求對應。
可選地,
根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌,包括:
根據至少兩張手掌圖像的獲取順序,判斷至少兩張手掌圖像的手指距離值是否按照預設規(guī)則變化;
若至少兩張手掌圖像的手指距離值按照預設規(guī)則變化,則確定待檢測手掌為活體手掌。
可選地,
獲取待檢測手掌的至少兩張手掌圖像,包括:
按照先后順序分別獲取第一手掌圖像、第三手掌圖像、和第二手掌圖像;
根據至少兩張手掌圖像的獲取順序,判斷至少兩張手掌圖像的手指距離值是否按照預設規(guī)則變化,包括:
判斷第一手掌圖像的第一手指距離值是否滿足第一手指距離值要求;
判斷第二手掌圖像的第二手指距離值是否滿足第二手指距離值要求;
判斷第三手掌圖像的第三手指距離值是否處于第一手指距離值要求和第二手指距離值要求之間;
若第一手指距離值滿足第一手指距離值要求,第二手指距離值滿足第二手指距離值要求,且第三手指距離值處于第一手指距離值要求和第二手指距離值要求之間,則確定待檢測手掌為活體手掌。
可選地,
在手掌圖像上,手指距離值為第一手指關鍵點和第二手指關鍵點間的距離值,第一手指關鍵點位于第一手指的靠近第二手指的側邊,第二手指關鍵點位于第二手指的靠近第一手指的側邊。
可選地,
手指距離值要求包括大于第一預設距離值、小于第二預設距離值,
第一手指距離值要求和第二手指距離值要求屬于手指距離值要求,第一手指距離值要求和第二手指距離值要求不同。
綜上所述,獲取待檢測手掌的至少兩張手掌圖像,該手掌圖像包括手指圖像。然后,對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點,該至少兩個手指關鍵點屬于至少兩個不同的手指;跟著,計算該至少兩個手指關鍵點間的手指距離值。從而,根據該至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。因對偽造的手掌拍攝出的手掌圖像的手指距離值不會變化,而活體手掌可被其所屬的用戶靈活控制,使得攝取活體手掌的不同的手掌圖像上,手指距離值會有變化,根據待檢測手掌的不同的手掌圖像的手指距離值,即可判斷出待檢測手掌是否為活體手掌。
圖2為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖。參考上述內容,以手掌防偽設備執(zhí)行本發(fā)明實施例的方法進行說明,參閱圖2,本發(fā)明實施例的方法包括:
步驟201:獲取待檢測手掌的至少兩張手掌圖像。
其中,手掌圖像包括手指圖像。
用戶向手掌防偽設備出示手掌,手掌防偽設備獲取該待檢測手掌的至少兩張手掌圖像。
其中,手掌防偽設備為用于活體手掌識別的設備,其還可以集成其它的功能,例如集成掌靜脈識別、手掌信息登記等功能。在有的實施例中,該手掌防偽設備為集成本發(fā)明實施例的方法對應模塊的掌靜脈考勤機。
例如,在用戶進行掌紋登記或識別時,用戶將其待檢測手掌向手掌防偽設備的圖像采集裝置進行展示,手掌防偽設備的圖像采集裝置攝取待檢測手掌的手掌圖像。
在本發(fā)明有的實施例中,在步驟201之前,該手掌防偽設備可向用戶發(fā)出提示信息,以提示用戶控制待檢測手掌的動作,然后手掌防偽設備獲取待檢測手掌的手掌圖像。在活體手掌識別時即可配合使用該提示信息,以提高手掌防偽的效果。當然,該提示信息也可以無需手掌防偽設備發(fā)出,而是工作人員通過文字等貼出該提示信息。
例如,在登記或識別手掌時,手掌防偽設備在采集手掌圖像的時候,手掌防偽設備的系統隨機發(fā)送手掌張開或并攏的指令,用戶按照指令控制手掌,手掌防偽設備采集張開或并攏的掌靜脈圖像。
步驟202:對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點。
手掌防偽設備獲取了手掌圖像后,對獲取的每一手掌圖像的手指圖像,提取該手指圖像的至少兩個手指關鍵點。這些手指關鍵點屬于至少兩個不同的手指。手指關鍵點用于對手指的位置進行標識。
手指關鍵點的數量可以是2、3、4個等等,本發(fā)明實施例對此不作具體限定。手指關鍵點在手指中的位置例如可以在手指的側邊、底部、手指關節(jié)中部等等。
例如,如圖3和圖4所示,在手掌圖像的每個手指的側邊底部都可提取出手指關鍵點,圖中的黑色點即為手指關鍵點。
步驟203:計算至少兩個手指關鍵點間的手指距離值。
提取出手指關鍵點后,可根據這些手指關鍵點,計算手指關鍵點間的手指距離值。其中,該手指距離值可以是兩個手指關鍵點間的距離數值,或者是兩個手指關鍵點間的角度或弧線長,此時角度頂點或弧線圓心可為手掌的中心或該兩手指關鍵點所在手指的中心線的交點等位置。
在本發(fā)明有的實施例中,在手掌圖像上,手指距離值為第一手指關鍵點和第二手指關鍵點間的距離值,第一手指關鍵點位于第一手指的靠近第二手指的側邊,第二手指關鍵點位于第二手指的靠近第一手指的側邊。第一手指和第二手指可以是位置相鄰的手指,例如食指和中指,或者小拇指和無名指等。
例如,如圖3和圖4所示,分別對屬于同一待檢測手掌的手掌圖像提取手指關鍵點,這些手指關鍵點位于手指的底部側邊。然后即可計算手指關鍵點間的手指距離值,如,確定小拇指和無名指后,確定小拇指的靠近無名指的第一手指關鍵點11,以及確定無名指的靠近小拇指的第二手指關鍵點12,然后即可計算第一手指關鍵點和第二手指關鍵點間的手指距離值,該手指距離值為第一手指關鍵點和第二手指關鍵點間的直線距離。類似的,可確定食指和中指的相鄰的兩個手指關鍵點,根據該兩個手指關鍵點即可計算出手指距離值。
在本發(fā)明有的實施例中,在從一手掌圖像中得出多個手指距離值時,可以對這多個手指距離值進行平均值求取,以使用該平均手指距離值進行后續(xù)操作。或者都使用上這些手指距離值,但是在進行比較時,使用不同手掌圖像的對應的手指距離值進行比較,例如,一手掌圖像的手指距離值為小拇指與無名指間的手指距離值,該手指距離值與另一手掌圖像的小拇指與無名指間的手指距離值進行比較。
可以理解,手指距離值除了可根據相鄰手指關鍵點進行計算外,也可以根據不相鄰的手指關鍵點進行計算得到,只要用于計算的手指關鍵點屬于不同的手指即可。
在本發(fā)明有的實施例中,在計算出手指距離值后,可根據該手指距離值確定手掌圖像所處的手掌狀態(tài)。其中不同的手掌狀態(tài)對應于不同的手指距離值要求。手指距離值要求為關于手指距離值的限定。
例如,手指距離值要求包括大于第一預設距離值、小于第二預設距離值等。在本發(fā)明下述實施例中,用到的第一、第二手指距離值要求屬于該手指距離值要求的其中一種,第一、第二用于對不同手指距離值要求進行區(qū)別。即第一手指距離值要求和第二手指距離值要求屬于手指距離值要求,第一手指距離值要求和第二手指距離值要求不同。
當然,手指距離值要求還可以是等于零、大于或小于第三預設距離值等等,只要是屬于對手指距離值的限定即可。
不同的手掌狀態(tài)對應于不同的手指距離值要求,例如,如圖3所示,圖3為手掌張開的手掌圖像,手掌張開對應的手指距離值要求為手指距離值大于第一預設距離值;如圖4所示,圖4為手掌并攏的手掌圖像,手掌并攏對應的手指距離值要求為手指距離值小于第二預設距離值,此時手指距離值為零或近似為零。
步驟204:根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。
在獲取到不同手掌圖像的手指距離值后,即可根據不同手掌圖像的手掌距離值對待檢測手掌是否是活體手掌進行判斷。
在本發(fā)明有的實施例中,確定待檢測手掌為活體手掌后,可以執(zhí)行后續(xù)的操作,如進行手掌登記,或者進行掌靜脈的識別。若待檢測手掌判定為活體手掌失敗,則不對待檢測手掌執(zhí)行后續(xù)操作,或發(fā)出報警、對該待檢測手掌的用戶進行可疑記錄等。
例如,待檢測手掌若是活體手掌,則能正常使用掌靜脈考勤機,如進行手掌特征采集。完成登記或識別;否則,拒絕登記或識別,并發(fā)出警報。
其中,根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌具有多種實現方式,下面即舉出三個例子進行說明。
例一
參閱圖5,圖5為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖,該方法包括:
步驟501:當發(fā)出第一提示指令后,獲取待檢測手掌的第一手掌圖像。
其中,第一提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài)。
手掌防偽設備向用戶發(fā)出第一提示指令,例如在用戶向手掌防偽設備點擊進入登記操作或用戶在向圖像采集區(qū)域展示待檢測手掌時,手掌防偽設備發(fā)出第一提示指令,用戶獲取到該第一提示指令后,即可根據該第一提示指令的提示控制其待檢測手掌的狀態(tài)。該第一提示指令與第一手掌圖像對應。
例如,在手掌防偽設備檢測到圖像采集區(qū)域有手掌等物體時,手掌防偽設備發(fā)出提示指令“請張開手掌”,用戶根據該提示指令張開待檢測手掌,在2秒鐘后,手掌防偽設備通過圖像采集裝置獲取圖像采集區(qū)域的手掌圖像。
步驟502:當發(fā)出第二提示指令后,獲取待檢測手掌的第二手掌圖像。
其中,第二提示指令用于提示用戶控制待檢測手掌執(zhí)行第二手掌狀態(tài)。
步驟502可得實施例細節(jié)可參考步驟501。
例如,手掌防偽設備在執(zhí)行步驟501后,發(fā)出提示指令“請合攏手掌”,2秒后,獲取待檢測手掌的手掌圖像。
本發(fā)明實施例對步驟501和步驟502的執(zhí)行順序不作具體限定,可以是手掌防偽設備先執(zhí)行步驟501再執(zhí)行步驟502,也可以是步驟501和步驟502同時執(zhí)行。例如,手掌防偽設備交替發(fā)出第一和第二提示指令后,再獲取至少兩張手掌圖像,如手掌防偽設備發(fā)出第一、第二提示指令為“請向先張開再合攏手掌”,然后再進行多張手掌圖像的攝取。
上述步驟501和步驟502即為獲取待檢測手掌的至少兩張手掌圖像的具體實現方式之一。其中第一、第二提示指令為不同的提示指令。第一、第二手掌狀態(tài)為不同的手掌狀態(tài)。
步驟503:對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點。
步驟503的具體實現方式可參考步驟202。
步驟504:計算至少兩個手指關鍵點間的手指距離值。
步驟504的具體實現方式可參考步驟203。
對第一手指圖像和第二手掌圖像分別執(zhí)行步驟503和步驟504后,即可根據第一、第二手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌,具體的實現方式,詳見下述描述。
步驟505:判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求,以及第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求。若第一手指距離值滿足第一手指距離值要求,且第二手指距離值滿足第二手指距離值要求,則執(zhí)行步驟506。
其中,如上所述,手掌狀態(tài)與手指距離值要求對應,不同的手掌狀態(tài)對應于不同的手掌距離值要求。手掌防偽設備獲取第一手掌圖像后,因該第一手掌圖像與第一提示指令相關,而第一提示指令與第一手掌狀態(tài)相關,從而手掌防偽設備判斷該第一手掌圖像的第一手指距離是否符合第一手掌狀態(tài)的第一手指距離值要求。類似的,對第二手掌圖像也這樣處理。
例如,手掌防偽設備發(fā)出第一提示指令“請張開手掌”后,獲取第一手掌圖像,手掌防偽設備根據上述方法計算第一手掌圖像的手指距離值,而張開手掌的手掌狀態(tài)對應的手掌距離值要求是手指距離值大于第一預設距離值,從而手掌防偽設備判斷該第一手指圖像的手掌距離值是否大于第一預設距離值。類似的,第二提示指令為“合攏手掌”時,手掌防偽設備判斷對應的第二手掌圖像的手指距離值是否小于第二預設距離值。
步驟506:確定待檢測手掌為活體手掌。
若第一手指距離值滿足第一手指距離值要求,且第二手指距離值滿足第二手指距離值要求,則表明待檢測手掌發(fā)生了手指的移動,且是受用戶控制的,從而可確定待檢測手掌為活體手掌。否則,該待檢測手掌的活體識別失敗。若該待檢測手掌為偽造的手掌,則第一手掌圖像和第二手掌圖像難以分別符合第一提示指令和第二提示指令的要求,例如,在用戶只有一張張開的偽造手掌照片時,則用戶響應不了“合攏手掌”提示指令的要求,從而手掌防偽設備判斷與該提示指令對應的手掌圖像的手指距離值不符合要求,手掌防偽設備可確定當前的待檢測手掌為偽造的手掌。
上述步驟505和步驟506即為根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌的具體實現方式之一。
可以理解,在步驟505中,手掌防偽設備可以是同時執(zhí)行判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求,以及第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求。也可以是先后執(zhí)行判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求,和判斷第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求。例如在獲取到第一手掌圖像后,即執(zhí)行判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求。若判斷正確,在再判斷第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求,或者,開始執(zhí)行步驟502。
可以理解,步驟501和步驟502的執(zhí)行順序可以是手掌防偽設備隨機執(zhí)行,從而避免用戶預先知道該執(zhí)行順序而提前做好規(guī)避。
可以理解,在本發(fā)明有的實施例中,步驟501或步驟502可執(zhí)行多次,從而獲取多張手掌圖像,例如連續(xù)地交替或隨機執(zhí)行步驟501和步驟502三次,獲取3張手掌圖像?;蛘撸景l(fā)明實施例的方法還包括發(fā)出其它提示指令,以獲取其它手掌圖像,其中其它提示指令用于提示用戶控制待檢測手掌執(zhí)行其它手掌狀態(tài)。例如該其它提示指令為“請將手掌握緊成拳頭”等。若每張手掌圖像都與對應的手掌狀態(tài)的手指距離值要求相符,則確定待檢測手掌為活體手掌,若有一手掌圖像不符合對應的手掌狀態(tài)的手指距離值要求,則判定待檢測手掌為偽造手掌。
例二:
參閱圖6,圖6為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖,該方法包括:
步驟601:當發(fā)出第三提示指令后,獲取待檢測手掌的第一手掌圖像和第二手掌圖像。
其中,第三提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài)和第二手掌狀態(tài),第一手掌狀態(tài)與第一手指距離值要求對應,第二手掌狀態(tài)與第二手指距離值要求對應。
手掌防偽設備發(fā)出提示指令,該提示指令用于提示用戶控制待檢測手掌執(zhí)行不同的手掌狀態(tài),以使手掌防偽設備能獲取到與該不同的手掌狀態(tài)對應的手掌圖像。手掌防偽設備獲取第一手掌圖像與第二手掌圖像,以判斷該第一手掌圖像和第二手掌圖像是否符合要求。
如上所述,手掌狀態(tài)包括張開或并攏手指等。
例如,手掌防偽設備在感應到圖像采集區(qū)域有物體或手掌時,發(fā)出語音或文字的提示指令“請將手掌張開再并攏”。
可以理解,在本發(fā)明有的實施例中,可以不包括步驟601,但是工作人員可以將該提示指令的文字提示貼在用戶可見的地方,例如手掌防偽設備上,以使待檢測手掌的用戶可以根據該文字提示執(zhí)行相應的手掌狀態(tài)操作。
在本發(fā)明實施例中,手掌防偽設備獲取到的手掌圖像為至少兩張,當然還可以是多張,其中,手掌防偽設備獲取的手掌圖像中要包括與第一手掌狀態(tài)相關的第一手掌圖像、以及與第二手掌狀態(tài)相關的第二手掌圖像。
步驟601即為獲取待檢測手掌的至少兩張手掌圖像的具體實現方式之一。
步驟602:對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點。
步驟602的具體實現方式可參考步驟202。
步驟603:計算至少兩個手指關鍵點間的手指距離值。
步驟603的具體實現方式可參考步驟203。
獲取第一手掌圖像和第二手掌圖像后,并分別計算出不同手掌圖像中的手指關鍵點間的手指距離值后,即可根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。具體的實現方式如下:
步驟604:確定第一手掌圖像的第一手指距離值滿足第一手指距離值要求。
其中第一手掌狀態(tài)與第一手指距離值要求相關,手掌防偽設備要獲取到滿足第一手指距離值要求的第一手掌圖像。
例如,手掌防偽設備根據第一手掌圖像的手指關鍵點,確定出小拇指與無名指間的兩手指關鍵點,以及食指與中指相鄰的兩個手指關鍵點,再分別計算每組手指關鍵點之間的手指距離值,若得出的兩個手指距離值均大于第一預設距離值,則第一手掌圖像符合第一手指距離值要求。
步驟605:確定第二手掌圖像的第二手指距離值滿足第二手指距離值要求。
其中第二手掌狀態(tài)與第二手指距離值要求相關,手掌防偽設備要獲取到滿足第二手指距離值要求的第二手掌圖像。
例如,手掌防偽設備根據第二手掌圖像的手指關鍵點,確定出小拇指與無名指間的兩手指關鍵點,以及食指與中指相鄰的兩個手指關鍵點,再分別計算每組手指關鍵點之間的手指距離值,若得出的兩個手指距離值接近于零,即小于第二預設距離值,則第二手掌圖像符合第二手指距離值要求。
步驟606:獲取圖像獲取時長。
其中,圖像獲取時長表示獲取第一手掌圖像和獲取第二手掌圖像之間的時間長度。
在確定出第一手掌圖像滿足第一手指距離值要求且第二手掌圖像滿足第二手指距離值要求后,手掌防偽設備還要確定獲取第一手掌圖像和獲取第二手掌圖像之間的圖像獲取時長。
其中步驟604至步驟606有多種實現方式,例如,在手掌防偽設備檢測到有待檢測手掌后,連續(xù)對該待檢測手掌進行圖像獲取,即連續(xù)獲取多幀手掌圖像,并對這些手掌圖像進行手指關鍵點提取,根據這些手指關鍵點進行動態(tài)手指距離值檢測,當檢測到有一幀手掌圖像符合第一手指距離值要求時,則該幀手掌圖像為第一手掌圖像,此時觸發(fā)計時器記時,當檢測到有一幀手掌圖像符合第二手指距離值要求時,則該幀手掌圖像為第二手掌圖像,此時停止計時器記時,并計算得出開始計時至停止計時之間的圖像獲取時長。
或者,當手掌防偽設備對待檢測手掌進行手掌圖像的獲取,當檢測待帶檢測手掌靜止不動時獲取第一手掌圖像,并檢測第一手掌圖像是否滿足第一手指距離值要求。當待檢測手掌動作時,不獲取手掌圖像,直至待檢測手掌再次停止動作時,獲取第二手掌圖像,并判斷第二手掌圖像的第二手指距離值是否滿足第二手指距離值要求,并且手掌防偽設備控制計時器,在獲取第一手掌圖像時計時,在獲取第二手掌圖像時停止計時,然后計算得出開始計時至停止計時之間的圖像獲取時長,在第一、第二手指圖像都滿足要求時,該圖像獲取時長才有效。
可以理解,圖像獲取時長的計算還有多種方式,例如,在獲取第一或第二手掌圖像時記錄當前時刻,并根據該兩個當前時刻進行計算,得出兩時刻之間的圖像獲取時長。
步驟607:當圖像獲取時長小于預設時間長度時,確定待檢測手掌為活體手掌。
獲取到圖像獲取時長后,判斷該圖像獲取時長是否小于預設時間長度,若小于,則確定待檢測手掌為活體手掌,否則判定待檢測手掌為非活體手掌。其中,若第一/第二手掌圖像的第一/第二手指距離值不滿足第一/第二手指距離值要求,即步驟606和步驟607執(zhí)行失敗,例如獲取不到滿足第一手指距離值要求的手掌圖像或者獲取不到滿足第二手指距離值要求的手掌圖像,則直接判定待檢測手掌為偽造手掌,或者不對圖像獲取時長進行獲取,或判定圖像獲取時長無效,從而判定待檢測手掌為偽造的手掌。
可以理解,該預設時間長度的具體確定可以根據試驗或經驗值確定,例如為1秒、2秒等,本發(fā)明實施例對此不做具體限定。
例三
用戶控制其手掌動作時,該手掌的變化是漸變的,例如手掌從張開到并攏,手掌的手指距離值是逐漸變小的,或者手掌從并攏到張開,手掌的手指距離值是逐漸變大的。根據這個規(guī)律,手掌防偽設備可使用手掌圖像的獲取順序和預先建立的預設規(guī)則,使用不同的手掌圖像的手指距離值進行活體手掌的判斷。例如,在本發(fā)明有的實施例中,根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌,包括:根據至少兩張手掌圖像的獲取順序,判斷該至少兩張手掌圖像的手指距離值是否按照預設規(guī)則變化;若至少兩張手掌圖像的手指距離值按照預設規(guī)則變化,則確定待檢測手掌為活體手掌。
例如,該預設規(guī)則可以是先獲取的手掌圖像的手指距離值比后獲取的手掌圖像的手指距離值大,或先獲取的手掌圖像的手指距離值比后獲取的手掌圖像的手指距離值小。
下面,即舉一具體例子對此進行詳細的說明。
參閱圖7,圖7為本發(fā)明實施例提供的一種手掌防偽方法的方法流程圖,該方法包括:
步驟701:按照先后順序分別獲取第一手掌圖像、第三手掌圖像、和第二手掌圖像。
手掌防偽設備由先到后,獲取第一手掌圖像、第三手掌圖像和第二手掌圖像。該第三手掌圖像為在第一和第二手掌圖像之間獲取。
可以理解,第三手掌圖像可以為多張,例如,手掌防偽設備在獲取第一手掌圖像和第二手掌圖像之間隨機獲取3張手掌圖像。
步驟701為獲取待檢測手掌的至少兩張手掌圖像的具體實現方式之一。
可以理解,在本發(fā)明有的實施例中,在步驟701之前,手掌防偽設備還可以發(fā)出提示指令,用于提示用戶控制待檢測手掌的狀態(tài),例如,手掌防偽設備發(fā)出語音“請將手掌先張開再并攏”。當然,該提示指令也可以由貼在用戶可見位置的字符替代。
步驟702:對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點。
步驟702的具體實現方式可參考步驟202。
步驟703:計算至少兩個手指關鍵點間的手指距離值。
步驟703的具體實現方式可參考步驟203。
步驟704:判斷第一手掌圖像的第一手指距離值是否滿足第一手指距離值要求、第二手掌圖像的第二手指距離值是否滿足第二手指距離值要求、第三手掌圖像的第三手指距離值是否處于第一手指距離值要求和第二手指距離值要求之間;若第一手指距離值滿足第一手指距離值要求,第二手指距離值滿足第二手指距離值要求,且第三手指距離值處于第一手指距離值要求和第二手指距離值要求之間,則執(zhí)行步驟705。
第一、第二手指距離值要求可參考上述關于手指距離值要求的描述。例如,第一手指距離值要求為大于第一預設距離值,第二手指距離值要求為小于第二預設距離值。而處于第一手指距離值要求和第二手指距離值要求之間可為小于第一預設距離值且大于第二預設距離值。
其中,對步驟704的具體執(zhí)行方式本發(fā)明實施例不做具體限定,判斷條件:第一手掌圖像的第一手指距離值是否滿足第一手指距離值要求、第二手掌圖像的第二手指距離值是否滿足第二手指距離值要求、第三手掌圖像的第三手指距離值是否處于第一手指距離值要求和第二手指距離值要求之間,可以是在一個步驟中進行判斷,也可以是在不同步驟中分別判斷。
例如,手掌檢測設備在檢測到圖像采集區(qū)域有待檢測手掌或者其它物體后,開始連續(xù)獲取多張手掌圖像,并對這些手掌圖像的手指距離值進行動態(tài)檢測,例如對每幀手掌圖像計算小拇指與無名指間的手指距離值,以及食指與中指間的手指距離值。在檢測到符合第一手指距離值要求的手掌圖像后,該手掌圖像為第一手掌圖像,然后,在獲取到第二手掌圖像之間獲取3張第三手掌圖像,在獲取到符合第二手指距離值要求的手掌圖像后,該手掌圖像為第二手掌圖像,則手掌防偽設備停止獲取手掌圖像,并判斷第三手掌圖像的第三手指距離值是否處于第一手指距離值要求和第二手指距離值要求之間。這樣即可實現根據至少兩張手掌圖像的獲取順序,判斷至少兩張手掌圖像的手指距離值是否按照預設規(guī)則變化的執(zhí)行。
可以理解,在第三手掌圖像為多張時,還要根據這多張第三手掌圖像的獲取順序判斷這三張手掌圖像的手指距離值是否按照預設規(guī)則變化。
例如,在手掌檢測設備先獲取的第一手掌圖像為張開的手掌圖像,而第二手掌圖像為并攏的手掌圖像時,則根據獲取順序判斷多張第三手掌圖像的手指距離值是否是逐漸變小。
步驟705:確定待檢測手掌為活體手掌。
若第一手指距離值滿足第一手指距離值要求,第二手指距離值滿足第二手指距離值要求,且第三手指距離值處于第一手指距離值要求和第二手指距離值要求之間,則確定待檢測手掌為活體手掌。
該三個判斷條件,若有一個不符合,則確定該待檢測手掌或物體為偽造的手掌。該三個判斷條件即為預設規(guī)則的具體形式之一。
可以理解,在本發(fā)明有的實施例中,手掌防偽設備可以使用上述例一、例二和例三中的手掌防偽方法的任意組合。
本發(fā)明實施例的手掌防偽方法,利用到了手掌圖像的手指距離值,因活體手掌的手指距離值可被用戶進行控制,從而可根據該手指距離值來判斷待檢測手掌是否是活體手掌。而在使用手掌圖像的掌紋、掌靜脈的掌心信息的實施例中,在獲取手掌圖像時,同時獲取手指圖像,容易實現,方便了用戶的操作和手掌防偽設備對信息的獲取,用戶只要向手掌防偽設備出示手掌,手掌防偽設備即可同時攝取到手掌的掌心信息和手指圖像。
綜上所述,獲取待檢測手掌的至少兩張手掌圖像,該手掌圖像包括手指圖像。然后,對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點,該至少兩個手指關鍵點屬于至少兩個不同的手指;跟著,計算該至少兩個手指關鍵點間的手指距離值。從而,根據該至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。因對偽造的手掌拍攝出的手掌圖像的手指距離值不會變化,而活體手掌可被其所屬的用戶靈活控制,使得攝取活體手掌的不同的手掌圖像上,手指距離值會有變化,根據待檢測手掌的不同的手掌圖像的手指距離值,即可判斷出待檢測手掌是否為活體手掌。
圖8為本發(fā)明實施例提供的一種手掌防偽裝置的結構示意圖,該手掌防偽裝置可集成在手掌防偽設備上,以執(zhí)行上述圖1、圖2、和圖5至圖7所示實施例的手掌防偽方法,參閱圖8,該手掌防偽裝置包括:
獲取單元801,用于獲取待檢測手掌的至少兩張手掌圖像,手掌圖像包括手指圖像;
提取單元802,用于對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點,至少兩個手指關鍵點屬于至少兩個不同的手指;
計算單元803,用于計算至少兩個手指關鍵點間的手指距離值;
判斷單元804,用于根據至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。
可選地,
獲取單元801,還用于當發(fā)出第一提示指令后,獲取待檢測手掌的第一手掌圖像,第一提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài);當發(fā)出第二提示指令后,獲取待檢測手掌的第二手掌圖像,第二提示指令用于提示用戶控制待檢測手掌執(zhí)行第二手掌狀態(tài);
判斷單元804,包括判斷模塊805和第一確定模塊806,
判斷模塊805,用于判斷第一手掌圖像的第一手指距離值是否滿足第一手掌狀態(tài)的第一手指距離值要求;
判斷模塊805,還用于判斷第二手掌圖像的第二手指距離值是否滿足第二手掌狀態(tài)的第二手指距離值要求;
第一確定模塊806,用于若第一手指距離值滿足第一手指距離值要求,且第二手指距離值滿足第二手指距離值要求,則確定待檢測手掌為活體手掌。
可選地,
手掌圖像包括第一手掌圖像和第二手掌圖像,
判斷單元804,包括第二確定模塊807、獲取模塊808和第三確定模塊809,
第二確定模塊807,用于確定第一手掌圖像的第一手指距離值滿足第一手指距離值要求;
第二確定模塊807,還用于確定第二手掌圖像的第二手指距離值滿足第二手指距離值要求;
獲取模塊808,用于獲取圖像獲取時長,其中圖像獲取時長表示獲取第一手掌圖像和獲取第二手掌圖像之間的時間長度;
第三確定模塊809,用于當圖像獲取時長小于預設時間長度時,確定待檢測手掌為活體手掌。
可選地,
獲取單元801,還用于當發(fā)出第三提示指令后,獲取待檢測手掌的第一手掌圖像和第二手掌圖像,其中第三提示指令用于提示用戶控制待檢測手掌執(zhí)行第一手掌狀態(tài)和第二手掌狀態(tài),第一手掌狀態(tài)與第一手指距離值要求對應,第二手掌狀態(tài)與第二手指距離值要求對應。
可選地,
判斷單元804,包括:
規(guī)則判斷模塊810,用于根據至少兩張手掌圖像的獲取順序,判斷至少兩張手掌圖像的手指距離值是否按照預設規(guī)則變化;
第四確定模塊811,用于若至少兩張手掌圖像的手指距離值按照預設規(guī)則變化,則確定待檢測手掌為活體手掌。
可選地,
獲取單元801,還用于按照先后順序分別獲取第一手掌圖像、第三手掌圖像、和第二手掌圖像;
規(guī)則判斷模塊804,包括:
判斷子單元812,用于判斷第一手掌圖像的第一手指距離值是否滿足第一手指距離值要求;
判斷子單元812,還用于判斷第二手掌圖像的第二手指距離值是否滿足第二手指距離值要求;
判斷子單元812,還用于判斷第三手掌圖像的第三手指距離值是否處于第一手指距離值要求和第二手指距離值要求之間;
確定子單元813,用于若第一手指距離值滿足第一手指距離值要求,第二手指距離值滿足第二手指距離值要求,且第三手指距離值處于第一手指距離值要求和第二手指距離值要求之間,則確定待檢測手掌為活體手掌。
可選地,
在手掌圖像上,手指距離值為第一手指關鍵點和第二手指關鍵點間的距離值,第一手指關鍵點位于第一手指的靠近第二手指的側邊,第二手指關鍵點位于第二手指的靠近第一手指的側邊。
可選地,
手指距離值要求包括大于第一預設距離值、小于第二預設距離值,
第一手指距離值要求和第二手指距離值要求屬于手指距離值要求,第一手指距離值要求和第二手指距離值要求不同。
綜上所述,獲取單元801獲取待檢測手掌的至少兩張手掌圖像,該手掌圖像包括手指圖像。然后,提取單元802對每一手掌圖像,提取手指圖像的至少兩個手指關鍵點,該至少兩個手指關鍵點屬于至少兩個不同的手指;跟著,計算單元803計算該至少兩個手指關鍵點間的手指距離值。從而,判斷單元804根據該至少兩張手掌圖像的手指距離值判斷待檢測手掌是否為活體手掌。因對偽造的手掌拍攝出的手掌圖像的手指距離值不會變化,而活體手掌可被其所屬的用戶靈活控制,使得攝取活體手掌的不同的手掌圖像上,手指距離值會有變化,根據待檢測手掌的不同的手掌圖像的手指距離值,即可判斷出待檢測手掌是否為活體手掌。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。