用于不受限制的slam的基于傳感器的相機運動檢測的制作方法
【專利摘要】本發(fā)明呈現(xiàn)用于基于以下操作而進行單眼視覺同時定位與地圖繪制SLAM的技術(shù):在相機執(zhí)行全景SLAM的同時使用至少一個運動傳感器在所述相機的移動中檢測平移運動,并且初始化三維地圖以用于追蹤有限特征。運動傳感器可以包含一或多個傳感器,包含慣性(陀螺儀、加速計)、磁性(指南針)、視覺(相機)或構(gòu)建到移動裝置中的任何其它傳感器。
【專利說明】用于不受限制的SLAM的基于傳感器的相機運動檢測
[0001 ] 相關(guān)案件的交叉參考
[0002]本申請案是專利合作條約申請案并且主張2014年3月14日遞交的標(biāo)題為“用于不受限制的SLAM的基于傳感器的相機運動檢測(SENSOR-BASED CAMERA MOT1N DETECT1NFOR UNCONSTRAINED SLAM)”的第61/953,122號美國臨時申請案以及2015年3月12日遞交的標(biāo)題為“用于不受限制的SLAM的基于傳感器的相機運動檢測(SENSOR-BASED CAMERAMOT1N DETECT1N FOR UNCONSTRAINED SLAM)”的第 14/645,675號非臨時申請案的權(quán)益和優(yōu)先權(quán),所述申請案以引用的方式并且出于所有目的全文并入本文中。本申請案還以引用的方式全文并入2014年I月9日遞交的且標(biāo)題為“具有常規(guī)及全景相機移動的單眼視覺SLAM"的美國申請案14/151,766。
技術(shù)領(lǐng)域
[0003]本文中所揭示的標(biāo)的物通常涉及位置檢測并且確切地說涉及同時定位與地圖繪制(SLAM)0
【背景技術(shù)】
[0004]視覺同時定位與地圖繪制(VSLAM)系統(tǒng)可以處理耦合到裝置的單個相機的輸入并且隨著相機的移動連續(xù)地累積環(huán)境的圖(也稱為模型)。視覺SLAM系統(tǒng)同時追蹤相對于圖的裝置的位置及定向(姿態(tài))。視覺SLAM系統(tǒng)可以不同模式操作以用于追蹤裝置并且基于裝置的移動構(gòu)造所述圖。舉例來說,雖然裝置經(jīng)歷包含平移運動的一般運動,但是裝置可過渡到一般運動模式并且構(gòu)造用于一般運動的圖。類似地,當(dāng)裝置僅旋轉(zhuǎn)而未從一個位置移動到另一個位置時,裝置可切換到僅旋轉(zhuǎn)模式并且構(gòu)造僅旋轉(zhuǎn)圖。
[0005]本發(fā)明的某些方面論述用于穩(wěn)健地從僅旋轉(zhuǎn)模式切換到一般運動模式的技術(shù)。
【發(fā)明內(nèi)容】
[0006]本文中所揭示的標(biāo)的物通常涉及相機運動檢測并且確切地說涉及同時定位與地圖繪制(SLAM)。
[0007]本發(fā)明的各方面提供用于穩(wěn)健地檢測一般和僅旋轉(zhuǎn)相機運動之間的過渡的技術(shù)和對應(yīng)的全景/3D追蹤和地圖繪制模式。不正確的過渡可能通過錯誤地測量的特征破壞3D和全景圖并且引起追蹤失敗。與例如模型選擇算法的現(xiàn)有僅視覺方法相比,本發(fā)明的各方面可以使用一或多個傳感器,包含慣性(陀螺儀、加速計)、磁性(指南針)和視覺(相機)傳感器。
[0008]本發(fā)明的某些方面使用3D0F旋轉(zhuǎn)運動模型在從全景圖中追蹤相機時檢測從僅旋轉(zhuǎn)模式到一般運動模式的過渡。在僅旋轉(zhuǎn)模式時,視覺全景圖追蹤器將平移運動編碼為其旋轉(zhuǎn)運動估計中的額外的虛擬旋轉(zhuǎn)。同時,測量來自運動傳感器的旋轉(zhuǎn)。視差角度通過計算可以在確定平移運動中使用的視覺與運動傳感器旋轉(zhuǎn)估計之間的差異衍生??煽康卮_定視差角度且因此確定平移運動允許觸發(fā)新3D地圖的初始化,其允許全部6D0F中的相機的連續(xù)追足示O
[0009]本發(fā)明的方面描述用于在追蹤全景同時定位與地圖繪制(SLAM)模式中的裝置時檢測平移運動的實例方法、設(shè)備、非暫時性計算機可讀媒體和裝置,檢測平移運動包含確定裝置的基于視覺的旋轉(zhuǎn)運動角度,其中基于視覺的旋轉(zhuǎn)運動角度通過以下項確定:在多個關(guān)鍵幀上執(zhí)行圖像處理;在所述多個關(guān)鍵幀之間確定裝置的基于傳感器的旋轉(zhuǎn)運動角度,其中基于傳感器的旋轉(zhuǎn)運動角度是使用耦合到裝置的一或多個運動傳感器確定的;確定裝置的視差角度,其中視差角度通過比較基于視覺的旋轉(zhuǎn)運動角度與基于傳感器的旋轉(zhuǎn)運動角度確定;將視差角度與閾值進行比較;以及基于高于所述閾值的視差角度檢測平移運動。在某些方面,運動傳感器可以包含陀螺儀、加速計、磁力計、相機或用于檢測運動的任何其它合適的傳感器。
[0010]在某些方面,非暫時性計算機可讀儲存媒體可以包含可由處理器執(zhí)行的指令以用于執(zhí)行如本文所述的同時定位與地圖繪制(SLAM)的方面。此外,用于在全景同時定位與地圖繪制(SLAM)模式中追蹤裝置時檢測平移運動的裝置或設(shè)備可以包含用于存儲圖和其它數(shù)據(jù)結(jié)構(gòu)的存儲器、耦合到裝置/設(shè)備以用于獲得關(guān)于物理場景的信息的一或多個相機,以及耦合到存儲器并且經(jīng)配置以執(zhí)行本文中描述的本發(fā)明的方面的一或多個處理器。
[0011]本發(fā)明的方面進一步包含使用所述多個關(guān)鍵幀之間的至少視差角度確定平移運動。本發(fā)明的某些方面還可以包含確定相對于裝置的一或多個特征的深度信息,方法是使用至少平移運動三角計算一或多個特征與裝置的距離。并且,本發(fā)明的某些方面進一步包含至少基于平移運動的檢測初始化三維(3D)圖以用于追蹤一般運動模式中的裝置。某些方面可以包含基于檢測平移運動切換到六個自由度(6D0F)SLAM地圖繪制。本發(fā)明的某些方面包含至少基于平移運動的檢測使用兩個關(guān)鍵幀初始化三維(3D)圖以用于使用3D地圖的立體初始化追蹤裝置。在本發(fā)明的某些方面,基于視覺的旋轉(zhuǎn)運動角度和基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。
[0012]前文已經(jīng)相當(dāng)廣泛地概述了實例的特征和技術(shù)優(yōu)點,以便使以下的【具體實施方式】可以得到更好理解。將在下文中描述額外特征和優(yōu)點。所揭示的概念和具體實例可以容易地用作用于修改或設(shè)計用于執(zhí)行本發(fā)明的相同目的的其它結(jié)構(gòu)的基礎(chǔ)。此類等效構(gòu)造不脫離所附權(quán)利要求書的精神和范圍。當(dāng)結(jié)合附圖考慮時,關(guān)于本發(fā)明的組織和操作方法兩者的被認為是本文中所揭示的概念的特性的特征連同相關(guān)聯(lián)的優(yōu)點一起將從以下描述得到更好理解。圖式中的每一者都僅出于說明和描述的目的提供且并不提供為對權(quán)利要求書的限制的界定。
【附圖說明】
[0013]本發(fā)明的各方面借助于實例來說明。參考圖式提供以下描述,其中相同的參考標(biāo)號始終用以指代相同的元件。盡管本文中描述一或多種技術(shù)的各種細節(jié),但其它技術(shù)也是可能的。在一些情況下,以框圖形式示出熟知結(jié)構(gòu)和裝置以便有助于描述各種技術(shù)。
[0014]可參照說明書及圖式的剩余部分來實現(xiàn)對由本發(fā)明提供的實例的性質(zhì)及優(yōu)點的進一步理解,其中貫穿若干圖式使用類似參考標(biāo)號來指代類似組件。在一些情況下,子標(biāo)簽與參考標(biāo)號相關(guān)聯(lián)以表示多個類似組件中的一者。當(dāng)在無說明書的情況下將參考標(biāo)號與現(xiàn)有子標(biāo)簽進行參考時,參考標(biāo)號是指全部此類類似組件。
[0015]圖1是根據(jù)本發(fā)明的某些方面的系統(tǒng)的框圖。
[0016]圖2說明根據(jù)本發(fā)明的某些方面用于產(chǎn)生例子SLAM系統(tǒng)的圖的流程圖。
[0017]圖3說明根據(jù)本發(fā)明的某些方面在時間t處包含有限3D特征的全局SLAM圖表示。
[0018]圖4說明根據(jù)本發(fā)明的某些方面在時間t+Ι處包含有限3D特征和無限3D特征的全局SLAM圖表;^;。
[0019]圖5說明根據(jù)本發(fā)明的某些方面在時間t+2處包含有限3D特征和無限3D特征的全局SLAM圖表;^;。
[0020]圖6說明根據(jù)本發(fā)明的某些方面在時間t+3處包含有限3D特征和無限3D特征的全局SLAM圖表;^;。
[0021]圖7說明根據(jù)本發(fā)明的某些方面在時間t+4處包含有限3D特征和無限3D特征的全局SLAM圖表;^;。
[0022]圖8說明根據(jù)本發(fā)明的某些方面在時間t+5處包含有限3D特征和無限3D特征的全局SLAM圖表;^;。
[0023]圖9是說明根據(jù)本發(fā)明的某些方面的實例平移SLAM模塊的方面的框圖。
[0024]圖10說明用于執(zhí)行根據(jù)本發(fā)明的一或多個方面的方法的流程圖。
【具體實施方式】
[0025]現(xiàn)將關(guān)于形成本文的一部分的附圖來描述若干說明性實施例。雖然下文描述可以實施本發(fā)明的一或多個方面的特定實施例,但可以使用其它實施例,且可以在不脫離本發(fā)明的范圍或所附權(quán)利要求書的精神的情況下進行各種修改。
[0026]現(xiàn)將關(guān)于形成本文的一部分的附圖來描述若干說明性實施例。雖然下文描述可以實施本發(fā)明的一或多個方面的特定實施例,但可以使用其它實施例,且可以在不脫離本發(fā)明的范圍或所附權(quán)利要求書的精神的情況下進行各種修改。
[0027]詞語“示范性”或“實例”在本文中是指“充當(dāng)實例、例子或說明”。本文中描述為“示范性”或描述為“實例”的任何方面或?qū)嵤├幢貞?yīng)被解釋為比其它方面或?qū)嵤├齼?yōu)選或有利。
[0028]雖然不限于,但是本發(fā)明的方面涉及同時定位與地圖繪制(SLAM)系統(tǒng),例如視覺SLAM(VSLAM)和空中協(xié)作視覺同時定位與地圖繪制(C-VSLAM) ALAM系統(tǒng)可以處理單個相機的輸入并且隨著相機移動而連續(xù)地累積環(huán)境的圖(也稱為模型)。環(huán)境的圖可表示環(huán)境的某些方面,例如,三維(3D)特征。視覺SLAM系統(tǒng)可以經(jīng)配置以同時追蹤相對于圖的相機的位置及定向(姿態(tài))。某些優(yōu)化SLAM系統(tǒng)可從地圖繪制中解耦追蹤并且異步地運行這些任務(wù)。在某些實施方案中,追蹤和地圖繪制功能可以使用可以在多核處理器上平行執(zhí)行的單獨的處理線程執(zhí)行?;陉P(guān)鍵幀的SLAM系統(tǒng)從傳入相機圖像流或視頻內(nèi)容中分開地選擇幀并且使用這些幀用于地圖繪制(例如,以擴展所述圖)和追蹤。此類謹慎地選擇的相機圖像幀可被稱為關(guān)鍵幀。
[0029]具有六個自由度(6D0F)的SLAM系統(tǒng)采用一般相機運動(包含平移和任選地旋轉(zhuǎn)的運動)且應(yīng)用運動恢復(fù)結(jié)構(gòu)技術(shù)以創(chuàng)建3D特征圖。運動恢復(fù)結(jié)構(gòu)技術(shù)可以包含從二維關(guān)鍵幀中提取關(guān)于環(huán)境的3D信息。來自多個相機視點的觀察的3D地圖特征的穩(wěn)固三角測量需要由平移或一般相機運動引起的足夠的視差。視差角度是在由兩個視點之間的裝置的平移運動引起的兩個視點之間的角度。如本文所述,6D0F運動和一般運動可互換使用而不會偏離本發(fā)明的范圍。
[0030]相比之下,全景SLAM系統(tǒng)采用僅旋轉(zhuǎn)相機運動且在三個自由度(3D0F)中追蹤相機。因為沒有觀察到視差,所以特征點不是三角形的且因此可以僅描述為射線或不含深度信息的特征。如本文所述,此類射線點特征被稱作無限特征,并且包含深度信息的來自6D0FSLAM的3D點特征被稱作有限特征。如本文所述,全景SLAM可被稱為3D0FSLAM并且全景旋轉(zhuǎn)可被稱為3D0F旋轉(zhuǎn),并且可互換使用而不會偏離本發(fā)明的范圍。
[0031]不受限制的SLAM(USLAM)系統(tǒng)處理一般和僅旋轉(zhuǎn)相機運動這兩者。取決于當(dāng)前相機運動,這些SLAM系統(tǒng)應(yīng)用運動恢復(fù)結(jié)構(gòu)或全景追蹤和地圖繪制技術(shù)中的任一者,產(chǎn)生一組3D和全景圖。一般相機運動被繪制成由具有允許全部6D0F中的相機的追蹤的有限深度的特征組成的3D地圖。相比之下,僅旋轉(zhuǎn)相機運動被繪制成由具有允許僅隨著3D0F旋轉(zhuǎn)追蹤相機的有限深度的特征組成的全景圖。USLAM也可被稱作混合SLAM(HSLAM),并且在整個本說明書中這些術(shù)語可互換使用而不脫離本發(fā)明的范圍。
[0032]取決于用戶執(zhí)行的相機運動,USLAM地圖繪制和追蹤允許用戶在一般運動與純旋轉(zhuǎn)運動之間無縫地切換。在一個實施例中,USLAM地圖繪制利用6D0F和全景關(guān)鍵幀以估計三維(3D)圖的新的部分。組合6D0F和全景信息的此類圖可被稱為全局SLAM圖。因此,全局SLAM圖可以被描述為一或多個一般運動圖和全景圖的容器。全局SLAM圖也可以被稱為混合圖,并且可與全局SLAM圖互換使用而不偏離本發(fā)明的范圍。
[0033]USLAM系統(tǒng)通常旨在每當(dāng)可能的時候?qū)⒁话氵\動圖和全景圖合并到具有普通坐標(biāo)系(包含普通標(biāo)尺)的較大圖中。舉例來說,USLAM系統(tǒng)可以圖對之間的足夠的重疊合并一般運動圖與全景圖。一般而言,全局SLAM圖可通常包含不連接的若干圖,意味著個體3D/全景圖之間的空間變換是未知的(或僅部分地已知的)。
[0034]根據(jù)本發(fā)明的某些方面,在全景SLAM模式中操作的裝置可以經(jīng)歷平移運動。在某些實例中,平移運動可以是由裝置的用戶引起的例如水平移動等無意運動的結(jié)果。傳統(tǒng)上,此類平移運動引起在全景SLAM中追蹤特征的誤差和損失。
[0035]本發(fā)明的方面描述用于穩(wěn)健地檢測平移運動和僅旋轉(zhuǎn)運動模式與一般運動模式以及對應(yīng)的全景/3D追蹤和地圖繪制模式之間的轉(zhuǎn)換的技術(shù)。不正確的過渡可能通過錯誤地測量的特征破壞3D和全景圖并且引起追蹤失敗。與例如模型選擇算法等現(xiàn)有僅視覺方法相比,本發(fā)明的方面使用一或多個傳感器,包含慣性(陀螺儀、加速計)、磁性(指南針)、視覺(相機)或任何其它傳感器。
[0036]如下文中以進一步的細節(jié)所描述,在某些方面,USLAM系統(tǒng)經(jīng)配置以處理旋轉(zhuǎn)遠離場景的繪制的部分(也稱為從6D0F到全景地圖繪制的過渡)。檢測到這些旋轉(zhuǎn)并且選擇用于累積包含無限特征的全景圖的特殊“全景”(也稱為3D0F)關(guān)鍵幀。全景圖注冊為3D地圖的一部分。在一些實例中,全景關(guān)鍵幀使用最后一個一般運動關(guān)鍵幀作為基礎(chǔ)以隨著相機旋轉(zhuǎn)遠離場景的繪制的部分構(gòu)造全景圖。
[0037]USLAM系統(tǒng)支持從全景圖過渡到另一 3D地圖。遠離場景的所繪制部分的相機平移是通過將視覺和運動傳感器姿態(tài)進行比較、隨后將新3D地圖(與其它3D地圖不一致)初始化來檢測,所述新3D地圖被添加到全局SLAM圖。
[0038]具體而言,描述了使用3D0F旋轉(zhuǎn)運動模型用于在從全景圖中追蹤相機時檢測從僅旋轉(zhuǎn)到一般運動的過渡的技術(shù)。在兩個相機視點之間檢測的平移運動的檢測可以通過比較使用圖像處理技術(shù)和傳感器采集的旋轉(zhuǎn)角度來執(zhí)行。使用圖像處理檢測的也被稱作基于視覺旋轉(zhuǎn)運動角度的旋轉(zhuǎn)角度可以包含由于平移運動引入的虛擬角度分量。另一方面,也被稱作基于傳感器的旋轉(zhuǎn)運動角度的來自傳感器的旋轉(zhuǎn)角度表示兩個相機視圖之間的裝置的實際(或接近實際)旋轉(zhuǎn)。視差角度,也就是說通過平移運動引入的兩個視點之間的角度,可以通過比較基于視覺的旋轉(zhuǎn)運動角度與基于傳感器的旋轉(zhuǎn)運動角度來計算。關(guān)鍵幀可以使用視差和覆蓋率試探法來選擇。視差角度取決于平移運動的基線和場景深度且因此可用于確定平移運動。兩個視圖之間的所確定的平移運動用于三角測量通常在兩個視圖中觀察到的特征,因此確定特征的深度。兩個相機視圖被選擇為6D0F關(guān)鍵幀且與三角形有限特征一起添加到新3D地圖。繼而,新3D地圖被添加到全局SLAM圖。因此,可靠地確定視差角度允許穩(wěn)健地將新3D地圖初始化,這允許在全部6D0F中連續(xù)地追蹤相機。
[0039]本文中描述的技術(shù)使得能夠使用在全景SLAM模式中操作時檢測到的平移運動用額外的6D0F圖填充全局SLAM圖,增強全局SLAM圖的質(zhì)量。此外,技術(shù)可防止由于全景SLAM模式中的平移運動造成的追蹤的特征的損失,方法是適當(dāng)?shù)貦z測平移運動且使用6D0F SLAM繼續(xù)追蹤。
[0040]圖1是說明其中可實踐本發(fā)明的方面的系統(tǒng)的框圖。系統(tǒng)可以是裝置100,所述裝置可以包含一或多個通用處理器161、圖像處理模塊171、追蹤模塊181、地圖繪制模塊180和存儲器164,所述地圖繪制模塊包含6D0F SLAM模塊173、3D0F SLAM模塊175和地圖繪制模式切換模塊179。裝置100還可以包含通過軟件接口、硬件接口或其某一組合直接或間接地耦合追蹤模塊181、圖像處理模塊171和地圖繪制模塊180(6D0F SLAM模塊173、3D0F SLAM模塊175和地圖繪制模式切換模塊179)的一或多個總線177或信號線。為了清楚起見,模塊170、171、173、175、179、180和181與處理器161和/或硬件162單獨地說明,但是可以基于軟件165和固件163中的指令在處理器161和/或硬件162中組合和/或?qū)嵤?或在處理器161和/或硬件162上執(zhí)行)??刂茊卧?60可以經(jīng)配置以實施用于執(zhí)行如下文所述的USLAM的方法。舉例來說,控制單元160可經(jīng)配置以實施圖2-10中所描述的移動裝置100的功能。在某些實施例中,軟件165或固件163指令可以存儲在非暫時性計算機可讀媒體上。
[0041]裝置100可以是移動裝置、無線裝置、蜂窩電話、擴增實境裝置(AR)、個人數(shù)字助理、可穿戴式裝置(例如,眼鏡、手表、頭飾、頭戴式裝置(HMD)或類似身體附接裝置)、移動計算機、平板電腦、個人計算機、膝上型計算機、數(shù)據(jù)處理裝置/系統(tǒng),或具有處理能力的任何類型的裝置。
[0042]在一個實施例中,裝置100是移動/便攜式平臺。裝置100可以包含用于捕獲圖像的裝置,例如,相機114,并且還可以包含運動傳感器111,例如,加速計、陀螺儀、電子指南針或其它類似運動傳感元件。此類運動傳感器111可以用于確定基于傳感器的旋轉(zhuǎn)運動角度且因此確定與裝置100相關(guān)聯(lián)的平移運動。
[0043]裝置100還可在正向或后向相機(例如,相機114)上捕獲圖像。裝置100可進一步包含用戶接口 150,所述用戶接口包含用于顯示擴增實境圖像的裝置,例如,顯示器112。用戶接口 150還可以包含虛擬或物理鍵盤、小鍵盤152或用戶可以將信息輸入到移動裝置100中的其它輸入裝置。如果需要,通過觸摸屏/傳感器將虛擬小鍵盤集成到顯示器112中可免除鍵盤或小鍵盤152。用戶接口 150還可以包含麥克風(fēng)154和揚聲器156,例如,前提是裝置100是移動平臺,例如,蜂窩電話。裝置100可以包含與本發(fā)明無關(guān)的其它元件,例如,衛(wèi)星定位系統(tǒng)接收器、電力裝置(例如,電池),以及通常與便攜式和非便攜式電子裝置相關(guān)聯(lián)的其它組件。
[0044]裝置100可充當(dāng)移動或無線裝置并且可通過無線網(wǎng)絡(luò)經(jīng)由基于或另外支持任何合適的無線通信技術(shù)的一或多個無線通信鏈路來通信。舉例來說,在一些方面中,裝置100可為客戶端或服務(wù)器并且可與無線網(wǎng)絡(luò)相關(guān)聯(lián)。在一些方面中,網(wǎng)絡(luò)可包括人體局域網(wǎng)或個人局域網(wǎng)(例如,超寬帶網(wǎng)絡(luò))。在一些方面中,網(wǎng)絡(luò)可包括局域網(wǎng)或廣域網(wǎng)。無線裝置可支持或以其它方式使用多種無線通信技術(shù)、協(xié)議或標(biāo)準(zhǔn)中的一或多者,例如,3G、LTE、高級LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAX和W1-Fi。類似地,無線裝置可支持或以其它方式使用多種對應(yīng)調(diào)制或多路復(fù)用方案中的一或多者。移動無線裝置可以無線方式與其它移動裝置、蜂窩電話、其它有線及無線計算機、互聯(lián)網(wǎng)網(wǎng)站等通信。
[0045]如上文所述,裝置100可以是便攜式電子裝置(例如,智能手機、專用擴增實境(AR)裝置、游戲裝置或具有AR處理和顯示能力的其它裝置)。實施本文所描述的AR系統(tǒng)的裝置可用于多種環(huán)境中(例如,商場、街道、辦公室、家庭,或用戶可使用其裝置的任何地方)。用戶可以在多種情況中與其裝置100的多個特征介接。在AR情境中,用戶可使用其裝置來通過其裝置的顯示器觀察現(xiàn)實世界的表示。用戶可通過使用其裝置的相機與其帶有AR功能的裝置相互作用以接收現(xiàn)實世界圖像/視頻且以將額外的或替代信息疊加到裝置上的所顯示的現(xiàn)實世界圖像/視頻上的方式來處理圖像。當(dāng)用戶在其裝置上觀察AR實施時,可在裝置顯示器上實時替換或更改現(xiàn)實世界對象或場景。虛擬對象(例如,文本、圖像、視頻)可插入到裝置顯示器上描繪的場景的表示中。
[0046]根據(jù)本發(fā)明的各方面,USLAM系統(tǒng)170可以使用從非暫時性計算機可讀媒體中取回的指令來執(zhí)行。在一個實施方案中,指令作為軟件165存儲在存儲器164中。指令可以使用一或多個處理器161執(zhí)行。
[0047]在某些實施例中,USLAM系統(tǒng)170的組件可以包含(I)地圖繪制模塊180,(2)追蹤模塊181和(3)由地圖繪制模塊180和追蹤模塊181共享的全局SLAM圖數(shù)據(jù)結(jié)構(gòu)。另外,USLAM系統(tǒng)170可以包含圖像處理模塊171。
[0048]在一個實施例中,USLAM系統(tǒng)170維持可以實施為具有有限和無限特征的圖的數(shù)據(jù)庫的全局SLAM圖。全局SLAM圖166的部分可以在存儲器165中緩沖。圖數(shù)據(jù)庫可以包含多個3D地圖。在某些實施方案中,在任何給定時間點處,可以激活3D地圖中的僅一者。
[0049]追蹤模塊181處理在幀速率下來自相機的視頻流并且追蹤相對于激活的3D地圖的一般和僅旋轉(zhuǎn)相機運動這兩者。通用姿態(tài)估計器組合有限和無限3D地圖特征這兩者的測量結(jié)果,并且自動計算6D0F或3D0F姿態(tài)。6D0F姿態(tài)確定相對于3D地圖的相機圖像的3D0F旋轉(zhuǎn)(也稱為定向)和3D0F位置(也稱為平移)JDOF姿態(tài)僅確定相對于3D地圖的3D0F旋轉(zhuǎn)。在某些實施方案中,追蹤模塊181還選擇傳遞到地圖繪制模塊180的關(guān)鍵幀。對應(yīng)于所計算的姿態(tài)的DOF計數(shù),這些關(guān)鍵幀可被稱為6D0F關(guān)鍵幀或3D0F關(guān)鍵幀。
[0050]地圖繪制模塊180基于通過追蹤模塊181選擇的6D0F和全景關(guān)鍵幀擴展和精煉全局SLAM圖。關(guān)鍵幀可以使用視差和覆蓋率試探法來選擇。視差是在兩個相機幀的觀察方向之間(例如,在當(dāng)前幀與現(xiàn)有關(guān)鍵幀之間)到通常觀察的場景幾何形狀(也稱為有限3D地圖特征)上的角度。覆蓋率是由有限特征突起覆蓋的幀面積比。
[0051 ] 地圖繪制模塊180可以包含6D0F SLAM模塊173、全景SLAM模塊175和地圖繪制模式切換模塊179ADOF SLAM模塊173和全景SLAM模塊175可以存取和更新存儲在存儲器164中的全局SLAM圖166。
[0052]在一些實施例中,6D0FSLAM模塊173可以產(chǎn)生具有來自所捕獲圖像的有限特征的關(guān)鍵幀。6D0F SLAM模塊173可以在確定所捕獲圖像滿足從已經(jīng)與全局SLAM圖相關(guān)聯(lián)的先前關(guān)鍵幀的閾值平移之后產(chǎn)生關(guān)鍵幀。如上文所論述,6D0F SLAM模塊173可以產(chǎn)生包含從兩個或兩個以上關(guān)鍵幀(例如,關(guān)鍵幀對,或大于一對關(guān)鍵幀)中三角測量的3D特征點的圖并且在全局SLAM圖165中插入圖。
[0053]在某些其它實施例中,全景SLAM模塊175創(chuàng)建具有無限特征的全景圖。在某些其它實施例中,全景SLAM模塊175還可以將多個所捕獲圖像縫合在一起到通過僅旋轉(zhuǎn)相機運動獲取的圖像的粘性集合中。使用3D0F SLAM的USLAM系統(tǒng)17 O (例如,通過全景SLAM模塊17 5的旋轉(zhuǎn)追蹤)可以計算與6D0F SLAM的6D0F(S卩,通過6D0F SLAM模塊173計算的)相比的三個旋轉(zhuǎn)自由度(3D0F) ο全景SLAM模塊175可以使用相對旋轉(zhuǎn)使旋轉(zhuǎn)關(guān)鍵幀彼此相關(guān)。USLAM系統(tǒng)170可以在不滿足最小閾值視差或平移時繞過或跳過特征點三角測量。舉例來說,當(dāng)相機的位置尚未改變且由于先前關(guān)鍵幀僅已發(fā)生純旋轉(zhuǎn)時,將不滿足最小閾值視差或平移。
[0054]本發(fā)明的某些方面描述用于在以全景SLAM模式操作時基于在相機的移動中檢測平移運動的單眼VSLAM的技術(shù)。平移運動可以使用來自運動傳感器111的旋轉(zhuǎn)運動計算。運動傳感器111可以包含例如加速計、陀螺儀等慣性傳感器和例如磁力計等磁傳感器。此外,運動傳感器還可包含相機傳感器和用于確定運動的相關(guān)聯(lián)的硬件和/或軟件邏輯?;谠趫?zhí)行全景SLAM時檢測平移運動,可以初始化由6D0F關(guān)鍵幀和有限圖特征組成的新3D地圖,產(chǎn)生到6D0F SLAM的切換且相對于新3D地圖連續(xù)追蹤相機。
[0055]根據(jù)某些實施例,平移運動的檢測通過地圖繪制模式切換模塊179執(zhí)行。兩個相機視圖之間的平移運動的檢測可以通過比較使用圖像處理技術(shù)和傳感器采集的旋轉(zhuǎn)角度來執(zhí)行。使用圖像處理檢測的也被稱作基于視覺旋轉(zhuǎn)運動角度的旋轉(zhuǎn)角度可以包含由于平移運動引入的虛擬角度分量。另一方面,來自傳感器的也被稱作基于傳感器的旋轉(zhuǎn)運動角度的旋轉(zhuǎn)角度表示在兩個相機視圖之間的裝置的實際旋轉(zhuǎn)。視差角度,也就是說通過平移運動引入的兩個視點之間的角度,可以通過比較基于視覺的旋轉(zhuǎn)運動角度與基于傳感器的旋轉(zhuǎn)運動角度來計算。隨后,可以使用視差角度計算平移運動。在某些方面,高于某一閾值的平移運動(通過視差角度指示)可用作從全景SLAM地圖繪制切換到6D0F SLAM地圖繪制的指不O
[0056]從全景SLAM地圖繪制切換到6D0FSLAM地圖繪制,其中平移運動是可供使用的,允許使全局SLAM圖豐富,方法是包含用于點特征的深度,否則的話將不具有與它們相關(guān)聯(lián)的此類深度信息。
[0057]圖2說明根據(jù)本發(fā)明的某些方面的不受限制的SLAM系統(tǒng)170的流程圖。在圖2中,標(biāo)記為202和204的框表示3D地圖。每個3D地圖可以被當(dāng)作包括多個全景和一般運動圖的容器處理。當(dāng)系統(tǒng)啟動時,使用一或多個初始化方法,第一 3D地圖得到初始化(框106),所述初始化方法例如(a)使用至少兩個關(guān)鍵幀(用戶執(zhí)行平移/一般相機運動)的立體初始化,(b)檢測已知的追蹤目標(biāo)或任何其它合適的方法。
[0058]隨后,取決于通過用戶執(zhí)行的相機運動可以執(zhí)行不同地圖繪制模式:在一般相機運動的階段期間通過6D0F SLAM模塊173執(zhí)行總體6D0F地圖繪制210,并且在純旋轉(zhuǎn)相機運動的階段期間通過全景SLAM模塊175執(zhí)行3D0F地圖繪制112。對應(yīng)地,地圖繪制引擎可以:
[0059 ] a.當(dāng)檢測到純旋轉(zhuǎn)運動時(使用基于視覺的方法)從6D0F地圖繪制210過渡到3D0F地圖繪制212;以及
[0060]b.當(dāng)檢測到一般運動時(使用基于視覺的方法)從3D0F地圖繪制212過渡到6D0F地圖繪制210并且相機朝向已知的圖區(qū)域移動(已經(jīng)以3D繪制的場景的部分)。
[0061]在某些實例中,當(dāng)檢測到一般運動時(使用視覺和運動傳感器)地圖繪制模塊180從3D0F地圖繪制212過渡到3D地圖初始化208并且相機朝向未知的圖區(qū)域(未以3D繪制的場景的部分)移動。下文中進一步詳細描述了從3D0F地圖繪制212到3D地圖初始化208的過渡。
[0062]類似于先前相對于框206、210和212描述的過程,對于未知的圖區(qū)域3D可以執(zhí)行圖初始化208和(6D0F和3D0F)地圖繪制。對新3D地圖204進行初始化并且地圖繪制模塊180可以執(zhí)行用于一般運動的6D0F地圖繪制214和用于純旋轉(zhuǎn)運動的3D0F地圖繪制216,且二者之間的過渡隨著過渡的進行在已知的圖區(qū)域內(nèi)。
[0063]圖3說明在時間t處包含有限3D特征306的全局SLAM圖表示。有限特征可以通過6D0F SLAM模塊173檢測且存儲為3D地圖的一部分???02和304表示隨時間推移與相機的不同位置和定向相關(guān)聯(lián)的關(guān)鍵幀。虛線框302表示在過去的時間t-Ι處出現(xiàn)的關(guān)鍵幀,而實線框304表示在時間t處的當(dāng)前幀。圖3說明用于一般相機運動的6D0F地圖繪制,而相機姿態(tài)完全限制在6D0F地圖繪制內(nèi)。在對場景的新的部分成像的同時當(dāng)6D0F關(guān)鍵幀產(chǎn)生足夠視差到現(xiàn)有關(guān)鍵幀時選擇6D0F關(guān)鍵幀。足夠視差是6D0F地圖繪制110的穩(wěn)固特征三角測量所希望的。在一個實施例中,當(dāng)將6D0F關(guān)鍵幀插入到3D地圖中時,添加新的有限圖特征。
[0064]圖4說明根據(jù)本發(fā)明的某些方面在時間t+Ι處包含有限3D特征306和無限特征410的全局SLAM圖表不的部分。
[0065]框302、304和408表示隨時間推移與相機的不同位置和定向相關(guān)聯(lián)的關(guān)鍵幀。虛線框302和304表示在過去的時間t-Ι和t處出現(xiàn)的關(guān)鍵幀,而實線框408表示在時間t+Ι處的當(dāng)前幀。當(dāng)系統(tǒng)檢測到純旋轉(zhuǎn)相機運動時,選擇構(gòu)成新全景圖且界定其旋轉(zhuǎn)中心的參考全景關(guān)鍵幀408。應(yīng)注意參考全景關(guān)鍵幀408具有6D0F姿態(tài)且因此相對于3D地圖是完全局部的。純旋轉(zhuǎn)相機運動可以基于追蹤6D0F姿態(tài)的歷史檢測。舉例來說,如果當(dāng)前幀相對于包含于6D0F幀歷史中的幀示出了低視差和足夠的角度差異,那么可以假定純旋轉(zhuǎn)。在某些實施方案中,作為插入?yún)⒖既瓣P(guān)鍵幀的一部分,可將一或多個新無限圖特征插入在圖中。
[0066]圖5說明根據(jù)本發(fā)明的某些方面在時間t+2處包含有限3D特征306和無限特征410的全局SLAM圖表示的部分???02、304、408和512表示隨時間推移與相機的不同位置和定向相關(guān)聯(lián)的關(guān)鍵幀。虛線框302、304和408表示在過去的時間t-l、t和t+Ι處出現(xiàn)的關(guān)鍵幀,而實線框表示在時間t+2處的當(dāng)前幀512。
[0067]在執(zhí)行連續(xù)純旋轉(zhuǎn)相機運動時,全景模塊175繼續(xù)基于低覆蓋率和足夠的旋轉(zhuǎn)選擇依賴性全景關(guān)鍵幀512。低覆蓋率指示相機繼續(xù)探索未被進行地圖繪制的場景區(qū)域。旋轉(zhuǎn)可以計算為當(dāng)前幀的觀察方向與當(dāng)前全景圖的關(guān)鍵幀姿態(tài)之間的差異角度。這些關(guān)鍵幀被稱作依賴性關(guān)鍵幀,因為它們采用來自參考全景關(guān)鍵幀的其3D位置。在某些實施方案中,作為插入全景關(guān)鍵幀的一部分,可將一或多個新無限圖特征插入在3D地圖中。
[0068]圖6說明根據(jù)本發(fā)明的某些方面在時間t+3處包含有限3D特征306和無限特征410的全局SLAM圖表不的部分。虛線框302、304和其它未標(biāo)號的框表不在過去的時間t_l、t、t+l和t+2處出現(xiàn)的關(guān)鍵幀,而實線框表示在時間t+3處的當(dāng)前幀614。如圖6中所示,如果相機從全景中心移開并且回到已經(jīng)已知的3D地圖區(qū)域使得可以估計完整的6D0F姿態(tài),那么系統(tǒng)針對已經(jīng)初始的3D地圖202(如參考圖2所描述)從3D0F地圖繪制212切換到6D0F地圖繪制210。
[0069]圖7說明根據(jù)本發(fā)明的某些方面在時間t+4處包含有限3D特征306和無限特征410的全局SLAM圖表示的部分。虛線框302、304和716表示在過去的時間t-l、t、t+l、t+2和t+3處出現(xiàn)的關(guān)鍵幀,而實線框718表示在時間t+4處的當(dāng)前幀。當(dāng)相機裝置遠離全景中心朝向未知的場景區(qū)域平移時,一旦發(fā)現(xiàn)兩個關(guān)鍵幀提供足夠的視差,則初始化新3D地圖(框208)。
[0070]在某些實施例中,裝置的相機平移通過比較針對參考關(guān)鍵幀716(例如,全景圖的參考關(guān)鍵幀)與當(dāng)前幀718之間的運動的從視覺和慣性/磁傳感器中獨立地且同時地估計的兩個3D0F旋轉(zhuǎn)來確定。視覺旋轉(zhuǎn)(也稱為3D0F姿態(tài))是從全景圖的無限特征中估計的。因為全景圖追蹤并不允許測量平移,所以所得旋轉(zhuǎn)估計包含虛擬旋轉(zhuǎn)。從運動傳感器中估計的傳感器3D0F旋轉(zhuǎn)表示關(guān)鍵幀(716和718)之間的裝置的真實(或接近真實)旋轉(zhuǎn)。基于傳感器的旋轉(zhuǎn)運動角度可以使用定制傳感器融合框架計算或可以使用通過現(xiàn)代移動OS平臺提供的API呼叫檢索。
[0071]根據(jù)本發(fā)明的各方面,并不從一或多個傳感器中直接地估計平移,而是實際上確定旋轉(zhuǎn)運動,且接著用于估計平移運動。通過不依賴于直接地衍生自一或多個傳感器的平移運動,本發(fā)明的方面避免了加速計偏移的眾所周知的問題。換句話說,從慣性/磁傳感器中估計3D0F旋轉(zhuǎn)與估計完整6D0F姿態(tài)相比更穩(wěn)固。
[0072]為了確定相機平移,地圖繪制模式切換模塊179可以檢測針對參考關(guān)鍵幀716與當(dāng)前幀718之間的旋轉(zhuǎn)的視覺和傳感器3D0F旋轉(zhuǎn)估計之間的差異。如使用實驗所確定的,所得差異旋轉(zhuǎn)角度大致對應(yīng)于用于視覺旋轉(zhuǎn)的估計的圖像特征的平均視差角度。因此,地圖繪制模式切換模塊179可以確定方便的且可配置的閾值視差角度偏移以觸發(fā)從3D0F全景到6D0F—般地圖繪制和追蹤的過渡。閾值可以確保在隨后的圖初始化步驟中的穩(wěn)固的特征三角測量。
[0073 ] 在圖8中,在時間t+5處,新的3D地圖可以得到初始化,如先前相對于框208所描述。一旦已經(jīng)觸發(fā)過渡,則從不同視圖中創(chuàng)建允許用于6D0F中的相機裝置的連續(xù)追蹤的新3D地圖。新3D地圖通過從2D觀察中三角測量有限3D特征而從一對關(guān)鍵幀(例如,用于旋轉(zhuǎn)比較的參考幀和當(dāng)前幀)中初始化。為此任務(wù),可以使用任何立體初始化方法(例如寬基線匹配結(jié)合5點算法)。應(yīng)注意“新”3D地圖(鋸齒)720和“舊”3D地圖(鋸齒)306可以是不連接的。兩個圖之間的空間變換可以僅部分地已知的,例如,兩個3D地圖中的每一個可具有不同標(biāo)尺。新3D地圖720被添加到全局SLAM圖并且設(shè)置為“激活的”。如通過框822所顯示,額外的一般運動可以用于通過有限3D特征進一步優(yōu)化新3D地圖720。
[0074]圖9是說明根據(jù)本發(fā)明的某些方面的實例平移SLAM模塊的方面的框圖。地圖繪制模式切換模塊179可以包含基于視覺的旋轉(zhuǎn)運動確定器模塊902、基于傳感器的旋轉(zhuǎn)角度確定器模塊904、視差角度確定器模塊906、平移運動確定器模塊908、SLAM切換模塊910和深度確定模塊912。地圖繪制模式切換模塊179的組件可以耦合到圖像處理模塊171、運動傳感器模塊111、3D0F SLAM模塊175和6D0F SLAM模塊173。圖9中所描述的模塊可以基于軟件165和固件163中的指令使用圖1中所描述的組件組合和/或?qū)嵤?,例如,處理?61和/或硬件162。在某些實施例中,軟件165或固件163指令可以存儲在非暫時性計算機可讀媒體上。
[0075]在某些實施方案中,在僅旋轉(zhuǎn)模式中操作時,圖像處理模塊171可以從相機114中采集若干圖像或關(guān)鍵幀以用于進一步處理。圖1的追蹤模塊181可以使用關(guān)鍵幀針對全景圖追蹤裝置。另外,地圖繪制模塊180可以檢測額外的無限特征并且將這些特征插入到3D地圖中。
[0076]基于視覺的旋轉(zhuǎn)運動確定器902可以從圖像處理模塊171接收關(guān)鍵幀并且使用圖像處理技術(shù)針對在兩個關(guān)鍵幀之間裝置所經(jīng)歷的旋轉(zhuǎn)確定基于視覺的旋轉(zhuǎn)運動角度。由于裝置所經(jīng)歷的平移運動,被稱作虛擬角度的額外的旋轉(zhuǎn)角度分量可以編碼為基于視覺的旋轉(zhuǎn)運動角度的一部分。本質(zhì)上,在全景模式時SLAM系統(tǒng)期望僅旋轉(zhuǎn)運動并且假定裝置經(jīng)歷僅旋轉(zhuǎn)運動來計算基于視覺的旋轉(zhuǎn)運動角度。因此,任何平移運動錯誤地編碼為基于視覺旋轉(zhuǎn)運動的一部分。在某些實例中,平移運動可以由于在全景SLAM模式中在用戶的一部分上的無意的水平移動。
[0077]同時,基于傳感器的旋轉(zhuǎn)運動確定器904可以在計算基于視覺的旋轉(zhuǎn)運動角度的相同周期中確定基于傳感器的旋轉(zhuǎn)運動角度。舉例來說,如果基于視覺的旋轉(zhuǎn)運動角度是針對關(guān)鍵幀對(包括參考關(guān)鍵幀和當(dāng)前關(guān)鍵幀)計算的,那么在采集參考關(guān)鍵幀和當(dāng)前關(guān)鍵幀的時間處基于傳感器的旋轉(zhuǎn)運動角度也是使用傳感器讀數(shù)計算的。基于傳感器的旋轉(zhuǎn)運動角度表示關(guān)鍵幀之間的裝置的實際(或接近實際)旋轉(zhuǎn)角度。
[0078]視差角度確定器模塊906通過比較基于傳感器的旋轉(zhuǎn)運動角度與基于視覺的旋轉(zhuǎn)運動角度確定視差角度。視差角度,也就是說通過平移運動引入的在兩個視點之間的角度,也表示基線和場景深度之間的差異。在某些實施例中,視差角度是針對閾值角度比較的。如果視差角度低于或等于閾值,那么視差角度可以忽略為噪聲。
[0079]如果視差角度高于閾值,那么平移運動被確定為平移運動確定器模塊908的一部分。平移運動確定器模塊908使用視差角度確定平移運動。一旦確定平移運動,則深度確定器模塊912可以確定相對于裝置的一或多個特征的深度,方法是使用平移運動三角計算一或多個特征與裝置的距離。SLAM切換模塊910可以將地圖繪制模塊180從全景SLAM模塊17 5切換到6D0F SLAM模塊173。在某些實例中,當(dāng)相機移動到激活的3D地圖區(qū)域外部的新區(qū)域時,新3D地圖也可以在切換到6D0F SLAM 173之前初始化。
[0080]圖10說明用于執(zhí)行根據(jù)本發(fā)明的一或多個方面的方法的流程圖。根據(jù)一或多個方面,在圖10中說明的流程圖1000中描述的方法和/或方法步驟中的任一者和/或全部可通過裝置100和/或在裝置100中實施,圖1中更詳細地描述所述裝置的組件。在一個實施例中,下文相對于圖10所描述的方法步驟中的一或多個通過移動裝置的處理器(例如處理器161或另一處理器)實施。另外或替代地,本文中所描述的方法和/或方法步驟中的任一個和/或全部可實施在計算機可讀指令中,例如存儲在計算機可讀媒體(例如存儲器164或另一計算機可讀媒體)上的計算機可讀指令。
[0081]在框1002處,裝置的組件確定多個關(guān)鍵幀之間的裝置的基于視覺的旋轉(zhuǎn)運動角度,其中基于視覺的旋轉(zhuǎn)運動角度通過在多個關(guān)鍵幀上執(zhí)行圖像處理來確定。
[0082]在框1004處,裝置的組件確定多個關(guān)鍵幀之間的裝置的基于傳感器的旋轉(zhuǎn)運動角度,其中基于傳感器的旋轉(zhuǎn)運動角度使用耦合到裝置的一或多個運動傳感器確定。所述一或多個傳感器可以包含構(gòu)建到裝置中的慣性(陀螺儀、加速計)、磁性(指南針)和/或視覺(相機)傳感器。
[0083]在框1006處,裝置的組件確定裝置的視差角度,其中視差角度通過比較基于視覺的旋轉(zhuǎn)運動角度與基于傳感器的旋轉(zhuǎn)運動角度來確定。在某些方面,基于視覺的旋轉(zhuǎn)運動角度和基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。
[0084]在框1008處,裝置的組件將視差角度與閾值進行比較。所述閾值可以是可配置的。
[0085]在框1010處,如果視差角度高于所述閾值,那么裝置的組件檢測平移運動。在某些實施方案中,如果視差角度等于或低于所述閾值,那么視差角度的改變可以被確定為是可忽略的。
[0086]在框1012處,裝置的組件使用視差角度確定平移運動。另外,一旦確定視差角度,則裝置的方面可以確定相對于裝置的一或多個特征,方法是使用至少平移運動三角計算距離裝置的一或多個特征的距離。
[0087]裝置的組件可以至少基于平移運動的檢測進一步初始化三維(3D)圖以用于追蹤在一般運動模式中的裝置。裝置的組件還可以切換到六個自由度(6D0F)SLAM地圖繪制。在一個方面中,初始化三維(3D)圖以用于追蹤裝置可以包括至少基于平移運動的檢測使用兩個關(guān)鍵幀的3D地圖的立體初始化。
[0088]應(yīng)了解,圖10中所說明的特定步驟提供根據(jù)本發(fā)明的方面在操作模式之間切換的特定方法。步驟的其它順序還可相應(yīng)地在替代實施例中執(zhí)行。舉例來說,替代實施方案可以不同順序執(zhí)行上文所概述的步驟。為了說明,用戶可以選擇從第三操作模式變?yōu)榈谝徊僮髂J剑蛟谄渲g的任何組合。此外,圖10中說明的個體步驟可以包含可以個體步驟適合的各種順序執(zhí)行的多個子步驟。此外,可取決于特定應(yīng)用而添加或移除額外步驟。所屬領(lǐng)域的一般技術(shù)人員將認識到和理解所述過程的多個變體、更改和替代方案。
【主權(quán)項】
1.一種用于在追蹤全景同時定位與地圖繪制SLAM模式中的裝置時檢測平移運動的方法,所述方法包括: 確定所述裝置的基于視覺的旋轉(zhuǎn)運動角度,其中所述基于視覺的旋轉(zhuǎn)運動角度通過在多個關(guān)鍵幀上執(zhí)行圖像處理確定; 在所述多個關(guān)鍵幀之間確定所述裝置的基于傳感器的旋轉(zhuǎn)運動角度,其中所述基于傳感器的旋轉(zhuǎn)運動角度是使用耦合到所述裝置的一或多個運動傳感器確定的; 確定所述裝置的視差角度,其中所述視差角度通過比較所述基于視覺的旋轉(zhuǎn)運動角度與所述基于傳感器的旋轉(zhuǎn)運動角度確定; 將所述視差角度與閾值進行比較;以及 基于所述視差角度高于所述閾值檢測所述平移運動。2.根據(jù)權(quán)利要求1所述的方法,其進一步包括在所述多個關(guān)鍵幀之間使用至少所述視差角度確定所述平移運動。3.根據(jù)權(quán)利要求2所述的方法,其進一步包括確定相對于所述裝置的一或多個特征的深度信息,方法是使用至少所述平移運動三角計算所述一或多個特征與所述裝置的距離。4.根據(jù)權(quán)利要求1所述的方法,其進一步包括至少基于所述平移運動的檢測初始化三維3D地圖以用于追蹤在所述一般運動模式中的所述裝置。5.根據(jù)權(quán)利要求1所述的方法,其進一步包括基于檢測平移運動切換到六個自由度6D0F SLAM地圖繪制。6.根據(jù)權(quán)利要求1所述的方法,其進一步包括至少基于所述平移運動的檢測使用兩個關(guān)鍵幀初始化三維3D地圖以用于使用所述3D地圖的立體初始化追蹤所述裝置。7.根據(jù)權(quán)利要求1所述的方法,其中所述基于視覺的旋轉(zhuǎn)運動角度和所述基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。8.根據(jù)權(quán)利要求1所述的方法,其中所述運動傳感器包含陀螺儀、加速計或磁力計中的一或多個。9.一種用于在追蹤全景同時定位與地圖繪制SLAM模式中的裝置時檢測平移運動的裝置,所述裝置包括: 存儲器; 相機,其耦合到所述裝置以用于獲得關(guān)于所述物理場景的信息;以及 處理器,其耦合到所述存儲器且經(jīng)配置以: 確定所述裝置的基于視覺的旋轉(zhuǎn)運動角度,其中所述基于視覺的旋轉(zhuǎn)運動角度通過在多個關(guān)鍵幀上執(zhí)行圖像處理確定; 在所述多個關(guān)鍵幀之間確定所述裝置的基于傳感器的旋轉(zhuǎn)運動角度,其中所述基于傳感器的旋轉(zhuǎn)運動角度是使用耦合到所述裝置的一或多個運動傳感器確定的; 確定所述裝置的視差角度,其中所述視差角度通過比較所述基于視覺的旋轉(zhuǎn)運動角度與所述基于傳感器的旋轉(zhuǎn)運動角度確定; 將所述視差角度與閾值進行比較;以及 基于所述視差角度高于所述閾值檢測所述平移運動。10.根據(jù)權(quán)利要求11所述的裝置,其進一步包括所述處理器經(jīng)配置以在所述多個關(guān)鍵幀之間使用至少所述視差角度確定所述平移運動。11.根據(jù)權(quán)利要求10所述的裝置,其進一步包括所述處理器經(jīng)配置以確定相對于所述裝置的一或多個特征的深度信息,方法是使用至少所述平移運動三角計算一或多個特征與所述裝置的距離。12.根據(jù)權(quán)利要求9所述的裝置,其進一步包括所述處理器至少基于所述平移運動的檢測初始化三維3D地圖以用于追蹤在所述一般運動模式中的所述裝置。13.根據(jù)權(quán)利要求9所述的裝置,其進一步包括所述處理器切換到六個自由度6DOFSLAM地圖繪制。14.根據(jù)權(quán)利要求9所述的裝置,其進一步包括所述處理器至少基于所述平移運動的檢測使用兩個關(guān)鍵幀初始化三維3D地圖以用于使用所述3D地圖的立體初始化追蹤所述裝置。15.根據(jù)權(quán)利要求9所述的裝置,其進一步包括所述處理器至少基于所述平移運動的檢測初始化三維3D地圖以通過使用已知的追蹤目標(biāo)追蹤所述裝置。16.根據(jù)權(quán)利要求9所述的裝置,其中所述基于視覺的旋轉(zhuǎn)運動角度和所述基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。17.根據(jù)權(quán)利要求9所述的裝置,其中所述運動傳感器包含陀螺儀、加速計或磁力計中的一或多個。18.—種非暫時性計算機可讀儲存媒體,其中所述非暫時性計算機可讀儲存媒體包括可由處理器執(zhí)行的指令以用于執(zhí)行同時定位與地圖繪制SLAM,所述指令包括進行以下項的指令: 確定所述裝置的基于視覺的旋轉(zhuǎn)運動角度,其中所述基于視覺的旋轉(zhuǎn)運動角度通過在多個關(guān)鍵幀上執(zhí)行圖像處理確定; 在所述多個關(guān)鍵幀之間確定所述裝置的基于傳感器的旋轉(zhuǎn)運動角度,其中所述基于傳感器的旋轉(zhuǎn)運動角度是使用耦合到所述裝置的一或多個運動傳感器確定的; 確定所述裝置的視差角度,其中所述視差角度通過比較所述基于視覺的旋轉(zhuǎn)運動角度與所述基于傳感器的旋轉(zhuǎn)運動角度確定; 將所述視差角度與閾值進行比較;以及 基于所述視差角度高于所述閾值檢測所述平移運動。19.根據(jù)權(quán)利要求18所述的非暫時性計算機可讀儲存媒體,其進一步包括在所述多個關(guān)鍵幀之間使用至少所述視差角度確定所述平移運動。20.根據(jù)權(quán)利要求19所述的非暫時性計算機可讀儲存媒體,其進一步包括所述處理器經(jīng)配置以確定相對于所述裝置的一或多個特征的深度信息,方法是使用至少所述平移運動三角計算所述一或多個特征與所述裝置的所述距離。21.根據(jù)權(quán)利要求18所述的非暫時性計算機可讀儲存媒體,其中所述基于視覺的旋轉(zhuǎn)運動角度和所述基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。22.根據(jù)權(quán)利要求18所述的非暫時性計算機可讀儲存媒體,其中所述運動傳感器包含陀螺儀、加速計或磁力計中的一或多個。23.一種設(shè)備,其包括: 用于確定所述裝置的基于視覺的旋轉(zhuǎn)運動角度的裝置,其中所述基于視覺的旋轉(zhuǎn)運動角度通過在多個關(guān)鍵幀上執(zhí)行圖像處理確定; 用于在所述多個關(guān)鍵幀之間確定所述裝置的基于傳感器的旋轉(zhuǎn)運動角度的裝置,其中所述基于傳感器的旋轉(zhuǎn)運動角度是使用耦合到所述裝置的一或多個運動傳感器確定的; 用于確定所述裝置的視差角度的裝置,其中所述視差角度通過比較所述基于視覺的旋轉(zhuǎn)運動角度與所述基于傳感器的旋轉(zhuǎn)運動角度確定; 用于將所述視差角度與閾值進行比較的裝置;以及 用于基于所述視差角度高于所述閾值檢測所述平移運動的裝置。24.根據(jù)權(quán)利要求23所述的設(shè)備,其進一步包括用于在所述多個關(guān)鍵幀之間使用至少所述視差角度確定所述平移運動的裝置。25.根據(jù)權(quán)利要求23所述的設(shè)備,其進一步包括確定相對于所述裝置的一或多個特征的深度信息,方法是使用至少所述平移運動三角計算所述一或多個特征與所述裝置的所述距離。26.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述基于視覺的旋轉(zhuǎn)運動角度和所述基于傳感器的旋轉(zhuǎn)運動角度是針對在第一時間處采集的參考關(guān)鍵幀與在第二時間處采集的當(dāng)前關(guān)鍵幀之間的運動檢測的。27.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述運動傳感器包含陀螺儀、加速計或磁力計中的一或多個。
【文檔編號】G06T7/00GK106062821SQ201580010148
【公開日】2016年10月26日
【申請日】2015年3月13日
【發(fā)明人】克里斯蒂安·皮爾基海姆, 克萊門斯·阿斯, 迪特爾·施馬爾施蒂格
【申請人】高通股份有限公司