用于自動(dòng)駕駛的混合稀疏-稠密單目SLAM系統(tǒng)
0. 引言
隨著自動(dòng)駕駛系統(tǒng)的推廣,越來越多的應(yīng)用要求SLAM具備高動(dòng)態(tài)定位以及稠密建圖能力。在論文"A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving"中,作者提出了一種混合稀疏特征和稠密建圖的SLAM系統(tǒng),并利用UnRectDepthNet來進(jìn)行單目相機(jī)的深度估計(jì)。重要的是,算法已經(jīng)開源。
1. 論文信息
標(biāo)題:A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving
作者:Louis Gallagher, Varun Ravi Kumar, Senthil Yogamani, John B. McDonald
來源:2021 Computer Vision and Pattern Recognition (CVPR)
原文鏈接:https://arxiv.org/abs/2108.07736
代碼鏈接:https://github.com/robotvisionmu/DenseMonoSLAM
2. 摘要
在本文中,我們介紹了一個(gè)使用安裝在移動(dòng)車輛上的單目相機(jī),逐步重建室外環(huán)境幾何圖形的稠密3D模型的系統(tǒng)。稠密模型提供了豐富的環(huán)境表示,有助于更高層次的場景理解、感知和規(guī)劃。
我們的系統(tǒng)采用稠密深度預(yù)測和混合建圖架構(gòu),在一個(gè)集成框架內(nèi)結(jié)合了最先進(jìn)的基于稀疏特征和稠密融合的視覺SLAM算法。
我們的新貢獻(xiàn)包括混合稀疏-稠密相機(jī)跟蹤和回環(huán)的設(shè)計(jì),以及稠密深度預(yù)測中的尺度估計(jì)改進(jìn)。我們使用來自稀疏方法的運(yùn)動(dòng)估計(jì)來克服戶外車輛場景中典型的大且可變的幀間位移。然后,我們的系統(tǒng)使用整體圖像對(duì)齊將活躍圖像與稠密模型配準(zhǔn)。這使得能夠?qū)?shí)時(shí)幀和稠密深度預(yù)測融合到模型中。稀疏和稠密模型之間的全局一致性和對(duì)齊是通過直接在稠密模型的變形內(nèi)應(yīng)用來自稀疏方法的姿態(tài)約束來實(shí)現(xiàn)的。我們提供了軌跡估計(jì)和表面重建精度的定性和定量結(jié)果,展示了在KITTI數(shù)據(jù)集上的競爭性能。所提出方法的定性結(jié)果可在https://youtu.be/Pn2uaVqjskY查看。
3. 算法分析
如圖1所示是作者提出的混合SLAM框架原理,其采用一種混合的方法來進(jìn)行稠密的單目跟蹤和建圖。首先使用基于特征點(diǎn)法的ORB-SLAM3,為每一幀提供相機(jī)姿態(tài)的初始估計(jì)。然后,系統(tǒng)遵循稠密交替架構(gòu),擴(kuò)展了ElasticFusion。
其中地圖首先保持固定,同時(shí)使用上一步中的初始姿態(tài)估計(jì)值,對(duì)相機(jī)進(jìn)行跟蹤。一旦估計(jì)了相機(jī)姿態(tài),將當(dāng)前幀融合到地圖中。作者使用SOTA自監(jiān)督卷積神經(jīng)網(wǎng)絡(luò)UnRectDepthNet來稠密地預(yù)測深度估計(jì)。此外,各種子系統(tǒng)在不同的處理器上運(yùn)行:稠密交替和深度預(yù)測網(wǎng)絡(luò)使用GPU運(yùn)行,而ORB-SLAM3在CPU上運(yùn)行。作者提出的混合架構(gòu)總結(jié)如下:
(1) 深度預(yù)測網(wǎng)絡(luò)用于估計(jì)每一幀的度量深度圖。同時(shí),使用ORB-SLAM3的基于特征的跟蹤算法進(jìn)行相機(jī)運(yùn)動(dòng)的初始估計(jì),該跟蹤算法適合于車輛的快速運(yùn)動(dòng)。
(2) 通過將初始姿態(tài)估計(jì)與相機(jī)視野中的當(dāng)前活躍模型對(duì)準(zhǔn),進(jìn)一步細(xì)化初始姿態(tài)估計(jì)。
(3) 實(shí)時(shí)RGB圖像和相應(yīng)的預(yù)測度量深度圖被融合到場景的全局稠密模型中。按照原始EF算法,surfel模型被分成活躍和非活躍部分。
(4) 當(dāng)ORB-SLAM識(shí)別出一個(gè)閉環(huán)時(shí),使用EF變形圖中的結(jié)果環(huán)閉合約束來校正稠密表面的幾何形狀。這使得先前訪問的地圖的非活躍部分重新與當(dāng)前活躍部分對(duì)齊。重要的是,這也使ORB-SLAM和EF的不同地圖和相機(jī)軌跡保持一致。

圖1 混合SLAM框架概述
作者的主要貢獻(xiàn)總結(jié)如下:
(1) 開發(fā)了一個(gè)單目SLAM算法,可以應(yīng)用于室外環(huán)境中的移動(dòng)車輛。據(jù)作者所述,這是第一個(gè)在自動(dòng)駕駛場景中定量評(píng)估的完全稠密SLAM系統(tǒng)。
(2) 在混合架構(gòu)中使用了稠密的深度預(yù)測網(wǎng)絡(luò),以松耦合的方式結(jié)合了最先進(jìn)的基于稀疏特征跟蹤和稠密融合的視覺SLAM算法。同時(shí)改進(jìn)了以前的稠密深度預(yù)測方法,在SLAM應(yīng)用中增加新的正則化損失和更好的尺度估計(jì)。
(3) 使用來自稀疏方法的運(yùn)動(dòng)估計(jì)來克服戶外車輛場景中典型的大且可變的幀間位移,然后使用將實(shí)況圖像與稠密模型配準(zhǔn)對(duì)齊。稀疏和稠密模型之間的全局一致性和對(duì)齊是通過直接在稠密模型的變形內(nèi)應(yīng)用來自稀疏方法的姿態(tài)約束來實(shí)現(xiàn)的。
(4) 在KITTI基準(zhǔn)數(shù)據(jù)集上評(píng)估了該方法,提供了軌跡和表面重建精度的定性和定量結(jié)果。
3.1 尺度感知深度估計(jì)
基于UnRectDepthNet網(wǎng)絡(luò),作者為自監(jiān)督深度估計(jì)建立了相同的SFM框架。并采用針孔相機(jī)投影模型進(jìn)行視圖合成,最終目標(biāo)由光度項(xiàng)*L~p~和邊緣平滑正則項(xiàng)L~s~組成。采用了跨序列深度一致性損失L~dc~*和尺度恢復(fù)方法。
此外,通過結(jié)合自動(dòng)編碼器來獲得場景的魯棒全局特征,設(shè)置區(qū)別性損失*L~dis~以及收斂性損失L~cvt~。L~dis~和L~cvt~*的主要目標(biāo)是防止優(yōu)化目標(biāo)被困在諸如天空和道路等低紋理區(qū)域的幾個(gè)局部最小值。最終總目標(biāo)深度為:

此外,尺度模糊是單目深度估計(jì)中一個(gè)具有挑戰(zhàn)性的問題。因此,需要一個(gè)絕對(duì)值作為錨點(diǎn),即通過從另一個(gè)專用傳感器進(jìn)行的測量來提供,以獲得實(shí)際的深度估計(jì)。
在正文中,作者使用Velodyne點(diǎn)云和校準(zhǔn)信息的結(jié)合來改進(jìn)尺度的估計(jì)。并使用Velodyne激光雷達(dá)作為真值,通過將計(jì)算與圖像平面上的正確像素關(guān)聯(lián)來估計(jì)比例因子,進(jìn)而最小化損失。此外,作者假設(shè)訓(xùn)練和測試數(shù)據(jù)集之間的深度一致性,它可以對(duì)具有高姿態(tài)可變性的數(shù)據(jù)集提供幫助。
3.2 基于特征的ORB-SLAM3-RGBD跟蹤
ORB-SLAM3建立了場景的稀疏地圖,并使用共視圖來表示。共視圖中的每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)關(guān)鍵幀,其由一個(gè)位姿和一組3D點(diǎn)組成。當(dāng)兩個(gè)關(guān)鍵幀之間存在共視關(guān)系時(shí),它們之間的一條邊會(huì)添加到共視圖中。ORB-SLAM3有3個(gè)主線程。跟蹤線程從相機(jī)接收RGB-D幀,提取ORB特征,并利用前一幀通過僅定位BA計(jì)算初始姿態(tài)估計(jì)。
通過將當(dāng)前幀與可見關(guān)鍵幀的局部圖對(duì)齊,進(jìn)一步細(xì)化估計(jì)。檢測到新的關(guān)鍵幀并將其發(fā)送到建圖線程。此處,新關(guān)鍵幀附近的局部地圖通過全局BA進(jìn)行了優(yōu)化。回環(huán)檢測使用DBoW進(jìn)行,如果新關(guān)鍵幀和匹配關(guān)鍵幀之間的幾何對(duì)齊成功,則形成回環(huán),并將兩個(gè)關(guān)鍵幀之間的邊添加到圖形中。關(guān)鍵幀附近的局部地圖被嚴(yán)格地變換到適當(dāng)?shù)奈恢?。關(guān)鍵幀圖的其余部分使用姿勢圖優(yōu)化進(jìn)行校正。執(zhí)行最終的全局BA以恢復(fù)所有關(guān)鍵幀姿態(tài)和結(jié)構(gòu)的MAP估計(jì)。
3.3 混合相機(jī)跟蹤
在混合系統(tǒng)中,首先將RGB圖和預(yù)測得到的深度圖傳遞給ORB-SLAM,以計(jì)算相機(jī)位姿的初始估計(jì)。之后需要平衡位姿的準(zhǔn)確性,以及與稠密模型保持對(duì)齊,進(jìn)而準(zhǔn)確地融合關(guān)鍵幀。為了使相機(jī)重新與模型對(duì)齊,作者對(duì)位姿進(jìn)行了幀到模型的細(xì)化。
在位姿周圍的活躍地圖被渲染成一個(gè)位于該位姿處的虛擬相機(jī)。然后,在嵌入3級(jí)圖像金字塔的非線性最小二乘中,估計(jì)對(duì)準(zhǔn)實(shí)時(shí)幀到虛擬幀的6自由度齊次變換矩陣。用位姿合成變換可以為當(dāng)前幀產(chǎn)生一個(gè)精確的位姿估計(jì)。
3.4 混合回環(huán)
如圖3所示,混合回環(huán)有兩個(gè)目標(biāo):(1) 調(diào)整稠密表面的幾何形狀以與現(xiàn)實(shí)世界保持一致;(2) 保持稠密地圖與ORB-SLAM的稀疏建圖和相機(jī)姿態(tài)估計(jì)一致。它還平衡了對(duì)這種一致性的需要和修正稠密幾何的計(jì)算強(qiáng)度。

圖2 回環(huán)示例
(i) 一輛汽車開始探索(綠色箭頭);(ii) 在一段時(shí)間之后,由汽車先前繪制的區(qū)域與其當(dāng)前位置之間的回環(huán);
(iii) 在應(yīng)用回環(huán)之前,漂移明顯;(iv) 模型的活躍部分(綠色)偏離了模型的非活躍部分(灰色);(v) 地圖的活躍部分與非活躍部分對(duì)齊;(vi) 觸發(fā)回環(huán),重新激活用于建圖和跟蹤的部分;(vii) 最終的全局模型
4. 實(shí)驗(yàn)
作者主要在KITTI上進(jìn)行測試,主要評(píng)估了軌跡估計(jì)和表面重建的精度。系統(tǒng)運(yùn)行的硬件條件為i7?7700K CPU、16GB內(nèi)存和NVIDIA GTX 1080Ti GPU。
4.1 KITTI-跟蹤
作者展示了KITTI數(shù)據(jù)集中序列01、02、06、08、09和10的結(jié)果,其余序列用于深度預(yù)測網(wǎng)絡(luò)的訓(xùn)練。對(duì)于每個(gè)測試序列,使用長度從100米到800米的序列的相對(duì)平移誤差。表1顯示了實(shí)驗(yàn)方案和ORB-SLAM2以及D3VO的對(duì)比結(jié)果。
實(shí)驗(yàn)表明,使用稠密深度預(yù)測和ORB-SLAM(O)的RGBD模式,可以使用單目相機(jī)進(jìn)行精確的度量尺度的相機(jī)跟蹤。當(dāng)引入混合跟蹤(H),它允許當(dāng)前的幀被融合到模型中。引入混合回環(huán)(H+L)有助于使稀疏和稠密的模型恢復(fù)對(duì)齊,并減少模型和軌跡中的全局誤差。此外,由于結(jié)構(gòu)很少的場景會(huì)導(dǎo)致深度預(yù)測和相機(jī)跟蹤的退化,因此序列01是一個(gè)重要挑戰(zhàn),圖3顯示了這個(gè)序列的定性結(jié)果。
表1 KITTI數(shù)據(jù)集上的相對(duì)平移誤差


圖3 KITTI數(shù)據(jù)集01序列的定性結(jié)果
4.2 KITTI-表面重建
作者從KITTI數(shù)據(jù)集中評(píng)估了表面重建精度。由于KITTI不包括表面真值,作者將其與每個(gè)序列的Velodyne點(diǎn)云構(gòu)建的模型進(jìn)行比較。表2中顯示了估計(jì)模型中的點(diǎn)與Velodyne點(diǎn)云中的最近點(diǎn)之間的表面到表面的平均距離。在計(jì)算分?jǐn)?shù)之前,這兩個(gè)模型都是嚴(yán)格對(duì)齊的。
表2 KITTI數(shù)據(jù)集上的表面精度

4.3 系統(tǒng)資源使用
在圖4中,作者展示了KITTI數(shù)據(jù)集中序列09的幀處理時(shí)間的細(xì)分。建圖時(shí)間(藍(lán)色)根據(jù)surfel數(shù)量(紫色)增加。該系統(tǒng)運(yùn)行在8?9 Hz之間,序列末端的峰值是由于一個(gè)全局回環(huán)產(chǎn)生的。表3顯示了在KITTI特征分割測試集上的運(yùn)行性能的分布。

圖4 系統(tǒng)所花費(fèi)的時(shí)間的細(xì)分
表3 KITTI特征分割的測試序列上的分布

4.4 KITTI-深度估計(jì)
如表4所示,作者使用了KITTI特征分割上的深度估計(jì)設(shè)置。結(jié)果顯示,作者提出的方案優(yōu)于之前所有的單目自監(jiān)督方法。根據(jù)最佳實(shí)踐,作者將深度限制在80米,并使用改進(jìn)的深度圖真值進(jìn)行評(píng)估。如圖5所示是在KITTI數(shù)據(jù)集上的軌跡和稠密重建結(jié)果。
表4 對(duì)改進(jìn)的KITTI特征分割的深度估計(jì)的評(píng)估


圖5 KITTI數(shù)據(jù)集上的軌跡和稠密重建結(jié)果
(a) 作者提出系統(tǒng)產(chǎn)生的最終模型 (b)與軌跡真值的對(duì)比 (c)車輛十字路口時(shí)重建的近距離圖
5. 結(jié)論
在2021 CVPR論文"A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving"中,作者提出了一種將稠密深度預(yù)測、稀疏特征跟蹤和稠密疊加融合技術(shù)相結(jié)合的混合SLAM系統(tǒng)。該系統(tǒng)允許在自動(dòng)駕駛場景中使用單目相機(jī)對(duì)室外場景進(jìn)行實(shí)時(shí)稠密的度量重建。稀疏跟蹤提供了相機(jī)姿態(tài)估計(jì),能夠在車輛速度下魯棒地運(yùn)行。所得到的姿態(tài)用于稠密融合跟蹤步驟中,以初始化整個(gè)圖像對(duì)齊細(xì)化過程。
通過視覺位置識(shí)別和稀疏系統(tǒng)的姿態(tài)約束來保持模型的全局一致性,并將其傳遞到稠密融合算法,與基于變形圖的地圖校正步驟集成。該系統(tǒng)是第一個(gè)基于稠密單目融合的視覺SLAM系統(tǒng)。此外,作者提到,雖然該文章的重點(diǎn)是自動(dòng)駕駛,但通過對(duì)深度預(yù)測網(wǎng)絡(luò)的再訓(xùn)練,該系統(tǒng)可以很容易地適應(yīng)其他場景。

