Dynamic SLAM joint optimization algorithm based on motion segmentation
ZhangYutong,F(xiàn)an Xinyue,Zhou Zhiyuan,Xie Yuanyuan (ScholofCommicatioamp;IfoatioEnginering,CongqingUniesityofostsamp;Telecomnitios,ChongingChina)
Abstract:InordertoaddressthechallngeoftraditionalSLAMbeingeasilydisruptedbydynamicobjectsinthescene,this paper proposedavisual SLAMalgorithmsuitable fordynamicenvironments,referrdtoas GMS-SLAM.Inthisapproach,itreplacedsemanticsegmentation withageometric methodbasedonepipolarconstraints,andemployedopticaldilation to further eliminatepotentialcoplanarambiguities.Itmodeleddynamicobjectsusing motionconstraintsandrigidityconstraints.Thisaproachutilizedthegraphoptimizationmodule tooptimizethecamerapose information,andtransformedhumanskeletalmodelingintorigidojects tobeincorporatedintothegraphoptimizationprocess.Aditionally,byexploitingthestrongcorelation betweencameraself-motionandepipolarconstraints,itintegratedthesegmentationnetworkandoptimizationmoduleintoa unifiedframework forjointrefinement.ExperimentalvalidationontheKITTIandhighlydynamicShibuyadatasetsdemonstratesthat GMS-SLAMachievessubstantialimprovements inacuracycompared tostate-of-the-artdynamicvisualalgoritms, suchas DytanVO,and clasical dynamic algorithms ike DynaSLAM,exhibiting superiorlocalization performance in dynamic environments.
Key Words:dynamic SLAM;graph optimization;motion segmentation;rigid constrains
0 引言
SLAM系統(tǒng)幫助機(jī)器人在未知環(huán)境中尋找自身位置,構(gòu)建軌跡地圖以達(dá)到識(shí)別整個(gè)環(huán)境的目的。盡管以往的研究使其處于靜態(tài)環(huán)境中能夠精準(zhǔn)完成預(yù)估的地圖構(gòu)建與機(jī)器人定位,但是在動(dòng)態(tài)環(huán)境中性能的下降與魯棒性的缺失已經(jīng)成為遏制SLAM 研究的核心問(wèn)題[1]。為消除動(dòng)態(tài)對(duì)象的影響,部分研究引入慣性傳導(dǎo)器等額外硬件幫助相機(jī)檢測(cè)自運(yùn)動(dòng)和環(huán)境變換[2],而本文討論純視覺(jué)下的動(dòng)態(tài)SLAM處理方案。
動(dòng)態(tài)對(duì)象的處理包括消除策略與優(yōu)化策略。消除策略,即將移動(dòng)物體視為異常值,并僅根據(jù)靜態(tài)地標(biāo)的測(cè)量值來(lái)估計(jì)相機(jī)姿態(tài)。DynaSLAM[3]聯(lián)合多視圖幾何與神經(jīng)網(wǎng)絡(luò)識(shí)別環(huán)境中的動(dòng)態(tài)對(duì)象;其處理低動(dòng)態(tài)場(chǎng)景時(shí)表現(xiàn)良好。但當(dāng)環(huán)境中充滿(mǎn)大量動(dòng)態(tài)物體時(shí),所需剔除的部分變得過(guò)于龐大,導(dǎo)致系統(tǒng)在處理過(guò)程中丟棄大量信息,從而無(wú)法有效地修復(fù)空白區(qū)域。
優(yōu)化策略將動(dòng)態(tài)物體納入SLAM系統(tǒng)中,估計(jì)簡(jiǎn)單剛性物體的姿態(tài),或者估計(jì)它們的運(yùn)動(dòng)模型,通過(guò)一定的約束條件輔助相機(jī)定位。例如CubeSLAM算法[4]選擇將室內(nèi)物體建模為長(zhǎng)方體。QuadricSLAM算法[5]將對(duì)象建模為橢球形。這種物體級(jí)的建模方式僅能表示部分物體,如環(huán)境中存在的部分內(nèi)凹物體(如板凳)就無(wú)法由上述兩者完全表示。為進(jìn)一步提升廣泛性,文獻(xiàn)[6]選擇將環(huán)境建立為統(tǒng)一模型,但由于其嚴(yán)重依賴(lài)于預(yù)設(shè)的光流估計(jì)且模型建立依然單一,無(wú)法處理高動(dòng)態(tài)場(chǎng)景。更進(jìn)一步, AriDOS[7] 通過(guò)引人鉸鏈?zhǔn)綄?duì)象的建模方法將行人納入運(yùn)動(dòng)模型中。
動(dòng)態(tài)物體的識(shí)別主要通過(guò)深度學(xué)習(xí)和多視圖幾何的方法。前者依賴(lài)深度網(wǎng)絡(luò)的多次學(xué)習(xí),如MASKR-CNN[8]通過(guò)為環(huán)境中的動(dòng)態(tài)對(duì)象打上標(biāo)簽以作區(qū)分。 oGC[9] 提出一種無(wú)監(jiān)督的方案利用點(diǎn)云的動(dòng)態(tài)運(yùn)動(dòng)以發(fā)現(xiàn)剛性運(yùn)動(dòng)對(duì)象。文獻(xiàn)[10]通過(guò)SOLOv2和特征金字塔利用語(yǔ)義特征向下分割動(dòng)態(tài)對(duì)象。上述分割方案均是給一類(lèi)對(duì)象構(gòu)建標(biāo)簽,表示它是運(yùn)動(dòng)物體,這樣處理的缺陷只能判定對(duì)象“能夠移動(dòng)”,但無(wú)法區(qū)分某一幀該對(duì)象是否“正在移動(dòng)”。因此,需要更細(xì)化的方法識(shí)別和處理動(dòng)態(tài)對(duì)象,以提高系統(tǒng)識(shí)別動(dòng)態(tài)物體的準(zhǔn)確性。
剛性運(yùn)動(dòng)分割方法依賴(lài)對(duì)極約束的幾何信息判定對(duì)象在相鄰幀中的運(yùn)動(dòng)情況,相比于語(yǔ)義分割更具有時(shí)效性。為增強(qiáng)運(yùn)動(dòng)分割模型的質(zhì)量,文獻(xiàn)[11]提出將場(chǎng)景分割成獨(dú)立移動(dòng)的對(duì)象以處理相機(jī)運(yùn)動(dòng)所造成的影響模糊;文獻(xiàn)[12]選擇引入Transformer實(shí)現(xiàn)利用運(yùn)動(dòng)線索來(lái)分割對(duì)象;文獻(xiàn)[13]提出采用重投影誤差與雙向幾何約束的方法檢測(cè)弱運(yùn)動(dòng)特征的對(duì)象。然而依賴(lài)于幾何的判別一定程度上弱于深度學(xué)習(xí),核心原因在于運(yùn)動(dòng)分割依賴(lài)極線幾何和剛性變換產(chǎn)生的幾何約束,而這些約束在特殊情況下會(huì)失效。當(dāng)相機(jī)運(yùn)動(dòng)接近零時(shí),極線約束就會(huì)失效[14],沿著極線移動(dòng)的點(diǎn)也無(wú)法與剛性背景區(qū)分。
基于此,本文提出一種利用光學(xué)膨脹升維的方法彌補(bǔ)傳統(tǒng)多視圖幾何在處理共面運(yùn)動(dòng)的模糊性。本文貢獻(xiàn)如下:
a)通過(guò)對(duì)極約束的幾何方法保證能夠逐幀地判決單個(gè)對(duì)象是否處于“正在運(yùn)動(dòng)”的狀態(tài),而不是像語(yǔ)義分割一樣給對(duì)象打上泛用標(biāo)簽,只表示它是“能夠運(yùn)動(dòng)”的狀態(tài)。b)在現(xiàn)有的動(dòng)態(tài)對(duì)象建模的基礎(chǔ)上引入額外的剛性約束條件建立圖優(yōu)化框架輔助優(yōu)化相機(jī)位姿,并對(duì)人體骨架進(jìn)行建模,進(jìn)一步將行人納入到圖優(yōu)化框架中。c)對(duì)極約束極度依賴(lài)于相機(jī)基礎(chǔ)矩陣的準(zhǔn)確性,本文將圖優(yōu)化模塊給出的優(yōu)化結(jié)果返回給前端輸入,幫助運(yùn)動(dòng)分割網(wǎng)絡(luò)更準(zhǔn)確地處理動(dòng)態(tài)對(duì)象。d)在多個(gè)公開(kāi)數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文提出的逐幀判別的運(yùn)動(dòng)分割網(wǎng)絡(luò)和圖優(yōu)化網(wǎng)絡(luò)均能提升相機(jī)位姿計(jì)算的準(zhǔn)確性,進(jìn)而提升SLAM系統(tǒng)的精度。
1相關(guān)工作
1.1 系統(tǒng)概述
由于運(yùn)動(dòng)分割在判斷對(duì)象運(yùn)動(dòng)時(shí),需要精確的相機(jī)位姿信息,GMS-SLAM將運(yùn)動(dòng)分割網(wǎng)絡(luò)與圖優(yōu)化網(wǎng)絡(luò)整合到同一架構(gòu)中。通過(guò)圖優(yōu)化,逐步精確相機(jī)位姿,然后利用精確的相機(jī)位姿來(lái)提升分割網(wǎng)絡(luò)的性能。經(jīng)過(guò)多次迭代,可以得到優(yōu)良的分割結(jié)果,并將其提供給優(yōu)化網(wǎng)絡(luò),從而得到精確的相機(jī)位姿結(jié)果。
如圖1所示,GMS-SLAM利用運(yùn)動(dòng)分割與相機(jī)自我運(yùn)動(dòng)之間的相互依賴(lài)性構(gòu)造一個(gè)框架,包括數(shù)據(jù)預(yù)處理、動(dòng)態(tài)對(duì)象跟蹤、后端優(yōu)化三個(gè)主要模塊。
添加運(yùn)動(dòng)分割網(wǎng)絡(luò)替代原有的實(shí)例分割作為前端預(yù)處理方式。運(yùn)動(dòng)分割根據(jù)連續(xù)時(shí)間幀同一剛性物體的位姿變換判斷其運(yùn)動(dòng)情況,GMS-SLAM引人光學(xué)膨脹的思想幫助運(yùn)動(dòng)分割擺脫由共面運(yùn)動(dòng)導(dǎo)致的模糊性。利用剛性物體運(yùn)動(dòng)時(shí),相同特征點(diǎn)遵循相同運(yùn)動(dòng)這一特性,引入剛性約束與運(yùn)動(dòng)約束建模動(dòng)態(tài)對(duì)象,聯(lián)合優(yōu)化相機(jī)姿態(tài)、物體運(yùn)動(dòng)和物體三維結(jié)構(gòu),校正相機(jī)姿態(tài)估計(jì),防止跟蹤丟失。
1.2 運(yùn)動(dòng)分割
當(dāng)環(huán)境中存在大量動(dòng)態(tài)對(duì)象時(shí),語(yǔ)義分割方法可能判定過(guò)
多的對(duì)象為需剔除的動(dòng)態(tài)類(lèi)導(dǎo)致系統(tǒng)缺失語(yǔ)義信息。GMS-SLAM引入對(duì)極幾何,逐幀實(shí)時(shí)地判別單個(gè)對(duì)象是否正處于運(yùn)動(dòng),而不是像語(yǔ)義分割一樣進(jìn)行廣泛性的標(biāo)簽判決。
對(duì)極幾何通過(guò)相鄰時(shí)間幀中不同視角下同一個(gè)物體是否滿(mǎn)足對(duì)極約束判定其是否為動(dòng)態(tài)物體。這個(gè)約束由相機(jī)的基礎(chǔ)矩陣 F 構(gòu)成,對(duì)于同一特征點(diǎn)在兩幀中的二維坐標(biāo)有
x2T?F?x1=0
對(duì)于單個(gè)對(duì)象,若所有特征點(diǎn)均滿(mǎn)足對(duì)極幾何的約束,即均處于對(duì)極線上就可以認(rèn)定它為靜態(tài)物體,因此本文方法可以做到實(shí)時(shí)地判定對(duì)象是否“正在移動(dòng)”而不是像語(yǔ)義分割一樣只劃分類(lèi)別表示對(duì)象“能夠移動(dòng)”。
單純地利用對(duì)極約束判斷運(yùn)動(dòng)對(duì)象存在較大的缺陷,主要表現(xiàn)在共面運(yùn)動(dòng)導(dǎo)致的相機(jī)運(yùn)動(dòng)退化問(wèn)題。典型例子為相機(jī)拍攝到一輛汽車(chē),此時(shí)通過(guò)式(1)的推導(dǎo)得到的投影深度變換量趨于零。但該汽車(chē)是運(yùn)動(dòng)的,若判定為靜態(tài)對(duì)象放入位姿估計(jì)網(wǎng)絡(luò)將造成系統(tǒng)定位飄逸。
圖2詳細(xì)描述了可能發(fā)生的運(yùn)動(dòng)退化情況,定義三維場(chǎng)景流 Tsf=Tbg+T0 ,其中 Tsf=-Tc 是由相機(jī)運(yùn)動(dòng)引起的剛性背景運(yùn)動(dòng), 是獨(dú)立的對(duì)象運(yùn)動(dòng)。共面運(yùn)動(dòng)時(shí),二維流與背景運(yùn)動(dòng)一致,此時(shí)二維平面上的運(yùn)動(dòng)在極線上( ∣α∣lt;α0) ,若此時(shí)從對(duì)極幾何上判定該物體處于靜止?fàn)顟B(tài);當(dāng)三維點(diǎn)進(jìn)行共線運(yùn)動(dòng)時(shí),其運(yùn)動(dòng)方向與背景運(yùn)動(dòng)一致( ∣β∣lt;β0. ,則 P 可能在 Tbg 方向上移動(dòng),同樣對(duì)極約束判定失效。這種模糊性極大程度影響系統(tǒng)的穩(wěn)定性。令三維運(yùn)動(dòng)無(wú)法通過(guò)相機(jī)運(yùn)動(dòng)表示的情況通過(guò)式(2)描述。
(RcP1+Tc)-P0≠0
其中: R 表示相機(jī)運(yùn)動(dòng); T 表示特征點(diǎn)所在的三維運(yùn)動(dòng)。特征點(diǎn) P 的世界坐標(biāo)可以由其處于相機(jī)坐標(biāo)系下的二維坐標(biāo)進(jìn)行反投影展開(kāi),可以將其重新排序得到運(yùn)動(dòng)點(diǎn)的三維流運(yùn)動(dòng) Tsf 。
其中: T 表示相機(jī)運(yùn)動(dòng)。式(3)表明運(yùn)動(dòng)點(diǎn) P 經(jīng)過(guò)整流后的三維流運(yùn)動(dòng)在某種干擾情況下無(wú)法與相機(jī)負(fù)平移相對(duì)應(yīng),此時(shí)兩幀中特征點(diǎn)的對(duì)應(yīng)深度 Z 仍然為未知的變量。通過(guò)Sampson距離的方式區(qū)分二維運(yùn)動(dòng)與相機(jī)運(yùn)動(dòng)不一致的點(diǎn)可以消除這個(gè)變量的影響,但依然無(wú)法處理共面運(yùn)動(dòng)導(dǎo)致的模糊性。
從光學(xué)成像的基本原理出發(fā),利用光學(xué)擴(kuò)張,通過(guò)測(cè)量重疊圖像塊的尺度變化,近似表示在縮放正交投影下非旋轉(zhuǎn)場(chǎng)景元素的相對(duì)深度,如圖3所示。
同一區(qū)域塊發(fā)生運(yùn)動(dòng)變換前后的二維投影變換,其描述相同物體相對(duì)于相機(jī)運(yùn)動(dòng)時(shí)在相機(jī)平面的投影變化情況,與相機(jī)的成像光線密切相關(guān)。
圖4給出同一物體在不同時(shí)刻下在相機(jī)平面的投影,由于運(yùn)動(dòng)造成位姿變換進(jìn)而導(dǎo)致投影大小發(fā)生改變,其中 Z 表示該物體的深度信息, W 表示物體尺寸,通過(guò)同一物體在不同幀中于相機(jī)平面的投影 w 的比值,可以一定程度上推導(dǎo)出物體深度的變換情況,如式(4)所示。
引入兩處投影比值 τ 間接表示同一物體的深度變換情況,將場(chǎng)景建模為相對(duì)于相機(jī)的運(yùn)動(dòng)矢量,從而分解出相機(jī)運(yùn)動(dòng):
(5)其中:t表示“歸一化場(chǎng)景流”,指向真實(shí)三維場(chǎng)景流方向的向量。它可以在知道運(yùn)動(dòng)深度 τ 和相機(jī)內(nèi)參矩陣 K 的基礎(chǔ)上從二維流
進(jìn)行升維得到,即歸一化的場(chǎng)景流可以進(jìn)一步升級(jí)為真正的三維場(chǎng)景流,消除極線平面內(nèi)移動(dòng)點(diǎn)的歧義。至此約束式(3)中的深度變化量,轉(zhuǎn)換出共面運(yùn)動(dòng)下的三維流運(yùn)動(dòng):
其中: T 表示整流后的三維流,表示一個(gè)點(diǎn)的矯正三維場(chǎng)景流的方向與相機(jī)運(yùn)動(dòng)方向不一致,則判定該點(diǎn)正在運(yùn)動(dòng)。通過(guò)加入深度的歸一化,完成處理共面運(yùn)動(dòng)導(dǎo)致的模糊性,彌補(bǔ)對(duì)極幾何在處理特殊環(huán)境時(shí)的嚴(yán)重缺陷。
1.3 圖優(yōu)化
剔除方案通過(guò)直接剔除分割網(wǎng)絡(luò)獲取的動(dòng)態(tài)像素及修復(fù)算法彌補(bǔ)空洞的方式降低動(dòng)態(tài)物體干擾。然而,當(dāng)系統(tǒng)處于高動(dòng)態(tài)環(huán)境時(shí),去除產(chǎn)生的空洞區(qū)域?qū)⑦^(guò)于巨大。此時(shí)定位系統(tǒng)將損失過(guò)量的語(yǔ)義信息,后續(xù)的圖像修復(fù)工作也會(huì)由于缺失必要的語(yǔ)義像素值無(wú)法填補(bǔ)空洞,最終導(dǎo)致系統(tǒng)跟蹤丟失。GMS-SLAM引入普遍場(chǎng)景下的剛性假設(shè),針對(duì)于環(huán)境中被判定為動(dòng)態(tài)對(duì)象的物體建立運(yùn)動(dòng)約束和剛性約束。
圖5表示運(yùn)動(dòng)對(duì)象的因子圖,其中綠色方塊代表不同時(shí)間步長(zhǎng)的相機(jī)姿勢(shì),紅色代表不同時(shí)間步的對(duì)象上的同一動(dòng)態(tài)點(diǎn),黑色代表相鄰幀之間的對(duì)象姿勢(shì)變化(見(jiàn)電子版)。利用運(yùn)動(dòng)因子與剛性因子構(gòu)建損失值,細(xì)化相機(jī)姿態(tài)和物體運(yùn)動(dòng)的表示。
本模塊的目標(biāo)為優(yōu)化相機(jī)位姿,通過(guò)降低重投影誤差值的方法獲取更優(yōu)化的位姿坐標(biāo),誤差函數(shù)由式(7)給出。
其中: 0mki 為全局參考系下 k 時(shí)刻觀察到的三維點(diǎn)坐標(biāo); 為相機(jī)坐標(biāo)系下的二維坐標(biāo);通過(guò)最小化重新投影誤差的方式估計(jì)相機(jī)姿態(tài) 0Xk 。利用李代數(shù) xk 參數(shù)化相機(jī)位姿,可以將式(7)優(yōu)化為
其中: nb 指代連續(xù)幀之間的所有可見(jiàn)三維點(diǎn)的對(duì)應(yīng)組; ρh 指代Huber函數(shù); Σ 表示與重新投影誤差相關(guān)的協(xié)方差矩陣。
式(7)和(8)僅考慮單獨(dú)的運(yùn)動(dòng)約束作為邊的情況,對(duì)相機(jī)細(xì)化位姿信息的幫助有限。考慮到高動(dòng)態(tài)場(chǎng)景下的運(yùn)動(dòng)物體大多包含車(chē)輛與行人,GMS-SLAM額外加入剛性約束作為條件,幫助相機(jī)確立精準(zhǔn)的位姿。
如圖6所示, ??pki 與 pkj 表示在同一對(duì)象中的第 i 和 j 個(gè)三維點(diǎn),根據(jù)標(biāo)準(zhǔn)剛性物體具有的無(wú)形變特性建立約束條件。車(chē)輛頂點(diǎn)間的相對(duì)距離永遠(yuǎn)保持不變,相似地將行人建模為多骨骼的剛性人偶,利用人偶的關(guān)節(jié)作為剛性模型,將行人納入到剛性約束的條件中。受此啟發(fā),利用剛性約束對(duì)類(lèi)行人的動(dòng)態(tài)關(guān)節(jié)對(duì)象與車(chē)輛的標(biāo)準(zhǔn)剛性物體進(jìn)行建模,可以將剛性誤差 e 定義為
er=∣∣pki-pkj∣-sij∣
利用光束法平差最小化觀測(cè)值與模型預(yù)測(cè)值之間的誤差,可以聯(lián)合優(yōu)化上述提到的三維點(diǎn)坐標(biāo) P 和相機(jī)位姿 X .
其中: 是指三維點(diǎn)的協(xié)方差矩陣,包含關(guān)于相機(jī)位姿和相機(jī)參數(shù)的大量信息。通過(guò)最小化式(10)中的重投影誤差量將相機(jī)位姿向真實(shí)位姿矯正。
GMS-SLAM通過(guò)將對(duì)行人骨骼、車(chē)輛等剛性物體建立運(yùn)動(dòng)約束和剛性約束方程,聯(lián)合構(gòu)成如圖5所示的因子圖,輸出優(yōu)化后的相機(jī)位姿信息使SLAM系統(tǒng)定位更精確。
1.4聯(lián)合細(xì)化
運(yùn)動(dòng)分割利用殘差光流與精準(zhǔn)的相機(jī)位姿判別動(dòng)態(tài)對(duì)象;圖優(yōu)化通過(guò)引入剛度約束和運(yùn)動(dòng)約束建模動(dòng)態(tài)對(duì)象,可以校正相機(jī)姿態(tài)估計(jì)。考慮到兩者存在相互依賴(lài)性,GMS-SLAM將運(yùn)動(dòng)分割網(wǎng)絡(luò)與圖優(yōu)化網(wǎng)絡(luò)放入整體框架,通過(guò)多次迭代達(dá)到互補(bǔ)。
算法1中,初始化變量 χi 為0表示當(dāng)前沒(méi)有任何額外的優(yōu)化模塊協(xié)助,分割網(wǎng)絡(luò)僅依賴(lài)于連續(xù)幀 I 及其光流變化來(lái)進(jìn)行動(dòng)態(tài)物體分割。由于缺乏精確的相機(jī)位姿信息,首次分割結(jié)果Stt+1 往往不理想。
算法1迭代優(yōu)化算法
else
return δRIT
針對(duì)靜態(tài)背景部分,采用經(jīng)典的對(duì)極幾何方法分析圖像對(duì)之間的幾何關(guān)系以獲取粗略的相機(jī)位姿信息 iR∣iT 對(duì)于動(dòng)態(tài)部分,為進(jìn)一步提升相機(jī)位姿信息的準(zhǔn)確性,引入圖優(yōu)化技術(shù),關(guān)于具體的圖優(yōu)化模型已在1.3節(jié)中詳細(xì)闡述。針對(duì)動(dòng)態(tài)對(duì)象的額外處理能夠在一定程度上彌補(bǔ)初始分割過(guò)程中由于位姿信息不準(zhǔn)確帶來(lái)的不足,細(xì)化分割結(jié)果,提高動(dòng)態(tài)物體分割的準(zhǔn)確性。第二次迭代開(kāi)始就能從圖優(yōu)化模塊中獲取到較精細(xì)的相機(jī)位姿( (?iR)∣T)op 作為額外的信息補(bǔ)充,憑借運(yùn)動(dòng)分割與相機(jī)位姿的強(qiáng)相關(guān)性極大程度優(yōu)化分割效果,獲得更準(zhǔn)確的動(dòng)態(tài)對(duì)象二值掩膜 。
為避免無(wú)限迭代產(chǎn)生過(guò)大的計(jì)算量,設(shè)立停止標(biāo)準(zhǔn):每次迭代計(jì)算圖優(yōu)化前后的旋轉(zhuǎn)和平移誤差量為8,若其小于閾值則系統(tǒng)終止。其能夠在早期阻止不正確的分割掩膜,在后期求取更為精準(zhǔn)的分割結(jié)果。
2 實(shí)驗(yàn)與分析
為驗(yàn)證GMS-SLAM算法的有效性,使用AMDEPYC7452處理器和64位Ubuntu20.04操作系統(tǒng)進(jìn)行對(duì)比實(shí)驗(yàn)。與當(dāng)前主流動(dòng)態(tài)算法在 KITII[15] 數(shù)據(jù)集的部分動(dòng)態(tài)序列和 Shibuya[7]數(shù)據(jù)集上進(jìn)行對(duì)比。
圖7展示本系統(tǒng)在每次迭代時(shí)分割網(wǎng)絡(luò)輸出的動(dòng)態(tài)掩膜,白色輪廓表明網(wǎng)絡(luò)識(shí)別出的動(dòng)態(tài)對(duì)象,后續(xù)需要通過(guò)圖優(yōu)化等模塊進(jìn)行處理;黑色表明輸出的靜態(tài)背景,用于初步估計(jì)相機(jī)位姿。第一次迭代中分割網(wǎng)絡(luò)的識(shí)別能力較弱,這是因?yàn)樵谠缙诘校烙?jì)的運(yùn)動(dòng)不太準(zhǔn)確導(dǎo)致分割輸出中出現(xiàn)假陽(yáng)性,在這個(gè)時(shí)候運(yùn)動(dòng)分割表現(xiàn)較差。
二次迭代后,通過(guò)來(lái)自于后端的圖優(yōu)化模塊的幫助,迭代結(jié)果逐漸獲得更為精準(zhǔn)的相機(jī)位姿信息。此信息對(duì)于運(yùn)動(dòng)分割網(wǎng)絡(luò)在判定動(dòng)態(tài)對(duì)象方面具有關(guān)鍵作用,將幫助運(yùn)動(dòng)分割網(wǎng)絡(luò)進(jìn)一步判定動(dòng)態(tài)對(duì)象。經(jīng)過(guò)多次嘗試和實(shí)驗(yàn)驗(yàn)證,最終將迭代次數(shù)定為五次。在保證相機(jī)位姿和運(yùn)動(dòng)分割精準(zhǔn)度的前提下,這樣的迭代次數(shù)能夠顯著減少計(jì)算量。
2.1KITTI數(shù)據(jù)集實(shí)驗(yàn)分析
為探尋本文算法對(duì)動(dòng)態(tài)環(huán)境處理的有效性,選用追蹤集合中動(dòng)態(tài)對(duì)象較多的序列作為實(shí)驗(yàn)系統(tǒng)的重點(diǎn)比對(duì)樣例,并且為評(píng)估系統(tǒng)性能,采用絕對(duì)軌跡誤差(ATE)比較系統(tǒng)估計(jì)的整體軌跡與真實(shí)軌跡之間的差異。表1列出各算法的絕對(duì)軌跡誤差,本文算法在所有序列中均保持一定的優(yōu)勢(shì)地位。特別是在絕大多數(shù)序列上,其精度表現(xiàn)優(yōu)于DynaSLAM和VDO-SLAM,其中前者為典型的動(dòng)態(tài)剔除策略,而后者為初步采用運(yùn)動(dòng)約束對(duì)統(tǒng)進(jìn)行圖優(yōu)化的策略。在7個(gè)動(dòng)態(tài)序列中,本文算法顯著優(yōu)于其他方案。盡管相較于DROID-SLAM的提升不明顯,但DROID-SLAM通過(guò)稠密的光束法平差層對(duì)相機(jī)姿態(tài)和像素深度進(jìn)行反復(fù)迭代更新,極為耗時(shí)。
CC通過(guò)協(xié)調(diào)多個(gè)神經(jīng)網(wǎng)絡(luò)在無(wú)監(jiān)督條件下共同解決單視圖深度預(yù)測(cè)、相機(jī)運(yùn)動(dòng)估計(jì)、光流估計(jì)和場(chǎng)景靜動(dòng)態(tài)分割,相互協(xié)調(diào)輸出各個(gè)子問(wèn)題均最優(yōu)的結(jié)果。DytanVO在內(nèi)參層的訓(xùn)練使得系統(tǒng)能夠適應(yīng)多種未知環(huán)境,快速建立跟蹤的基礎(chǔ)上引入基于幾何的分割網(wǎng)絡(luò)作為前端,使其能夠在高動(dòng)態(tài)的現(xiàn)實(shí)世界依然具有極大競(jìng)爭(zhēng)力。而GMS-SLAM方案在幾何分割的基礎(chǔ)上引入了圖優(yōu)化算法,更進(jìn)一步加強(qiáng)系統(tǒng)在動(dòng)態(tài)環(huán)境的定位精準(zhǔn)度。表1可得GMS-SLAM在多個(gè)序列中的精準(zhǔn)度均優(yōu)于DytanVO算法,表明圖優(yōu)化模塊的引入在處理動(dòng)態(tài)環(huán)境上的有效性,能夠輔助系統(tǒng)處理動(dòng)態(tài)對(duì)象。
序列03中多幀圖像出現(xiàn)大量汽車(chē)的突然進(jìn)入和突然消失,此時(shí)對(duì)極約束的失效將導(dǎo)致算法層面上無(wú)法識(shí)別到這個(gè)正在運(yùn)動(dòng)的車(chē)輛,后續(xù)的處理將其作為靜態(tài)背景而不是運(yùn)動(dòng)對(duì)象。序列08中,多個(gè)大型車(chē)輛的突然出現(xiàn)遮擋大部分視野,它們?cè)谙鄼C(jī)平面中占據(jù)極大面積,光學(xué)投影面積膨脹效果極不明顯,分割失效導(dǎo)致背景和動(dòng)態(tài)對(duì)象判定混亂,進(jìn)而使系統(tǒng)定位效果和魯棒性差,絕對(duì)軌跡誤差相比預(yù)期過(guò)大。
2.2Shibuya數(shù)據(jù)集實(shí)驗(yàn)分析
為進(jìn)一步驗(yàn)證本文算法在高動(dòng)態(tài)場(chǎng)景下的優(yōu)勢(shì),選擇Shibuya數(shù)據(jù)集對(duì)當(dāng)前流行的動(dòng)態(tài)方法進(jìn)行對(duì)比,如圖8(b)所示。該數(shù)據(jù)集分為standinghuman(大多數(shù)人站在原地,少數(shù)人移動(dòng))、roadcrossing-easy(包含多人在攝像機(jī)視野內(nèi)走動(dòng))和roadcrossing-hard(大量人群在攝像機(jī)視野內(nèi)走動(dòng),并隨時(shí)可能停在原地)三個(gè)難度級(jí)別,結(jié)果如表2所示。
本文算法在所有子序列中均處于優(yōu)勢(shì)地位,特別在路口序列組的II\~VII中優(yōu)勢(shì)明顯。以DynaSLAM為代表的剔除方案因需要對(duì)圖像中的許多像素進(jìn)行剔除,如果剔除部分過(guò)多、將導(dǎo)致圖像修復(fù)模塊無(wú)法獲取足夠的語(yǔ)義信息,系統(tǒng)追蹤的關(guān)鍵點(diǎn)數(shù)量不足,最終導(dǎo)致系統(tǒng)表現(xiàn)力弱。
AirDOS[7]方案采用簡(jiǎn)單的運(yùn)動(dòng)約束構(gòu)建圖優(yōu)化模型,這使得它在處理少量對(duì)象時(shí)表現(xiàn)較為優(yōu)秀,但在動(dòng)態(tài)對(duì)象豐富的序列中VI與VII表現(xiàn)不如本文算法;定量上講,與AirDOS和Dyna-SLAM等動(dòng)態(tài)算法相比,本文算法的性能平均提升超過(guò) 90% ,證明本算法采用的運(yùn)動(dòng)分割網(wǎng)絡(luò)效果在一定程度上優(yōu)于語(yǔ)義分割,可以為圖優(yōu)化模塊提高更細(xì)致的動(dòng)態(tài)對(duì)象劃分。相比TartanVO,其改進(jìn)方案DytanVO進(jìn)一步考慮了動(dòng)態(tài)對(duì)象,并引人了SLAM常用的光束法平差調(diào)整,在各個(gè)序列中表現(xiàn)更好,與本文算法的區(qū)別在于它沒(méi)有完整的圖優(yōu)化算法,缺乏主動(dòng)處理動(dòng)態(tài)對(duì)象的能力。DytanVO容易受到動(dòng)態(tài)對(duì)象的干擾,單純的光束法平差優(yōu)化容易失效,導(dǎo)致其絕對(duì)軌跡誤差高于本算法。
2.3 時(shí)間分析
記錄NVIDIARTX2080TiGPU相同硬件下同樣采用運(yùn)動(dòng)分割的DytanVO和本文算法于Shibuya數(shù)據(jù)集中每一幀完整處理的平均時(shí)間損耗,如表3所示。
本文算法在多次嘗試后將迭代次數(shù)衰減到五次,五次后相機(jī)位姿的迭代優(yōu)化量過(guò)低浪費(fèi)計(jì)算資源。如表3所示,GMS-SLAM在效率上有所下降,原因在于每次迭代時(shí)結(jié)合了分割網(wǎng)絡(luò)與圖優(yōu)化模塊,圖優(yōu)化確實(shí)引人了額外的計(jì)算開(kāi)銷(xiāo)。然而,由于圖優(yōu)化模塊僅處理被判定為動(dòng)態(tài)的對(duì)象部分,所以計(jì)算復(fù)雜度的提升并不顯著,平均計(jì)算時(shí)間相較于DytanVO增加約10% ??傮w而言,盡管引入圖優(yōu)化模塊增加了計(jì)算量,但僅限于動(dòng)態(tài)對(duì)象的處理,導(dǎo)致時(shí)間開(kāi)銷(xiāo)提升較為有限。
2.4 消融實(shí)驗(yàn)
為驗(yàn)證本文提出的運(yùn)動(dòng)分割算法和圖優(yōu)化算法對(duì)系統(tǒng)性能的影響,在澀谷數(shù)據(jù)集的序列Ⅱ和VII上進(jìn)行消融實(shí)驗(yàn),結(jié)果如表4所示。表中,baseline表示僅采用運(yùn)動(dòng)約束處理動(dòng)態(tài)場(chǎng)景的VDO-SLAM系統(tǒng),baseline Ω?+MS 表示將VDO-SLAM中的語(yǔ)義分割替換為運(yùn)動(dòng)分割模塊;baseline +GO 則表示加人額外剛性約束的圖優(yōu)化算法替代原本單純的光束法平差優(yōu)化。
圖9給出各方案的絕對(duì)軌跡誤差曲線,聯(lián)合表4可以發(fā)現(xiàn),通過(guò)將運(yùn)動(dòng)分割網(wǎng)絡(luò)替代實(shí)例分割網(wǎng)絡(luò)后,對(duì)系統(tǒng)有一定的促進(jìn)意義,運(yùn)動(dòng)分割網(wǎng)絡(luò)更能幫助系統(tǒng)找到當(dāng)前幀真正運(yùn)動(dòng)的對(duì)象,然后輸入到優(yōu)化模塊中,如果出現(xiàn)將未運(yùn)動(dòng)的對(duì)象判給后端,將大幅增加不必要的計(jì)算量。為系統(tǒng)添加GO模塊同樣對(duì)系統(tǒng)性能提升具有幫助,當(dāng)GO與MS模塊相結(jié)合時(shí),對(duì)系統(tǒng)精度的提升效果更為顯著。
3結(jié)束語(yǔ)
本文提出一種針對(duì)高動(dòng)態(tài)場(chǎng)景的SLAM系統(tǒng),通過(guò)聯(lián)合運(yùn)動(dòng)分割網(wǎng)絡(luò)與圖優(yōu)化模塊共同細(xì)化相機(jī)位姿信息。前者利用光學(xué)膨脹彌補(bǔ)基于對(duì)極約束的幾何方法可能產(chǎn)生的運(yùn)動(dòng)退化問(wèn)題,保證逐幀判別對(duì)象的動(dòng)態(tài)實(shí)時(shí)性;后者利用剛性物體在運(yùn)動(dòng)中對(duì)應(yīng)特征點(diǎn)之間的距離不變性對(duì)動(dòng)態(tài)對(duì)象進(jìn)行建模并與運(yùn)動(dòng)約束聯(lián)合優(yōu)化相機(jī)位姿。在公開(kāi)數(shù)據(jù)集上的實(shí)驗(yàn)表明,GMS-SLAM在高動(dòng)態(tài)環(huán)境具備一定程度的優(yōu)勢(shì),絕對(duì)軌跡誤差均低于當(dāng)前主流方案,具備出色的魯棒性。但圖優(yōu)化的假設(shè)嚴(yán)重依賴(lài)于剛性物體對(duì)象的假設(shè),若圖像中出現(xiàn)可變彈性物體會(huì)導(dǎo)致優(yōu)化圖優(yōu)化模塊中的剛性約束失效進(jìn)而影響相機(jī)定位的精準(zhǔn)性。
參考文獻(xiàn):
[1]PuHuayan,LuoJun,WangGang,etal.VisualSLAMintegration with semantic segmentation and deep learning:a review[J].IEEE SensorsJournal,2023,23(19):22119-22138.
[2]何銘臻,何元烈,胡濤,融合語(yǔ)義信息的視覺(jué)慣性SLAM算法 [J].計(jì)算機(jī)應(yīng)用研究,2024,41(8):2533-2539.(HeMingzhen,HeYuanlie,Hu Tao.Visual inertialSLAMalgorithmwithsemantic information fusion[J].Application Research of Computers,2024,41(8):2533-2539.)
[3]Bescos B,F(xiàn)acil JM,Civera J,et al.DynaSLAM: tracking,mapping,and inpaintingin dynamic scenes[J].IEEE Roboticsand AutomationLetters,2018,3(4):4076-4083.
[4]Yang Shichao,Scherer S.CubeSLAM:monocular 3-D object SLAM [J].IEEE Trans on Robotics,2019,35(4):925-938.
[5]Nicholson L,Milford M, Sunderhauf N. QuadricSLAM:dual quadrics from object detectionsas landmarks in object-oriented SLAM [J].IEEE Robotics and Automation Letters,2019,4(1) : 1-8.
[6]Zhang Jun,Henein M,Mahony R,et al.Robust ego and object 6- DoF motion estimation and tracking[C]//Proc of IEEE/RSJ International Conference on Intelligent Robots and System.Piscataway,NJ: IEEE Press,2020:5017-5023.
[7]Qiu Yuheng,Wang Chen,Wang Wenshan,et al. AirDOS: dynamic SLAMbenefits from articulated objects[C]//Proc of International Conference on Robotics and Automation.Piscataway,NJ:IEEE Press,2022:8047-8053.
[8]He Kaiming,Gkioxari G,Dollr P,et al.Mask R-CNN[C]//Proc of IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE Press,2017: 2980-2988.
[9]Song Ziyang,Yang Bo. OGC:unsupervised 3D object segmentation from rigid dynamics of point clouds [EB/OL]. (2022-10-10).https:// arxiv. org/abs/2210.04458.
[10]陳帥,周非,吳凱,語(yǔ)義線特征輔助的動(dòng)態(tài)SLAM[J].計(jì)算機(jī) 應(yīng)用研究,2023,40(5):1583-1588.(Chen Shuai,ZhouFei,Wu Kai.Dynamic SLAM assisted by semantic line feature[J]. Application Research of Computers,2023,40(5):1583-1588.)
[11] Stoffregen T,Gallego G,Drummond T,et al.Event-based motion segmentation by motion compensation [C]//Proc of IEEE/CVF International Conference on Computer Vision. Piscataway,NJ: IEEE Press,2019:7243-7252.
[12]Yang C, Lamdouar H, Lu E,et al. Self-supervised video object segmentation by motion grouping [C]//Proc of IEEE/CVF International Conference on Computer Vision. Piscataway,NJ: IEEE Press,2021: 7157-7168.
[13]Xu Bangwu,Wu Qin,Chai Zhilei,et al.GAMA:geometric analysis based motion-aware architecture for moving object segmentation [J]. Computer Vision and Image Understanding,2023,234: 103751.
[14]Xu Xun, Cheong L F,Li Zhuwen. 3D rigid motion segmentation with mixed and unknown number of models [J]. IEEE Trans on Pattern Analysis and Machine Intelligence,2021,43(1):1-16.
[15]GeigerA,Lenz P,StillerC,etal.Vision meets robotics:theKITTI dataset [J]. International Journal of Robotics Research,2013, 32(11):1231-1237.
[16] Teed Z, Deng Jia. DROID-SLAM: deep visual SLAM for monocular, stereo,and RGB-D cameras [C]// Proc of the 35th International Conference on Neural Information Processing Systems.Red Hook, NY: Curran Associates Inc., 2022:16558-16569.
[17]Wen Shuhuan,Li Xiongfei,Liu Xin,et al.Dynamic SLAM:a visual SLAM in outdoor dynamic scenes [J]. IEEE Trans on Instrumentation and Measurement,2023,72:5028911.
[18]Ranjan A,Jampani V,BallesL,etal.Competitive collaboration: joint unsupervised learning of depth,camera motion,optical flow and motion segmentation[C]// Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press, 2019:12232-12241.
[19]Shen Shihao,Cai Yilin,Wang Wenshan,et al.DytanVO: joint refinement of visual odometryand motion segmentation in dynamic environments[C]//Proc of IEEE International Conference on Robotics and Automation.Piscataway,NJ:IEEEPress,2023:4048-4055.
[20]Wang Wenshan,Hu Yaoyu,Scherer S.TartanVO:a generalizable learning-based VO[C]//Proc of Conference on Robot Learning. [S. 1.]:PMLR,2021:1761-1772.
[21] Zhang Huang,Wang Changshuo,Yu Long,et al.PointGT:a method forpoint-cloud classfication and segmentation based on local geometric transformation[J].IEEE Trans on Multimedia,2024,26: 8052-8062.