專利名稱:基于草圖的圖像搜索的制作方法
技術領域:
本發(fā)明涉及圖像搜索,尤其涉及基于草圖的圖像搜索。
背景技術:
隨著電子成像設備和因特網(wǎng)的日益流行,數(shù)十億數(shù)字圖像已經(jīng)變得可公開獲得并且可在線搜索。對這樣巨大數(shù)量的數(shù)據(jù)進行索引以使用戶能夠快速找到所需圖像是巨大且困難的任務。例如,許多圖像是在沒有準確描述或標簽的情況下張貼的,使得難以使用典型的關鍵字技術對這些圖像進行索引。因此,在用戶希望定位具有特定特征的復雜圖像時,依賴于短文本查詢的常規(guī)的基于文本的搜索引擎通常不能夠以及時且高效的方式來定位所需圖像。另外,盡管已經(jīng)密集地研究了圖像數(shù)據(jù)庫的基于草圖的搜索,但在開發(fā)實用的大規(guī)模的基于草圖的搜索技術方面作出的進展很少。在構造大規(guī)模的基于草圖的搜索系統(tǒng)方面的嘗試因各種原因而沒有成功。例如,一些所提出的技術缺少有效的邊表示并且不能夠快速且準確地將輸入草圖與經(jīng)索引的圖像進行比較。其他所提出的技術不能夠?qū)崿F(xiàn)可伸縮的索引解決方案,從而在被應用于數(shù)百萬圖像時造成具有不可管理的大小或復雜度的索引。
發(fā)明內(nèi)容
提供本“發(fā)明內(nèi)容”是為了以簡化的形式介紹將在以下“具體實施方式
”中進一步描述的一些概念。本“發(fā)明內(nèi)容”并不旨在標識出所要求保護的主題的關鍵特征或必要特征;也不旨在用于確定或限制所要求保護的主題的范圍。本文的一些實現(xiàn)提供了用于使用查詢曲線作為搜索查詢來進行基于草圖的圖像搜索以準確地定位和檢索圖像的技術。此外,一些實現(xiàn)提供了用于高效地對巨量自然圖像進行索引以便于基于草圖的搜索的索引技術。
參考附圖來闡明“具體實施方式
”。在附圖中,附圖標記中最左邊的數(shù)字標識該附圖標記首次出現(xiàn)的附圖。在不同附圖中使用同一附圖標記指示相似或相同的項或特征。圖1是根據(jù)一些實現(xiàn)的用于基于草圖的搜索的框架的框圖。圖2A-2C示出了根據(jù)一些實現(xiàn)的實時交互式的基于草圖的搜索的示例。圖3是根據(jù)一些實現(xiàn)的用于基于草圖的搜索的示例過程的流程圖。圖4描繪了根據(jù)一些實現(xiàn)的距離圖的示例。圖5是根據(jù)一些實現(xiàn)的用于基于草圖的搜索的框架的框圖。圖6是示出出錯率和估計的存儲器使用與圖像分辨率的關系的圖表。圖7A-7C示出了根據(jù)一些實現(xiàn)的邊界檢測和突出曲線標識的示例。圖8示出了根據(jù)一些實現(xiàn)的具有不同定向的各曲線部分的二進制圖的示例。
圖9示出了根據(jù)一些實現(xiàn)的結構敏感匹配的效果。圖10描繪了根據(jù)一些實現(xiàn)的索引結構的示例。圖11描繪了根據(jù)一些實現(xiàn)的用戶界面的示例。圖12描繪了根據(jù)一些實現(xiàn)的具有文本輸入的用戶界面的示例。圖13描繪了根據(jù)一些實現(xiàn)的具有文本輪輸入的用戶界面的示例。圖14描繪了根據(jù)一些實現(xiàn)的具有色彩輪輸入的用戶界面的示例。圖15是根據(jù)一些實現(xiàn)的索引過程的示例的流程圖。圖16是根據(jù)一些實現(xiàn)的用于基于草圖、基于文本和/或基于色彩的搜索的示例過程的流程圖。圖17是根據(jù)一些實現(xiàn)的用于基于草圖的圖像搜索的示例系統(tǒng)的框圖。圖18是根據(jù)一些實現(xiàn)的示例服務器計算設備的框圖。圖19是根據(jù)一些實現(xiàn)的示例客戶機計算設備的框圖。
具體實施例方式基于草圖的搜索本文描述的技術一般針對用于基于草圖的圖像搜索的技術。一些實現(xiàn)采用突出曲線發(fā)現(xiàn)方案來檢測自然圖像中的主要或突出曲線以允許高效地對圖像進行索引和表示。此外,一些實現(xiàn)應用原始的基于曲線的過程來計算查詢草圖輸入與為自然圖像生成的曲線圖之間的相似度。此外,可以提供用戶界面以允許用戶使用草圖輸入、文本輸入、和色彩選擇輸入的任何組合來靈活地制定查詢。為了對數(shù)百萬圖像進行索引并且為了能夠?qū)诓輬D的查詢進行實時響應,一些實現(xiàn)利用了被設計成考慮存儲成本、圖像檢索準確度、以及計算效率的位置敏感曲線索引框架。本文公開的索引技術可被用來創(chuàng)建涵蓋數(shù)百萬圖像的可管理和可搜索索引。在一些實現(xiàn)中,在標識圖像中的突出曲線期間,圖像的分辨率可被降低到最優(yōu)分辨率以提供出錯率與存儲器空間之間的平衡。因此,本文的實現(xiàn)能夠提供用于按草圖查詢的圖像搜索的大規(guī)模索引框架和允許將草圖查詢與圖像進行匹配的搜索引擎。本文的一些實現(xiàn)提供了比常規(guī)技術要快得多且準確得多的用于基于草圖的搜索的技術。在真實世界情況下,用戶的搜索意圖通常是復雜的并且可在搜索期間變化。因此, 一些實現(xiàn)提供了交互式用戶界面來幫助用戶表達他們的意圖并通過細化他們的草圖查詢以逐步的方式來找到所需圖像。該用戶界面可包括允許用戶組成復雜查詢的查詢面板或窗口,如通過繪制草圖、輸入一個或多個關鍵詞、以及指定主色。此外,具有觸摸屏能力的設備的流行使得人機交互,尤其是草圖繪制,比之前更加容易。另外,還可以充分利用具有許多web圖像的標簽和文本的可用性來提高基于草圖的圖像搜索的準確度。在一些實現(xiàn)中,在草圖本身不足以描述用戶的查詢意圖時,可以結合草圖查詢來使用文本查詢以橋接草圖查詢與自然圖像之間的語義間隙。例如,如果用戶繪制了圓圈作為他/她的查詢來尋找月亮,則系統(tǒng)可能返回包含許多圓形對象但不一定是月亮的圖像。在這種情況下,結合草圖查詢提交的文本查詢可幫助提高搜索結果的相關度。另外,本文的一些實現(xiàn)允許結合草圖查詢來指定色彩。例如,如果用戶期望定位特定顏色的花的圖像,則用戶可以指定該特定顏色作為結合基于草圖的查詢和/或基于文本的查詢來提交的基于色彩的查詢。本文的一些實現(xiàn)提取自然圖像的代表性輪廓,該輪廓可被用來將圖像與查詢草圖相匹配。因此,各個實現(xiàn)能夠高效地且準確地將查詢草圖與自然圖像中的輪廓相匹配。用戶提交草圖查詢而非僅僅是文本查詢指示了所得圖像的形狀或輪廓結構是優(yōu)先的。因此, 用戶期望所得圖像與他們的草圖輸入緊密匹配。大多數(shù)常規(guī)的按草圖查詢的技術具有可伸縮性問題,因為它們不具有加速草圖-圖像匹配的索引機制。本文的實現(xiàn)包括用于檢測表示圖像的一條或多條突出曲線的突出曲線標識方法。圖像的突出曲線具有更緊密地匹配用戶的草圖輸入的可能性。本文的實現(xiàn)還提供了用于計算查詢草圖與自然圖像之間的相似度的基于原始曲線的算法。這一匹配算法適用于本文公開的索引策略并可被優(yōu)化來改進用戶體驗。為了可伸縮到數(shù)百萬圖像,可以使用考慮索引大小、檢索精度、以及檢索效率的位置敏感曲線索引策略。在這一索引方案下,圖像由一組視覺字(visual-word)來表示。每一視覺字可以表示一個像素,并且可被表示成定向(direction-oriented)點{x,y,Θ},其指示曲線從方向θ穿過圖像的位置{x,y}。因此,θ提供到位置{x,y}的定向,這減少了可能的匹配的數(shù)量而同時提高了準確度。各個實現(xiàn)使用本文公開的索引和匹配框架來提供實時的基于草圖的圖像搜索系統(tǒng)。此外,為了提高檢索精度和用戶搜索體驗,各個實現(xiàn)提供允許用戶靈活地制定并交互式地細化他們的查詢的交互式用戶友好界面。除基于草圖輸入的搜索之外,一些實現(xiàn)包括以補充性方式執(zhí)行的基于色彩或文本輸入的搜索,如在其中一些視覺元素或語義意義不能由草圖方便地呈現(xiàn)的情況下。用于基于草圖的搜索的示例框架圖1是根據(jù)本文的一些實現(xiàn)的用于交互式的基于草圖的圖像搜索框架100的示例的框圖??蚣?00能夠作為用于索引和搜索數(shù)百萬圖像的實時的基于草圖的交互式圖像搜索系統(tǒng)來執(zhí)行??蚣?00可以允許輸入草圖查詢與諸如數(shù)據(jù)庫、因特網(wǎng)等圖像源中的一個或多個圖像之間的精確匹配。框架100包括離線或索引階段102和在線或搜索階段104。 索引階段102包括圖像106的一個或多個數(shù)據(jù)庫或源。例如,圖像106可以從任何合適的源獲得,如通過爬行因特網(wǎng)網(wǎng)站、通過下載或上傳圖像數(shù)據(jù)庫、通過將來自成像設備的圖像存儲到計算機存儲介質(zhì),等等。在一些實現(xiàn)中,圖像106可以是可在萬維網(wǎng)上獲得的數(shù)百萬或甚至數(shù)十億自然圖像、照片等。索引階段102還包括用于生成圖像106的圖像索引110 的索引組件108。圖像索引110可以是用于基于查詢曲線輸入來標識一個或多個圖像的草圖匹配圖像索引。在一些實現(xiàn)中,索引組件108標識每一圖像106中的一條或多條主要或突出曲線112,并基于這些突出曲線112來生成圖像索引110。例如,每一突出曲線112可被表示成一群或一組定向點,并且可以基于不同的定向點來創(chuàng)建倒排索引結構。這些定向點用作組成索引的索引項或視覺字,并且基于它們是否具有包含特定視覺字的突出曲線來將圖像標識符與特定視覺字相關聯(lián)。可以使得在索引階段102期間生成的圖像索引110可供搜索引擎114在搜索階段 104期間使用。搜索引擎114可以提供能夠接收作為查詢提交的草圖輸入118的用戶界面組件116。在所示實現(xiàn)中,用戶界面組件116與搜索引擎114 一起提供。例如,該用戶界面可以在web瀏覽器窗口中作為網(wǎng)頁來呈現(xiàn)給用戶。在其他實現(xiàn)中,用戶界面組件116可被合并到用戶計算機上的web瀏覽器或其他應用程序,可以是web瀏覽器的插件或升級,等等。搜索引擎114還包括被配置成接收草圖輸入118并執(zhí)行匹配和排名功能以定位與草圖輸入118相對應的一個或多個圖像106的匹配組件120。在一些實現(xiàn)中,匹配組件120至少使用基于草圖輸入118中標識的一條或多條曲線的單向數(shù)據(jù)庫-查詢匹配方案。此外,在其他實現(xiàn)中,匹配組件120可以使用包括數(shù)據(jù)庫-查詢匹配和查詢-數(shù)據(jù)庫匹配兩者的雙向索引和匹配方案或近似雙向索引和匹配方案。匹配組件120標識與草圖輸入118相對應的一個或多個圖像,并且用戶界面組件116輸出所標識的圖像中的一個或多個來作為結果 122。結果122可以作為反饋IM來實時地顯示給或以其他方式提供給用戶。如果用戶對結果122不滿意,則該用戶可以交互式地修改草圖輸入118,如通過向草圖添加附加曲線、 刪除或擦除曲線或曲線的一部分,等等。圖2A-2C示出了根據(jù)本文的一些實現(xiàn)的可以使用框架100來執(zhí)行的實時交互式搜索的示例。如圖2A所示,用戶可以在用戶界面204中繪制第一草圖202作為提交給框架 100的草圖輸入118。提交第一草圖202并且框架100可以顯示多個圖像206作為搜索結果的反饋。如圖2B所示,如果響應于第一草圖202所返回的圖像206不滿足用戶的搜索意圖,則該用戶可以交互式地添加一條或多條附加直線或曲線和/或刪除現(xiàn)有直線或曲線中的一些或全部。在所示示例中,用戶在用戶界面204中添加第二草圖208,并且框架100作為響應基于作為草圖輸入查詢的第一草圖202和第二草圖208來返回第二多個圖像210。 如果第二多個圖像210仍然不滿足用戶的搜索意圖,則該用戶可以添加或刪除附加草圖線來進一步細化草圖輸入。如圖2C所示,在該示例中,用戶添加附加草圖曲線212、214、216, 并且框架100基于作為當作查詢提交的草圖輸入的草圖曲線202、208、212、214和216來返回第三多個圖像218。因此,從以上示例可以看到,用戶可以使用用戶界面來實時地交互式地細化草圖輸入以定位與搜索意圖相匹配的一個或多個圖像。圖3是根據(jù)本文的一些實現(xiàn)的用于執(zhí)行基于草圖的搜索的示例過程300的流程圖。在該流程圖中,操作被概括成單獨的框。操作可以用硬件或作為可由一個或多個處理器執(zhí)行的處理器可執(zhí)行指令(軟件或固件)來執(zhí)行。此外,過程300可以但不必使用圖1 的框架100來實現(xiàn)。在框302,框架100生成多個圖像的基于曲線的圖像索引。例如,框架100可以檢測每一圖像中的一個或多個主要或突出曲線并基于每一檢測到的突出曲線中所包含的各點的位置和定向來生成索引。在框304,框架100接收草圖作為草圖查詢輸入。例如,用戶可以向該框架所提供的或者由web瀏覽器或其他應用程序所提供的用戶界面提交草圖來作為草圖查詢輸入。在框306,該框架標識作為草圖查詢輸入來提交的草圖中的一條或多條曲線。在框308,該框架定位具有與該一條或多條草圖曲線相對應的曲線的一個或多個圖像。例如,該框架可以使用圖像索引來標識具有帶有與在草圖查詢輸入中提交的草圖曲線的定向點相類似的定向點的突出曲線的一個或多個圖像。該框架還可采用各種排名方案,如以下針對對所標識的圖像進行排名而進一步討論的。在框310,返回定位的圖像并將其作為反饋顯示給用戶。如果用戶對搜索結果不滿意,則該用戶可以進一步交互式地實時地細化草圖并且該過程返回到框304以處理作為查詢輸入的經(jīng)細化的草圖。用戶可以繼續(xù)交互式地細化草圖,直至達到所需結果為止。匹配技術
通過采用本文公開的基于草圖的圖像搜索技術的各個實現(xiàn),用戶可以在用戶界面中簡單地草擬一個或多個筆畫來表示對象或場景的輪廓,并且該框架向用戶返回一個或多個“匹配”圖像。這些“匹配”圖像是基于與草圖輸入的至少兩個相似性條件來標識的,即相似形狀和相似位置。因此,希望所得圖像中的對象或場景的形狀與用戶的草圖輸入的形狀相似。此外,希望匹配的對象或場景在所得圖像中的位置定位在與輸入草圖中相類似的位置。此處的草圖可以由一條或多條曲線來表示,并且每一條曲線可被分解成多個相鄰地定位的像素。類似地,為數(shù)據(jù)庫中的圖像所標識的突出曲線也可以由多個相鄰地定位的像素來表示。為了實現(xiàn)相似性匹配,可采用許多相似性度量來供本文的各個實現(xiàn)使用。本文的一些實現(xiàn)利用斜面匹配(Chamfer Matching)技術,該技術例如由J. Shotton、A. Blake、 以及 R. Cipolla 在 2008 年 PAMI "Multiscale categorical object recognition using contour fragments (使用輪廓片段的多尺度分類對象識別)”中描述,但本文的其他實現(xiàn)可以使用替換匹配技術。根據(jù)斜面匹配技術,可以使用一組點D來表示圖像的曲線,其中點ρ e D的位置由 Xp = (xp, yp)來表示。從查詢草圖Q到數(shù)據(jù)庫圖像D的基本斜面距離如下給出
權利要求
1.一種方法,包括接收查詢曲線作為草圖查詢輸入(304);至少部分地基于所述查詢曲線來標識第一多個定向點(306);以及由處理器使用所述第一多個定向點來定位具有包括與所述第一多個定向點中的至少一些相匹配的第二多個定向點的曲線的至少一個圖像(308)。
2.如權利要求1所述的方法,其特征在于,基于所述第一多個定向點來定位多個圖像, 所述方法還包括生成所述多個圖像中的每一圖像中的各圖像曲線的一個或多個距離圖;計算所述查詢曲線與所生成的距離圖之間的相似度;以及至少部分地基于計算得到的相似度來對所述多個圖像中的圖像進行排名。
3.如權利要求1所述的方法,其特征在于,基于所述第一多個定向點來在圖像數(shù)據(jù)庫中定位第一多個圖像,所述方法還包括將所述查詢曲線與為所述圖像數(shù)據(jù)庫中的每一圖像中標識的各圖像曲線所生成的距離圖進行匹配以獲取第二多個圖像;以及從所述第一多個圖像和所述第二多個圖像中標識第三多個圖像作為響應于所述草圖查詢輸入的結果。
4.如權利要求1所述的方法,其特征在于,基于所述查詢曲線來標識第一多個定向點還包括生成所述查詢曲線的一個或多個距離圖,每一距離圖表示具有確定方向的曲線部分,所述距離圖標識所述第一多個定向點中具有所述確定方向的子集,所述距離圖包括所述曲線部分周圍的區(qū)域中的用于標識所述曲線附近的包括在所述第一子集中的一組定向點的容限半徑。
5.如權利要求1所述的方法,其特征在于,將所述查詢曲線劃分成多條子查詢曲線,所述多條子查詢曲線中的每一條被當作所述草圖查詢輸入。
6.如權利要求5所述的方法,其特征在于,所述劃分是至少部分地基于在繪制所述查詢曲線時作出的可區(qū)分筆畫的。
7.如權利要求5所述的方法,其特征在于,所述劃分是至少部分地基于連續(xù)曲線長度的,使得超過預定長度的連續(xù)曲線被劃分成子查詢。
8.如權利要求1所述的方法,其特征在于,使用所述第一多個定向點來定位至少一個圖像還包括使用包括作為索引項的所述第二多個定向點的索引,所述索引項基于圖像包含具有對應定向點的曲線而與多個圖像相關聯(lián)。
9.如權利要求8所述的方法,其特征在于,還包括生成所述索引以包括所述第二多個定向點作為索引項,其中所述第二多個定向點與被配置成接收草圖曲線作為所述曲線查詢的用戶界面的輸入面板的分辨率的各點相對應。
10.如權利要求1所述的方法,其特征在于,還包括響應于所述草圖查詢輸入,提供所述至少一個圖像作為反饋;接收對所述查詢曲線的修改;響應于對所述查詢曲線的修改來提供至少一個不同的圖像作為反饋。
11.一種系統(tǒng),包括與計算機可讀存儲介質(zhì)(1804)通信的處理器(1802);在所述計算機可讀存儲介質(zhì)中維護的索引(1710),所述索引包括與檢測到的多個圖像 (106)的圖像曲線(806)相關聯(lián)的定向點(1002)的第一集合,每一定向點指定一位置(x, y)和該位置處的曲線方向(Θ);用于接收查詢曲線(1130)作為搜索查詢輸入(516)的用戶界面組件(116);以及用于至少部分地基于所述查詢曲線來將定向點(1008)的第二集合與所述索引進行匹配的匹配組件(120),所述匹配組件在所述計算機可讀存儲介質(zhì)中維護并且在所述處理器上執(zhí)行,所述匹配組件至少部分地基于所述匹配來標識所述多個圖像中的至少一個圖像 (122)。
12.如權利要求11所述的系統(tǒng),其特征在于,所述匹配組件生成所述查詢曲線的至少一個距離圖,所述距離圖將所述查詢曲線表示成定向點的所述第二集合。
13.如權利要求11所述的系統(tǒng),其特征在于,為所述查詢曲線所生成的距離圖包括指定在匹配中要使用的、所述查詢曲線周圍區(qū)域中的定向點的預定范圍的容限值。
14.如權利要求11所述的系統(tǒng),其特征在于所述用戶界面組件被配置成結合所述查詢曲線作為搜索查詢輸入來接收基于文本的查詢或基于色彩的查詢中的至少一個;所述匹配組件被配置成基于所述基于文本的查詢或所述基于色彩的查詢中的至少一個來標識一個或多個附加圖像,并且將所述一個或多個附加圖像的排名分數(shù)與基于所述查詢曲線來標識出的多個圖像的排名分數(shù)進行組合以標識多個經(jīng)排名的圖像作為搜索結果。
15.一種方法,包括訪問多個圖像(1502);標識每一圖像中的至少一條曲線(1504);將每一圖像中的所述至少一條曲線表達成一組點,每一個點具有至少部分地基于所述曲線在該點處的方向的定向(1506);以及由處理器生成包括作為索引項的多個定向點的圖像索引,所述索引項至少部分地基于為所述圖像中的曲線所標識的各組點來與所述多個圖像相關聯(lián)(1508)。
全文摘要
基于草圖的圖像搜索可包括接收查詢曲線作為草圖查詢輸入以及基于該查詢曲線來標識第一多個定向點。該第一多個定向點可被用來定位具有包括與該第一多個定向點中的至少一些相匹配的第二多個定向點的曲線的至少一個圖像。各實現(xiàn)還包括通過標識每一圖像中的至少一條曲線并生成包括作為索引項的多個定向點的索引來對多個圖像進行索引。這些索引項基于圖像中的所標識的曲線中的對應的定向點來與多個圖像相關聯(lián)。
文檔編號G06F17/30GK102339306SQ201110266398
公開日2012年2月1日 申請日期2011年8月30日 優(yōu)先權日2010年8月31日
發(fā)明者張磊, 李志偉, 王長虎 申請人:微軟公司