ORB-SLAM3雖是當(dāng)前最先進(jìn)的SLAM之一,但由于使用傳統(tǒng)的ORB(定向FAST和旋轉(zhuǎn)BRIEF)特征,在尺度、旋轉(zhuǎn)和光照發(fā)生顯著變化時(shí)可能會(huì)表現(xiàn)出局限性。為此,我們將基于深度學(xué)習(xí)的興趣點(diǎn)檢測(cè)和描述符SuperPoint集成到ORB-SLAM3框架中,以取代傳統(tǒng)的ORB特征。同時(shí),我們采用自適應(yīng)非極大值抑制(ANMS)來(lái)確保關(guān)鍵點(diǎn)在空間上的均勻分布。最后實(shí)驗(yàn)結(jié)果表明,在KITTI數(shù)據(jù)集上,定位精度有了顯著提高,六自由度姿態(tài)估計(jì)中的平均平移誤差從4.15%降低到0.34%,平均旋轉(zhuǎn)誤差從0.0027度/米降低到0.001度/米。與原始的ORB-SLAM3相比,在更具挑戰(zhàn)性的EuRoC數(shù)據(jù)集上,我們的系統(tǒng)在所有序列中都取得了顯著的改進(jìn),平移誤差從1.2%-1.6%降低到0.5%-0.9%,旋轉(zhuǎn)誤差從0.0035-0.0045度/米降低到0.0018-0.0028度/米。
? 文章:
SuperPoint-SLAM3: Augmenting ORB-SLAM3 with Deep Features, Adaptive NMS, and Learning-Based Loop Closure
? 作者:
Shahram Najam Syed, Ishir Roongta, Kavin Ravie, Gangadhar Nageswar*
? 論文鏈接:
https://arxiv.org/pdf/2506.13089
? 編譯:
INDEMIND
? 代碼:
https://github.com/shahram95/SuperPointSLAM3
01本文核心內(nèi)容
深度學(xué)習(xí)的不斷發(fā)展催生了更魯棒的特征檢測(cè)器和描述符。SuperPoint是一種自監(jiān)督卷積神經(jīng)網(wǎng)絡(luò),它能同時(shí)學(xué)習(xí)興趣點(diǎn)檢測(cè)和描述。它在重復(fù)性和匹配精度方面表現(xiàn)出了卓越的性能,尤其是在存在顯著幾何和光度變換的場(chǎng)景中。此外,在SLAM系統(tǒng)中關(guān)鍵點(diǎn)的空間分布至關(guān)重要。均勻分布可以增強(qiáng)特征跟蹤和姿態(tài)估計(jì)的穩(wěn)定性。自適應(yīng)非極大值抑制(ANMS)是一種通過(guò)根據(jù)局部特征強(qiáng)度自適應(yīng)調(diào)整抑制半徑來(lái)強(qiáng)制關(guān)鍵點(diǎn)選擇具有空間均勻性的有效方法。
在本工作中,我們提出將SuperPoint特征集成到ORB-SLAM3中,取代傳統(tǒng)的ORB特征,并引入ANMS來(lái)改善關(guān)鍵點(diǎn)的空間分布。我們?cè)贙ITTI數(shù)據(jù)集上評(píng)估了修改后的系統(tǒng),該數(shù)據(jù)集提供了具有真實(shí)姿態(tài)的具有挑戰(zhàn)性的戶外序列。實(shí)驗(yàn)表明,所提出的修改顯著提高了定位精度和魯棒性,驗(yàn)證了將基于深度學(xué)習(xí)的特征和空間關(guān)鍵點(diǎn)分布策略整合到SLAM流程中的實(shí)效性。
02方法
在本節(jié)中,我們將詳細(xì)介紹對(duì)ORB-SLAM3框架所做的修改,以集成SuperPoint特征和自適應(yīng)非極大值抑制(ANMS)。我們將討論算法上的變更、數(shù)據(jù)處理方面的結(jié)構(gòu)調(diào)整以及遇到的實(shí)現(xiàn)挑戰(zhàn)。我們的目標(biāo)是通過(guò)利用SuperPoint出色的特征檢測(cè)和描述能力來(lái)增強(qiáng)SLAM系統(tǒng)的穩(wěn)健性和準(zhǔn)確性,同時(shí)通過(guò)ANMS確保關(guān)鍵點(diǎn)的均勻空間分布。系統(tǒng)架構(gòu)的詳細(xì)實(shí)現(xiàn)情況可見圖1。
A.ORB-SLAM3概述
ORB-SLAM3是一種基于特征的實(shí)時(shí)視覺SLAM系統(tǒng),通過(guò)利用ORB(定向FAST和旋轉(zhuǎn)BRIEF)特征進(jìn)行關(guān)鍵點(diǎn)檢測(cè)和描述來(lái)運(yùn)行。該系統(tǒng)由三個(gè)主要線程構(gòu)成:
? 跟蹤線程:處理輸入幀,通過(guò)將當(dāng)前特征與局部地圖進(jìn)行匹配來(lái)估計(jì)相機(jī)位姿。
? 局部建圖線程:管理局部地圖的創(chuàng)建和優(yōu)化,包括關(guān)鍵幀插入和局部光束平差。
? 回環(huán)檢測(cè)線程:使用詞袋(BoW)地方識(shí)別系統(tǒng)檢測(cè)回環(huán),并執(zhí)行位姿圖優(yōu)化以糾正累積漂移。
盡管ORB特征計(jì)算效率高,但在具有挑戰(zhàn)性的視覺條件下,由于其對(duì)尺度、旋轉(zhuǎn)和光照變化的敏感性,可能會(huì)限制性能。
B.超點(diǎn)特征的集成
為增強(qiáng)特征的魯棒性,我們用SuperPoint替換了ORB特征提取和描述模塊,這是一種基于深度學(xué)習(xí)的方法,能提供更具判別力和不變性的關(guān)鍵點(diǎn)和描述符。
1)SuperPoint網(wǎng)絡(luò)集成:
? 模型選擇:我們使用了作者提供的預(yù)訓(xùn)練SuperPoint網(wǎng)絡(luò),該網(wǎng)絡(luò)在PyTorch中實(shí)現(xiàn),以利用GPU加速和熟悉度。
? 輸入處理:輸入圖像根據(jù)SuperPoint網(wǎng)絡(luò)的要求進(jìn)行調(diào)整和歸一化。圖像被轉(zhuǎn)換為灰度,因?yàn)镾uperPoint處理單通道輸入。
? 特征提取:SuperPoint網(wǎng)絡(luò)輸出一組關(guān)鍵點(diǎn)位置及其對(duì)應(yīng)的256維描述符。關(guān)鍵點(diǎn)通過(guò)檢測(cè)網(wǎng)絡(luò)生成的概率熱圖中的峰值來(lái)提取。
? 非極大值抑制:SuperPoint包含一個(gè)內(nèi)部非極大值抑制機(jī)制,用于優(yōu)化關(guān)鍵點(diǎn)檢測(cè)。
2)對(duì)ORB-SLAM3的修改:
? 跟蹤模塊調(diào)整:跟蹤線程的特征提取組件被修改為使用SuperPoint。關(guān)鍵點(diǎn)和描述符的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了調(diào)整以適應(yīng)SuperPoint的輸出。更新以處理浮點(diǎn)描述符,而非二進(jìn)制ORB描述符。
? 描述符匹配:由于SuperPoint描述符是高維浮點(diǎn)向量,我們將用于ORB描述符的漢明距離替換為歐幾里得距離(L2范數(shù))來(lái)進(jìn)行匹配。
? 數(shù)據(jù)結(jié)構(gòu):特征存儲(chǔ)和地圖點(diǎn)表示形式進(jìn)行了更新,以適應(yīng)更大的描述符大小。這包括更改序列化和內(nèi)存管理例程,以處理增加的數(shù)據(jù)量。
C.自適應(yīng)非極大值抑制(ANMS)的實(shí)現(xiàn)
為了確保關(guān)鍵點(diǎn)在空間上分布均勻,我們?cè)赟uperPoint初始關(guān)鍵點(diǎn)檢測(cè)之后實(shí)現(xiàn)了ANMS。
1)算法描述:
ANMS通過(guò)選擇不僅響應(yīng)強(qiáng)度高而且空間分布良好的關(guān)鍵點(diǎn)來(lái)工作。對(duì)于每個(gè)關(guān)鍵點(diǎn),根據(jù)其相對(duì)于相鄰關(guān)鍵點(diǎn)的響應(yīng)強(qiáng)度來(lái)計(jì)算抑制半徑。
設(shè)S={ki}為檢測(cè)到的關(guān)鍵點(diǎn)集,其中每個(gè)關(guān)鍵點(diǎn)ki具有位置(xi,yi)和響應(yīng)強(qiáng)度si。
? 抑制半徑計(jì)算:對(duì)于每個(gè)關(guān)鍵點(diǎn)ki,計(jì)算最小半徑ri,使得在半徑為ri的圓內(nèi)不存在其他響應(yīng)強(qiáng)度sj>si的關(guān)鍵點(diǎn)kj。數(shù)學(xué)表達(dá)式為:
? 關(guān)鍵點(diǎn)選擇:按照抑制半徑ri的降序?qū)﹃P(guān)鍵點(diǎn)進(jìn)行排序。選擇前N個(gè)關(guān)鍵點(diǎn)以兼顧強(qiáng)度和空間分布。
2)與SuperPoint的集成:
? 非極大值抑制的修改:我們調(diào)整了SuperPoint內(nèi)部的非極大值抑制,使其輸出一個(gè)更大的初始關(guān)鍵點(diǎn)集,以便ANMS進(jìn)行最終選擇。
? 參數(shù)調(diào)整:關(guān)鍵點(diǎn)數(shù)量N是基于經(jīng)驗(yàn)評(píng)估來(lái)設(shè)定的,以平衡特征豐富度和計(jì)算負(fù)載。我們發(fā)現(xiàn)對(duì)于KITTI數(shù)據(jù)集,N=1000是有效的。
? 實(shí)現(xiàn)細(xì)節(jié):ANMS通過(guò)使用kd樹等數(shù)據(jù)結(jié)構(gòu)高效實(shí)現(xiàn),用于最近鄰搜索以計(jì)算抑制半徑。
D.描述符匹配與數(shù)據(jù)關(guān)聯(lián)
1)描述符匹配算法:
? 匹配策略:我們采用了基于L2距離的暴力匹配器,并通過(guò)GPU加速進(jìn)行了優(yōu)化。
? 比率檢驗(yàn):應(yīng)用了Lowe的比率檢驗(yàn)來(lái)過(guò)濾模糊匹配。如果最近鄰與次近鄰的距離之比低于閾值(通常為0.7),則接受該匹配。
? 交叉驗(yàn)證:為了提高魯棒性,通過(guò)確保幀之間的相互最佳匹配來(lái)進(jìn)行交叉驗(yàn)證。
2)對(duì)系統(tǒng)組件的影響:
? 跟蹤線程:姿態(tài)估計(jì)依賴于當(dāng)前幀特征與地圖點(diǎn)之間的準(zhǔn)確匹配。改進(jìn)的描述符提高了匹配精度,從而獲得了更好的姿態(tài)估計(jì)。
? 局部建圖線程:創(chuàng)建新的地圖點(diǎn)和關(guān)鍵幀時(shí),對(duì)特征數(shù)量的增加及其分布進(jìn)行了調(diào)整。
E.兼容性問題處理
1)描述符維度:
? 描述符大小增加:SuperPoint描述符為256維,而ORB描述符為32字節(jié)。這增加了內(nèi)存使用量,并需要對(duì)數(shù)據(jù)存儲(chǔ)和傳輸進(jìn)行調(diào)整。
? 序列化:更新了地圖序列化例程以處理浮點(diǎn)描述符,確保地圖數(shù)據(jù)能夠正確保存和加載。
2)回環(huán)模塊:
? 與BoW詞匯表不兼容:ORB-SLAM3中的BoW地點(diǎn)識(shí)別系統(tǒng)是為二進(jìn)制描述符設(shè)計(jì)的,無(wú)法直接使用SuperPoint描述符。
? 臨時(shí)解決方案:在初始測(cè)試中禁用了回環(huán)功能。這使我們能夠?qū)W⒂谠u(píng)估SuperPoint特征對(duì)跟蹤和建圖的影響。
? 未來(lái)工作:我們計(jì)劃集成基于學(xué)習(xí)的地點(diǎn)識(shí)別系統(tǒng),例如NetVLAD,它可以處理高維描述符。
3)深度過(guò)濾:
? 實(shí)現(xiàn)細(xì)節(jié):丟棄了對(duì)應(yīng)于估計(jì)深度大于20米的地圖點(diǎn)的特征,以減少不可靠遠(yuǎn)距離特征的影響。
? 原因:由于立體相機(jī)的基線有限,遠(yuǎn)處的特征往往深度估計(jì)不夠準(zhǔn)確,對(duì)精確姿態(tài)估計(jì)的用處不大。
? 對(duì)地圖構(gòu)建的影響:這種過(guò)濾通過(guò)專注于具有更好幾何約束的較近特征,提高了系統(tǒng)的魯棒性。
F.計(jì)算方面的考慮
1)性能優(yōu)化:
? GPU加速:SuperPoint推理在GPU上執(zhí)行,與CPU執(zhí)行相比顯著減少了計(jì)算時(shí)間。
? 批量處理:我們通過(guò)在可能的情況下處理圖像批次來(lái)優(yōu)化數(shù)據(jù)處理,減少了每幀的開銷。
? 并行化:匹配和ANMS計(jì)算使用多線程進(jìn)行并行化,以利用多核CPU架構(gòu)。
2)實(shí)時(shí)操作:
? 性能分析:我們對(duì)系統(tǒng)進(jìn)行了性能分析以識(shí)別瓶頸。特征提取和匹配階段是計(jì)算最密集的。
? 優(yōu)化技術(shù):我們采用了高效的算法和數(shù)據(jù)結(jié)構(gòu),例如近似最近鄰搜索,以減少計(jì)算時(shí)間。
? 權(quán)衡:在計(jì)算負(fù)載和系統(tǒng)性能之間取得了平衡,調(diào)整了諸如關(guān)鍵點(diǎn)數(shù)量和匹配閾值等參數(shù)。
G.實(shí)現(xiàn)挑戰(zhàn)
1)內(nèi)存管理:
? 內(nèi)存使用增加:更大的描述符增加了地圖的內(nèi)存占用。我們優(yōu)化了內(nèi)存分配和釋放,以防止內(nèi)存泄漏并減少開銷。
? 垃圾回收:更積極地修剪未使用的地圖點(diǎn)和關(guān)鍵幀,以管理內(nèi)存消耗。
2)算法穩(wěn)定性:
? 收斂問題:初步實(shí)驗(yàn)表明,由于SuperPoint特征的不同特性,優(yōu)化例程存在不穩(wěn)定性。我們?cè)谑{(diào)整中調(diào)整了收斂標(biāo)準(zhǔn)和異常值拒絕閾值。
3)系統(tǒng)集成:
? 代碼庫(kù)復(fù)雜性:ORB-SLAM3是一個(gè)具有相互依賴模塊的復(fù)雜系統(tǒng)。確保一個(gè)組件的更改不會(huì)對(duì)其他組件產(chǎn)生不利影響需要仔細(xì)的測(cè)試和驗(yàn)證。
? 文檔和可維護(hù)性:我們?cè)敿?xì)記錄了代碼修改,以方便未來(lái)的開發(fā)和調(diào)試。
03實(shí)驗(yàn)
實(shí)驗(yàn)設(shè)置
1)數(shù)據(jù)集準(zhǔn)備:
? KITTI里程計(jì)數(shù)據(jù)集:我們使用了00到10序列,這些序列包含用于評(píng)估的真實(shí)位姿。
? EuRoC微型飛行器數(shù)據(jù)集:我們?cè)谒行蛄校◤腗H01easy到V203difficult)上進(jìn)行了評(píng)估,涵蓋了包括快速運(yùn)動(dòng)和光照不良在內(nèi)的各種具有挑戰(zhàn)性的場(chǎng)景。
? 數(shù)據(jù)轉(zhuǎn)換:圖像對(duì)被轉(zhuǎn)換為所需的格式,確保同步和正確的校準(zhǔn)參數(shù)。
2)評(píng)估指標(biāo):
? 絕對(duì)軌跡誤差(ATE):衡量估計(jì)軌跡與真實(shí)軌跡之間的差異。
? 相對(duì)位姿誤差(RPE):評(píng)估短段軌跡的局部精度。
? 誤差計(jì)算:使用KITTI基準(zhǔn)套件和EuRoC評(píng)估工具計(jì)算指標(biāo)。
實(shí)驗(yàn)流程:
? 基線比較:我們?cè)趦蓚€(gè)數(shù)據(jù)集上運(yùn)行原始的ORB-SLAM3以建立基線性能指標(biāo)。
? 改進(jìn)系統(tǒng)測(cè)試:在相同條件下測(cè)試帶和不帶ANMS的SuperPointSLAM。
? 重復(fù)實(shí)驗(yàn):每個(gè)實(shí)驗(yàn)均重復(fù)多次,以確保結(jié)果的一致性并考慮隨機(jī)變化。
定量結(jié)果
視覺軌跡對(duì)比
我們繪制了所有序列(00至10)的二維投影(XZ平面)和六維姿態(tài)軌跡。這些圖表展示了估計(jì)的軌跡與KITTI數(shù)據(jù)集提供的真實(shí)軌跡的重疊情況。
觀察結(jié)果
1)ORB-SLAM3:
? 在沒有回環(huán)的序列中表現(xiàn)出明顯的漂移。
? 隨著時(shí)間的推移,漂移逐漸累積,導(dǎo)致與真實(shí)軌跡出現(xiàn)顯著偏差。
2)SuperPointSLAM:
? 與ORB-SLAM3相比,漂移有所減少。
? 由于更穩(wěn)健的SuperPoint描述符,特征匹配效果更好。
3)SuperPointSLAM+ANMS:
? 進(jìn)一步減少了漂移,提高了軌跡估計(jì)的準(zhǔn)確性。
? 關(guān)鍵點(diǎn)的均勻分布增強(qiáng)了姿態(tài)估計(jì)的穩(wěn)定性。
D.有趣觀察及問題
1)無(wú)回環(huán)序列中的漂移:
? ORB-SLAM3在沒有回環(huán)機(jī)會(huì)的序列中存在明顯的漂移。
? 使用ANMS的SuperPointSLAM表現(xiàn)更佳,與真實(shí)軌跡的對(duì)齊度更高。
2)垂直軸和俯仰角抖動(dòng):
? 當(dāng)車輛經(jīng)過(guò)不平整路面時(shí),沿Y軸(垂直方向)和俯仰角會(huì)出現(xiàn)明顯的抖動(dòng)。地形因素,例如減速帶。
? 這種影響在ORB-SLAM3中更為明顯,而在SuperPointSLAM中使用ANMS則有所緩解。
3)錯(cuò)誤的回環(huán)閉合嘗試:
? 在使用ANMS的SuperPointSLAM中,我們觀察到系統(tǒng)會(huì)嘗試在距離初始位置約350米的地方閉合回環(huán),即使在沒有實(shí)際回環(huán)閉合的序列中也是如此。
? 這個(gè)問題的出現(xiàn)是因?yàn)锽oW回環(huán)閉合檢測(cè)機(jī)制與SuperPoint描述符不兼容,導(dǎo)致出現(xiàn)誤報(bào)。
? 回環(huán)閉合模塊需要進(jìn)行調(diào)整或替換,以與SuperPoint特征有效配合。
04總結(jié)
通過(guò)整合Super-Point特征和ANMS,已顯示出在定位精度和魯棒性方面的顯著提升。初步結(jié)果表明,基于深度學(xué)習(xí)的特征能夠增強(qiáng)傳統(tǒng)的SLAM系統(tǒng)。
-
SLAM
+關(guān)注
關(guān)注
24文章
441瀏覽量
32491 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25434 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5561瀏覽量
122775
原文標(biāo)題:增強(qiáng)版ORB-SLAM3!利用深度特征、自適應(yīng)非極大值抑制和學(xué)習(xí)回環(huán)檢測(cè),顯著提升精度和魯棒性!
文章出處:【微信號(hào):gh_c87a2bc99401,微信公眾號(hào):INDEMIND】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問用樹莓派運(yùn)行ORB-SLAM2算法可行嗎?
視覺SLAM特征點(diǎn)法與直接法對(duì)比分析
機(jī)器人SLAM實(shí)現(xiàn)
機(jī)器和深度學(xué)習(xí)增強(qiáng)SLAM技術(shù),有助于感知時(shí)代的到來(lái)
ORB SLAM中涉及的一些基礎(chǔ)概念
基于視覺傳感器的ORB-SLAM系統(tǒng)的學(xué)習(xí)
基于深度學(xué)習(xí)的視覺SLAM綜述
ORB-SLAM3與ORB-SLAM2相比有哪些優(yōu)勢(shì)呢?
ORB-SLAM3整體流程詳解

基于英特爾開發(fā)套件使用ORB-SLAM3實(shí)現(xiàn)無(wú)人機(jī)實(shí)時(shí)定位

視覺SLAM開源算法ORB-SLAM3原理與代碼解析

工程實(shí)踐中VINS與ORB-SLAM的優(yōu)劣分析

深度解析深度學(xué)習(xí)下的語(yǔ)義SLAM

評(píng)論