相關申請的交叉引用
本申請要求于2014年4月24日遞交的編號為61/983,971的美國臨時申請的優先權益。該申請的全部內容以引用的形式并入于此。
本發明涉及基于圖像的目標識別,且尤其涉及用于基于圖像的目標識別的特征識別技術。
背景技術:
用于基于圖像的目標識別的特征檢測算法多種多樣。在最基本的層面上,特征檢測算法生成描述符,所述描述符為基于圖像的目標識別、搜索和檢索提供一種表征、歸納和索引圖像(例如,形狀、物體等等)區別特征的途徑。用于基于圖像的目標識別的特征檢測算法的一個例子是尺度不變特征變換(sift)特征檢測算法,如lowe在us.patentno.6,711,293中所描述的。例如,所述sift特征檢測算法可應用于圖像以生成用于所述圖像內各種特征的描述符。
基于機器的目標識別一般包括兩個不同的步驟。第一,使用特征檢測算法(例如,sift特征檢測算法)對已知物體的訓練圖像進行分析,從而生成關聯于所述圖像數據中的特征的描述符。為了在識別設備(例如,智能手機)上運用,可將關聯于許多不同物體的描述符打包成識別庫或數據庫。第二,所述識別設備拍攝物體的新“查詢”圖像。所述設備將相同的圖像處理算法應用到所述查詢圖像,借此生成查詢圖像描述符。然后所述設備在所述識別庫中將所述查詢圖像描述符與所述訓練圖像描述符進行對比。如果有足夠多的匹配,通常為最近鄰匹配,那么所述查詢圖像被視為包含所述已知物體中的至少一個的表示。
不幸的是,基于圖像的目標識別的實際應用所必需的識別庫可能比一般移動設備(例如,智能手機)的存儲容量大得多。如果所述識別庫不得不包含足夠多的信息以區分上千個物體,那么這就尤其正確。例如,一般的sift描述符可能包括128字節的信息。那么1000個物體的數據集可能具有2,000,000個描述符,所述描述符轉化為256mb的識別庫。由于限制帶寬和/或禁止數據充電的緣故,足夠大的數據集很難運用在移動設備上,哪怕是通過移動通信網絡。
技術實現要素:
在過去的日子里,已經做過了許多增強基于圖像的目標識別所需的識別數據庫的嘗試,但是始終保持對技術的需要,該技術為允許建立緊湊而有效率的用于基于圖像的目標識別的識別庫。
本文中描述了用于識別訓練圖像內的穩健特征的方法、系統和產品。所述的各種實施方式可允許用于建立緊湊而有效率的用于基于圖像的目標識別的識別庫。在一個實施方式中,在訓練圖像內識別穩健特征。所述訓練圖像可能是未失真圖像、紅外線過濾圖像、x射線圖像、360度視角圖像、機器視角圖像、視頻數據的幀、圖形繪制和三維物體的透視圖中的一個,且所述訓練圖像可能是借助圖像拍攝設備通過拍攝視頻流的視頻幀來獲得的。通過將特征檢測算法應用到所述訓練圖像來生成訓練特征,每個訓練特征在所述訓練圖像內具有訓練特征位置。根據預定義圖像變換,所述訓練圖像的至少一部分變換成變換圖像。多個圖像變換可呈現給用戶以供用戶選擇作為所述預定義圖像變換,且所述預定義圖像變換可獨立地從用于拍攝所述訓練圖像的方法中選擇。通過將所述特征檢測算法應用到所述變換圖像來生成變換特征,每個變換特征在所述變換圖像內具有變換特征位置。所述訓練特征的所述訓練特征位置根據所述預定義圖像變換映射到所述變換圖像內對應的訓練特征變換位置,且通過選擇穩健特征編譯穩健特征集,其中每個穩健特征表示訓練特征具有訓練特征變換位置,所述訓練特征變換位置靠近于一個所述變換特征的變換特征位置。所述訓練特征和變換特征中的每一個可根據所述特征檢測算法通過特征描述符來描述。所述訓練特征位置中的每一個可包括像素坐標,且所述變換特征位置中的每一個可包括變換像素坐標。所述特征檢測算法可包括以下算法中的至少一個sift(尺度不變特征變換、scale-invariantfeaturetransform)、freak(快速視網膜關鍵點、fastretinakeypoint)、hog(梯度方向直方圖、histogramsoforientedgradient)、surf(加速穩健特征、speededuprobustfeatures)、daisy、brisk(二進制穩健不變尺度特征關鍵點、brinaryrobustinvariantscalablekeypoints)、fast(基于加速分割的檢測特征、featuresfromacceleratedsegmenttest)、brief(二進制穩健獨立基元特征、binaryrobustindependentelementaryfeatures)、harriscorners(哈里斯角點)、edges、gloh(梯度位置方向直方圖、gradientlocationandorientationhistogram)、eog(影像梯度能量、energyofimagegradient)或者tilt(變換不變低秩紋理、transforminvariantlow-ranktextures)特征檢測算法。
在一些實施方式中,所述預定義圖像變換可包括幾何變換。所述幾何變換可包括尺度縮放、傾斜、剪切和旋轉變換中的至少一個。
在一些實施方式中,對所述訓練圖像的至少一部分的變換可包括通過尺度系數尺度縮放所述訓練圖像以形成所述變換圖像。所述尺度系數可以以基于圖像的目標識別搜索的一個或多個主題特性為基礎,且可將所述基于圖像的目標識別搜索的所述一個或多個主題特性確定為查詢圖像的標示,所述查詢圖像主要為近序圖像、遠序圖像、傾斜圖像、富紋理圖像、中等紋理圖像或乏紋理圖像中的至少一個。在一些實施方式中,所述尺度系數可包括介于所述訓練圖像原始大小的50%和90%之間的線性尺度系數。在一些實施方式中,所述尺度系數可包括介于所述訓練圖像原始大小的75%和80%之間的線性尺度系數。
在一些實施方式中,對所述訓練圖像的至少一部分的變換可包括通過一個角度對所述訓練圖像進行傾斜、剪切、旋轉和數字變換中的一項以形成所述變換圖像。在一些實施方式中,所述角度可介于20度和45度之間。
在一些實施方式中,所述預定義圖像變換可包括圖像處理變換。所述圖像處理變換可包括高斯濾波、顏色變換和有損壓縮中的至少一個。
在一些實施方式中,對所述訓練圖像的至少一部分的變換可包括將復合變換作為所述預定義圖像變換應用以形成所述變換圖像,所述復合變換包括多個幾何變換或者圖像處理變換。以基于圖像的目標識別搜索的一個或多個主題特性為基礎可確定所述復合變換。
在一些實施方式中,可調節所述預定義圖像變換的一個或多個調諧參數且基于所述已調節的調諧參數生成第二穩健特征集。所述一個或多個調諧參數包括尺度系數和角度中的至少一個,且可以以基于圖像的目標識別搜索的一個或多個主題特性為基礎自動調節。
在一些實施方式中,在相關于圖像測試庫使用時,可以以所述已調節的調諧參數的識別效率為基礎優化所述已調節的調諧參數。在一些實施方式中,所述圖像測試庫不包括所述訓練圖像,且可以基于所述圖像測試庫驗證所述已調節的調諧參數。
在一些實施方式中,對所述穩健特征的編譯包括:對變換特征位置進行確定,所述變換特征位置在訓練特征變換位置的確定閾值距離內;以及以相似性測度為基礎,對關聯于所述訓練特征變換位置的訓練特征和關聯于所述變換特征位置的變換特征進行比較。所述相似性測度基于歐幾里得距離(euclideandistance)、海寧格距離(hellingerdistance)和漢明距離(hammingdistance)中的至少一個。
伴隨著以下說明書與用標號代表元器件的附圖,本發明主題的各種目的、特征、方面以及優點將變得更加清晰易懂。
附圖說明
圖1根據一個實施方式示出了訓練圖像的不同幾何變換的例子;
圖2a根據一個實施方式示出了富紋理訓練圖像的幾何圖像變換的例子;
圖2b根據一個實施方式示出了中等紋理訓練圖像的幾何圖像變換的例子;
圖2c根據一個實施方式示出了乏紋理訓練圖像的幾何圖像變換的例子;
圖3根據一個實施方式示出了用于識別訓練圖像內的穩健特征的系統的方框圖;
圖4根據一個實施方式示出了用于識別訓練圖像內的穩健特征的示例操作的流程圖;
圖5根據一個實施方式示出了用于確定變換參數的優化集的基于圖像的目標識別搜索查詢圖像的例子;
圖6a根據一個實施方式示出了對富紋理訓練圖像的變換優化結果的示意圖;
圖6b根據一個實施方式示出了對中等紋理訓練圖像的變換優化結果的示意圖;
圖6c根據一個實施方式示出了對乏紋理訓練圖像的變換優化結果的示意圖;
圖7示出了可用于實施所述各種實施方式的一個或多個方面的示范性客戶端-服務器關聯的方框圖;
圖8示出了可用于實施所述各種實施方式的一個或多個方面的分布式計算機系統的方框圖;
在本發明參照上述附圖進行描述時,所述附圖旨在作為本發明的例證(在本發明的保護范圍之內),且其他實施方式亦遵從本精神。
具體實施方式
在此之后將參照附圖以更全面地對所述各種實施方式進行描述,所述附圖作為所述實施方式的一部分且以示例的方式示出實踐所述實施方式的特定例子。然而,本說明書可能以多種形式進行體現,這些不能被認為構成對在此述及的實施方式的限制。相反的,這些實施方式的提供使得本說明書得以全面而透徹,且得以給本領域技術人員全面地傳遞出本發明的保護范圍。其中,本說明書可能體現為方法或者設備。相應地,在此的各種實施方式中的任一個均可以采取全硬件實施方式、全軟件實施方式或結合了軟件與硬件兩方面的實施方式的形式。因此,以下詳細描述將不被視為限制意義。
縱觀說明書和權利要求,以下術語在申請中采取明確關聯的含義,除非上下文中另有清楚的指定。
如本說明書用到的短語“在一個實施方式中”,其并不必需地指向同一個實施方式,盡管其有可能指向同一個實施方式。因此,如下所述,本發明的各種實施方式可便利地在沒有背離本發明之精神的前提下進行結合。
例如本申請用到的術語“或”是一種包容性的“或”運算符,且相當于術語“和/或”,除非上下文中另有清楚的指定。
術語“以…為基礎”、“基于…”不是排他性的并且允許以未描述到的額外因素為基礎,除非上下文中另有清楚的指定。
例如本申請用到的,以及除非上下文表明了例外情況的,術語“連接于”意在包含直接連接(其中兩個元件互相連接互相接觸)和間接連接(其中至少一個額外元件位于所述兩個元件之間)。因此,術語“連接于”與“與…連接”作為同義詞使用。在兩個或多個構件或設備能夠交換數據的網絡化環境的上下文中,術語“連接于”和“與…連接”也用于表示“相通地與…連接”,可能通過一個或多個中間設備。
此外,通篇說明書中,“一種”、“一個”以及“所述”的意思包括復數引用,且“在…中/內”的意思包括“在…內”和“在…上”。
盡管有些說明書中呈現的所述各種實施方式構成創造性元素的單個組合,應當理解的是所述創造性主題視為包括所述已公開元素的所有可能組合。例如,如果一個實施方式包括元素a、b和c,同時另一個實施方式包括元素b和d,那么所述創造性主題也視為包括另一個保留的a、b、c或d的組合,即便該組合并未在此詳細地述及。
如本文描述中所用到的和貫穿之后的權利要求的,當一個系統、引擎、服務器、設備、模塊或其他計算組件被描述為配置成在存儲器內的數據上履行或執行,“配置成”或“編寫成/編程為”的意思是定義為通過儲存在所述計算組件的所述存儲器內用于在儲存在所述存儲器內的目標數據或數據目標上執行功能組的一組軟件指令編寫的所述計算組件的一個或多個處理器或芯片。
應該注意的是任何指向計算機的語言應該視為包括計算設備的任意適合的組合,包括服務器、界面、系統、數據庫、代理、對等設備、引擎、控制器、模塊、或其他單獨或協同運行的計算設備結構的類型。應當理解的是所述計算設備包括配置成執行儲存在有形的、非瞬時性計算機可讀存儲介質(例如,硬盤驅動器、fpga(現場可編程門陣列)、pla(可編程邏輯陣列)、固態硬盤、ram(隨機存儲器)、flash(閃存)、rom(只讀存儲器)等等)上的軟件指令的處理器。所述軟件指令配置或者編碼所述計算設備以提供任務、職責或其他如下文關于所公開的裝置討論到的功能。此外,所公開的技術可體現為包括非瞬時性計算機可讀存儲介質的計算機程序產品,所述非瞬時性計算機可讀存儲介質儲存有所述軟件指令,所述軟件指令引起處理器執行與計算機的算法、程序、方法或其他指令的實施相關聯的公開步驟。在一些實施方式中,各種服務器、系統、數據庫、或界面交換數據均使用標準協議或算法,可能為基于http(超文本傳輸協議,hypertexttransferprotocol)、https(安全超文本傳輸協議)、aes(高級加密標準,advancedencryptionstandard)、公開-專用密鑰交換(public-privatekeyexchange)、web服務api(網絡服務應用程序接口,webserviceapplicationprogramminginterface)、已知的金融交易協議、或其他電子信息交換方法。在設備間的數據交換可以在分組交換網絡、互聯網、lan(局域網,localareanetwork)、wan(廣域網,wideareanetwork)、vpn(虛擬專用網,virtualprivatenetwork)、或分組交換網絡的其他類型、電路交換網絡、單元交換網絡、或其他網絡類型上執行。
所述公開的創新主題的關注點在于使計算設備的構造或配置能夠超出于人類的能力地在大量的數字數據上運行。盡管,在一些實施方式中,所述數字數據表示著圖像,應該理解的是所述數字數據是一個或多個圖像數字模型的表示,而不必需為圖像本身。通過對這些在所述計算設備的存儲器內的數字模型具體化,所述計算設備能夠以提供實用性給所述計算設備的用戶的方式來管理所述數字數據或模型,在沒有使用此種工具的時候,用戶將缺乏所述實用性。因此,所公開的設備能夠根據所公開的技術以更具效率的方式處理此類數字數據。
應當理解的是所公開的技術提供了許多有益的技術效果,包括提高基于數字圖像的目標識別和檢索技術的范圍、精度、緊湊度、效率和速度。同時應當理解的是以下詳細說明并不意在作為一份延伸性概述。且因此為清晰和簡潔起見,可能簡化一些概念。
根據所述各種實施方式,在圖像檢索、圖像識別和/或基于圖像的目標識別的上下文中提及的物體實例檢索包含對圖像數據集(在此單獨地指向“圖像”或“訓練圖像”)進行特征檢測的系統和方法以相應給定的查詢圖像。通過描述符的使用使得圖像識別成為可能,所述描述符表征、歸納和索引圖像的區別特征。大規模圖像識別可包含多種并行運作的服務器和每服務器1千萬以上圖像的圖像數據集(相對于中規模圖像識別中大約每服務器1百萬圖像的圖像數據集)。然而,由于對應于大圖像數據集的描述符的存儲要求,往往會在圖像描述符的存儲器占用空間和例如由平均精確度(mpa)測量的圖像檢索性能之間取舍。因此在大規模圖像上執行圖像識別更可取的是更少地使用圖像描述符去表示圖像。
描述符可以是對應于圖像(例如,形狀、物體等等)的一個或多個可區別特征的向量。有各種用于檢測圖像特征和生成描述符的方法。例如,sift是目前流行的用于檢測和描述圖像特征的圖像識別算法。sift描述符為128維以便于高度區別于或者至少部分地包容例如光照、三維視點等等的偏差。例如,一份涉及生成sift描述符的參考文獻為d.lowe,”distinctiveimagefeaturesfromscale-invariantkeypoints”,intemationaljournalofcomputervision60(2),pages91-110(2004)。在sift描述符之外,其他可選的描述符包括freak描述符、hog描述符、surf描述符、daisy描述符、brisk描述符、fast描述符、brief描述符、harriscorners描述符、edges描述符、gloh描述符、eog描述符和tilt描述符。通常,圖像集的每個圖像可包括成百或上千的通過描述符表示的特征。因此,實際的系統約束往往會要求可用來同時壓縮用于描述圖像數據集的描述符的數量,和減小儲存描述符中所包含的信息所必需的所述存儲器大小的方法。
在本說明書的所述各種實施方式中,通過在訓練圖像數據內識別穩健特征,提供了用來同時壓縮用于描述圖像數據集的描述符的數量和減小儲存描述符中所包含信息所必需的所述存儲器大小的方法。這里所述的各種實施方式有助于確定對于各種微擾來說哪些特征是穩健的(robust)(例如,諸如幾何變換和圖像處理變換之類的圖像變換),而不是僅僅接收所有特征及其相關描述符作為基于圖像的目標識別的密切相關。此外,通過利用物體的僅單個圖像而不是多個圖像來確定穩健特征,所述各種實施方式可比其他平常的訓練圖像攝取技術節省時間。然而,同時能預期到的是所述各種實施方式可用于攝取具有遍及多個視點的復雜結構的三維物體的多個圖像。
在本文中示出的所述用于識別穩健特征的各種實施方式中,為明確和簡潔起見,利用幾何(例如,尺度縮放)變換和sift特征檢測算法作為示例。然而,應當理解的是其他圖像變換(例如,其他幾何變換、圖像處理變換、或變換的組合)和其他特征檢測算法也可以在所述各種實施方式實施。還應當理解的是,以使用到的特定的特征檢測算法為基礎或以已知的通過所述訓練圖像表示的特定的主題特性為基礎,也可以使用各種其他圖像變換。
圖1通過一個實施方式示出了訓練圖像的不同幾何變換的例子。在圖1中,訓練圖像100示出了具有高度h的物體的圖像。例如,訓練圖像100可能是未失真圖像、紅外線過濾圖像、x射線圖像、360度視角圖像、機器視角圖像、視頻數據的幀、圖形繪制和三維物體的透視圖中的一個。在一些實施方式中,訓練圖像100可能是借助圖像拍攝設備通過拍攝視頻流的視頻幀或者從來自廣播節目(例如,電視、電影等等)的視頻流的視頻幀來獲得的。僅用于示例之目的,訓練圖像100作為中等紋理目標示出。
訓練圖像100的至少一部分可通過先驗定義的(即,預定義的)圖像變換變換成變換圖像,比如通過變換圖像102、104和106示出的。在一個實施方式中,所述先驗定義的(即,預定義的)圖像變換可能是幾何變換(如圖所示)或者自動選擇的或呈現給用戶選擇的圖像處理變換中的至少一個。而且,所述預定義圖像變換可獨立地從用于拍攝所述訓練圖像的方法中選擇。照此,所述預定義圖像變換可選擇來使訓練圖像攝取過程效率更高,比如通過自動將相同的預定義圖像變換應用到多個訓練圖像中的每一個而不論它們的來源。
在一些實施方式中,所述預定義圖像變換可以以已知通過所述訓練圖像(例如,富紋理兒童玩具、乏紋理標志、印刷媒體、街景圖像、城市景觀圖像等等)表示的特定主題特性為基礎進行選擇。而且,所述預定義圖像變換可以以期望的查詢圖像的特性為基礎,例如,預期的查詢圖像主要為近序圖像、遠序圖像、傾斜圖像、富紋理圖像、中等紋理圖像或乏紋理圖像中的至少一個。例如,主要為近序的查詢圖像可從因包含印刷媒體而知名的搜索中預期到,而主要為遠序的圖像可從因包含街景圖像、城市景觀圖形或cctv(閉路電視)/安防攝像頭圖像而知名的搜索中預期到。
在一個實施方式中,對訓練圖像100進行變換以形成變換圖像包括通過尺度系數對所述訓練圖像進行尺度縮放(例如,尺度放大或尺度縮小)。例如,變換圖像102示出了已通過線性尺度系數α線性地尺度縮小的訓練圖像。在一個實施方式中,所述線性尺度系數α可優選為位于0.5(即,50%)和0.9(即,90%)之間,且尤其是位于0.75(即,75%)和0.8(即,80%)之間。例如,以下文中描述的用于通過識別穩健特征以減少用于描述訓練圖像所需的特征數量的方法為基礎,大約為0.8(即,80%)的線性尺度系數可不損耗識別性能的前提下在識別數據庫的大小上取得大約50%的減量。在一些實施方式中,所述尺度系數可以以基于圖像的目標識別搜索的一個或多個主題特性為基礎。
在一個實施方式中,對訓練圖像100進行變換以形成變換圖像可包括以一個角度旋轉所述訓練圖像。例如,變換圖像104示出了已以角度θ旋轉了的訓練圖像。所述角度θ可以以創建用于識別穩健特征的微擾的期望數量為基礎進行選擇。例如,角度θ=20度可能是能夠在訓練圖像100和變換圖像102之間引起可觀的旋轉變化的最小角度。照此,20度以下的角度可能使得所述圖像看起來非常相似,以至于有可能沒有足夠的微擾以識別穩健特征。例如,在此種情況下的穩健特征可能包括原始特征集的70%或80%。然而,45度以上的角度可能是上界角度,因為旋轉是高度對稱的。例如,θ=70度的角度可引起的旋轉基本等效于20度旋轉后接著反方向90度旋轉(該反方向90度旋轉可引起相對于sift特征檢測來說極小的差值)。照此,為了sift檢測,所述70度可等效于20度旋轉。同樣的,160度可等效于180度旋轉后的20度旋轉。因此,在一個實施方式中,旋轉角度θ優選為介于20度和45度之間。
在一個實施方式中,對訓練圖像100進行變換以形成變換圖像可包括以傾斜角度
在一些實施方式中,多個不同圖像變換可組合成復合變換。例如,可選擇多個幾何變換和/或圖像處理變換(例如,包括高斯濾波、顏色變換和/或有損或無損壓縮)進行組合以將訓練圖像100變換成變換圖像。在一些實施方式中,復合變換可以以相機或其他圖像拍攝設備的一個或多個已知特性(例如,焦距、孔徑、變焦范圍、虛化等等)為基礎來進行確定。因此,所述復合變換可模擬或效仿通過這樣的圖像拍攝設備進行的圖像拍攝,或者可模擬或效仿這樣的場景,在該場景下查詢圖像可通過這樣的圖像拍攝設備進行拍攝。此外,在一些實施方式中,復合變換可以以基于圖像的目標識別搜索的一個或多個主題特性為基礎進行確定。因此,應當理解的是其他圖像變換或圖像變換的組合也是可行的。且圖1中所示的例子在作為示例的時候,僅用于對訓練圖像100進行變換以形成變換圖像的所述圖像變換的例證。
穩健特征被認為是圖像內的特征子集,所述圖像被確定為不受諸如圖像變換的微擾的影響。例如,有可能將特征檢測算法應用到訓練圖像100以生成訓練特征,其中每個訓練特征在所述訓練圖像內具有訓練特征位置(例如,像素坐標)。同樣的,也可能將所述特征檢測算法應用到變換圖像,比如變換圖像102、104和106中的一個,以生成變換特征,其中每個變換特征在所述變換圖像內具有變換特征位置(例如,變換像素坐標)。接著,訓練圖像100的穩健特征集可通過識別所述具有訓練特征變換位置(例如,對應的變換圖像位置映射的位置)的訓練特征來進行確定,所述訓練特征變換位置靠近于一個所述變換特征的變換特征位置。
圖2a根據一個實施方式示出了富紋理訓練圖像的幾何圖像變換的例子。訓練圖像200示出了在sift特征檢測算法應用之后已被確定為具有1149sift訓練特征(即,訓練特征202和204)的富紋理訓練圖像(例如,一般兒童玩具包的圖像)。為清晰起見,并沒有示出所有的訓練特征。已經對訓練圖像200進行變換以形成變換圖像210。變換圖像210通過.8(即,80%)的尺度系數線性地尺度縮小,同時保持訓練圖像200的長寬比。在所述sift特征檢測算法的應用之后,變換圖像210已被確定成具有786sift變換特征(即,變換特征212和214)。為清晰起見,并沒有示出所有的變換特征。應當注意的是,不是所有的所述786變換特征都對應于訓練特征。例如,尺度縮小的訓練圖像200可能使得一些檢測到的訓練特征(即,訓練特征204)在變換圖像210內不具有對應的變換特征。在其他實例中,對訓練圖像200的尺度縮小可能使得變換特征(即,變換特征214)以不具有對應訓練特征的方式出現在變換圖像210內。例如,在變換圖像210內,所述786變換特征之外,550變換特征(即,變換特征212)與來自訓練圖像200的訓練特征(即,訓練特征202)相互關聯。這些550變換特征被視為穩健而不受尺度縮小訓練圖像200的微擾的影響。照此,訓練圖像200內大約48%(即,100*550/1149)的所述訓練特征可被視為穩健特征。
圖2b根據一個實施方式示出了中等紋理訓練圖像的幾何圖像變換的例子。訓練圖像220示出了在sift特征檢測算法應用之后已被確定為具有707sift訓練特征(即,訓練特征222和224)的中等紋理訓練圖像。為清晰起見,并沒有示出所有的訓練特征。已對訓練圖像220進行變換以形成變換圖像230。變換圖像230通過.8(即,80%)的尺度系數線性地尺度縮小,同時保持訓練圖像220的長寬比。在所述sift特征檢測算法的應用之后,變換圖像230已被確定成具有多個變換特征(例如,變換特征232和234)。為清晰起見,并沒有示出所有的變換特征。如圖2a所示,應當注意的是,不是所有的變換特征都對應于訓練特征。例如,尺度縮小的訓練圖像220可能使得一些檢測到的訓練特征(例如,訓練特征224)在變換圖像230內不具有對應的變換特征。在其他實例中,對訓練圖像220的尺度縮小可能使得變換特征(例如,變換特征234)以不具有對應訓練特征的方式出現在變換圖像230內。例如,在變換圖像230內,318變換特征(例如,變換特征232)與來自訓練圖像220的訓練特征(例如,訓練特征222)相互關聯。這些318變換特征被視為穩健而不受尺度縮小訓練圖像220的微擾的影響。因此,訓練圖像220內大約45%的所述訓練特征可被視為穩健特征。
圖2c根據一個實施方式示出了乏紋理訓練圖像的幾何圖像變換的例子。訓練圖像240示出了在sift特征檢測算法應用之后已被確定為具有多個sift訓練特征(例如,訓練特征242和244)的乏紋理訓練圖像。為清晰起見,并沒有示出所有的訓練特征。已對訓練圖像240進行變換以形成變換圖像250。變換圖像250通過.8(即,80%)的尺度系數線性地尺度縮小,同時保持訓練圖像240的長寬比。在所述sift特征檢測算法的應用之后,變換圖像280已被確定成具有多個sift變換特征(例如,變換特征252和254)。為清晰起見,并沒有示出所有的變換特征。如上述的圖2a和2b所示,應當注意的是,變換圖像250內的變換特征并不都對應于訓練圖像240內的訓練特征。例如,尺度縮小的訓練圖像240可能使得一些檢測到的訓練特征(例如,訓練特征244)在變換圖像250內不具有對應的變換特征。在其他實例中,對訓練圖像240的尺度縮小可能使得變換特征(例如,變換特征254)以不具有對應訓練特征的方式出現在變換圖像250內。訓練圖像240內大約53%的所述訓練特征(例如,訓練特征242)可被視為穩健的,因為它們在變換圖像250內具有對應的變換特征(例如,變換特征252)。
因此,在圖2a-2c中,80%的尺度變換仍維持有大約50%的訓練特征作為穩健特征。只要所述穩健特征儲存起來了,那么這個比例可轉化成對于容納所述訓練圖像特征所需的存儲空間大小的50%的減量(例如,圖像識別數據庫在大小上50%的減量)。而且,圖2a-2c示出了生成穩健特征,如下文所述,大體上對于紋理是不變的。
圖3根據一個實施方式示出了用于識別訓練圖像內的穩健特征的系統的方框圖。在方框圖300內,用于識別穩健特征的元件包括特征檢測器310、圖像拍攝設備320、持久儲存設備330和主存儲器設備340。然而,應當注意的是,,圖3中的組件和各個所述組件的各種功能在示例之時的描述僅是為了使本實施方式更易于理解。本領域技術人員可以理解的是出于所述各種組件的一個或多個功能可以通過任意其他元件來執行,且/或通過配置成執行所述各種功能的組合的元件(未示出)。
在一個實施方式中,特征檢測器310配置成在訓練圖像350內識別穩健特征。在一些實施方式中,訓練圖像350表示物體302的二維(2d)表示,如可以在普通相片、圖像、或視頻幀里發現的一樣。可選的,訓練圖像350可以是通過利用非典型濾光片或鏡片(例如,魚眼鏡片)來生成的失真圖像。而且,訓練圖像350可以是以紅外線(ir)濾波、x射線、360度視角透視圖等等中的一個或多個為基礎的物體機器或機器人視角圖。照此,訓練圖像350可以是未失真圖像、紅外線過濾圖像、x射線圖像、360度視角圖像、機器視角圖像、視頻數據的幀、圖形繪制和三維物體的透視圖中的一個,且可以借助諸如圖像拍攝設備320的圖像拍攝設備通過拍攝視頻流的視頻幀來獲得。
在一些實施方式中,圖像拍攝設備320可以是這樣的設備,該設備要么外露于(未示出)、要么內含于特征檢測器310以生成或獲得訓練物體302的圖像。例如,圖像拍攝設備320可包括遠程服務器(例如,平臺即服務paas服務器、基礎設施即服務iaas服務器、軟件即服務saas服務器、或基于云的服務器)、或者通過通信網絡連接于特征檢測器310的遠程圖像數據庫。在其他例子中,圖像拍攝設備320可包括數字靜止圖像或配置成拍攝圖像的攝像機和/或視頻數據的幀。在其他的例子中,圖像拍攝設備320可包括圖形繪制引擎(例如,游戲系統、圖像渲染軟件等等),在所述圖形繪制引擎中,所述訓練圖像是物體的生成圖像而不是拍攝圖像。
在一個實施方式中,特征檢測器310配置成通過將特征檢測算法應用到所述訓練圖像350以生成訓練特征352,其中每個訓練特征在所述訓練圖像350內具有訓練特征位置。例如,每個訓練特征位置可包括像素坐標且可根據所述特征檢測算法通過特征描述符進行描述。所述特征檢測算法可包括sift、freak、hog、surf、daisy、brisk、fast、brief、harriscorners、edges、gloh、eog或者tilt特征檢測算法中的至少一個。
在一個實施方式中,特征檢測器310配置成根據預定義圖像變換將所述訓練圖像350的至少一部分變換成變換圖像360。在一些實施方式中,特征檢測器310可配置成將多個圖像變換呈現給用戶以供選擇作為所述預定義圖像變換,且配置成通過,例如,用戶界面(未示出)接收來自用戶的選擇。在一些實施方式中,特征檢測器310可包括api(應用程序編程接口、applicationprogramminginterface)、或外部api,所述預定義圖像變換可通過這些api來獲得。所述預定義圖像變換可包括至少一個幾何變換(例如,包括對所述訓練圖像的傾斜、剪切或旋轉的變換中的至少一個)和/或圖像處理變換(例如,包括高斯濾波、顏色變換或有損壓縮中至少一個的變換)。在一些實施方式中,所述預定義圖像變換可以是包括,例如,多個幾何變換和/或圖像處理變換的復合變換。
所述預定義圖像變換可包括廣范圍的特征。在數學意義上,所述預定義圖像變換可包括將2d圖像(例如,像素信息的2d陣列)轉化成新的變換圖像空間(例如,更高維度圖像空間)的矩陣運算。圖像變換的例子包括幾何變換、光照變換、以及包括壓縮(例如,有損、無損等等)變換、顏色變換、高斯濾波、或其他變換類型的圖像處理變換。
在一個實施方式中,特征檢測器310通過將特征檢測算法應用到所述變換圖像360來生成變換特征362,其中每個變換特征在所述變換圖像內具有變換特征位置。例如,每個變換特征位置可包括變換像素坐標,且可根據所述特征檢測算法通過特征描述符進行描述。
在一個實施方式中,特征檢測器310接著配置成根據所述預定義圖像變換將所述訓練特征的所述訓練特征位置映射到所述變換圖像內對應的訓練特征變換位置。照此,在所述變換特征空間內確定所述訓練特征的期望位置。
在一個實施方式中,特征檢測器310接著通過選擇穩健特征編譯穩健特征集370,其中每個穩健特征表示著具有訓練特征變換位置的訓練特征,所述訓練特征變換位置靠近于一個所述變換特征的變換特征位置。例如,對所述穩健特征集的編譯可包括對變換特征位置進行確定,所述變換特征位置在訓練特征變換位置的確定閾值距離內;以及以相似性測度為基礎,對關聯于所述訓練特征變換位置的訓練特征和關聯于所述變換特征位置的變換特征進行比較。所述相似性測度基于歐幾里得距離(euclideandistance)、海寧格距離(hellingerdistance)和漢明距離(hammingdistance)中的至少一個。
在一些實施方式中,特征檢測器310還可配置成通過儲存用于與查詢圖像進行比較的所述穩健特征集370來促進基于圖像的目標識別搜索。例如,儲存在,例如,主存儲器設備340內的查詢圖像特征數據可用來執行所述查詢圖像特征數據和多個諸如可儲存于持久儲存設備330和/或主存儲器設備340內的訓練圖像的所述穩健特征集之間的基于圖像的目標識別搜索。在一些實施方式中,可對所述穩健特征集進行儲存以促進在所述穩健特征和查詢圖像之間的最近鄰搜索,比如基于,例如k-d樹(k-dimensiontree)、溢出樹(spilltree)或者其他最近鄰排序技術。
在一些實施方式中,特征檢測器310還可配置成對所述預定義圖像變換的一個或多個調諧參數進行調節且以所述已調節的調諧參數為基礎生成第二穩健特征集。例如,所述一個或多個調諧參數可包括尺度系數和角度中的至少一個,且可以以圖像識別搜索的一個或多個主題特性為基礎進行自動調節。在一些實施方式中,特征檢測器310還可配置成在相關于圖像測試庫使用時,以所述已調節的調諧參數的識別效率為基礎優化所述已調節的調諧參數。例如,可以以所述圖像測試庫為基礎對所述已調節的調諧參數進行驗證。
圖4根據一個實施方式示出了用于識別訓練圖像內的穩健特征的示例操作的流程圖。應當理解的是,方法400通過一個或多個配置成或編碼成具有特征檢測器,例如特征檢測器310,的公開功能或響應性的計算設備。例如,所述特征檢測器可包括計算機服務器群,其中每個服務器由,例如,基于sift的圖像分析包進行配置。因此,在一些實施方式中,所述特征檢測器可攝取數百萬的訓練圖像以根據方法400進行處理。此外,所述特征檢測器可包括裝備著的圖像拍攝設備(例如,攝像機或游戲機)以根據方法400,比如實時地,拍攝視頻數據的圖像幀。
在步驟402上,通過將特征檢測算法應用到訓練特征圖像上來生成訓練特征,每個訓練特征在所述訓練圖像內具有訓練特征位置。在一些實施方式中,使用了sift特征檢測算法。然而,所述特征檢測算法還可以包括surf、daisy、fast、harriscorners、brisk、tilt或其他現有的或待發明出來的特征檢測算法。訓練特征包括在所述訓練圖像內的訓練特征位置,所述訓練特征位置有可能由像素坐標來表示(例如,通過x軸和y軸的笛卡爾坐標描述的坐標)。而且,所述訓練特征還包括描述符,通過所述描述符可以識別或匹配圖像。例如,sift特征可包括128維向量、或36維向量,取決于配置了多少所述sift特征檢測算法。
在步驟404上,根據預定義圖像變換,將所述訓練圖像的至少一部分變換成變換圖像。例如,所述變換圖像可以是衍生于所述訓練圖像的計算機生成圖像。照此,可以不必對同一個主題拍攝多張圖像、或重拍圖像,即可生成所需的或所期望的額外的變換圖像。在一些實施方式中,可對所述訓練圖像的選定補丁進行變換,例如圍繞已選定或確定的訓練特征位置集群的補丁,而不是對所有的訓練圖像進行變換。
在步驟406上,通過將特征檢測算法應用到所述變換圖像上來生成變換特征,每個變換特征在所述變換圖像內具有變換特征位置。例如,所述特征檢測算法可生成新觀察到的由所述訓練圖像的微擾所引起的特征、可生成同在所述訓練圖像內觀察到的特征一致的特征、或者無法生成與所述訓練圖像中類似的特征。在通所述訓練特征相似的紋理中,每個變換特征包括描述符以及在所述變換圖像內的變換特征位置。所述變換特征位置可在所述變換圖像空間內作為變換像素坐標。
在步驟408上,所述訓練特征的所述訓練特征位置根據的所述預定義圖像變換映射到所述變換圖像內對應的訓練特征變換位置。例如,如果
在步驟410上,通過選擇穩健特征以編譯穩健特征集,其中每個穩健特征表示具有訓練特征變換位置的訓練特征,所述訓練特征變換位置靠近于一個所述變換特征的變換特征位置。照此,所述特征檢測器可在訓練特征和變換特征之間建立關聯。如果訓練特征和變換特征之間的關聯建立起來了,那么所述特征即視為穩健的。所述訓練特征和變換特征的所述關聯可以根據各種方法執行。在一些實施方式中,所述關聯可包括測量所規劃的訓練特征變換位置和變換特征位置之間的距離(例如,歐幾里得距離)。如果所述距離小于閾值(例如,可調節參數),那么所述特征即視為穩健的。此外,所規劃的訓練特征變化為止和變化特征位置之間的距離可以基于相似性測度。例如,可對最相近的訓練特征和變化特征的描述符進行比較,例如,作為標準化的點積,其中所述點積越接近于數值1,所述描述符越相似。在一些實施方式中,所述相似性測度可包括漢明距離(例如,基于在所述描述符向量的每個元素中的值的存在)、歐幾里得距離和/或海寧格距離。
在步驟416上,所述穩健特征集可儲存在,例如,計算機可讀介質上。例如,所述穩健特征集可在用作遠端(遠程)目標識別服務的服務器內進行儲存,或者可能被打包以便在便攜或移動設備(例如,智能手機)上應用。在一些實施方式中,穩健特征集可儲存為樹狀結構(例如,溢出樹、k-d樹等等),在所述樹狀結構中,所述穩健特征描述符包括所述樹狀結構的葉子。而且,涉及促進基于圖像的目標識別檢索的其他信息可與所述穩健特征集一同儲存,包括,例如,關于相關描述符的信息、可以衍生相關描述符的圖像補丁、和/或關于有顯著圖像幀的信息。
在一些實施方式中,對所述穩健特征集的編譯可包括兩步驟的過程,包括對變換特征位置進行確定,所述變換特征位置在訓練特征變換位置的確定閾值距離內;然后以相似性測度為基礎對關聯于所述訓練特征變換位置的訓練特征和關聯于所述變換特征位置的變換特征進行比較。例如,在訓練特征變換位置的確定閾值距離內的變換特征位置進行確定可以基于所述變換特征和所述變換訓練特征的像素位置之間閾值幾何距離。如果所述像素位置在所述確定閾值距離之內,所述訓練特征的描述符和所述變換特征的描述符可基于相似性測度進行比較,比如漢明距離、歐幾里得距離和/或海寧格距離。
在可選的步驟412上,可以對所述預定義圖像變換的一個或多個調諧參數進行調節,且在步驟414上,基于可選步驟所調節的調諧參數可生成第二穩健特征集。在一些實施方式中,所述一個或多個調諧參數可包括尺度系數和角度中的至少一個,且可以以圖像識別搜索的一個或多個主題特性為基礎自動進行調節。例如,線性尺度縮小系數可包括介于0和1之間表示一小部分的變量值,通過所述變量值可以尺度縮放所述訓練圖像。照此,對所述一個或多個調諧參數的調節可包括對可在保持識別性能級別的同時在所述識別數據庫大小上提供期望的減量的參數值的確定。而且,在一些實施方式中,以一個或多個已知主題特性為基礎,每個主題的范圍(例如,玩具、消費品、車輛、衣服、游戲、設備、人們、建筑物等等)或每個特征檢測算法可能具有不同的優化參數,即便是對于相同的圖像變換。
在一些實施方式中,所述調節過的調諧參數可以在相關于圖像測試庫使用時,以所述已調節的調諧參數的識別效率為基礎優化所述已調節的調諧參數。例如,所述各種穩健特征集可同圖像測試庫進行測試以確定哪個已調節的參數提供了最好的識別性能表現(例如,最小的有效識別庫的大小、識別效率、時延等等)。在一些實施方式中,可以以不包括所述訓練圖像的圖像測試庫為基礎對所述已調節的調諧參數進行驗證。
圖5根據一個實施方式示出了用于確定變換參數的優化集的基于圖像的目標識別搜索查詢圖像的例子。所述實施方式在此識別穩健特征有助于遠物體和近目標識別搜索。遠目標識別表示一個場景,在該場景中目標物體表示查詢圖像內的小部分視野,例如,在城市景觀圖像內的單獨的建筑物、在空間監控保安攝像頭/cctv視頻幀內的人物、生產線質量控制攝像機的視頻幀內的單獨工作站、或高速路監控交通攝像頭的視頻幀內的車輛來往。近目標識別表示一個場景,在該場景中所述目標物體或更可能是所述目標物體的一部分填充查詢圖像內全部或基本上全部視野。例如打印頁上文本、atm機器視頻監控的保安攝像頭/cctv內的人物、或醫療診斷或外科手術的攝像系統的視頻幀/圖像內的病人。作為一個例子,圖5闡明了示出用于遠目標識別的查詢圖像500、502、504和506以及用于近目標識別的查詢圖像508、510、512和514的富紋理物體圖像(參見圖2a)。如圖所示,可以對一般的遠物體和近目標識別查詢圖像進行旋轉、傾斜、虛化、裁剪、或這些的任意組合。而且,所述查詢圖像的預期質量可以以基于圖像的目標識別搜索的所述已知主題為基礎進行確定(例如,已知的待關聯于涉及兒童玩具的搜索的查詢圖像,所述兒童玩具有可能以操作所述查詢圖像拍攝設備的兒童的可能技能為基礎被裁剪、虛化、傾斜等等)。
在一個實施方式中,可以對應用于所述訓練圖像的所述預定義圖像變換進行調整以生成有助于遠目標識別和近目標識別兩者的穩健特征。因此,對一系列分析圖像進行收集以確定對于所述變換的優化參數,所述變換產生可接受的識別度量或效率。這些分析圖像表示目標物體的拍攝圖像,并且包括遠序圖像500、502、504、506和近序圖像508、510、512、514。為了分析的目的,關于富紋理圖像(參見圖2a),所述圖像的遠序包括161張圖像(未完全示出)且所述圖像的近序包括113張圖像(未完全示出)。
為了優化的目的,待優化的度量(y)由下式進行定義:
其中該#ofusefulfeatures表示對于給定的變換參數集通過本文中的所述實施方式進行確定的穩健特征,且該#oftrainingfeatures表示衍生自所述訓練圖像的特征(例如,sift特征)的數量。該#oftestimages表示對于所給定序列(例如,近序或遠序圖像)的圖像的總數量。該#ofrecog.testimage表示正確匹配的數量。
應當理解的是,y的第一項傾向于壓低y的值。這是期望的性狀,因為這減少了識別數據庫的大小。y的第二項總是大于或等于1,其中在所述第二項內的數值1表示所有圖像都被識別了。因此,這兩個項以這樣的方式競爭以制衡彼此的變換參數的實際值(例如,0特征使得y為零,這是不實際的),在這樣的方式中,y的低值表示更優選的變換參數。
關于圖像識別性能,針對儲存有超過300張用于相應主題的測試圖像的測試庫來測試圖2a-2c中所得到的穩健特征集中的每一個。對于每個圖像,識別效率(例如,測試圖像的數量(nt)除以來自穩健特征的匹配計數(mc);100*mc/nt)分別等于79%、76%、和71%,不同于使用原始訓練特征的85%、82%、71%。在前兩張圖中,僅發現有6%性能下降。在一個實施方式中,所述性能可通過使用一個或多個如遞交于2013年11月12日的標題為“imagerecognitionverification”、編號為61/946650的美國臨時專利申請中所提及的驗證器來提高。例如,使用一般的識別技術(例如,不帶有驗證器的sift特征檢測算法)來進行測試,該測試運行于661張圖像上。所述原始數據庫包括1,379,531個特征且具有253.7mb的大小。使用未過濾的sift特征檢測算法的標準技術以81%的識別效率正確地識別了第一匹配。使用本文中的所述實施方式,所述數據庫通過使用80%線性尺度系數降低到654,828個特征,且所述數據庫的大小為121.9mb。即所述數據庫在大小上具有超過50%的減量。將所述識別步驟與所述驗證器進行連接導致第一匹配變成79%的識別效率,這在識別性能內是個微不足道的差異。而且,盡管使用了驗證器,在所述圖像匹配進程期間的時延仍由于數據庫大小的減少而降低。
圖6a根據一個實施方式示出了對富紋理訓練圖像的變換優化結果的示意圖。在圖6a中,圖形600呈現出了測試的結果,在該測試中針對應用于圖2a的所述富紋理訓練圖像的各種變換確定優化度量y。對于該測試,所述富紋理訓練圖像具有1149個訓練特征。所述查詢圖像包括161個遠序圖像和113個近序圖像。盡管數據表明所述基于所述優化度量y的各種變換中最受期望的變換包括將所述訓練圖像尺度縮小到67%以用于遠序識別,對近序圖像和遠序圖像的組合來說更優選的設置卻是0.8(即,80%)的尺度系數。原因在于,在本領域中,消費者更可能拍攝特寫的查詢圖像(例如,用于購物搜索的產品的查詢圖像)而非更遠地方的圖像。然而,對于一些應用來說,遠序查詢圖像是可以期望的且在這樣的實例中,可能會選擇更有利于大部分遠序圖像的尺度系數(例如,0.67的尺度系數)。
圖6b根據一個實施方式示出了對中等紋理訓練圖像的變換優化結果的示意圖。在圖6b中,圖形610呈現出了測試的結果,在該測試中針對應用于圖2b的所述中等紋理訓練圖像的各種變換確定優化度量y。在這種情況下,所述中等紋理訓練圖像包括707個訓練特征。所述查詢圖像包括299個遠序圖像和307個近序圖像。如圖所示,對于測試的近序圖像和遠序圖像的組合的最優化變換為所述訓練圖像的80%尺度縮放,與所述富紋理圖像的案例中一樣。
圖6c根據一個實施方式示出了對乏紋理訓練圖像的變換優化結果的示意圖。在圖6c中,圖形620針對應用于圖2c中的乏紋理圖像的相同組的變換呈現出了優化度量y的測試結果。所述乏紋理圖像包括186個訓練特征。對于這個測試,所述查詢圖像包括221個遠序圖像和166個近序圖像。與前述兩個案例類似,對于近序圖像和遠序圖像的組合的最優化變換為所述訓練圖像的80%尺度縮放。
照此,所述的示例測試表明0.8尺度系數對于在廣范圍的物體類型(例如,富紋理圖像、中等紋理圖像和乏紋理圖像)上識別圖像是可行的,同時該0.8尺度系數也顯著地降低了對應識別數據庫的大小。
因此,本文的所述實施方式可有助于解決與可能在一個或多個基于web的服務器上實現的大規模圖像識別系統相關聯的各種存儲器占用和精度的問題。應該理解的是,如果目標市場或用例中有需要或者要求,那么無性能損耗地在數據庫大小上實現50%的減量也同時得以加倍所述數據庫中的可識別物體的數量。
在一些實施方式中,穩健特征集的識別可能是自動的。例如,特征檢測器310和/或圖像拍攝設備320可作為爬取網站圖像(例如,人物圖像、社交頭像、等等)以供攝取的網絡機器人(webbot)運作。此外,所述機器人可在城市景觀、街景或建筑物內部圖像(例如,
在各種實施方式中,特征檢測器310和/或圖像拍攝設備320可在基于目標標準的多個預定義圖像變換之間進行選擇,所述目標標準為諸如基于市場的標準之類的。例如,面向兒童的玩具可包括具有很少可觀察特征的柔和色塑料。在這種情況下,預定義圖像變換可選擇以包括邊緣強化變換(例如,強化了用于物體的邊緣性能的描述符),比如當幾乎沒有其他非邊緣特征可辨別時,使得得到的穩健特征集可包括存在于或靠近于邊緣或其他輪廓上的特征。照此,可對預定義圖像變換進行選擇以強調期望的目標識別屬性。而且,在一些實施方式中,所選擇的預定義圖像變換可能不同于所述特征檢測算法。例如,可對所述預定義圖像變換進行選擇以用于確定邊緣特征(和邊緣特征描述符),且同時應用于所述變換圖像的所述特征檢測算法可配置來生成其他類型的特征描述符(例如,sift描述符)。
所述各種實施方式還可通過確定關于所述預定義圖像變換的穩健性程度來進行強化。例如,穩健性測量可基于距離或超過距離的其他值。在一些實施方式中,所述穩健性測量可包括指示例如相對距離、置信度得分、相似性度量等的多個值。此外,每個檢測到的特征可包括指示其相對于例如一個或多個預定義圖像變換的穩健性測量和/或得分的標簽。例如,穩健特征可包括用于尺度縮放、傾斜、旋轉、或其他變換的一個或多個穩健性測量。在一些實施方式中,穩健性測量可反映出訓練圖像的主題特性(例如,玩具、醫療、安全等等)以指示相對于不同圖像變換的穩健性。例如,穩健性測量可反映出玩具的圖像(例如,一般為低紋理,但具有很多邊緣的)相對于不同圖像變換可能會如何不同地表現。那么可在圖像識別搜索期間使用所述穩健性測量。例如,穩健性測量可用于圖像識別搜索且所述穩健性測量元數據可用于對所述圖像識別搜索的事件進行分類(例如,用于生成可聯系于穩健特征的圖像識別搜索元數據)。因此,用于尺度縮放變換的穩健性測量元數據,例如,可用于確定攝像機到目標物體的可能距離。
所述各種實施方式可用于印刷媒體,例如包括靜態圖像的印刷媒體。在一些實施方式中,特征檢測器310和/或圖像拍攝設備320可整合到用于創建平面媒體的圖形應用中去。例如圖形設計師可利用被設置成根據一個或多個實施方式來運行的圖形應用(例如,
所述各種實施方式也可用于全3d物體。例如,當從不同的角度觀看的時候,3d物體(例如,動作人物、車輛等等)可包括不同的特征。3d物體的視頻可從不同角度拍攝。于是所述視頻的所述幀便可以被視為訓練圖像并跨過所公開的程序。而且,由于所述各種實施方式,因此可使得大規模圖像識別系統的全部基礎設施,包括所述主存儲器和持久儲存設備、服務器和用戶設備,在處理圖像識別查詢上更具效率。
本文中描述的系統、裝置、和方法可使用數字電路、或使用一個或多個眾所周知的計算機處理器、存儲單元、儲存設備、計算機軟件、以及其他元件來進行應用。通常,計算機包括用于執行指令的處理器和一個或多個用于儲存指令和數據的存儲器。計算機還可包括或連接于諸如一個或多個磁盤、內置硬盤和可換式磁盤之類的大容量儲存設備、磁光盤、光盤等等。
本文中描述的系統、裝置、和方法可使用運行于客戶端-服務器關聯上的計算機。通常,在這樣的系統中,所述客戶端計算機遠離于所述服務器計算機且經網絡進行交互。所述客戶端-服務器關聯可由運行在各個客戶端和服務器計算機上的計算機程序來進行定義和控制。
圖7示出了可用于實施本文中所描述的系統、裝置和方法的示例性客戶端-服務器關聯的高級方框圖。客戶端-服務器關聯700包括與服務器720通過網絡730進行通信的客戶端710。且示出客戶端710和服務器720之間的穩健特征識別任務的一種可能分配。例如,根據上述的各種實施方式,客戶端710可配置成與服務器720進行通信以接收用于訓練圖像的穩健特征集、以接收查詢圖像、以提取所述帶有(sift)描述符的查詢圖像的特征/關聯特征、且以促進以所述查詢圖像為基礎的基于圖像的目標識別搜索和/或發送所有查詢圖像數據至服務器720。服務器720可配置成通過將特征檢測算法應用到訓練圖像來生成訓練特征、配置成根據預定義圖像變換將所述訓練圖像的至少一部分變換成變換圖像、配置成通過將所述特征檢測算法應用到所述變換圖像來生成變換特征、配置成通過所述預定義圖像變換將所述訓練特征的所述訓練特征位置映射到所述變換圖像內的對應訓練特征變換位置、以及配置成通過選擇穩健特征來編譯穩健特征集。在一些實施方式中,服務器720還可配置成接收來自客戶端710的查詢圖像數據、配置成以所述查詢圖像數據和訓練圖像的所述穩健特征集為基礎來執行基于圖像的目標識別搜索、以及配置成發送搜索結果至客戶端710。本領域技術人員可以理解的是圖7中所示例的客戶端-服務器關聯僅僅是許多客戶端-服務器關聯中可用于執行本文中所描述的系統、裝置和方法的一種。照此,示出在圖7中的所述客戶端-服務器關聯不應以任何的方式構成對本發明的限制。客戶端設備710的例子可包括手機、電話亭、個人數據助理、平板電腦、玩具、車輛、網絡攝像頭、或其他類型的計算機設備。
本文中所描述的系統、裝置、和方法可使用有形地包含在信息載體中,例如在非瞬時性機器可讀儲存設備中,的計算機程序產品來實現,用以通過可編程處理器來執行;且本文中描述的包括圖4步驟中的一個或多個的方法步驟可使用計算機程序來實現,所述一個或多個計算機程序可通過這樣處理器來執行。計算機程序為可直接或間接地在計算機中用來執行一定活動或帶來一定結果的一組計算機程序指令。計算機程序可以任何形式的編程語言進行編寫,包括編譯型或解釋型語言,且其可以以任何形式進行部署,包括作為獨立程序或作為模塊、元件、子程序、或其他適用于在計算機環境內使用的單元。
圖8示出了可用于實施所述本文中描述的系統、裝置和方法的示例性裝置的高級方框圖。裝置800包括處理器810可運行地連接至持久儲存設備820和主存儲器設備830。處理器810通過執行定義這些運行的計算機程序指令來控制裝置800的所有運行。所述計算機程序指令可儲存在持久儲存設備820或其他計算機可讀媒體中,且在期望所述計算機程序指令執行時加載到主存儲器設備830中。例如,特征檢測器310和圖像拍攝設備320可包括一個或多個計算機800的元件。因此,圖4的方法步驟可通過儲存在主存儲器設備830和/或持久儲存設備820內的所述計算機程序指令來進行定義,且可通過處理器810執行所述計算機程序指令來進行控制。例如,所述計算機程序指令可作為本領域技術人員編程的計算機可執行代碼來實現,以執行由圖4的方法步驟所定義的算法。相應地,通過執行所述計算機程序指令,所述處理器810執行由于圖4的方法步驟所定義的算法。裝置800還包括用于與其他設備通過網絡進行通信交流的一個或多個網絡接口880。裝置800還可包括使用戶能夠與裝置800進行交互的一個或多個輸入/輸出設備890(例如,顯示屏、鍵盤、鼠標、揚聲器、按鍵等等)。
處理器810可包括通用微處理器和專用微處理器兩種,且可以裝置800的單獨一個的處理器或多個處理器中的一個。例如,處理器810可包括一個或多個中央處理單元(cpus)。處理器810、持久儲存設備820、和/或主存儲器設備830可通過增補、或合并來包括一個或多個專用集成電路(asics)和/或一個或多個場可編程門陣列(fpgas)。
持久儲存設備820和主存儲器設備830各自包括有形的非瞬時性計算機可讀存儲介質。持久儲存設備820、和主存儲器設備830可各自包括高速隨機存取存儲器,比如動態隨機存取存儲器(dram)、靜態隨機存取存儲器(sram)、雙數據速率同步動態隨機存取存儲器(ddrram)、或其他隨機存取固態存儲器設備,且可包括非易失性存儲器,比如一個或多個諸如內置硬盤和可移動磁盤之類的磁盤儲存設備、磁光盤儲存設備、光盤儲存設備、閃存設備、諸如可擦可編程只讀存儲器(eprom)、電子可擦可編程只讀存儲器(eeprom)、只讀光盤存儲器(cd-rom)、數字只讀光盤存儲器(dvd-rom)之類的半導體存儲器設備、或其他非易失性固態儲存設備。
輸入/輸出設備890可包括諸如打印機、掃描儀、顯示屏等等的外圍設備。例如,輸入/輸出設備890可包括用于將信息(例如,用于選擇的多個圖像變換)顯示給用戶的諸如陰極射線管(crt)、等離子體或液晶顯示(lcd)監測儀之類的顯示設備、鍵盤、和諸如鼠標或軌跡球之類的可使用戶提供輸入到裝置800的點擊設備。
本文中討論的任意或全部所述系統和裝置,包括特征檢測器310和圖像拍攝設備320可通過諸如裝置800的裝置來運行,和/或所述特征檢測器310和圖像拍攝設備320可并入諸如裝置800的裝置中。
本領域技術人員可以認識的是,實際計算機或計算機系統的實現可以具有其他結構,并且還可包含其他組件。圖8中所示出的那些是這樣的計算機中的一些組件的高級表現形式,僅用于示例目的。
前述說明書應被理解為是全方位的闡述性和示例性的,而不是限制性的,并且本文中所公開的本發明的保護范圍不是從此說明書中確定的,而是依據由專利法所允許的全寬度解釋的權利要求。應當理解,本文所示出和述及的實施方式僅僅是本發明原理的闡述。在未脫離本發明范圍和精神之情況下,本領域技術人員可以實現各種修改。在未脫離本發明范圍和精神之情況下,本領域技術人員還可以實現各種其他特征結合。