新四季網

使用社交數據的面部識別的製作方法

2023-10-10 11:37:44 2

專利名稱:使用社交數據的面部識別的製作方法
使用社交數據的面部識別
背景技術:
面部識別技術一般通過從照片中提取面部並將所提取的面部與已知面部進行比較來運作。通過這種比較,也許有可能確定是否所提取的面部屬於與已知面部相同的一個人。如果發現所提取的面部與任何一個已知面部是足夠相似的,則得出所提取的面部屬於與已知面部相同的一個人的結論。雖然視覺面部識別技術或許能夠在某些環境中識別面部,但是在許多情況中,視覺面部識別技術不足以正確地識別面部。圖像可能具有差的質量,從而使得面部的特徵難以辨別。屬於不同人員的兩個面部可能看起來彼此相似,並且視覺面部識別處理可能猜測錯誤的面部。因而,視覺面部識別在一些情況中可能無法獨自正確地識別面部。

發明內容
面部識別可以使用視覺技術和社交網絡數據來執行。社交網絡數據的使用可以基於這樣的觀察,即,人們一般傾向於拍攝他們認識的人的照片並且與他們認識的人一起出現在照片中。因而,社交網絡數據可以用於確定人們彼此具有什麼聯繫(利用為了保護所涉及的各方的隱私而獲得的適當許可)。這種人員聯繫的知識可以隨後用於幫助確定誰出現在照片中。為了識別照片中的面部(我們將之稱為「面部A」),面部A可以被視覺分析,以創建面部A的特徵的數字表示。即,面部A的物理特徵可以被量化,並且可以創建表示面部特徵的量化的矢量。該矢量的各方面隨後可以被轉換成文本串,從而產生代表面部A的一個或多個文本串。此外,從社交事實中導出的文本串也可以被添加到這些文本串上。例如,如果面部A是從被「Bob (鮑勃)」上傳的照片中提取的,並且該照片已被標記為包含「Joe (喬)」 和「Susan (蘇珊)」,那麼這些名字也是可以被添加到照片的表示上的文本。因此,如果代表面部的視覺外觀的字符串是「eruiuwe」、「dkruiwl」和「dkrudkt」,那麼代表面部A的視覺和社交方面的文本可以是「eruiuwe dkruiwl dkrudkt Bob Joe Susan」。一旦存在代表面部A的文本,則可以使用那個文本來索引面部A,並且稍後在搜索中可以使用該索引條目。因而,假設新的照片包含未識別的面部(「面部B」)。面部B的視覺分析可以產生一個矢量,並且將那個矢量轉換成文本可以產生包括「eruiuwe」 (這是代表面部A的視覺外觀的字符串之一)的一組字符串。此外,還可能知道該照片是由Susan上傳的。因此,文本搜索可以使用查詢「eruiuwe Susan」來執行。由於先前段落中描述的面部A利用字符串「eruiuwe」和「Susan」進行索引,所以面部A將作為對於面部B的潛在匹配而出現在文本搜索結果中。由於該搜索基於代表該面部的視覺外觀的文本項並且也基於代表該面部的社交上下文(social context)的文本項,所以搜索結果中該面部的識別可以基於視覺和社交考慮二者。有關面部B是否與面部A相匹配的實際決策可以取決於匹配的強度以及是否其他被索引的面部是更強的匹配。這樣一來,普通的文本搜索技術可以用於執行面部匹配。在一個示例中,上述技術可以用於搜索特定人員的照片。在另一個示例中,上面的技術可以用於建議出現在照片中的面部的身份,以便輔助用戶標記這些照片。提供這個發明內容部分來以簡化形式介紹下面在詳細描述部分中進一步描述的概念的選擇。這個發明內容部分既不打算標識所請求保護主題的關鍵特徵或基本特徵,也不打算用於限制所請求保護主題的範圍。


圖I是其中可以分析和索引面部的示例系統的框圖。圖2是其中面部可以利用其視覺和社交特性來索引的示例處理的流程圖。圖3是其中利用視覺和社交標準進行索引的面部可以用於提供結果的示例處理的流程圖。圖4是可以與這裡描述的主題的實現方式結合使用的示例組件的框圖。
具體實施例方式面部識別技術允許自動識別出現在照片中的人員。通常,面部識別技術依靠面部的視覺分析。為了執行這種類型的分析,從照片中提取構成面部的照片區域,並將這個區域規範化為特定大小。該面部隨後被分析,以量化該面部的特定方面。之後,創建包含這些參量的矢量,其中該矢量代表該面部。通過為若干面部創建矢量,有可能使用矢量比較技術來比較面部的相似度。隨後可以作出有關兩個面部如何相似的判斷,並且這些判斷可以用於各種應用。例如,想在照片中辨認Joe的系統可能保持Joe的面部的標準圖像(canonical image),並且可以採用矢量的形式來量化那個面部。然後,其他圖像中的面部能夠通過為那些圖像創建矢量以及比較這些矢量的相似度而與Joe的面部進行比較。之後,與Joe的面部的標準圖像足夠相似的面部可以被認為是Joe的圖像。但是,僅僅基於視覺分析的面部識別具有其限制。時常從存在模糊、照明受阻等問題的不完美圖像中提取面部。一些人看起來彼此相似,因此面部特徵的量化可能導致類似的矢量用於兩個不同人員的面部。此外,在使用視覺機制時,將面部明確地識別為屬於Joe 的能力取決於有關Joe的面部的數據(例如,新圖像可以與之相比較的Joe的標準圖像)的存在性。在一些情況中,那個信息並不存在。或者即使原始信息確實存在,它也可能沒有被提取成可用形式。這裡描述的主題使用社交數據來增強視覺面部識別技術。人們用來互動的社交網絡和其他系統提供豐富的能夠用於識別照片中的面部的數據。這樣的數據的使用可以基於這樣的觀察,即,如果人員A和B相互認識,那麼與兩個隨機的不相關的互不認識的人員將一起出現在照片中的情況相比,更有可能A將與B —起出現在照片中。類似地,如果A認識 B,那麼更有可能A將出現在由B拍攝的照片、由B上傳的照片或包含由B輸入的一個或多個標籤的照片中。因而,有關人們彼此交互的數據可以用於確定在人員之間存在什麼關係, 並且這個數據可以用於幫助識別照片中的面部。(為了維護和尊重人們的隱私期望,有關人員的信息的使用可以依照適當許可和/或披露來使用)。除了使用有關誰上傳照片或誰出現在照片中的信息之外,也可以使用有關照片的附加信息。例如,如果兩張照片在同一相簿中,那麼與針對兩張隨機選擇的照片的情況相比,可能更有可能同一個人出現在這些照片中。此外,如果兩張照片是在幾乎相同的時間和地點拍攝的話,那麼與針對兩張隨機選擇的照片的情況相比,可能更有可能在這些照片中具有共同的面部。使用社交網絡和/或交互數據來識別面部的一種方式是使得面部的視覺特徵以及圍繞面部的社交上下文是文本可搜索的。在創建代表面部特徵的矢量時,可以創建一個或多個基於該矢量的文本串。這些文本串可以通過「位置敏感散列(locality sensitive hash)」來創建,以致彼此相似的面部具有往往生成相似的文本串集合的矢量。相反,彼此相異的面部往往生成相異的文本串集合。因而,如果Joe面部的照片被分析,那麼代表Joe的面部特徵的量化的矢量可能是η維矢量〈12. O, 5.6,15.2,…〉。從這個矢量中生成的文本串集合可能是「eruiuwe dkruiwl dkrudkt」。這些特定字母序列在英語中沒有特別的意義,但是它們具有可以在以後輔助搜索麵部的少量屬性(1)它們採用文本的形式,這使得它們通過正常的基於文本的索弓I與搜索(text-based index-and-search)技術是可索引且可搜索的,以及(2)這些字符串可以採用這樣的方式來創建,即在視覺上彼此相似的兩個面部將生成相似的字符串集合。(將明白「文本串」並不限於自然語言中的字符串或使用自然語言的字母數字表或符號的字符串;相反,文本串可以指任何的能夠使用文本搜索技術來搜索的數據)。此外,有關面部的任何已知的社交上下文也可以採用文本串的形式來表示。例如,如果Joe面部的照片是從由「Bob」上傳的照片中提取的,並且該照片已被標記成也包含「Susan」的圖像,而且該照片是由「Mary (瑪麗)」用電子郵件發送的,那麼這些名字也是可以被添加到該照片的表示上的文本。因而,表示照片的字符串可能是「eruiuwe dkruiwl dkrudkt Bob Susan Mary Joe」,其代表(通過前三項)視覺上已知的有關面部的內容並且也代表(通過後四項)社交上已知的有關面部的內容。(假設該面部已被明確地識別為Joe的面部,Joe的名字可以被包括在這個列表中;但是,理論上,即便沒有識別面部,也將有可能創建代表有關該面部的已知內容的文本串。如果知道面部是從Bob上傳的、包含Susan並由Mary用電子郵件發送的照片中提取的話,即使還不知道什麼人屬於那個面部,這也提供有關該面部的相關信息)。注意上述示例顯示用於索引照片的所有數據以無差別的方式被級聯在一起。然而,也有可能指定用於給定數據片的欄位。例如,以上示例中的前三個文本串可以被指定為「視覺信息」欄位的一部分。Bob可以被列在「上傳者(uploaded-by)」欄位中。Susan可以被列在「出現在圖像中(appears-in-image)」欄位中。諸如此類。識別每一個數據片的重要性(significance)可以輔助搜索策略,例如,如果特定搜索策略認為 Susan與Joe—起出現在照片中是更為重要的而Bob拍攝該照片是不太重要的,那麼可以設計利用這些欄位的搜索策略。一旦創建了描述面部的視覺特徵和社交上下文的適當字符串,面部可以存儲在利用這些字符串索引的資料庫中。利用這些字符串對面部進行的索引使得該面部是文本可搜索的。即,如果分析碰巧與資料庫中的某面部相似的未識別面部,那麼該面部的視覺分析可能往往產生與資料庫中的面部相關聯的一些相同的字符串。此外,如果未識別的面部來自類似的社交上下文(例如,如果包含未識別面部的照片也是由Bob上傳的),那麼這個社交上下文也將類似於與資料庫中的已知照片相關聯的字符串。例如,如果新的照片包含產生視覺字符串「dkruiwl」(與在先前段落的示例中已知與Joe的面部相關聯的字符串之一相同) 的面部,並且該照片是由Bob上傳的,那麼可以對照已知的索引照片的資料庫來評價查詢 "dkruiwl Bob」。資料庫中的面部匹配的項越多(無論那些項是基於視覺還是基於社交上下文的字符串),該面部的分數就將越高。面部的分數越高,就越有可能具有高分的面部與形成該查詢基礎的未知面部相匹配。雖然基於視覺的字符串可以採用任何方式來創建,但是創建字符串的一種方式是編碼特定矢量位於若干邊界平面(bounding plane)中的哪一側邊的二元決策。例如,如果代表面部的矢量是G1, a2,…,an>,那麼可以基於諸如a7〈3、a13>6. 2等等的決策點來創建假定10個布爾值。在已經創建了所有10個值時,結果可以是比特序列(例如,0110001010), 其中O代表假,而I代表真。這個比特串可以採用任何適當的方式進行文本編碼,從而產生文本串。可以使用若干邊界平面集合,以致每一個邊界平面集合生成特定的字符串。如果用於創建量化面部特徵的矢量的技術是有效的,那麼相似的面部將有可能位於矢量空間中的相似位置。位於矢量空間中的相似位置上的矢量有可能位於若干邊界平面中的相同側邊上,從而產生至少一些相同的字符串。在將面部存入資料庫並已經利用字符串(基於視覺和基於社交二者的字符串)進行索引時,資料庫可以被查詢以支持各種應用。在一個示例中,資料庫可以被查詢,以搜索特定人的照片。在另一個示例中,資料庫可以被查詢,以查找與照片中的未知面部相匹配的面部,以便提議用於那個面部的標籤。現在轉到附圖,圖I顯示其中可以分析和索引面部的示例系統。照片存儲設備102 包含照片104的集合。例如,照片存儲設備可以是位於照片共享站點或社交網站上的照片資料庫,或者可以是位於本地或共享硬碟驅動器上的照片文件的集合。照片爬行器(crawler) 106是從照片存儲設備102接收照片104並分析照片以便從照片104中提取面部的組件。例如,照片爬行器106可以採用訪問照片存儲設備102中的照片的軟體的形式存在,但是也能夠採用任何適當的形式存在。如下所述,除了接收照片本身之外,照片爬行器106還可以執行和/或便於對於照片進行的各種分析。當照片爬行器106從照片104中提取面部時,照片爬行器106將面部108的圖像提供給面部分類器110。面部分類器110是量化圖像中的面部特徵並創建代表面部特徵的量化的矢量112的組件(例如,軟體組件)。因而,每一個面部可以利用諸如〈&1,a2,…,an> 之類的η維矢量來表示。面部分類器110可以將這個矢量112反向提供給照片爬行器106。當照片爬行器接收到矢量112時,它可以將矢量112提供給矢量分析器114。矢量分析器114可以是基於矢量來創建字符串的軟體組件。參考上面的討論,矢量分析器114 可以保持若干邊界平面集合,並且可以基於特定矢量相對於邊界平面所在的位置來創建字符串,例如,通過創建用於邊界平面集合的布爾值,並且隨後將布爾值編碼成文本的形式, 如上所述。因而,矢量分析器114可以創建字符串116,並且可以將這些字符串反向提供給照片爬行器106。照片爬行器106隨後具有代表面部的視覺外觀的一個或多個字符串的集

口 ο照片搜索器106也可以接收涉及照片的社交數據118。(如上所述,社交數據118 可以依照適當的許可和/或披露來使用,以便維護和尊重人們的隱私期望)。社交數據118 可以包括各種組件。這些組件的示例包括誰和誰是朋友(方框120)、誰屬於相同的網絡(方框122)、誰與誰具有工作關係(方框124)、誰拍攝(或上傳或標記)誰的照片(方框126)、知道哪些人是一起出現在照片中(方框128)、誰給誰發送電子郵件(方框130)或任何其他適當的信息。
這個社交數據118可以被提供給照片爬行器106。照片爬行器隨後可以使用字符串116和社交數據118來創建有關面部的已知內容的文本表示132。「有關面部的已知內容 (what is known about a face)」可以包括有關面部的視覺信息(如利用字符串116所表示的)以及有關面部的社交上下文信息(如利用社交數據118所表示的)。因而,文本表示132 可以包含代表面部特徵134的文本以及代表社交上下文136的文本。在搜索索引資料庫138中可以對每一個面部(和/或包含一個或多個面部的每張照片)編制索引。因而,對每一個面部來說,搜索索引資料庫138可以包含與面部相關聯的字符串(基於視覺的字符串和基於社交的字符串二者)。該索引可以將這些字符串與特定的面部和/或照片相關聯,從而使得面部和/或照片基於其視覺和社交特性二者而是文本可搜索的。因而,如果想查找具有特定視覺特性的面部,那麼可以對表示某些視覺特性的一個或多個字符串執行文本搜索。(例如,如果在新照片中已檢測和分析了面部,並且想搜索資料庫以明白哪些照片與那個面部相匹配,則這樣的搜索可能出現)。或者,如果想查找在特定社交上下文中出現的面部,那麼可以對如同「Bob」、「Susan」等等代表社交上下文的項執行文本搜索。在一個示例中,在搜索中使用兩種類型的字符串,從而允許基於文本的搜尋引擎查找與社交和視覺標準二者特別相關的面部。圖2顯示其中面部可以利用其視覺和社交特性來索引的示例處理。在轉到圖2的描述之前,注意這裡包含的流程圖(在圖2中和在圖3中)參考圖I所示的組件、通過示例來描述,但是這些處理可以在任何系統中完成,並且不限於圖I所示的情景。此外,圖2-3 中的每一個流程圖顯示其中如利用連接方框的線條所示、利用特定的順序來完成處理的各個階段的示例,但是這些圖中顯示的各個階段能夠以任何的順序或以任何的組合或子組合來執行。至圖2的處理的輸入包括面部202。面部202可以利用任何適當的機制來提供。 例如,面部202可以出現在包含對象、背景、一個或多個面部等等的照片中,並且可以使用已知的處理從那個照片中進行提取。或者,面部202的圖像可以利用手動機制來提供(例如,用戶控制圖形程序中的剪貼功能)。面部202可以在大小、顏色平衡等方面被規範化,以便於面部202的分析。面部202隨後可以被分類(在204)。例如,面部202的分類可以利用面部分類器 110 (如圖I所示)來執行。面部202的分類可以包括面部202的各種可量度特徵的分析, 例如,面部的垂直-水平維度之比、耳朵(或鼻子或眼睛)相對於面部的其他部分的大小、出現在面部中的顏色的評估(例如,頭髮、眼睛、嘴唇等等)或可以被量化的面部的任何其他方面。一旦量化了面部202的這些方面,可以使用這些參量本身(在206)來創建矢量112 (其第一次在圖I中引入)。該矢量的特定特性以及矢量中的每一個分量的重要性可以取決於正在使用的特定面部分類方案。然而,無論使用的方案如何,源自面部分類處理的矢量112 都可能包含有關面部的足夠信息,以致視覺上相似的面部將具有相似的矢量,而在視覺上彼此相差很大的面部將具有不同的矢量。在208,基於矢量的文本串可以被創建。如上所述,文本表示可以包含字符串的集合,其中每一個字符串是一個或多個平面側邊決策(side-of-plane decision)的集合的編碼。空間2310顯示如何可以作出這些平面側邊決策的示例。為了說明,示例空間210被顯示為三維空間。在實際的空間分類方案中,該矢量可以具有若干打分量,其中這些分量與一樣多的維度相對應。例如,如果面部利用矢量〈a」 a2,…,a5(l>來表示,那麼該面部被表示在50維空間中。但是,為了說明,所顯示的三維空間210將演示可以如何使用平面側邊決策。在空間210中,顯示兩個平面212和214。點216代表特定矢量在空間210中的位置。因而,如果空間210是所有可能面部的空間,並且如果矢量112 (其代表面部202)被映射到點216,那麼點216代表面部202在空間210中的位置。雖然空間210中的每一個點具有它自己的確切位置,但是為了將面部分類為相似的或不同的,有可能建立等價類別。相交平面212和214將空間210分成四個區域,其中每一個區域是一個等價類別。因而,為了確定點216在什麼類別,可以詢問點216是處於平面212之上還是平面212之下以及它是位於平面214的左側還是右側。(在實際的實現方式中,這些決策將通過數學方式作出,例如,如果平面212和214分別在4和2與X和z軸相交,那麼在平面212 「之上」可以被定義為z>4,而在平面214的「右側」可以被定義為x>2)。因而,點216的位置可以利用布爾陣列{真,真}來描述,即,「在平面212之上」=真,以及「在平面214的右側」=真。如果想像一個50維空間,其中在該空間中每一個集合的平面側邊決策包含假定10個決策,那麼每一個決策集合的結果將是10個布爾值的集合。這些值可以數字地進行編碼(例如,被編碼為O和1),並且數字編碼的布爾值陣列隨後能夠被文本編碼,以產生字符串。這個字符串實際上代表對於給定的平面側邊決策集合而言特定的面部落入哪一個等價類別。如果具有假設三個平面側邊決策的集合,那麼能夠產生三個單獨的布爾陣列,這些陣列隨後將被編碼成三個單獨的字符串。每一個字符串代表該面部在給出不同的平面側邊決策集合的情況下落入哪一個等價類別。如果兩個面部具有共同的單個字符串,那麼依照一個平面側邊決策集合,它們位於相同的等價類別中。如果兩個面部具有三個共同的字符串,那麼它們位於依照三個平面側邊決策集合的相同的等價類別中(這表明與這些面部僅僅具有一個共同字符串的情況相比,這些面部可能是更加彼此相似的)。將明白在此上下文中,「平面」指的是η維空間中的(η-i)維表面。在圖2所示的示例中,該空間是三維的,因此「平面」正好是熟悉的二維表面。但是,在較高維數空間中, 「平面」能夠實際上被描述為超平面,例如,在50維空間中,邊界「平面」將實際上是49維超平面。但是,為了簡化這裡的描述,我們將參考邊界「平面」、「平面側邊決策」等等,並且將明白「平面」指的是二維表面,但是其並不局限於此。特別地,這裡的權利要求可能指的是 「平面」和「平面側邊」決策,並且將明白這樣的「平面」指的是任何的能夠將空間分成區域的幾何對象,並且具體地是二維表面,但是並不局限於此。雖然可以採用任何方式來創建基於矢量的文本串,但在一個示例中,文本串創建方法包括位置敏感散列218。當使用位置敏感散列218時,在空間上彼此接近的矢量有可能具有相似的字符串,而在空間中彼此遠離的矢量有可能具有不同的字符串。即,在位置敏感散列中,從不同矢量產生的字符串的相似度與這些矢量的鄰近度是正相關的。無論用於創建字符串的技術如何,在220顯示所創建的實際字符串的示例。在這個示例中,被創建來表示面部的視覺外觀的字符串包括「 eruiuwe 」、「 dkruiwl 」以及 「dkrudkt」。與基於面部的視覺外觀的字符串一起,可以包括社交數據118。如上所述,社交數據可以基於諸如誰上傳了照片、誰與誰一起出現在照片中、誰在照片中標記了誰、是否照片中的人員出現在彼此的聯繫人列表中等等的事實。(如上所述,這樣的信息可以依照適當的許可和/或披露來使用,以便保護人們對於其信息的隱私期望)。因而,對於指定的面部,如果知道包含該面部的照片是由Joe上傳的、該面部在照片中被Bob標記、並且Susan也出現在該照片中,那麼字符串「Joe」、「Bob」和「Susan」可能與該面部相關聯。因而,在將該面部輸入搜索索引資料庫138時,該面部可能與字符串「eruiuwe」、「dkruiwl」、「dkrudkt」、 「Joe」、「Bob」以及「Susan」相關聯(在222)。類似地,如果確定某個人的聯繫人列表(或某一其他類型的列表)對於該照片提供相關的社交上下文,那麼該列表中的名字(依照上文暗指的適當的隱私披露/許可)可以被擴展到欄位中,以便可以利用這些名字來為該照片編制索引。圖3顯示其中利用視覺和社交標準進行索引的面部可以用於提供結果的示例處理。在302,這些面部被索引。可以使用上面結合圖I和2描述的系統和技術來執行這個索引,但是能夠採用任何適當的方式來執行該索引。在304,可以接收對於滿足一定標準的面部的請求。該標準可以是視覺和/或社交的。該請求可以採用任何方式產生。該請求可以產生的一種示例方式是通過提議標記新的面部(方框306)。因而,如果新的照片被上傳並且尚未標記的面部出現在該照片中,那麼可以識別有關該面部的視覺和/或社交事實。視覺事實可以是代表面部的視覺外觀的矢量和 /或代表有關那個矢量的平面側邊決策的字符串(如上所述)。社交事實可以從照片或從圍繞照片上傳的環境(例如,誰出現在照片中,誰上傳了照片,誰標記了照片中的其他人等等) 中導出。有關該面部的這些視覺和社交事實可以用於查找為該面部所提議的身份(例如,通過查找好像是同一個人並且其身份是已知的面部)。請求可以產生的另一示例方式是查找指定人的照片(方框308)。因而,如果未識別的面部出現在照片中,那麼能夠試圖查找同一個人的其他面部。無論請求產生的方式怎樣,都可以基於請求來形成文本查詢(在310)。因而,如果已從照片中提取面部,並且如果目標是查找可能是與那個面部相同的人,那麼可以創建從有關該面部的視覺和社交事實二者中導出的字符串,並且可以基於那些字符串來形成查詢。因而,如果面部的視覺元素利用字符串「eruiuwe」、「dkruiwl 」和「dkrudkt 」來表示, 並且面部的社交元素利用「Joe」、「Bob」和「Susan」來表示,那麼可以形成查詢「eruiuwe dkruiwl dkrudkt Joe Bob Susan」。取決於將如何評估文本查詢,不同的變異是可能的。在一個示例中,如果任一查詢項與某個結果相關聯,那麼可以認為那個結果與該查詢相匹配, 因此僅與字符串「dkrudkt」相關聯的面部將與上面的查詢相匹配。在另一示例中,除非另有規定,否則所有的項可以被假定是結合的。因而,為了允許面部在它具有一些與查詢共同的視覺和社交特徵時與該查詢相匹配,該查詢可以被形成為「(eruiuwe OR dkruiwl OR dkrudkt) AND (Joe OR Bob OR Susan)」。在另一個示例中,可以規定加權,以致能夠將該查詢的某些特定方面(例如,視覺方面)比其他方面更重地加權。因而,如果查詢處理系統允許顯性加權(explicit weighting),那麼該查詢可以被形成為「2. 5*(eruiuwe OR dkruiwl OR dkrudkt) AND I. 0* (Joe OR Bob OR Susan) 」,從而表明視覺特徵之一上的匹配的重要性是社交特徵上的匹配的2. 5倍。(或者,特定特徵的加權可以被構建在查詢處理器的記分算法中,而不是使得加權是顯性的)。
在312,使用查詢,可以對索引的面部/照片執行文本搜索。在314,基於查詢的結果可以被接收。在一個示例中,這些結果可以是排名次序,以致似乎與查詢相匹配的結果緊鄰結果的頂部出現,而與該查詢不太匹配的結果出現在底部附近。因而,在上面的示例中, 與許多搜索項(或許多重加權的搜索項)相關聯的面部可能排在頂部附近,而與較少的搜索項相關聯的面部則可能排在底部附近。在一個示例中,結果的排名可以通過後查詢動作 (post-query action)來完成。因而,可以執行文本搜索,以識別滿足該查詢的照片,但是在這些結果之中,結果的實際排名可以通過該查詢與每一個結果之間的矢量比較來完成。例如,可以創建矢量來代表查詢中的項以及每一個搜索結果的頻率,並且這些結果可以按照結果的矢量與查詢矢量之間餘弦的遞減順序進行排名(儘管其他類型的矢量比較也是可能的)。在另一個示例中,結果的排名可以基於該查詢中有多少個字符串與用於索引照片的字符串相匹配,例如,與該查詢中較大數量的字符串相匹配的照片可以接收到比與較少數量的字符串相匹配的照片更高的排名。在316,基於這些結果,可以採取切實的行動。例如,這些結果可以用於提議用於照片中尚未識別的面部的標籤(方框318)。這樣的提議可以通過確定在結果中排名高的哪些面部與已知人員相關聯並提供允許用戶從已知人員的那個列表中選擇用於尚且未知的面部的標籤的菜單來運作。人員的列表可以按照排名的順序來呈現,以致與高排名的搜索結果相關聯的人員將在與較低排名的搜索結果相關聯的人員之前進行呈現。作為在316執行的行動的另一個示例,似乎與未識別面部相匹配的照片可以被顯示給用戶(在320)。例如,如果新的照片包含未識別的面部,那麼可以從那個面部獲得視覺和社交特徵,並將這些特徵編碼到文本串中。這些文本字符串隨後可以在查詢中進行使用, 以搜索已知面部的資料庫。基於查詢中的社交和視覺標準二者,能夠從資料庫中檢索可能是與未識別面部相同的面部,並且可以將其顯示給用戶。用戶隨後可以被要求確認是否檢索到的面部是與未識別面部相同的一個人。一般來說,在316採取的行動可以基於這些結果之中特定面部的包括和/或基於那個面部在這些結果內的排名。圖4顯示其中可以部署這裡描述的主題的各方面的示例環境。計算機400包括一個或多個處理器402和一個或多個數據記憶組件404。一個或多個處理器402通常是微處理器,諸如在個人臺式計算機或膝上型計算機、伺服器、手持計算機或另一類型的計算設備中找到的微處理器。一個或多個數據記憶組件404是能夠或短期或長期存儲數據的組件。一個或多個數據記憶組件404的示例包括硬碟、可移動盤(包括光碟和磁碟)、易失性和非易失性隨機存取存儲器(RAM)、只讀存儲器(ROM)、快閃記憶體、磁帶等等。一個或多個數據記憶組件是計算機可讀存儲媒體的示例。計算機400可以包括顯示器412或者與顯示器412相關聯,其中顯示器可以是陰極射線管(CRT)監視器、液晶顯示器 (IXD)監視器或任何其他類型的監視器。軟體可以存儲在一個或多個數據記憶組件404中,並且可以運行在一個或多個處理器402上。這樣的軟體的示例是視覺和/或社交面部處理軟體406,其可以實現上面結合圖1-3描述的一些或所有的功能,但是任何類型的軟體都能夠被使用。例如,軟體406可以通過一個或多個組件來實現,其中這一個或多個組件可以是分布式系統中的組件、單獨的文件、單獨的功能、單獨的對象、單獨的代碼行等等。其中程序被存儲在硬碟上、被加載到 RAM中並被運行在一個或多個計算機的處理器上的計算機(例如,個人計算機、伺服器計算機、手持計算機等等)代表圖4中描繪的情景,但是這裡描述的主題並不限於這個示例。這裡描述的主題能夠被實現為存儲在一個或多個數據記憶組件404中並運行在一個或多個處理器402上的軟體。作為另一個示例,該主題能夠被實現為存儲在一個或多個計算機可讀存儲媒體中的指令。諸如光碟或磁碟之類的有形媒體是存儲媒體的示例。這些指令可以存在於非臨時媒體上。這樣的指令當由計算機或其他機器運行時可以導致計算機或其他機器執行方法的一個或多個動作。執行這些動作的指令可以存儲在一個介質上, 或者可以被展開在多個媒體上,以致這些指令可能一起出現在一個或多個計算機可讀存儲媒體上,而不管所有的這些指令是否正好在同一介質上。注意作為對比,在其上「存儲」信號的媒體(其可以被稱為「存儲媒體」)與包含或發送傳播信號的媒體之間是存在區別的。 DVD、快閃記憶體、磁碟等等是存儲媒體的示例。另一方面,信號瞬時存在於其上的線路或光纖是短暫信號媒體的示例。此外,這裡描述的任何動作(無論是否在圖中顯示)可以作為方法的一部分由處理器(例如,一個或多個處理器402)來執行。因而,如果在這裡描述動作A、B和C,那麼可以執行包括動作A、B和C的方法。此外,如果在這裡描述動作A、B和C,那麼可以執行包括使用處理器來執行動作A、B和C的方法。在一個示例環境中,計算機400可以通過網絡408通信地連接到一個或多個其他設備。在結構上與計算機400相類似的計算機410是可以連接到計算機400的設備的示例, 但是其他類型的設備也可以如此進行連接。雖然採用特定於結構特徵和/或方法論的行為的語言描述了本主題,但是將明白在所附的權利要求書中定義的主題不一定限於上述的具體特徵或動作。相反,上述的具體特徵和動作被披露為實現這些權利要求的示例形式。
權利要求
1.一種基於視覺和社交數據來索引面部的方法,該方法包括分析(204)第一面部(202)的圖像,以產生量化所述第一面部(202)的特徵的矢量 (112);創建(208)表示所述矢量(112)的一個或多個第一文本串(220);獲得與所述第一面部(202)出現在其中的第一照片有關的社交數據(118);將所述第一面部(202)與所述一個或多個第一文本串(220)以及所述社交數據(118) 相關聯;以及將所述第一面部與所述一個或多個第一文本串(220 )以及所述社交數據(118 )相關聯存儲在資料庫(138)中。
2.權利要求I的方法,其中所述一個或多個第一文本串的所述創建包括使用位置敏感散列,其生成文本串,以致為矢量生成的文本串的相似度與所述矢量的鄰近度正相關。
3.權利要求I的方法,其中所述一個或多個第一文本串的所述創建包括在所述矢量存在於其中的空間中定義第一平面集合;確定所述矢量位於所述平面中的每一個平面的哪一側邊;和在文本串中編碼所述矢量位於所述平面中的每一個平面的哪一側邊,所述文本串是所述一個或多個第一文本串之一。
4.權利要求3的方法,進一步包括定義多個平面集合,所述第一平面集合是所述多個平面集合之一;以及基於對於所述多個平面集合中的每一個平面集合的平面側邊決策,創建單獨的文本串。
5.權利要求I的方法,其中所述社交數據包括誰已上傳了所述第一照片,其中所述第一面部在所述資料庫中利用所述一個或多個第一文本串和利用已上傳所述第一照片的人員的名字來索引。
6.權利要求I的方法,其中所述動作進一步包括接收第二面部的圖像;基於所述第二面部的視覺外觀,創建一個或多個第二文本串;從所述第二面部出現在其中的第二照片中獲得社交數據;創建包括所述一個或多個第二文本串和所述社交數據的文本查詢;基於所述查詢,獲得包括所述第一面部的結果的集合,其中在所述結果中包括所述第一面部是以利用在所述查詢中的項進行索引的所述第一面部為基礎的;以及基於所述結果,執行動作。
7.一種計算機可讀介質,其具有計算機可執行指令來執行權利要求1-6之中任一權利要求的方法。
8.一種用於基於視覺和社交數據來識別第一面部的系統,該系統包括存儲器(404);處理器(402);資料庫(138),其存儲面部(202),其中所述面部利用代表所述面部(202)的視覺特性的文本串(220)並且也利用與所述面部(202)相關的社交數據(118)來索引;和面部處理組件(406),其接收所述第一面部的圖像、創建表示所述第一面部的視覺外觀的矢量(112)、創建表示所述矢量(112)的一個或多個文本串(220)、獲得與所述第一面部出現在其中的照片相關的社交數據(118)、形成包括所述一個或多個文本串(220)與所述社交數據(118)的查詢(310)、從所述資料庫(138)中獲得基於所述查詢(304)的結果以及基於所述結果採取行動(316),其中所述結果包括第二面部。
9.權利要求8的系統,其中所述行動包括提議與所述第二面部相關聯的身份作為所述第一面部的標籤,或者指示所述第二面部屬於與所述第一面部相同的一個人。
10.權利要求8的系統,其中從與從所述面部的視覺特性中導出的矢量有關的平面側邊決策中導出在所述資料庫中用於索引所述面部的所述文本串。
全文摘要
可以使用視覺和社交標準來索引和識別面部。在一個示例中,面部的視覺特徵被量化,並且這些特徵的量化以矢量來表示。矢量的各方面隨後以文本串的形式來表示。圍繞面部的社交上下文也以文本串的形式來表示。這些文本串即基於視覺的字符串和/或基於社交的字符串二者與面部相關聯,並且被存儲在索引中。這些字符串與面部的相關聯性隨後可以使得該面部在其視覺和社交特徵方面是文本可搜索的。對這些視覺和/或社交特徵的搜索可以用於協助識別新的面部的圖像或提議標籤,以便用戶應用於照片。
文檔編號G06F17/30GK102609434SQ201110429238
公開日2012年7月25日 申請日期2011年12月20日 優先權日2010年12月20日
發明者B.多德森, C.韋布斯特, D.尼科爾斯, J.斯卡裡亞 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀