程。舉例來說,視覺化應用程序可為基于基于視覺的姿勢顯示第一圖形且基于基于傳感器的姿勢顯示第二圖形的移動裝置的基于運動的游戲或攝影應用程序。
[0035]視需要,可由視覺化應用程序在移動裝置100中顯示額外信息。舉例來說,圖6為流程圖,其與圖5所示的流程圖相似,但包含由視覺化應用程序使用的額外信息。因此,如可看出,確定基于視覺的姿勢及基于傳感器的姿勢(202,204)。另外,一起使用經俘獲圖像及慣性傳感器來確定移動裝置的基于混合的姿勢(212)。舉例來說,視需要,可組合基于視覺的姿勢及基于傳感器的姿勢,或可組合來自慣性傳感器的數(shù)據(jù)及來自相機的數(shù)據(jù)以形成基于混合的姿勢。視覺化應用程序(例如)通過顯示表示每一姿勢的分離的圖形而分離地使用基于視覺的姿勢、基于傳感器的姿勢及基于混合的姿勢(214)。應理解,無需在校準期間總是顯示基于基于視覺的姿勢或基于傳感器的姿勢而顯示的圖形中的一者或兩者,例如,在對基于視覺的姿勢的跟蹤丟失時,可移除針對基于視覺的姿勢而顯示的圖形,同時仍顯示針對基于傳感器的姿勢而顯示的圖形。
[0036]圖7為說明用于慣性傳感器的呈校準應用程序的形式的視覺化應用程序的特定實施例的流程圖。如可看到,起始校準過程(302)。校準應用程序可代替工廠校準或除工廠校準以外還存在校準應用程序,且校準應用程序可預安裝于移動裝置100上。在準許使用慣性傳感器之前,可需要自動起始校準應用程序,或替代地,用戶可在需要時起始所述應用程序??上蛴脩籼峁┱f明,例如,關于在何處可找到適于產生準確計算機視覺姿勢估計的富含特征目標的信息。移動裝置100可被置放于特定位置中(例如,在水平表面上面向上)以用于初始化移動裝置的姿勢(304)。移動裝置100可(例如)通過發(fā)射音調而在初始化完成時向用戶進行指示。移動裝置100確定基于傳感器的姿勢及分離的基于視覺的姿勢(306)。舉例來說,移動裝置100俘獲參考目標的圖像或視頻幀以使用計算機視覺確定姿勢且獲取跟蹤,同時還基于還用于跟蹤的慣性傳感器確定姿勢。通過顯示與基于傳感器的姿勢及基于視覺的姿勢有關的分離的圖形,將移動移動裝置的指令提供給用戶(308)。在用戶移動移動裝置時個別地跟蹤基于傳感器的姿勢及基于視覺的姿勢以改進校準(310)。
[0037]可基于對每一姿勢估計的可信度而產生用于移動移動裝置的指令,可從來自擴展卡爾曼濾波器的誤差協(xié)方差或從其它算法導出可信度。舉例來說,如果針對由測量圍繞Z軸的旋轉的陀螺儀產生的姿勢的可信度低,那么用戶可被指示圍繞Z軸旋轉移動裝置,同時繼續(xù)俘獲參考目標的圖像直到達到可信度的閾值為止??砂凑账@示圖形的計分或改變來表達可信度閾值以促使用戶進行特定運動以增加估計的可信度。將計分及/或挑戰(zhàn)提供給用戶利用了游戲玩家的為了增加其游戲計分或完成挑戰(zhàn)而玩游戲的普遍特性。每當對校準參數(shù)中的一者的校準完成(即,可信度水平增加超過閾值)時,就獎勵用戶分數(shù)。用戶完成所花費的時間還可包含于計分中。因此,可激勵用戶操控移動裝置以提供用于校準過程的輸入數(shù)據(jù)。因此,用戶與移動裝置的交互可用于校準,借此避免了對慣性傳感器進行昂貴的工廠校準的需要。
[0038]圖8為能夠確定基于視覺的姿勢及基于傳感器的姿勢且將基于視覺的圖形及基于傳感器的圖形分離地用于視覺化應用程序中的移動裝置100的框圖。移動裝置100包含相機108以及例如加速計、陀螺儀或其類似者等慣性傳感器110。移動裝置100進一步包含用戶接口 150,用戶接口 150包含顯示器102以及小鍵盤152或用戶可借以將信息輸入到移動裝置100中的其它輸入裝置。視需要,通過將虛擬小鍵盤集成到具有觸控傳感器(或示意動作控制)的顯示器102中,可取消小鍵盤152。用戶接口 150還可包含麥克風106及揚聲器104 (例如,在移動裝置100為蜂窩式電話或其類似者時)。當然,移動裝置100可包含與本發(fā)明不相關的其它元件。
[0039]移動裝置100還包含控制單元105,控制單元105連接到相機108、慣性傳感器110以及用戶接口 150 (包含顯示器102)且與相機108、慣性傳感器110以及用戶接口 150 (包含顯示器102)通信??刂茊卧?05可由總線105b、處理器105p及相關聯(lián)的存儲器105m、硬件105h、固件105f及軟件105s提供??刂茊卧?05接收及處理如上文所論述的由相機俘獲的圖像以及從慣性傳感器110獲得的數(shù)據(jù)??刂茊卧?05進一步被說明為包含視覺姿勢模塊112,視覺姿勢模塊112使用計算機視覺技術來使用由相機108俘獲的圖像產生基于視覺的姿勢。移動裝置100進一步包含INS 114,INS 114使用慣性傳感器110的輸出以產生基于傳感器的姿勢。呈現(xiàn)模塊116產生待提供給用戶的基于視覺的圖形及基于傳感器的圖形及任何其它圖形數(shù)據(jù),其被展示于顯示器102上。另外,視覺化應用程序模塊118使用基于視覺的姿勢及基于傳感器的姿勢,且使得將顯示來自呈現(xiàn)模塊116的圖形。舉例來說,視覺化應用程序模塊118可為基于基于視覺的姿勢及基于傳感器的姿勢校準慣性傳感器110的校準模塊(如上文所論述),或可替代地為基于運動的游戲或其它適當類型的應用程序(例如,攝影應用程序)。可包含混合姿勢模塊119以基于經組合的基于視覺的姿勢及基于傳感器的姿勢而確定移動裝置的姿勢,或以其它方式基于經俘獲圖像及慣性傳感器數(shù)據(jù)來確定移動裝置的姿勢。
[0040]為清楚起見,將視覺姿勢模塊112、INS 114、呈現(xiàn)模塊116、視覺化應用程序模塊118及混合姿勢模塊119與處理器105p分開加以說明,但其可為處理器105p的部件或基于執(zhí)行于處理器105p中的軟件105s中的指令而在處理器中予以實施。應理解,如本文中所使用,處理器105p可(但未必需要)包含一或多個微處理器、嵌入式處理器、控制器、專用集成電路(ASIC)、數(shù)字信號處理器(DSP),及其類似者。術語處理器意欲描述由系統(tǒng)而非特定硬件實施的功能。此外,如本文中所使用,術語“存儲器”是指任何類型的計算機存儲媒體,包含與移動裝置相關聯(lián)的長期、短期或其它存儲器,且將不限于任何特定類型的存儲器或數(shù)目的存儲器,或供存儲存儲器的媒體類型。
[0041]取決于應用,可通過各種裝置來實施本文中所描述的方法。舉例來說,可以硬件105h、固件105f、軟件105s或其任何組合來實施此些方法。對于硬件實施,處理單元可經實施于一或多個專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSH))、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、電子裝置、經設計以執(zhí)行本文中所描述的功能的其它電子單元或其組合內。
[0042]對于固件及/或軟件實施,可通過執(zhí)行本文中所描述的功能的模塊(例如,程序、函數(shù),等等)來實施所述方法。有形地體現(xiàn)指令的任何機器可讀媒體可用于實施本文中所描述的方法。舉例來說,軟件代碼可存儲于存儲器105m中且由處理器105p執(zhí)行。存儲器105m可經實施于處理器105p內或處理器105p外部。如果以固件及/或軟件予以實施,那么功能可作為一或多個指令或代碼而存儲于計算機可讀的存儲媒體上,其中存儲媒體不包含暫時性傳播信號。實例包含用數(shù)據(jù)結構編碼的存儲媒體及用計算機程序編碼的存儲器。存儲媒體包含物理計算機存儲媒體。存儲媒體可為可由計算機存取的任何可用媒體。通過實例而非限制,此些存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置,或可用以存儲呈指令或數(shù)據(jù)結構形式的所要程序代碼且可通過計算機存取的任何其它媒體;如本文中所使用的磁盤及光盤包含壓縮光盤(CD)、激光光盤、光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍光光盤,其中磁盤通常以磁性方式復制數(shù)據(jù),而光盤通過激光以光學方式復制數(shù)據(jù)。以上各者的組合還應包含于存儲媒體的范圍內。
[0043]因此,移動裝置100包含用于使用經俘獲圖像確定移動裝置的基于視覺的姿勢的裝置,所述裝置可包含(例如)相機108以及視覺姿勢模塊112。用于使用慣性傳感器確定移動裝置的基于傳感器的姿勢的裝置可包含(例如)慣性傳感器110及INS 114。用于將基于視覺的姿勢及基于傳感器的姿勢分離地用于視覺化應用程序中的裝置可包含(例如)視覺化應用程序模塊118,視覺化應用程序模塊118可為(例如)校準模塊、基于運動的游戲,或攝影應用程序。用于使用經俘獲圖像及慣性傳感器確定移動裝置的基于混合的姿勢的裝置可為混合姿勢模塊119,混合姿勢模塊119可組合基于視覺的姿勢及基于傳感器的姿勢,或以其它方式基于經俘獲圖像及慣性傳感器數(shù)據(jù)確定姿勢。
[0044]盡管出于指導目的結合特定實施例來說明本發(fā)明,但本發(fā)明不限于此??稍诓幻撾x本發(fā)明的范圍的情況下進行各種調適及修改。因此,所附權利要求書的精神及范圍不應限于前述描述。
【主權項】
1.一種方法,其包括: 使用經俘獲圖像確定移動裝置的基于視覺的姿勢; 使用慣性傳感器確定所述移動裝置的基于傳