專利名稱::用于云輔助式擴增現實的可適應性框架的制作方法用于云輔助式擴增現實的可適應性框架A.斯瓦彌納杉P.沙爾馬B.江M.R.查理S.D.斯賓德拉P.K.巴赫帝V.納拉亞南相關申請的交叉引用本申請要求于2010年9月20日提交的題為“AnAdaptableFrameworkForCloudAssistedAugmentedReality(用于云輔助式擴增現實的可適應性框架)”的美國臨時申請N0.61/384,667、以及于2011年9月19日提交的題為“AnAdaptableFrameworkForCloudAssistedAugmentedReality(用于云輔助式擴增現實的可適應性框架)”的美國S/N.13/235,847的優先權,上述兩件申請均被轉讓給本申請受讓人,并通過援引納入與此。背景擴增現實系統可將虛擬對象插入到用戶對現實世界的視圖中。在典型的AR(擴增現實)系統中可能有許多組件。這些組件包括:數據捕獲、數據處理、對象檢測、對象跟蹤、注冊、改良、和渲染組件。這些組件可彼此交互以給用戶提供豐富的AR體驗。然而,在典型AR系統中的檢測和跟蹤中的若干組件可能利用計算密集型的操作,這會打擾用戶的AR體驗。概述一種使用分布式處理來高效地處理包括圖像數據等傳感器數據的移動平臺,在該分布式處理中,對等待時間敏感的操作是在該移動平臺上執行的,而對等待時間不敏感的、但操作密集的操作是在遠程服務器上執行的。該移動平臺捕獲諸如圖像數據之類的傳感器數據,并確定是否有將該傳感器數據傳送至該服務器的觸發事件。該觸發事件是該傳感器數據相對于先前捕獲到的傳感器數據的變化,例如捕獲到的圖像中的場景變化。當出現變化時,傳感器數據被傳送給該服務器以進行處理。該服務器處理此傳感器數據,并返回與此傳感器數據有關的信息,諸如對圖像中的對象的標識。該移動平臺可隨后使用所標識出的對象來執行基于參考的跟蹤。在一種實現中,一種方法包括使用移動平臺來捕獲傳感器數據;確定是否有觸發事件,包括傳感器數據相對于先前捕獲到的傳感器數據的變化;當有觸發事件時將傳感器數據傳送給服務器;以及從該服務器接收與該傳感器數據有關的信息。傳感器數據可以是捕獲到的對象圖像,例如照片或視頻幀。在另一實現中,一種移動平臺包括適配成捕獲傳感器數據的傳感器以及無線收發機。該傳感器可以是例如用于捕獲對象的圖像的相機。處理器被耦合到該傳感器和無線收發機,并被適配成經由該傳感器來捕獲傳感器數據,確定是否有觸發事件,包括該傳感器數據相對于先前捕獲到的傳感器數據的變化,當出現觸發事件時經由該收發機將該傳感器數據傳送給外部處理器,以及經由該無線收發機從該外部處理器接收與該傳感器數據有關的信息。在另一實現中,一種移動平臺包括用于捕獲傳感器數據的裝置;用于確定是否有觸發事件的裝置,觸發事件包括傳感器數據相對于先前捕獲到的傳感器數據的變化;用于當有觸發事件時將傳感器數據傳送給服務器的裝置;以及用于從該服務器接收與該傳感器數據有關的信息的裝置。用于捕獲傳感器數據的裝置是相機,并且該傳感器數據是捕獲到的對象圖像。在又一實現中,一種包括存儲于其上的程序代碼的非瞬態計算機可讀介質包括用于捕獲傳感器數據的程序代碼;用于確定是否有觸發事件的程序代碼,觸發事件包括傳感器數據相對于先前捕獲到的傳感器數據的變化;用于在出現觸發事件時將該傳感器數據傳送給外部處理器的程序代碼;以及用于從該外部處理器接收與該傳感器數據有關的信息的代碼。附圖簡要說明圖1解說示出包括移動平臺和遠程服務器的用于分布式處理的系統的框圖。圖2是解說分布式處理的過程的流程圖,其中對等待時間敏感的操作由移動平臺執行,而對等待時間不敏感且計算密集的操作由外部處理器執行。圖3解說用于服務器輔助式AR的系統的操作的框圖。圖4解說用于服務器輔助式AR的呼叫流圖,在其中姿態是由遠程服務器提供的。圖5解說用于服務器輔助式AR的另一呼叫流圖,在其中姿態不是由遠程服務器提供的。圖6解說由場景變化檢測器執行的方法的流程圖。圖7是解說分布式處理系統的性能的圖表,其以最小觸發間隙的函數的形式示出所需網絡傳輸。圖8和9解說使用服務器輔助式AR過程來進行面部識別的辦法。圖10和11解說使用服務器輔助式AR過程來進行視覺搜索的辦法。圖12和13解說使用服務器輔助式過程來進行基于參考的跟蹤的辦法。圖14解說使用服務器輔助式過程來進行3D模型創建的辦法。圖15是能夠使用基于服務器的檢測來進行分布式處理的移動平臺的框圖。具體描述如本文中所公開的分布式處理系統包括一設備,該設備可決定何時將數據經由無線網絡提供給服務器、或在云計算環境中經由網絡提供給另一設備以進行處理。該設備也可自行處理該數據。例如,對等待時間敏感的操作可被選擇成在該設備上執行,而對等待時間不敏感的操作可被選擇成遠程地執行以便實現更高效的處理。用于決定何時要將數據發送到服務器以進行處理的因素可包括正對該數據執行的操作是對等待時間敏感的/不敏感的、所需計算量、該設備或服務器任一方處的處理器速度/可用性、網絡狀況、或服務質量、及其他因素。在一個實施例中,提供了用于擴增現實(AR)應用的包括移動平臺和外部服務器的系統,在其中對等待時間敏感的操作是在該移動平臺上執行的,而對等待時間不敏感但計算密集的操作是遠程地(例如,在該服務器上)執行的以便實現高效處理。這些結果然后可由該服務器發送給該移動平臺。對AR應用使用分布式處理,最終用戶就能無縫地享受AR體驗。如本文中所使用的,移動平臺是指任何便攜式電子設備,諸如,蜂窩或其他無線通信設備、個人通信系統(PCS)設備、個人導航設備(PND)、個人信息管理器(PIM)、個人數字助理(PDA)、或者其他合適的移動設備。該移動平臺可以能夠接收無線通信和/或導航信號(諸如導航定位信號)。術語“移動平臺”還旨在包括諸如藉由短程無線、紅外、有線連接、或其他連接與個人導航設備(PND)通信的設備,不管衛星信號接收、輔助數據接收、和/或位置有關處理是發生在該設備處還是在PND處。而且,“移動平臺”旨在包括能夠進行AR的所有電子設備,包括無線通信設備、計算機、膝上型電腦、平板計算機等等。圖1解說示出用于使用基于服務器的對象檢測和標識來進行分布式處理的系統100的框圖。系統100包括執行對等待時間敏感的操作(諸如跟蹤)的移動平臺110,而遠程服務器130執行對等待時間不敏感且計算密集的操作,諸如對象標識。該移動平臺可包括相機112和顯示器114和/或可包括運動傳感器164。移動平臺110可捕獲對象102的圖像104,該圖像可被示出在顯示器114上。移動平臺110所捕捉到的圖像104可以是靜止圖像(例如,相片)、或來自視頻流的單幀,這兩者在本文中均被稱作捕捉到的圖像。移動平臺110可補充地或替換地從除相機112以外的其他傳感器(例如,使用衛星定位系統(SPS)接收機166或者一個或更多個運動傳感器164,包括例如加速計、陀螺儀、電子羅盤或其他類似運動感測元件)來捕獲其他傳感器數據,包括位置和/或取向數據。例如,SPS可以是諸如全球定位系統(GPS)、Galileo、Glonass或Compass之類的全球導航衛星系統(GNSS)、或諸如日本上空的準天頂衛星系統(QZSS)、印度上空的印度地區性導航衛星系統(IRNSS)、中國上空的北斗之類的各種地區性系統、和/或可與一個或更多個全球和/或地區性導航衛星系統相關聯或以其他方式能與之聯用的各種擴增系統(例如,基于衛星的擴增系統(SBAS))的星座。移動平臺110經由網絡120將捕獲到的數據信息傳送給服務器130,捕獲到的數據信息諸如有捕獲到的圖像104和/或傳感器數據,諸如SPS信息或來自板載運動傳感器164的位置信息。捕獲到的數據信息可以還包括或替換地包括上下文數據,諸如對當前正被移動平臺110跟蹤的任何對象的標識。網絡120可以是任何無線通信網絡,諸如無線廣域網(WWAN)、無線局域網(WLAN)、無線個域網(WPAN)等等。服務器130處理由移動平臺110提供的數據信息,并生成與該數據信息有關的信息。例如,服務器130可基于所提供的圖像數據使用對象數據庫140來執行對象檢測和標識。服務器130將與所捕獲到的數據有關的信息返回給移動平臺110。例如,如果服務器130從由移動平臺110提供的圖像數據標識出對象,則服務器130可返回對該對象的標識,例如包括標識符,諸如該對象102的稱號或標識號或參考圖像106,以及可被移動平臺用于擴增現實應用的任何期望的附帶信息,諸如顯著性指示符、信息鏈接等。如果期望,則服務器130可確定移動平臺110在圖像104被捕捉時相對于在參考圖像106中的對象102的姿態(位置和取向)并將其提供給移動平臺110,參考圖像106例如是從已知位置和取向所取的對象102的圖像。所返回的姿態可在移動平臺110中被用于引導跟蹤系統。換言之,移動平臺110可跟蹤(例如,視覺地或使用運動傳感器164)從其捕捉圖像104的時間到其從服務器130接收到參考圖像106和姿態的時間該移動平臺110的姿態上的所有增量變化。移動平臺110可隨后將接收到的姿態連同其跟蹤到的姿態上的增量變化一起用來迅速地確定相對于對象102的當前姿態。在另一實施例中,服務器130返回參考圖像106,但不提供姿態信息,并且移動平臺110通過使用對象檢測算法將對象102的當前捕捉到的圖像相對于對象102的參考圖像106進行比較,來確定相對于對象102的當前姿態。該姿態可被用作對跟蹤系統的輸入,由此使得能夠估計相對運動。在又一實施例中,服務器130僅返回姿態信息但不提供參考圖像。在此情形中,移動平臺110可將捕捉到的圖像104連同姿態信息一起用來創建能后續由跟蹤系統使用的參考圖像。替換地,移動平臺110可跟蹤捕捉到的圖像104與后續捕捉到的圖像(稱作當前圖像)之間在位置上的增量變化,并可將從服務器130獲得的姿態連同這些增量跟蹤結果一起用來計算該當前圖像相對于移動平臺生成的參考圖像的姿態。在沒有參考圖像102的情況下,可使用估計姿態來扭曲(或矯正)當前圖像以獲得對參考圖像的估計,其可被用于引導跟蹤系統。補充地,為了使移動平臺110向服務器130發送檢測請求的頻度最小化,移動平臺110可僅在出現觸發事件的情況下才發起檢測請求。觸發事件可基于圖像數據或來自運動傳感器164的傳感器數據相對于先前捕獲到的圖像數據或傳感器數據的變化。例如,移動平臺110可使用場景變化檢測器304來確定是否已發生了圖像數據變化。由此,在一些實施例中,移動平臺110可僅在被場景變化檢測器304觸發時才為檢測請求經由網絡與服務器130通信。場景變化檢測器304例如僅當在當前圖像中出現新信息時才為對象檢測觸發與服務器的通信。圖2是解說分布式處理的過程的流程圖,其中對等待時間敏感的操作由移動平臺110執行,而對等待時間不敏感且計算密集的操作由諸如服務器130之類的外部處理器執行。如所解說的,由移動平臺110捕獲傳感器數據(202)。該傳感器數據可以是捕獲到的圖像,例如捕捉到的照片或視頻幀,或是從中派生出的信息,包括人物識別或提取出的關鍵點。傳感器數據可還包括或替換地包括例如SPS信息、運動傳感器信息、條碼識別、文本檢測結果、或從部分地處理該圖像得到的其他結果、以及上下文信息,諸如用戶行為、用戶偏好、地點、用戶信息或數據(例如,關于該用戶的社交網絡信息)、時辰、照明質量(自然相對于人工)、以及(圖像中)站在近旁的人、等等。移動平臺110確定有觸發事件(204),諸如傳感器數據相對于先前捕獲到的傳感器數據的變化。例如,觸發事件可以是場景變化,在其中新的或不同的對象顯現在該圖像中。在檢測到觸發事件(諸如場景變化)之后,捕獲到的傳感器數據被傳送給服務器130(206)。當然,如果沒有檢測到場景變化,則傳感器數據無需被傳送給服務器130,藉此減少了通信和檢測請求。服務器130處理捕獲到的信息以例如執行對象識別等,這在本領域中是公知的。在服務器130處理該信息之后,移動平臺110從服務器130接收與該傳感器數據有關的信息(208)。例如,移動平臺110可接收對象標識的結果,包括例如參考圖像。與傳感器數據有關的信息可補充地或替換地包括以下信息,諸如位于移動平臺110附近的物項(諸如建筑物、餐館、商店中的在售產品等)、以及來自服務器的二維(2D)或三維(3D)模型、或是可用在其他過程(諸如游戲)中的信息。若期望,則可提供附加信息,包括如以上所討論的在圖像104被捕捉的時候移動平臺110相對于參考圖像中的該對象的姿態。如果移動平臺110包括本地高速緩存,則移動平臺Iio可存儲服務器130所發送的多個參考圖像。這些存儲著的參考圖像可被用于例如在跟蹤丟失的情況下可在移動平臺110中執行的后續的重檢測。在一些實施例中,服務器標識圖像中的多個對象(來自傳感器)。在此類實施例中,可僅為所標識出的對象之一向移動平臺110發送參考圖像或其他對象標識符,或者與相應各個對象對應的多個對象標識符可被傳送給移動平臺110并由其接收。由此,可由服務器130提供的信息可包括識別結果、關于所標識出的(諸)對象的信息、能被用于諸如跟蹤之類的各種功能的關于(諸)對象的參考圖像(一個或許多個)、所識別出的(諸)對象的2D/3D模型、所識別出的(諸)對象的絕對姿態、要用于顯示的擴增信息、和/或關于對象的顯著性信息。補充地,服務器130可發送與對象匹配有關的信息,該信息可增強移動平臺110處的分類器。一個有可能的示例是當移動平臺110正使用決策樹來進行匹配時。在此情形中,服務器130可發送該樹的諸個體節點的值以促成更準確的樹構建以及后續更好的匹配。決策樹的示例包括例如k均值、k維樹、詞匯表樹、以及其他樹。在k均值樹的情形中,服務器130還可發送種子以初始化移動平臺110上的階層式k均值樹結構,藉此允許移動平臺110執行查找以用于加載恰適的樹。任選地,移動平臺110可獲得該移動平臺相對于對象102的姿態(210)。例如,移動平臺110可在不從服務器130接收任何姿態信息的情況下,通過捕捉對象102的另一圖像并將此新捕捉到的圖像與參考圖像作比較來獲得相對于該參考圖像中的該對象的姿態。在服務器130提供姿態信息的場合,移動平臺可通過將服務器130提供的姿態(即在初始圖像104被捕捉時移動平臺110相對于參考圖像中的對象的姿態)與自初始圖像104被捕捉時起跟蹤到的在移動平臺110的姿態上的變化相組合,來迅速地確定當前姿態。應注意,姿態是在有還是沒有服務器130的輔助的情況下獲得可取決于網絡120和/或移動平臺110的能力。例如,如果服務器130支持姿態估計,并且如果移動平臺110和服務器130就用于傳送姿態的應用編程接口(API)達成一致,那么姿態信息可被傳送給移動平臺110并用于跟蹤。由服務器發送的對象120的姿態(210)可以是相對旋轉和變換矩陣、單應性矩陣、仿射變換矩陣的形式、或其他形式。任選地,移動平臺110可隨后使用接收自服務器130的數據來對該對象執行AR,諸如跟蹤目標、估計在每幀中的對象姿態、以及插入虛擬對象、或以其他方式使用估計的姿態通過渲染引擎來擴增用戶視圖或圖像(212)。圖3解說用于服務器130輔助式AR的系統100的操作的框圖。如圖3中所示,使用新的捕捉到的圖像300來發起無參考跟蹤器302。該無參考跟蹤器302基于光流、歸一化互相關(NCC)或本領域中所知的任何類似方法來執行跟蹤。無參考跟蹤器302標識此新的捕捉到的圖像300中的特征(諸如點、線、區域及類似物),并例如使用流向量等來逐幀地跟蹤這些特征。從跟蹤結果獲得的流向量幫助估計先前捕捉到的圖像與當前捕捉到的圖像之間的相對運動,并進而幫助標識運動速度。無參考跟蹤器302所提供的信息由場景變化檢測器304接收。場景變化檢測器304將例如來自無參考跟蹤器302的被跟蹤特征等連同其他類型的圖像統計(諸如直方圖統計)和來自移動平臺中的各傳感器的其他可用信息一起用來估計場景中的變化。如果場景變化檢測器304沒有發送觸發,則該過程繼續以無參考跟蹤器302來進行下去。如果場景變化檢測器304標識出場景中的實質性變化,則場景變化檢測器304發送觸發信號,該觸發信號可發起基于服務器的檢測器308中的檢測過程。如果期望,則可使用圖像質量估計器306來分析圖像質量以進一步控制向基于服務器的檢測器308進行的請求傳送。圖像質量估計器306檢查圖像的質量,并且如果質量良好,即大于閾值,則觸發檢測請求。如果圖像質量不良,則不觸發檢測,并且圖像不被傳送給基于服務器的檢測器308。在本發明的一個實施例中,移動平臺110可在已檢測到場景變化之后等待良好質量圖像長達有限的一段時間后再將該良好質量圖像發送給服務器130以進行對象識別。圖像的質量可基于已知圖像統計、圖像質量衡量、以及其他類似辦法。例如,捕捉到的圖像的銳度可通過高通濾波并生成代表例如邊強度和空間分布的一組統計來量化。如果銳度值超過該場景的“普遍銳度”(例如,如在數個先前幀上取平均所得的)或與之相當,則該圖像可被分類為良好質量圖像。在另一實現中,可使用諸如FAST(加速分段測試提取特征)角點或Harris角點之類的快速角點檢測算法來分析圖像。如果有充足數目的角點(例如,檢測到的角點的數目超過閾值、或者大于該場景的“普遍角點數”(例如,如在數個先前幀上取平均所得的)或與之相當),則該圖像可被分類為良好質量圖像。在另一實現中,可使用從圖像得到的統計(諸如邊梯度量值的平均值或標準偏差)來教導學習分類器,該學習分類器可用來在良好質量圖像與低劣質量圖像之間進行區分。圖像的質量還可以使用傳感器輸入來衡量。例如,由移動平臺110在迅速移動之時捕捉到的圖像可能變得模糊,并且因此其質量比假使移動平臺110處于靜止或在緩慢移動的情況下的圖像質量要差。相應地,可將來自傳感器數據(例如,來自運動傳感器164或來自基于視覺的跟蹤)的運動估計與閾值作比較以確定結果所得的相機圖像是否具有足以被發送以進行對象檢測的質量。類似地,圖像質量可基于所確定的圖像模糊量來衡量。另外,可提供觸發時間管理器305以進一步控制向基于服務器的檢測器308傳送的請求的數量。觸發時間管理器305維護該系統的狀態,并且可基于試探法和規則。例如,如果自上一觸發圖像以來的圖像數目大于閾值(例如,1000個圖像),則觸發時間管理器305可生成可以超時并自動發起基于服務器的檢測器308中的檢測過程的觸發。由此,如果已經對于過多數目的圖像沒有觸發,則觸發時間管理器305可強制實現觸發,這是有用的,其用來確定在相機的視野里是否有任何附加對象。補充地,觸發時間管理器305可被編程為將兩個觸發之間的最小分隔維持在選定值Π,即,如果自上一被觸發的圖像起在Π個圖像以內,則觸發時間管理器305抑制觸發。使被觸發的圖像分隔開可能是有用的,例如,如果場景正快速變化的話。由此,如果場景變化檢測器304在η個圖像以內產生了不止一個觸發,則僅一個被觸發的圖像被發送給基于服務器的檢測器308,藉此減少從移動平臺110去往服務器130的通信量。觸發時間管理器305還可管理觸發調度。例如,如果場景變化檢測器304自上一觸發起不到η個圖像但大于μ個圖像以前產生了新觸發,則該新觸發可被觸發時間管理器305存儲并推延直至相繼觸發之間的圖像間隙至少是η的時間。作為示例,μ可以是2個圖像且η彡μ,并且作為示例,η可為2、4、8、16、32、64不等。觸發時間管理器305還可管理服務器130的檢測失敗。例如,如果先前的基于服務器的檢測嘗試失敗,則觸發時間管理器305可周期性地產生觸發以向基于服務器的檢測器308重傳請求。這些嘗試中的每一者可使用一基于最新近捕捉到的圖像的不同查詢圖像。例如,在檢測失敗之后,可由觸發時間管理器305以η的周期間隙來產生周期性觸發,例如,如果上一失敗的檢測嘗試是比Π個圖像以前更久,則發送觸發,其中Π值可以是可變的。當基于服務器的檢測器308被發起時,向服務器130提供與新的捕捉到的圖像300相關聯的數據,該數據可包括此新的捕捉到的圖像300本身、關于此新的捕捉到的圖像300的信息、以及與此新的捕捉到的圖像300相關聯的傳感器數據。如果基于服務器的檢測器308標識出對象,則所找到的對象(例如,參考圖像、該對象的3D模型、或其他有關信息)被提供給移動平臺110,移動平臺110更新其本地高速緩存310。如果基于服務器的檢測器308沒有找到對象,則該過程可退卻到周期性觸發,例如,使用觸發時間管理器305來周期性觸發。如果在r個嘗試(例如,4個嘗試)之后沒有檢測到對象,則該對象被視為不在數據庫中,并且系統復位到基于場景變化檢測器的觸發。在找到的對象存儲在本地高速緩存310中的情況下,在移動平臺110上運行的對象檢測器312執行對象檢測過程以標識當前相機視圖中的該對象以及相對于該對象的姿態,并將對象身份和姿態發送給基于參考的跟蹤器314。由對象檢測器312發送的姿態和對象身份可被用來初始化并且啟動基于參考的跟蹤器314。在每個后續捕捉到的圖像(例如,視頻幀)中,基于參考的跟蹤器314可將相對于該對象的姿態提供給移動平臺110中的渲染引擎,該渲染引擎在所顯示的對象之上、或以其他形式在圖像中放置期望的擴增。在一個實現中,基于服務器的檢測器308可發送對象的3D模型而不是參考圖像。在此類情形中,該3D模型存儲在本地高速緩存310中并且后續被用作對基于參考的跟蹤器314的輸入。在基于參考的跟蹤器314被初始化之后,基于參考的跟蹤器314接收每個新的捕捉到的圖像300并標識所跟蹤的對象在每個新的捕捉到的圖像300中的位置,藉此允許相對于所跟蹤的對象來顯示擴增的數據。基于參考的跟蹤器314可被用于許多應用,諸如姿態估計、面部識別、建筑物識別、或其他應用。補充地,在基于參考的跟蹤器314被初始化之后,基于參考的跟蹤器314標識在每個新的捕捉到的圖像300中所標識出的對象出現的區域,并且此信息借助于跟蹤掩模來存儲。由此,諸新的相機圖像300中該系統有其完整信息的區域被標識并作為輸入提供給無參考跟蹤器302和場景變化檢測器304。無參考跟蹤器302和場景變化檢測器304繼續接收每一新的捕捉到的圖像300并使用跟蹤掩模來對每個新的捕捉到的圖像300的其余區域(即,在其中沒有完整信息的那些區域)進行操作。使用跟蹤掩模作為反饋不僅幫助減少因所跟蹤的對象從場景變化檢測器304作出的誤觸發,而且還幫助減少無參考跟蹤器302和場景變化檢測器304的計算復雜性。在一個實施例中,由圖3中的虛線所解說,基于服務器的檢測器308可補充地提供新的捕捉到的圖像300中的對象相對于在參考圖像中的該對象的姿態信息。由基于服務器的檢測器308提供的姿態信息可連同如由無參考跟蹤器302所確定的姿態變化一起被姿態更新器316用來產生經更新的姿態。經更新的姿態可隨后被提供給基于參考的跟蹤器314。補充地,當跟蹤暫時丟失時,可使用本地檢測器318搜索本地高速緩存310來執行后續重檢測。盡管圖3為清楚起見將本地檢測器318和對象檢測器312分開解說,但是若期望,本地檢測器318可實現對象檢測器312,即對象檢測器312可執行重檢測。如果在本地高速緩存中找到該對象,則使用對象身份來重新初始化并啟動基于參考的跟蹤器314。圖4解說用于服務器輔助式AR的呼叫流圖,在其中姿態由服務器130提供,正如由圖3中的虛線和姿態更新器316所解說的。當場景變化檢測器304指示視圖已改變(步驟A)時,通過由系統管理器320向基于服務器的檢測器308提供例如新圖像(其可以是jpeg或其他格式)、以及對象檢測請求來發起基于服務器的檢測過程(步驟B)。補充或替換信息也可被發送給檢測器308,諸如包括與該圖像有關的信息的傳感器數據、來自傳感器(諸如SPS、取向傳感器讀數、陀螺儀、羅盤、壓力傳感器、高度計等)的信息、以及用戶數據(例如應用使用數據、用戶簡檔、社交網絡信息、過往搜索、地點/傳感器信息等)、等等。系統管理器320還向無參考跟蹤器320發送跟蹤該對象的命令(步驟C)。檢測器308處理該數據并向系統管理器320返回對象(諸如(諸)對象的參考圖像)、特征(諸如SIFT特征、帶描述符的線等……)、元數據(諸如用于擴增)、以及姿態的列表,以返回給AR應用(步驟D)。對象的參考圖像被添加到本地高速緩存310中(步驟E),本地高速緩存310確認添加了該對象(步驟F)。無參考跟蹤器320將初始圖像與當前圖像之間在姿態上的變化提供給檢測器312(步驟G)。檢測器312使用該參考圖像在當前捕捉到的圖像中找到該對象,以將對象ID提供給系統管理器320(步驟H)。補充地,檢測器312把由基于服務器的檢測器308提供的姿態連同來自無參考跟蹤器302的姿態變化一起用來生成當前姿態,當前姿態也被提供給系統管理器320(步驟H)。系統管理器320指令無參考跟蹤器320停止對象跟蹤(步驟I)并指令基于參考的跟蹤器314啟動對象跟蹤(步驟J)。跟蹤以基于參考的跟蹤器314來繼續進行,直至跟蹤丟失(步驟K)。圖5解說用于服務器輔助式AR的另一呼叫流圖,在其中姿態不是由服務器130提供的。該呼叫流類似于圖4中所示的呼叫流,區別在于檢測器308在步驟D中并不向系統管理器320提供姿態信息。由此,檢測器312基于當前圖像和由檢測器308提供的參考圖像來確定姿態,并將該姿態提供給系統管理器320(步驟G)。如以上所討論的,場景變化檢測器304基于當前的捕捉到的圖像相對于先前的捕捉到的圖像的變化來控制向服務器130發送檢測請求的頻度。使用場景變化檢測器304是因為期望僅在圖像中出現顯著的新信息時才與外部服務器130通信來發起對象檢測。圖6解說由場景變化檢測器304執行的方法的流程圖。用于場景變化檢測的過程是基于來自無參考跟蹤器302(圖3)的度量與圖像像素直方圖的組合。如以上所討論的,無參考跟蹤器302使用諸如光流、歸一化互相關之類的辦法和/或任何此類跟蹤連貫圖像之間的相對運動(例如,如點、線或區域對應性)的辦法。基于直方圖的方法對于其中場景的信息內容在短歷時里有顯著變化的某些使用情形(諸如翻書)可良好地工作,并且因此對于在場景檢測過程中使用而言是有益的;無參考跟蹤過程對其中在場景中的信息內容上有漸變的其他使用情形(諸如搖攝)可高效地檢測變化。由此,如圖6中所解說的,提供輸入圖像402。該輸入圖像是當前的捕捉到的圖像,其可為當前視頻幀或照片。如果上一圖像并未觸發場景變化檢測(404),則執行(406)場景變化檢測器的初始化(406)。初始化包括將圖像分成塊(408),例如對于QVGA圖像是8x8的塊,并從每個塊提取關鍵點,例如使用FAST(加速分段測試提取特征)角點檢測器等來從每個塊提取關鍵點,在其中保留M個最強角點(410)(其中M可為2)。當然,可替換地將其他方法用于提取關鍵點,諸如Harris角點、比例不變特征變換(SIFT)特征點、加速穩健特征(SURF)、或任何其他期望的方法。返回不觸發信號(412)。如果上一圖像觸發了場景變化檢測(404),則從無參考跟蹤器302獲得度量(解說為光流過程420)、以及從圖像像素直方圖獲得度量(解說為直方圖過程430)。如果期望,無參考跟蹤器302可使用除光流以外的其他過程(諸如歸一化互相關之類)來產生度量。光流過程420跟蹤來自先前圖像的角點(422)(例如,使用歸一化互相關),并標識它們在當前圖像中的位置。這些角點可能是先前已通過將圖像分成塊并從每個塊選擇關鍵點來提取的,例如使用FAST角點檢測器從每個塊選擇關鍵點,其中基于FAST角點閾值的M個最強的角點被保留,如以上在初始化406中所討論的,或者在Harris角點的情形中,基于Hessian閾值的M個最強的角點被保留。在連貫的圖像上對所選取的角點運行無參考跟蹤,以確定當前圖像中的角點位置以及在跟蹤中丟失的角點。演算在當前一輪迭代中(即,在當前圖像與前一圖像之間)丟失的角點的總強度(424中的d)作為第一變化度量,并且計算自前一觸發起(即,在當前圖像與先前觸發圖像之間)丟失的角點的總強度(426中的D)作為第二變化度量,它們被提供用于進行視頻統計演算440。直方圖過程430將當前輸入圖像(稱為C)分成BxB的塊并為每一塊生成彩色直方圖H^j,其中i和j是在該圖像中的塊索引。執行這些直方圖與來自第N個過去圖像的對應塊的直方圖HNu的逐塊比較(434),例如使用X2(卡方)方法來執行比較。直方圖的比較幫助確定當前圖像與第N個過去圖像之間的相似性,以便標識場景是否已顯著變化。藉由示例,B可被選取為10。為了使用X2方法來比較當前圖像與第N個過去圖像的直方圖,執行以下計算:權利要求1.一種方法,包括:使用移動平臺來捕獲傳感器數據;確定是否有包括所述傳感器數據相對于先前捕獲到的傳感器數據的變化的觸發事件;當有所述觸發事件時,將所述傳感器數據傳送給服務器;以及從所述服務器接收與所述傳感器數據有關的信息。2.如權利要求1所述的方法,其中所述傳感器數據包括捕捉到的對象的圖像。3.如權利要求2所述的方法,所述方法進一步包括在將所述傳感器數據傳送給所述服務器之前確定所捕捉到的圖像的質量,其中僅當所捕捉到的圖像的質量優于閾值時所述傳感器數據才被傳送給所述服務器。4.如權利要求3所述的方法,其中確定所捕捉到的圖像的質量包括以下至少一者:分析所捕捉到的圖像的銳度、分析所捕捉到的圖像中的檢出角點的數目、以及使用以學習分類器從所述圖像推導出的統計。5.如權利要求2所述的方法,進一步包括基于從所述服務器接收到的與所述傳感器數據有關的信息相對于所述對象來渲染擴增。6.如權利要求2所述的方法,其中與所述傳感器數據有關的所述信息包括所述對象的標識。7.如權利要求2所述的方法,其中所捕捉到的圖像包括多個對象,并且與所述傳感器數據有關的所述信息包括所述多個對象的標識。8.如權利要求7所述的方法,進一步包括:獲得所述多個對象中的每一者相對于所述移動平臺的姿態;以及使用所述姿態以及與所述傳感器數據有關的所述信息來跟蹤所述多個對象中的每一者。9.如權利要求2所述的方法,進一步包括:獲得所述移動平臺相對于所述對象的姿態;以及使用所述姿態以及與所述傳感器數據有關的所述信息來跟蹤所述對象。10.如權利要求9所述的方法,其中與所述傳感器數據有關的所述信息包括所述對象的參考圖像,并且其中獲得所述姿態包括從所述服務器接收基于所捕捉到的圖像和所述參考圖像的第一姿態。11.如權利要求10所述的方法,進一步包括執行對所述對象的無參考跟蹤,直至從所述服務器接收到所述第一姿態。12.如權利要求10所述的方法,進一步包括:當從所述服務器接收到所述第一姿態時,捕獲所述對象的第二捕捉到的圖像;在所述捕捉到的圖像與所述第二捕捉到的圖像之間跟蹤所述對象以確定增量變化;以及使用所述增量變化以及所述第一姿態來獲得所述移動平臺相對于所述對象的姿態。13.如權利要求10所述的方法,進一步包括:捕獲所述對象的第二捕捉到的圖像;使用所述參考圖像在所述第二捕捉到的圖像中檢測所述對象;使用在所述第二捕捉到的圖像中檢出的所述對象以及所述參考圖像來獲得所述移動平臺相對于所述對象的姿態;以及使用所述姿態來初始化對所述對象的基于參考的跟蹤。14.如權利要求2所述的方法,其中與所述傳感器數據有關的所述信息包括以下至少一者:所述對象的二維(2D)模型、所述對象的三維(3D)模型、擴增信息、關于所述對象的顯著性信息、以及與對象匹配有關的信息。15.如權利要求2所述的方法,其中確定是否有觸發事件包括確定在所捕捉到的圖像中是否有相對于先前的捕捉到的圖像的場景變化。16.如權利要求15所述的方法,其中確定是否有場景變化包括:使用所捕捉到的圖像和所述先前的捕捉到的圖像來確定第一變化度量;使用所捕捉到的圖像和來自先前觸發事件的第二先前的捕捉到的圖像來確定第二變化度量;生成關于所捕捉到的圖像的直方圖變化度量;以及使用所述第一變化度量、所述第二變化度量和所述直方圖變化度量來確定所述場景變化。17.如權利要求2所述的方法,其中與所述傳感器數據有關的所述信息包括對象標識,所述方法進一步包括:捕獲所述對象的附加的捕捉到的圖像;使用所述對象標識在所述附加的捕捉到的圖像中標識所述對象;基于所述對象標識來生成用于所述附加的捕捉到的圖像的跟蹤掩模,所述跟蹤掩模指示所述附加的捕捉到的圖像中標識出所述對象的區域;將所述跟蹤掩模與所述對象的所述附加的捕捉到的圖像一起使用來標識所述附加的捕捉到的圖像的其余區域;以及檢測包括所述附加的捕捉到的圖像的所述其余區域中的場景變化的觸發事件。18.如權利要求1所述的方法,其中所述傳感器數據包括以下一者或更多者:圖像數據、運動傳感器數據、位置數據、條碼識別、文本檢測結果、以及上下文信息。19.如權利要求18所述的方法,其中所述上下文信息包括以下一者或更多者:用戶行為、用戶偏好、地點、關于所述用戶的信息、時辰、以及照明質量。20.如權利要求1所述的方法,其中所述傳感器數據包括面部的圖像,并且從所述服務器接收的所述信息包括與所述面部相關聯的身份。21.如權利要求1所述的方法,其中所述傳感器數據包括以相機在不同位置捕捉到的對象的多個圖像、以及對所述相機相對于所述對象的姿態的粗略估計,并且從所述服務器接收到的所述信息包括對所述姿態的改良以及所述對象的三維模型中的至少一者。22.—種移動平臺,包括:適配成捕獲傳感器數據的傳感器;無線收發機;耦合到所述傳感器和所述無線收發機的處理器,所述處理器被適配成經由所述傳感器來捕獲傳感器數據,確定是否有包括所述傳感器數據相對于先前捕獲到的傳感器數據的變化的觸發事件,當出現所述觸發事件時經由所述無線收發機將所述傳感器數據傳送給外部處理器,以及經由所述無線收發機從所述外部處理器接收與所述傳感器數據有關的信息。23.如權利要求22所述的移動平臺,其中所述傳感器是相機,并且所述傳感器數據包括捕捉到的對象的圖像。24.如權利要求23所述的移動平臺,其中所述處理器進一步適配成在所述傳感器數據被傳送給所述外部處理器之前確定所捕捉到的圖像的質量,其中僅當所捕捉到的圖像的質量優于閾值時所述傳感器數據才被傳送給所述外部處理器。25.如權利要求24所述的移動平臺,其中所述處理器通過被適配成執行以下至少一者來被適配成確定所捕捉到的圖像的質量:對所捕捉到的圖像的銳度分析、對所捕捉到的圖像中的檢出角點數目的分析;以及用從所述圖像推導出的統計對學習分類器的處理。26.如權利要求23所述的移動平臺,其中所述處理器被進一步適配成基于經由所述無線收發機接收到的與所述傳感器數據有關的所述信息相對于所述對象來渲染擴增。27.如權利要求23所述的移動平臺,其中與所述傳感器數據有關的所述信息包括所述對象的標識。28.如權利要求23所述的移動平臺,其中所捕捉到的圖像包括多個對象,并且與所述傳感器數據有關的所述信息包括所述多個對象的標識。29.如權利要求28所述的移動平臺,其中所述處理器被進一步適配成獲得所述多個對象中的每一者相對于所述移動平臺的姿態,并且使用所述姿態以及與所述傳感器數據有關的所述信息來跟蹤所述多個對象中的每一者。30.如權利要求23所述的移動平臺,其中所述處理器被進一步適配成獲得所述移動平臺相對于所述對象的姿態,并且使用所述姿態以及與所述傳感器數據有關的所述信息來跟蹤所述對象。31.如權利要求30所述的移動平臺,其中與所述傳感器數據有關的所述信息包括所述對象的參考圖像,并且其中所述處理器被適配成從所述外部處理器接收基于所捕捉到的圖像和所述參考圖像的第一姿態。32.如權利要求31所述的移動平臺,其中所述處理器進一步適配成執行對所述對象的無參考跟蹤,直至從所述服務器接收到所述第一姿態。33.如權利要求31所述的移動平臺,其中所述處理器被進一步適配成當從所述外部處理器接收到所述第一姿態時捕獲所述對象的第二捕捉到的圖像,在所述捕捉到的圖像與所述第二捕捉到的圖像之間跟蹤所述對象以確定增量變化,使用所述增量變化以及所述第一姿態來獲得所述移動平臺相對于所述對象的姿態。34.如權利要求31所述的移動平臺,其中所述處理器被進一步適配成捕獲所述對象的第二捕捉到的圖像,使用所述參考圖像在所述第二捕捉到的圖像中檢測所述對象,使用在所述第二捕捉到的圖像中檢出的所述對象以及所述參考圖像來獲得所述移動平臺相對于所述對象的姿態,以及使用所述姿態來初始化對所述對象的基于參考的跟蹤。35.如權利要求23所述的移動平臺,其中所述處理器被進一步適配成經由所述無線發射機從所述外部處理器接收以下至少一者:所述對象的二維(2D)模型、所述對象的三維(3D)模型、擴增信息、關于所述對象的顯著性信息、以及與對象匹配有關的信息。36.如權利要求23所述的移動平臺,其中所述處理器通過被適配成確定在所捕捉到的圖像中是否有相對于先前的捕捉到的圖像的場景變化來被適配成確定是否有所述觸發事件。37.如權利要求36所述的移動平臺,其中所述處理器通過被適配成使用所捕捉到的圖像和所述先前的捕捉到的圖像來確定第一變化度量、使用所捕捉到的圖像和來自先前觸發事件的第二先前的捕捉到的圖像來確定第二變化度量、生成關于所捕捉到的圖像的直方圖變化度量、以及使用所述第一變化度量、所述第二變化度量和所述直方圖變化度量來確定所述場景變化來被適配成確定是否有所述場景變化。38.如權利要求23所述的移動平臺,其中與所述傳感器數據有關的所述信息包括對象標識,其中所述處理器被進一步適配成捕獲所述對象的附加的捕捉到的圖像,使用所述對象標識在所述附加的捕捉到的圖像中標識所述對象,基于所述對象標識來生成用于所述附加的捕捉到的圖像的跟蹤掩模,所述跟蹤掩模指示所述附加的捕捉到的圖像中標識出所述對象的區域,將所述跟蹤掩模與所述對象的所述附加的捕捉到的圖像一起使用來標識所述附加的捕捉到的圖像的其余區域,以及檢測包括所述附加的捕捉到的圖像的所述其余區域中的場景變化的觸發事件。39.如權利要求22所述的移動平臺,其中所述傳感器數據包括以下一者或更多者:圖像數據、運動傳感器數據、位置數據、條碼識別、文本檢測結果、以及上下文信息。40.如權利要求39所述的移動平臺,其中所述上下文信息包括以下一者或更多者:用戶行為、用戶偏好、地點、關于所述用戶的信息、時辰、以及照明質量。41.如權利要求22所述的移動平臺,其中所述傳感器包括相機,并且所述傳感器數據包括面部的圖像,并且經由所述無線收發機接收的所述信息包括與所述面部相關聯的身份。42.如權利要求22所述的移動平臺,其中所述傳感器包括相機,并且所述傳感器數據包括以所述相機在不同位置捕捉到的對象的多個圖像、以及對所述相機相對于所述對象的姿態的粗略估計,并且從所述服務器接收到的所述信息包括對所述姿態的改良以及所述對象的三維模型中的至少一者。43.一種移動平臺,包括:用于捕獲傳感器數據的裝置;用于確定是否有包括所述傳感器數據相對于先前捕獲到的傳感器數據的變化的觸發事件的裝置;用于當有所述觸發事件時將所述傳感器數據傳送給服務器的裝置;以及用于從所述服務器接收與所述傳感器數據有關的信息的裝置。44.如權利要求43所述的移動平臺,其中所述用于捕獲傳感器數據的裝置是相機,并且所述傳感器數據是捕捉到的對象的圖像,并且其中與所述傳感器數據有關的所述信息包括所述對象的參考圖像,所述移動平臺進一步包括:用于獲得所述移動平臺相對于所述對象的姿態的裝置;以及用于使用所述姿態和所述對象的所述參考圖像來跟蹤所述對象的裝置。45.如權利要求43所述的移動平臺,其中所述用于捕獲傳感器數據的裝置是相機,并且所述傳感器數據是捕捉到的對象的圖像,其中所述用于確定是否有觸發事件的裝置包括用于確定在所捕捉到的圖像中是否有相對于先前的捕捉到的圖像的場景變化的裝置。46.一種包括其上存儲的程序代碼的非瞬態計算機可讀介質,包括:用于捕獲傳感器數據的程序代碼;用于確定是否有包括所述傳感器數據相對于先前捕獲到的傳感器數據的變化的觸發事件的程序代碼;用于在出現所述觸發事件時將所述傳感器數據傳送給外部處理器的程序代碼;以及用于從所述外部處理器接收與所述傳感器數據有關的信息的程序代碼。47.如權利要求46所述的非瞬態計算機可讀介質,其中所述傳感器數據是捕捉到的對象的圖像,并且與所述傳感器數據有關的信息包括所述對象的參考圖像,所述非瞬態計算機可讀介質進一步包括:用于獲得相對于所述對象的姿態的程序代碼;以及用于使用所述姿態和所述對象的所述參考圖像來跟蹤所述對象的程序代碼。48.如權利要求46所述的非瞬態計算機可讀介質,其中所述傳感器數據是捕捉到的對象的圖像,并且其中所述用于確定是否有觸發事件的程序代碼包括用于確定在所捕捉到的圖像中是否有相對于先前的捕捉到的圖像的場景變化的程序代碼。全文摘要一種使用分布式處理來高效地處理包括圖像數據等傳感器數據的移動平臺,在該分布式處理中,對等待時間敏感的操作是在該移動平臺上執行的,而對等待時間不敏感但操作密集的操作是在遠程服務器上執行的。該移動平臺捕獲諸如圖像數據之類的傳感器數據,并確定是否有將該傳感器數據傳送至該服務器的觸發事件。該觸發事件可以是該傳感器數據相對于先前捕獲到的傳感器數據的變化,例如圖像中的場景變化。當出現變化時,傳感器數據可被傳送給該服務器以進行處理。該服務器處理此傳感器數據,并返回與此傳感器數據有關的信息,諸如對圖像中的對象的標識或參考圖像或模型。該移動平臺可隨后使用所標識出的對象或參考圖像或模型來執行基于參考的跟蹤。文檔編號G06T7/00GK103119627SQ201180045056公開日2013年5月22日申請日期2011年9月19日優先權日2010年9月20日發明者A·斯瓦彌納杉,P·沙爾馬,B·江,M·R·查理,S·D·斯賓德拉,P·K·巴赫帝,V·納拉亞南申請人:高通股份有限公司