專利名稱:區(qū)分真人面部與平坦表面的制作方法
區(qū)分真人面部與平坦表面
背景技術:
常常通過只允許所選擇的個人訪問各種系統(tǒng)或位置來保持個人或企業(yè)的隱私。用于限制訪問的自動化系統(tǒng)通常具有用戶本身的身份,并且所述系統(tǒng)于是認證用戶所提供的標識。但是這樣的自動化系統(tǒng)也存在其問題。這方面的一個問題在于,自動化系統(tǒng)難以在真實的用戶標識與偽造的或錯誤的用戶標識之間進行區(qū)分。這樣的自動化系統(tǒng)的錯誤認證可能會導致盡管希望限制個人訪問某些系統(tǒng)或位置但是其仍然被允許訪問這樣的系統(tǒng)或位置。
發(fā)明內容
提供本概要是為了以簡化形式介紹將在下面的詳細描述部分中進一步描述的概念的選擇。本概要不意圖標識出所要求保護的主題內容的關鍵特征或本質特征,也不意圖被用來限制所要求保護的主題內容的范圍。根據一個或更多方面,訪問包括由用戶呈現(xiàn)的面部的多幅圖像。基于所述多幅圖像,確定包括在所述多幅圖像中的面部是3維(3D)結構還是平坦表面。如果確定包括在所述多幅圖像中的面部是3維結構,則提供表明用戶可以被認證的指示。但是如果確定包括在所述多幅圖像中的面部是平坦表面,則提供表明用戶無法被認證的指示。根據一個或更多方面,訪問包括由用戶呈現(xiàn)的面部的多幅圖像。基于所述多幅圖像,確定在所述面部的一個或更多組成部分(例如眼睛、嘴等等)中是否存在運動。如果確定在所述面部的一個或更多組成部分中存在運動,則提供表明用戶可以被認證的指示。但是如果確定在所述面部的一個或更多組成部分中不存在運動,則提供表明用戶無法被認證的指示。
相同的附圖標記在各幅圖中始終被用來指代相同的特征。圖1示出了根據一個或更多實施例的實施真人面部與平坦表面的區(qū)分的示例性系統(tǒng)。圖2是示出了根據一個或更多實施例的用于區(qū)分真人面部與平坦表面的示例性處理的流程圖。圖3是示出了根據一個或更多實施例的使用基于同形的技術來確定多幅圖像中的面部是3D結構還是平坦表面的示例性處理的流程圖。圖4是示出了根據一個或更多實施例的使用來自運動估計技術的結構來確定多幅圖像中的面部是3D結構還是平坦表面的示例性處理的流程圖。圖5是示出了根據一個或更多實施例的用于確定在面部的一個或更多組成部分中是否存在運動的示例性處理的流程圖。圖6示出了根據一個或更多實施例的可以被配置成實施真人面部與平坦表面的區(qū)分的示例性計算設備。
具體實施例方式在這里討論區(qū)分真人面部與平坦表面。為了針對特定訪問(例如訪問計算機或網絡、訪問建筑物或其他位置等等)認證用戶,捕獲并分析由用戶呈現(xiàn)的面部的多幅圖像。由用戶呈現(xiàn)的面部可以是用戶的實際面部,或者可以是由冒充者呈現(xiàn)的用戶面部的照片。嘗試確定圖像包括真人面部(例如所捕獲的圖像屬于真人)還是面部照片。如果確定圖像包括真人面部,則假設由用戶呈現(xiàn)的面部是請求特定訪問的實際用戶的面部,并且可以針對訪問認證用戶。但是如果確定圖像包括照片,則假設由用戶呈現(xiàn)的面部是使用照片的冒充者的面部,并且無法針對訪問認證用戶。圖1示出了根據一個或更多實施例的實施真人面部與平坦表面的區(qū)分的示例性系統(tǒng)100。系統(tǒng)100包括圖像捕獲組件102和真人面部檢測模塊104。圖像捕獲組件102和真人面部檢測模塊104可以分別由一個或更多計算設備實施。多種不同類型的計算設備可以被用來實施圖像捕獲組件102和真人面部檢測模塊104,比如臺式計算機、膝上型或筆記本計算機、記事本計算機、移動站、娛樂電器、可通信地耦合到顯示設備的機頂盒、電視、蜂窩或其他無線電話、數字攝影機或視頻攝影機、游戲機、汽車計算機等等。圖像捕獲組件102和真人面部檢測模塊104可以被實施為同一計算設備的一部分,或者可替換地可以被實施為單獨的設備。當被實施為單獨的設備時,實施圖像捕獲組件102和真人面部檢測模塊104的設備可以通過多種不同網絡當中的任一種彼此通信,比如因特網、局域網(LAN)、公共電話網、內聯(lián)網、其他公共和/或專有網絡或者其組合等等??商鎿Q地,當被實施為單獨的設備時,實施圖像捕獲組件102和真人面部檢測模塊104的設備可以通過其他有線和/或無線連接機制彼此通信,比如通用串行總線(USB)、無線USB、Bluetooth、射頻等等。系統(tǒng)100是訪問控制系統(tǒng)的一部分或者與之通信。這樣的訪問控制系統(tǒng)可以被用來限制對于特定系統(tǒng)、資源、位置等等的訪問。舉例來說,系統(tǒng)100可以被用在訪問控制系統(tǒng)中,其限制哪些用戶可以訪問(例如進入)特定建筑物、哪些用戶可以訪問(例如登錄)特定計算設備、哪些用戶可以訪問(例如登錄)特定網絡等等。系統(tǒng)100通過確定圖像包括真人面部還是面部照片而促進限制這樣的訪問,正如下面將更加詳細地描述的那樣。圖像捕獲組件102捕獲分別包括由用戶108呈現(xiàn)的面部的多幅圖像106,并且使得圖像106可用于真人面部檢測模塊104。圖像捕獲組件102可以通過多種不同方式捕獲圖像106,比如使用各種數字成像技術(例如電荷耦合設備(CXD)、互補金屬氧化物半導體(CMOS)傳感器等等)。通常來說,用戶108將其自己呈現(xiàn)到圖像捕獲組件102,從而允許組件102捕獲用戶108的圖像106。在這種情況下,由用戶108呈現(xiàn)的面部是真人的面部,并且包括在圖像106中的面部是真人的面部。但是冒充者可能試圖通過向圖像捕獲組件102呈現(xiàn)他人面部的照片來蒙混訪問控制系統(tǒng)。在這種情況下,由用戶108呈現(xiàn)的面部是照片,并且包括在圖像106中的面部是所述面部的照片。真人面部檢測模塊104分析圖像106以便確定圖像106包括真人面部還是面部照片,并且輸出表明圖像106包括真人面部還是面部照片的指示110。指示110例如可以是用以表明圖像106包括真人面部的第一值(例如“真人”、“是”、“認證”等等)以及用以表明圖像106包括面部照片的第二值(例如“照片”、“否”、“不認證”等等)。真人面部指的是實際人類的面部(即圖像捕獲組件102捕獲到實際人類的圖像)而不是人類面部的照片。如果檢測模塊104確定圖像106包括真人面部,則真人面部指示110表明圖像106包括真人面部。在這種情況下,真人面部指示110表明可以針對訪問(例如用戶108請求訪問的任何系統(tǒng)、資源、位置等等)認證用戶108,這是因為認定作為用戶108的實際人類正請求特定訪問。對于用戶108的認證可以由另一個組件或模塊(未示出)通過多種不同方式施行,比如通過把一個或更多圖像106與先前捕獲的用戶108的圖像進行比較??商鎿Q地,可以在模塊104施行的真人面部檢測之前施行認證,在這種情況下,真人面部指示110表明對于用戶108的任何先前認證是有效的。但是如果確定圖像106包括平坦表面上的面部,則認定用戶108是使用照片的冒充者。在這種情況下,真人面部指示110表明無法針對訪問(例如用戶108請求訪問的任何系統(tǒng)、資源、位置等等)認證用戶108,這是因為認定用戶108是請求特定訪問的冒充者。如果用戶108在由模塊104施行的真人面部檢測之前被另一個組件或模塊(未示出)認證,則真人面部指示110表明對于用戶108的任何先前認證是無效的。真人面部檢測模塊104可以通過多種不同方式確定圖像106包括真人面部還是面部照片。在一個或更多實施例中,真人面部檢測模塊104包括3維(3D)結構確定模塊112和面部組成部分移動確定模塊114的其中之一或全部二者。通常來說,3D結構確定模塊112確定圖像106包括作為3D結構(例如實際人類)的面部還是平坦表面(例如相片),并且面部組成部分移動確定模塊114確定在圖像106中的面部的一個或更多組成部分中是否存在運動。下面將更加詳細地討論由模塊112和114做出這些確定的方式。圖2是示出了根據一個或更多實施例的用于區(qū)分真人面部與平坦表面的示例性處理200的流程圖。處理200由真人面部檢測模塊實施,比如圖1的真人面部檢測模塊104,并且可以用軟件、固件、硬件或其組合來實施。處理200被顯示為步驟集合,并且不限于針對施行各個步驟的操作所示出的順序。處理200是用于區(qū)分真人面部與平坦表面的示例性處理;在這里參照不同的附圖包括了關于區(qū)分真人面部與平坦表面的附加討論。在處理200中,訪問包括由用戶呈現(xiàn)的面部的多幅圖像(步驟202)。所述多幅圖像可以是包括真人面部的圖像或者包括面部照片的圖像。所述多幅圖像是由圖像捕獲組件(例如圖1的圖像捕獲組件102)捕獲的圖像??梢栽诓襟E202中通過多種不同方式來訪問所述多幅圖像,比如響應于發(fā)送到圖像捕獲組件的針對所述多幅圖像的請求而接收、響應于發(fā)送到另一個組件或設備的請求而接收(其中所述圖像由圖像捕獲組件存儲)、(例如從圖像捕獲組件)被流送或推送到實施處理200的真人面部檢測模塊的圖像等等。處理200繼續(xù)確定所述面部是3D結構還是平坦表面(步驟204),并且/或者確定在面部的一個或更多組成部分中是否存在運動(步驟206)??梢允┬胁襟E204和206的其中之一,或者可替換地可以施行全部兩個步驟204和206。如果施行全部兩個步驟204和206,則可以同時施行步驟204和206,或者可替換地可以先施行步驟204和206的其中之一并且隨后施行步驟204和206當中的另一步驟。處理200基于所述面部是否被確定為3D結構以及/或者在一個或更多面部組成部分中是否存在運動而繼續(xù)(步驟208)。如果面部被確定為3D結構并且/或者在一個或更多面部組成部分中存在運動,則確定圖像106包括真人面部并且提供表明可以認證用戶的指示(步驟210)。但是如果面部被確定為平坦表面并且/或者在一個或更多面部組成部分中不存在運動,則確定圖像106不包括真人面部并且提供表明無法認證用戶的指示(步驟212)。如果步驟204和206都被施行,則只有在步驟204中將面部確定為3D結構并且同時在步驟206中確定在一個或更多面部組成部分中存在運動的情況下,才能確定圖像106包括真人面部??商鎿Q地,在步驟204和206都被施行的情況下,如果在步驟204中將面部確定為3D結構以及在步驟206中確定在一個或更多面部組成部分中存在運動二者當中的至少一項成立,就可以確定圖像106包括真人面部。回到圖1,在一個或更多實施例中,3D結構確定模塊112使用基于同形的技術來確定包括在圖像106中的面部是3D結構還是平坦表面??商鎿Q地也可以使用其他技術,比如來自運動估計技術的結構?;谕蔚募夹g使用3x3同形矩陣,其在這里也被稱作矩陣H?;谕蔚募夹g利用以下事實平坦(平面狀)表面的兩個視圖基于同形矩陣H而相關。相應地,在分析第一圖像和第二圖像時,可以利用同形矩陣H扭曲或變換第一圖像從而生成扭曲圖像。隨后把扭曲圖像與第二圖像進行比較。如果第一和第二圖像是平坦表面(例如面部的照片)的視圖,則扭曲圖像將與第二圖像相似。因此,如果第二圖像與扭曲圖像之間的差異較小(例如低于一定閾值),則第一和第二圖像包括作為平坦表面而非真人面部的面部。但是如果第二圖像與扭曲圖像之間的差異較大(例如至少是一定閾值),則第一和第二圖像包括作為真人面部而非平坦表面的面部。圖3是示出了根據一個或更多實施例的使用基于同形的技術來確定多幅圖像中的面部是3D結構還是平坦表面的示例性處理300的流程圖。處理300由3D結構確定模塊實施,比如圖1的3D結構確定模塊112,并且可以用軟件、固件、硬件或其組合來實施。處理300例如可以實施圖2的步驟204。處理300被顯示為步驟集合,并且不限于針對施行各個步驟的操作所示出的順序。在處理300中,從兩幅圖像中提取出一個或更多特征點,所述兩幅圖像在處理300中被稱作第一和第二圖像(步驟302)。第一和第二圖像分別包括同一人的面部,并且例如可以是圖1的圖像106。所述一個或更多特征點是第一和第二圖像中的面部的特征點。可以提取多種不同的特征點,比如眼角、嘴角、鼻尖等等。每一個特征點可以是單個像素或者包括多個像素的一個區(qū)段??梢酝ㄟ^多種不同的傳統(tǒng)方式提取這些特征點,比如使用模板匹配算法、特征匹配算法等等。在一個或更多實施例中,在Zhang等人的“A RobustTechnique for Matching Two Uncalibrated Images Through the Recovery of theUnknown Epipolar Geometry,,(French National Institute for Research in ComputerScience and Control, 1994年)中討論了用于提取特征點的技術。在第一和第二圖像上匹配在步驟302中提取的特征點(步驟304)。在第一和第二圖像上針對特征點的這一匹配指的是識別出兩幅圖像當中的每一幅中的相同特征點的位置。舉例來說,識別出第一和第二圖像中的面部中的同一只眼的同一眼角的位置??梢酝ㄟ^多種不同的傳統(tǒng)方式來施行第一和第二圖像之間的特征點匹配,比如使用模板匹配技術、特征匹配技術等等。在匹配之后就知曉兩幅圖像上的匹配特征點以及兩幅圖像中的處于這些特征的匹配特征點內的相應像素。生成第一和第二圖像之間的同形矩陣H (步驟306)。第一和第二圖像如下通過同形矩陣H相關x'=Mx
其中i指代第一圖像中的位置指代第二圖像中的位置,H指代同形矩陣,并且』指代非零標量值。第一圖像中的位置被表示成[ivf,其中《和r是第一圖像中的位置的坐標。第二圖像中的位置被表示成其中V和V1是第二圖像中的位置的坐標。當計算同形矩陣H時,f = b,v,l]T ,并且=。給定兩幅圖像中的兩個位置并且;是
兩幅圖像當中的第一幅中的位置,計算同形矩陣H,這是通過確定使得通過;計算的F與第二圖像中的實際位置之間的差異較小的同形矩陣H而實現(xiàn)的??梢酝ㄟ^不同方式來確定該同形矩陣,比如利用多種傳統(tǒng)算法當中的任一種來確定通過P= 2HS計算的與第二圖像中的實際位置之間的差異被最小化、低于一定閾值等等。在一個或更多實施例中,可以從兩幅圖像中的4對或更多對相應位置確定同形矩陣,正如下面將描述的那樣。設
為
權利要求
1.一種方法,其包括 訪問包括由用戶呈現(xiàn)的面部的多幅圖像; 基于所述多幅圖像,確定包括在所述多幅圖像中的面部是3維結構還是平坦表面; 如果包括在所述多幅圖像中的面部是3維結構,則表明用戶可以被認證;以及 如果包括在所述多幅圖像中的面部是平坦表面,則表明用戶無法被認證。
2.如權利要求I所述的方法,其中,確定包括在所述多幅圖像中的面部是3維結構還是平坦表面包括 訪問所述多幅圖像當中的第一圖像和第二圖像; 通過利用同形矩陣扭曲第一圖像而生成扭曲圖像; 確定扭曲圖像與第二圖像之間的圖像差異;以及 如果扭曲圖像與第二圖像之間的差異滿足一定閾值則確定包括在所述多幅圖像中的面部是3維結構,否則確定包括在所述多幅圖像中的面部是平坦表面。
3.如權利要求2所述的方法,其還包括 提取出來自第一圖像的一個或更多特征點以及來自第二圖像的一個或更多特征點; 在第一圖像與第二圖像上匹配特征點;以及 使用在第一圖像與第二圖像上匹配的特征點來生成同形矩陣。
4.如權利要求2所述的方法,其中,確定所述圖像差異包括識別出第一圖像中的第一子區(qū)段集合、第二圖像中的第二子區(qū)段集合,以及確定第一子區(qū)段集合與第二子區(qū)段集合中的像素的顏色值之間的差。
5.如權利要求2所述的方法,其還包括 重復訪問第一圖像和第二圖像、生成扭曲圖像以及針對所述多幅圖像的多個圖像對確定圖像差異; 利用針對所述多個圖像對所確定的圖像差異來確定包括在所述多幅圖像中的面部是3維結構還是平坦表面。
6.如權利要求2所述的方法,其中,所述多幅圖像包括由三幅或更多幅圖像構成的序列,并且其中所述由三幅或更多幅圖像構成的序列中的一幅或更多幅中間圖像處于所述由三幅或更多幅圖像構成的序列中的第一圖像與第二圖像之間。
7.如權利要求I所述的方法,其中,確定包括在所述多幅圖像中的面部是3維結構還是平坦表面包括 訪問所述多幅圖像當中的第一圖像和第二圖像; 利用來自運動估計的結構基于第一圖像和第二圖像重建3維場景; 把所述3維場景擬合到平面; 分析擬合到所述平面的3維場景的特性;以及 如果所述特性滿足一定閾值則確定包括在所述多幅圖像中的面部是3維結構,否則確定包括在所述多幅圖像中的面部是平坦表面。
8.如權利要求7所述的方法,其還包括 提取出來自第一圖像的一個或更多特征點以及來自第二圖像的一個或更多特征點; 在第一圖像與第二圖像上匹配特征點;以及 使用在第一圖像與第二圖像上匹配的特征點來重建所述3維場景。
9.如權利要求7所述的方法,其中,所述分析包括 生成作為所述重建3維場景中的特征與所述平面之間的距離的第一值; 生成作為所述平面上的兩個面部組成部分之間的距離的第二值;以及 計算第一值與第二值的比值。
10.如權利要求7所述的方法,其還包括 重復訪問第一圖像和第二圖像、重建3維場景以及針對所述多幅圖像的多個圖像對確定所述面部是3維結構還是平坦表面; 利用針對所述多個圖像對確定所述面部是3維結構還是平坦表面來確定包括在所述多幅圖像中的面部是3維結構還是平坦表面。
11.如權利要求I所述的方法,其還包括 基于所述多幅圖像確定在所述面部的一個或更多組成部分中是否存在運動;以及只有在包括在所述多幅圖像中的面部是3維結構并且同時在所述面部的一個或更多組成部分中存在運動的情況下,才表明用戶可以被認證。
12.—種計算設備,其包括 處理器;以及 其中存儲有多條指令的一個或更多計算機可讀介質,當由處理器執(zhí)行時,所述指令使得處理器訪問包括由用戶呈現(xiàn)的面部的多幅圖像;基于所述多幅圖像,確定在所述面部的一個或更多組成部分中是否存在運動;如果在所述面部的一個或更多組成部分中存在運動,則表明用戶可以被認證;以及如果在所述面部的一個或更多組成部分中不存在運動,則表明用戶無法被認證。
13.如權利要求12所述的計算設備,其中,要確定在所述面部的一個或更多組成部分中是否存在運動即是要 從所述多幅圖像當中的每一幅提取出面部組成部分; 在所述多幅圖像上匹配面部組成部分; 確定所述多幅圖像當中的兩幅之間的面部組成部分差異;以及至少部分地基于所述多幅圖像當中的兩幅之間的面部組成部分差異來確定在所述一個或更多組成部分中是否存在運動。
14.如權利要求13所述的計算設備,其中,要確定在所述面部的一個或更多組成部分中是否存在運動即是要在所述多幅圖像當中的兩幅之間的面部組成部分差異滿足一定閾值的情況下確定在所述一個或更多組成部分中存在運動。
15.如權利要求12所述的計算設備,其中,所述多條指令還使得所述一個或更多處理器 基于所述多幅圖像確定包括在所述多幅圖像中的面部是3維結構還是平坦表面;以及只有在包括在所述多幅圖像中的面部是3維結構以及在所述面部的一個或更多組成部分中存在運動這兩個條件的其中之一或全部二者成立的情況下,才表明用戶可以被認證。
全文摘要
訪問包括由用戶呈現(xiàn)的面部的多幅圖像。基于所述多幅圖像做出一項或更多項確定,比如確定包括在所述多幅圖像中的面部是3維結構還是平坦表面,以及/或者確定在一個或更多面部組成部分(例如眼睛或嘴)中是否存在運動。如果確定包括在所述多幅圖像中的面部是3維結構或者確定在一個或更多面部組成部分中存在運動,則提供表明用戶可以被認證的指示。但是如果確定包括在所述多幅圖像中的面部是平坦表面或者確定在一個或更多面部組成部分中不存在運動,則提供表明用戶無法被認證的指示。
文檔編號G06K9/46GK102985933SQ201180028586
公開日2013年3月20日 申請日期2011年5月26日 優(yōu)先權日2010年6月8日
發(fā)明者Z.張, Q.蔡, P.R.凱塞爾曼, A.H.貝克 申請人:微軟公司