DynaSLAM:動態(tài)場景中的跟蹤慧妄、建圖和修復(fù)
DynaSLAM: Tracking, Mapping and Inpainting in Dynamic Scenes
摘要
場景剛性的假設(shè)在 SLAM 算法中很典型胸嘴。這種強有力的假設(shè)限制了大多數(shù)視覺 SLAM 系統(tǒng)在人口稠密的現(xiàn)實世界環(huán)境中的使用妒蔚,而這些環(huán)境是服務(wù)機器人或自主車輛等相關(guān)應(yīng)用的目標(biāo)仅孩。
在本文中唱蒸,我們提出了 DynaSLAM,一個基于 ORB-SLAM2 [1] 的視覺 SLAM 系統(tǒng)例获,它增加了動態(tài)目標(biāo)檢測和背景修復(fù)的能力。DynaSLAM 在單目曹仗、立體和 RGB-D 配置的動態(tài)場景中非常強大榨汤。我們能夠通過多視圖幾何、深度學(xué)習(xí)或兩者來檢測運動物體怎茫。擁有一個靜態(tài)的場景地圖收壕,可以繪制被動態(tài)對象遮擋的框架背景。
我們在公共單目遭居、立體和RGB-D數(shù)據(jù)集中對我們的系統(tǒng)進行了評估啼器。我們研究了幾種精度/速度權(quán)衡的影響,以評估所提議的方法的局限性俱萍。在高度動態(tài)的場景中端壳,Dy naSLAM的精度優(yōu)于標(biāo)準(zhǔn)的視覺SLAM基線。它還估計了場景靜態(tài)部分的地圖枪蘑,這對于在現(xiàn)實環(huán)境中的長期應(yīng)用來說是必須的损谦。
I.Introduction
在visual SLAM中檢測和處理動態(tài)對象有下面這些問題:
- 如何在圖像中檢測到這樣的動態(tài)對象岖免。
- 防止跟蹤算法使用屬于動態(tài)對象部分進行匹配。
- 防止映射算法將移動對象作為3D地圖的一部分照捡。
- 如何完成三維地圖中被運動物體暫時遮擋的部分颅湘。
在本文中,本文提出了一種在線算法來處理RGB-D栗精、雙目和單目SLAM中的動態(tài)對象闯参。這是通過在ORB-SLAM2系統(tǒng)添加一個前端來實現(xiàn)的,其目的是獲得更精確的跟蹤和場景的可重用映射悲立。
- 在單目和雙目的情況下鹿寨,使用CNN對幀內(nèi)的先驗動態(tài)對象(如人和車)進行像素級分割,這樣SLAM算法就不會提取這些對象的特征薪夕。
- 在RGB-D的情況下脚草,結(jié)合多視圖幾何模型和基于深度學(xué)習(xí)的算法來檢測動態(tài)對象,在將它們從圖像中移除后原献,用場景的正確信息來繪制遮擋的背景(如圖1)
II.相關(guān)工作
目前的可應(yīng)用于動態(tài)環(huán)境中的SLAM方法大多無法應(yīng)對下面兩種情況:
- 當(dāng)一個先驗的動態(tài)對象保持靜態(tài)時馏慨,例如,停放的汽車或坐著的人
- 靜態(tài)對象產(chǎn)生的變化姑隅,比如一個人推的椅子
III.系統(tǒng)描述
-
系統(tǒng)概況如圖2展示写隶。
圖2 - 首先,對于RGB-D相機而言讲仰,將RGB-D數(shù)據(jù)傳入到CNN網(wǎng)絡(luò)中對有先驗動態(tài)性質(zhì)的物體如行人和車輛進行逐像素的分割樟澜。
- RGB-D情況:
- 使用多視圖幾何以兩種方式改進動態(tài)內(nèi)容分割。1. 細化/改善(refine)了先前由CNN獲得的動態(tài)對象分割叮盘。2.其次,將動態(tài)的新對象實例標(biāo)記為大多數(shù)時間是靜態(tài)的(即霹俺,檢測在CNN階段沒有設(shè)置為可移動的移動對象)柔吼。可以理解為將在大多數(shù)時間中保持靜止的丙唧、新出現(xiàn)的動態(tài)對象進行標(biāo)注愈魏。
- 然后是估計相機,在低成本跟蹤模塊中在已經(jīng)創(chuàng)建的場景地圖中定位相機想际。這些分割后的幀是用于獲得相機軌跡和場景地圖的幀培漏。請注意,如果場景中的移動對象不在CNN類中胡本,則多視圖幾何階段仍會檢測到動態(tài)內(nèi)容牌柄,但準(zhǔn)確性可能會降低。
- 完成了相機的完整動態(tài)對象檢測和定位后侧甫,我們的目標(biāo)是利用來自先前視圖的靜態(tài)信息重建當(dāng)前幀的被遮擋背景珊佣。這些合成幀適用于增強和虛擬現(xiàn)實等應(yīng)用蹋宦,以及長時間建圖中的位置識別
- 單目和雙目情況:
- 直接將圖像傳入CNN中進行分割,將具有先驗動態(tài)信息的物體分割出去咒锻,僅使用剩下的圖像進行跟蹤和建圖處理冷冗。
A.使用CNN對潛在動態(tài)內(nèi)容進行分段
- 使用獲得圖像的逐像素語義分段的CNN。在我們的實驗中惑艇,這里使用Mask R-CNN 蒿辙,可以獲得逐像素語義分割和實例標(biāo)簽。
- Mask R-CNN的輸入是RGB原始圖像滨巴。目的是劃分那些潛在動態(tài)或可移動的類(人思灌,自行車,汽車兢卵,摩托車习瑰,飛機,公共汽車秽荤,火車甜奄,卡車,船窃款,鳥课兄,貓,狗晨继,馬烟阐,羊,牛紊扬,大象蜒茄,熊,斑馬和長頸鹿)餐屎。對于大多數(shù)環(huán)境檀葛,可能出現(xiàn)的動態(tài)對象都包含在此列表中。如果需要其他類別腹缩,可以使用新的訓(xùn)練數(shù)據(jù)在MS COCO上訓(xùn)練網(wǎng)絡(luò)屿聋。
- 假設(shè)輸入是大小為
的RGB圖像,網(wǎng)絡(luò)的輸出是大小為
的矩陣藏鹊,其中
是圖像中的對象(類別)數(shù)润讥,再將
層分類圖像合并成一幅圖像。
B. 低成本跟蹤
- 在潛在的動態(tài)內(nèi)容被分割后盘寡,使用圖像的靜態(tài)部分來跟蹤相機的姿態(tài)楚殿。由于線段等高線往往成為高梯度區(qū)域,容易出現(xiàn)突出的點特征宴抚,不考慮這些等高線區(qū)域的特征勒魔。
- 該算法在此階段實現(xiàn)的跟蹤相對于ORB-SLAM2[1]中的跟蹤更簡單甫煞,因此在計算上也更輕。它在圖像幀中投射出地圖特征冠绢,在圖像的靜態(tài)區(qū)域中搜索對應(yīng)關(guān)系抚吠。最大限度地減小再投影誤差,優(yōu)化相機姿態(tài)弟胀。
C.基于Mask R-CNN和多視幾何的動態(tài)物體分割
- 主要是針對性地處理在Mask RCNN中沒有先驗動態(tài)標(biāo)記而具有移動性的物體的分割楷力,例如行人手中的書等。
- 對于每一個輸入圖像幀孵户,作者選擇一些與其重疊度最大的舊圖像幀(文中作者選擇數(shù)量為5)萧朝。然后,計算每個關(guān)鍵點
從先前關(guān)鍵幀到當(dāng)前幀的投影夏哭,獲得關(guān)鍵點
检柬,以及它們的投影深度
,同時生成對應(yīng)的三維點
竖配。計算關(guān)鍵點
與三維點X形成的夾角
, 記為Alpha,若Alpha大于30度則認(rèn)為該點可能被擋住了进胯,即不對其做處理用爪。作者觀察到在TUM數(shù)據(jù)集中,夾角Alpha大于30°時的靜態(tài)物體即被認(rèn)為是動態(tài)的胁镐。
關(guān)鍵點用的ORB-SLAM中提取的關(guān)鍵點
-
對應(yīng)深度值為
,(單目偎血、雙目情況下,作者使用深度測量計得到
對應(yīng)的深度值
盯漂,)在誤差允許的范圍內(nèi)颇玷,將其與
進行比較,超過一定閾值則認(rèn)為該點
對應(yīng)于一個動態(tài)的物體就缆。判斷過程如圖3所示亚隙。作者經(jīng)過在TUM數(shù)據(jù)集上進行的測試發(fā)現(xiàn)深度值差閾值為0.4m.
重疊度最大通過考慮新幀和每個關(guān)鍵幀之間的距離和旋轉(zhuǎn)來完成的
圖3:關(guān)鍵幀(KF)的關(guān)鍵點x被投射到當(dāng)前幀(CF)使用其深度和相機姿勢,產(chǎn)生點违崇,深度為
。然后計算投影深度
诊霹。如果差值
大于閾值
羞延,則將像素標(biāo)記為動態(tài)。
- 標(biāo)記為動態(tài)的一些關(guān)鍵點位于移動對象的邊界上脾还,可能會導(dǎo)致問題伴箩。為避免這種情況,作者使用深度圖像給出的信息鄙漏,如果關(guān)鍵點設(shè)置為動態(tài)嗤谚,但深度圖中的自身周圍的像素具有高差異棺蛛,我們將標(biāo)簽更改為靜態(tài)。
- 對圖像中像素的分類標(biāo)記使用區(qū)域生長算法[21]得到了運動物體的掩膜巩步。圖4顯示了基于多視幾何旁赊、深度學(xué)習(xí)和兩者結(jié)合的方式進行動態(tài)物體分割的結(jié)果對比,可以看到兩方法結(jié)合達到了互補的效果椅野。
同時需要注意的是终畅,在追蹤和建圖的過程中需要對由于掩膜出現(xiàn),在邊緣處檢測出的異常ORB特征點進行去除竟闪。
D.跟蹤和建圖
系統(tǒng)此階段的輸入包含RGB和深度圖像离福,以及它們的分割mask。我們將圖像片段中的ORB特征提取為靜態(tài)炼蛤。由于線段輪廓是高梯度區(qū)域妖爷,因此必須刪除落在此交叉點中的關(guān)鍵點。
E.背景修復(fù)
圖5顯示了從不同TUM基準(zhǔn)序列中背景修復(fù)效果理朋。
- 用先前圖像的靜態(tài)信息修復(fù)被遮擋的背景絮识,大多數(shù)分割部分已經(jīng)正確地修復(fù)了來自靜態(tài)背景的信息。
- 根據(jù)前一幀和當(dāng)前幀的位置暗挑,作者將之前20關(guān)鍵幀的RGB以及深度圖投影到當(dāng)前幀上完成無動態(tài)物體的背景修復(fù)笋除。有些間隙沒有對應(yīng)關(guān)系并且留空:某些區(qū)域無法修復(fù),因為它們的相應(yīng)部分在關(guān)鍵幀中沒有出現(xiàn)到目前為止炸裆,或者垃它,如果它已經(jīng)出現(xiàn),則它沒有有效的深度信息烹看。這些間隙不能用幾何方法重建国拇,需要更精細的修復(fù)技術(shù)。
實驗結(jié)果
將本文提出的系統(tǒng)和原始ORB-SLAM2進行比較惯殊,來驗證本文方法在動態(tài)場景中的提升酱吝。作者在相應(yīng)的序列數(shù)據(jù)上進行了10次測試,以避免不確定性效應(yīng)土思。
A. TUM數(shù)據(jù)集
DynaSLAM (N)代表僅使用Mask RCNN進行動態(tài)物體分割务热; DynaS LAM (G)代表僅使用基于深度變化的多視幾何進行動態(tài)檢測和分割;DynaSLAM (N+G)代表同時利用多視幾何和深度學(xué)習(xí)的方法進行檢測己儒;DynaSLAM (N+G+BI)代表在背景修復(fù)之后進行跟蹤和建圖的操作(這時是基于真實影像和重建影像完成ORB特征提取)崎岂。從表中可以發(fā)現(xiàn)使用DynaSLAM(N+G)的精度是最高的,DynaSLAM (G) 由于在經(jīng)過一定的延遲之后運動估計和實例分割才會準(zhǔn)確這一方法特性闪湾,使得最后的精度較差冲甘。DynaSLAM (N+G+BI)由于使用了重建之后的影像進行跟蹤,而相機姿態(tài)會對重建影像有較大影響,因此這樣的效果比較差江醇。
作者還將DynaSLAM(N+G)中RGB-D分支與RGB-D ORB-SLAM2進行了對比濒憋。可以發(fā)現(xiàn)在高動態(tài)場景walking中陶夜,本文的方法優(yōu)于ORB-SLAM2凛驮,并且誤差與RGB-D ORB-SLAM2在靜態(tài)場景中的誤差相近。而在低動態(tài)場景setting中律适,要稍微差一些辐烂。
B. KITTI數(shù)據(jù)集
在KITTI數(shù)據(jù)集上中進行測試發(fā)現(xiàn),DynaSLAM以及ORB-SLAM在有些場景下的結(jié)果是相近的捂贿。當(dāng)不在具有先驗動態(tài)信息的物體上提取特征時纠修,跟蹤精度會比較高,諸如汽車厂僧,自行車等(KITTI01\KITTI04)扣草;當(dāng)在大多數(shù)車輛都是停止?fàn)顟B(tài)時,DynaSLAM的誤差會大一些颜屠,因為將這些物體對象去掉之后檢測到的特征點會處于較遠或紋理較弱的區(qū)域辰妙,從而導(dǎo)致跟蹤精度下降(KITTI00\KITTI02\KITTI06)。但是在回環(huán)檢測和重定位處理中結(jié)果較為穩(wěn)健甫窟,因為構(gòu)建的地圖中僅僅包含結(jié)構(gòu)性物體對象密浑,沒有動態(tài)物體。而如何設(shè)計更好的特征區(qū)分標(biāo)準(zhǔn)粗井,使得具有移動性的物體在未移動時尔破,其對應(yīng)的關(guān)鍵點可以被用于跟蹤卻不會在最終的結(jié)果地圖中出現(xiàn)這一問題需要進行更加深入的研究。
C. 時間分析
作者還提到所做的實驗中并沒有對算法進行工程優(yōu)化懒构,因此時間上的開銷會比較大,如下表:
總結(jié)
我們提出了一個基于ORB-SLAM的視覺SLAM系統(tǒng)耘擂,它增加了一種運動分割方法胆剧,使其在單眼,立體和RGB-D相機的動態(tài)環(huán)境中具有強大的穩(wěn)健性醉冤。我們的系統(tǒng)可以精確地跟蹤攝像機并創(chuàng)建靜態(tài)且因此可重復(fù)使用的場景地圖秩霍。在RGB-D情況下,DynaSLAM能夠獲得沒有動態(tài)內(nèi)容并且具有被遮擋的背景的合成RGB幀蚁阳,以及它們相應(yīng)的合成深度幀前域,這些幀可能對虛擬現(xiàn)實應(yīng)用非常有用。我們提供了一個顯示DynaSLAM 2潛力的視頻韵吨。與現(xiàn)有技術(shù)的比較表明,DynaSLAM在大多數(shù)情況下實現(xiàn)了最高的準(zhǔn)確度。
在TUM動態(tài)對象數(shù)據(jù)集中归粉,DynaSLAM是目前最好的RGB-D SLAM解決方案椿疗。在單眼情況下,我們的精度類似于ORB-SLAM的精度糠悼,但是通過較早的初始化獲得場景的靜態(tài)映射届榄。在KITTI數(shù)據(jù)集SLAM中,除了動態(tài)對象表示場景的重要部分的情況外倔喂,其精度略低于單目和立體的ORB-SLAM铝条。然而,我們估計的映射只包含結(jié)構(gòu)對象席噩,因此可以在長期應(yīng)用程序中重用班缰。這項工作的未來擴展可能包括其他方面的實時性能。一種基于RGB的運動檢測器悼枢,或通過使用更精細的修復(fù)技術(shù)(如Pathak等人使用GANs繪制的[24]幀)使合成的RGB幀具有更真實的外觀埠忘。