Motivations:
用粗略模型(長方體或橢球體)表示的對象可能不夠精確,無法改善相機的位姿跟蹤。
目前SOTA目標檢測器對視角和光照變化具有很強的魯棒性,這對于從大量不同視角恢復相機姿態非常有利。
缺乏用于構建面向對象地圖的全自動系統,都有著一定的假設。
Contributions:
結合對象和點的優點,提出了一種改進的重定位方法,能夠從大量不同的視角中估計相機位姿。
提出了一種全自動的SLAM系統,能夠在飛行中識別、跟蹤和重建對象。
Background and Related Works:
1. 對象建圖
Crocco使用簡化相機模型,提出了一種封閉形式的公式來估計來自多視圖目標檢測的對偶二次曲面。Rubino將其拓展到針孔相機模型。Chen等人解決了前向移動中初始化對象估計問題。
2. 基于對象的定位
Weinzaepfel等人利用查詢圖像中出現的對象與參考圖像中出現的對象之間的稠密2D-3D對應關系來計算相機的位姿,但該方法僅限于平面對象。
一些工作使用了更通用的對象,用橢球表示。然而這些方法僅從對象估計相機姿態,并假設一個預構建的對象地圖。[11]只估計相機的位置,假設方向已知。[38]專注于3D感知橢圓對象檢測。
3. 基于對象的SLAM
Bao等人在定位和建圖中引入了對象,在一個SfM框架中識別和定位對象。McCormac等人和Sünderhauf等人將RGB-D SLAM和語義分割和對象檢測相融合,獲得具有語義注釋的稠密點云。
QuadricSLAM使用對偶二次曲面作為3D地標,共同估計相機位姿和對偶二次曲面參數。EAO-SLAM在半稠密的SLAM中集成對象,利用不同的統計信息來提高數據關聯的魯棒性。Hosseinzadeh將點、平面和二次曲面聯合為基于因子圖的SLAM。SO-SLAM中,Liao等人使用手工提取的平面為對象添加支撐約束,以及語義尺度先驗和對象約束。ROSHAN利用邊界框檢測、圖像紋理、語義知識和對象形狀先驗來推斷橢球模型,并解決前向平移車輛運動下的可觀察性問題。CubeSLAM使用長方體來表示對象,使用2D邊界框和消失點采樣從單圖中生成對象候選。Frost等人用球體建模對象,并使用它們解決SLAM中的尺度不確定和漂移問題。
4. 基于對象的SLAM重定位
只有Dudek等人利用SLAM中的語義地圖進行重定位。Mahattansin等人利用對象檢測改進了視覺SLAM的重定位,但對象檢測知識用來更好地篩選候選關鍵幀,相機位姿仍使用與最相似的關鍵幀的點匹配估計得到。
Methodology:
1. 橢球體對象表示
9DoF表示,3DoF表示軸長,3DoF表示方向,3DoF表示位置。其方程可以用對偶空間的封閉形式表示。橢球體定義為4×4矩陣Q*,橢圓定義為3×3矩陣C*。
2. 目標檢測與關聯
目標檢測器:YOLO (只考慮評分高于0.5的檢測)
2.1 基于box的對象追蹤
在重建之前,基于邊界框重疊和標簽一致性在2D幀中跟蹤對象在兩幀之間的運動相對較小和平滑時短期有效。
考慮3D重建來獲得長期的跟蹤,將其橢球模型投影到當前幀中,并利用該幀中與目標檢測的重疊來尋找關聯。
結合以上兩種情況,使用匈牙利算法找到最優關聯,該最大化匹配總分,以便在N次檢測和M個對象之間找到最佳的可能分配。
2.2 基于點的對象追蹤
在相機位姿估計過程中,將圖像關鍵點與地圖地標進行魯棒匹配,這些匹配可以用于鏈接檢測框和對象橢球:
1)在圖像中,如果一個關鍵點位于邊界框內,它就與一個檢測相鏈接
2)在地圖中,如果一個點地標位于橢球體內,則與該對象相鏈接
如果檢測和地圖對象之間至少存在τ個基于點的匹配,則關聯。
3. 初始對象重建
當通過相機中心的光線與對象檢測中心的光線之間的角度變化為10°以上時,創建其3D橢球的初始估計。為了盡快地獲得對象的3D估計,對象最初被重建為球體,然后隨著視角的增加,細化為橢球體的形式。
球體的位置是從邊界框的中心進行三角測量,半徑被確定為邊界框的平均大小。
其中,為在第i個相機坐標系中的對象中心z坐標,和為第i幀檢測框的寬度和高度,和為相機內參,n為對象被追蹤到的幀數。
然后將該球體細化為橢球體,更新其軸長和位姿,以最小化重投影誤差的形式進行改進。當經過足夠幀數(通常為40幀)重構和細化對象,3D IoU超過閾值時,將對象集成到地圖中。
4. 局部對象建圖
4.1 對象優化
與ORB-SLAM2的局部束調節類似,對象模型也會定期進行優化,每當一個新的關鍵幀觀察到地圖中存在的對象時,就會通過最小化重投影誤差來優化對象。
其中,為第j次檢測框的內切橢圓, 為第i個對象的對偶矩陣,為第j個關鍵幀的投影矩陣,為第j個關鍵幀的目標檢測評分,N為對象觀測數量。
4.2 對象合并
系統定期檢查重復的對象,如果它們的3D IoU超過0.2,并且一個橢球體的中心位于另一個橢球體的內部或者共享超過 個3D點,則合并這兩個對象。
對關鍵幀中的兩個對象跟蹤的檢測框進行組合,并初始化一個新的橢球。
5. 使用對象重定位
當重構地圖上的點與關鍵幀顯著不同時,基于BoW的方法經常失敗。因此采用基于對象的方法增強重定位,對視角改變更加魯棒。
由于PnP計算出的位姿比從對象對應關系中得到的位姿更準確,主要思想是引導點與從對象對應關系中計算出的姿態進行匹配。然后采用點對應關系使用PnP進行定位。
基于對象的方法:根據橢圓-橢球的類別建立了橢圓-橢球對,每次迭代至少選擇三對組合,在中心使用P3P算法計算相機位姿。對于P3P解出的四種解,橢球體被投影并且基于重疊關聯檢測,代價計算為每個關聯對的(1-IoU)之和,選擇四種解中代價最小的相機位姿。
然后將基于對象方法得到的位姿通過ORB-SLAM2的局部匹配步驟來識別關鍵點-地標對應關系,選擇最小代價且超過30個關鍵點-地標匹配的位姿,在點上進行優化。
Experiments:
1. 對象建圖
與EAO-SLAM的對比
2. 對象vs點
2.1 重定位
2.2 在束調整中集成對象
3. AR應用
3.1 重新初始化3D追蹤
3.2 SLAM恢復
1-4)在3D中跟蹤相機,并建立點和對象的地圖
5-6)由于相機的突然運動,跟蹤丟失了
7-9)當重構的場景再次可見時,重定位模塊從對象中估計相機姿態,建立點匹配,并使跟蹤和建圖繼續進行。
4. 按部分建模
相機重定位需要足夠數量的對象(3),當相機靠近時,可能只有一到兩個對象可見。解決方法:微調檢測器網絡,以檢測對象的可區分部分。
近距離情況下,雕像的部分(頭、肩膀和底部)被用于重新定位,當遠距離情況下,只使用完整的對象檢測。
Discussion and Future work:
考慮將基于對象的推理與靜態/動態識別相結合。
審核編輯 :李倩
-
檢測器
+關注
關注
1文章
879瀏覽量
48099 -
相機
+關注
關注
4文章
1405瀏覽量
54279 -
SLAM
+關注
關注
23文章
430瀏覽量
32140
原文標題:OA-SLAM:在視覺SLAM中利用對象進行相機重新定位
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
一種基于MASt3R的實時稠密SLAM系統

激光雷達在SLAM算法中的應用綜述

從算法角度看 SLAM(第 2 部分)

機器人高效導航定位背后SLAM專用芯片的崛起
深度解析深度學習下的語義SLAM

基于多攝像頭的高魯棒性視覺SLAM系統設計

評論