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á)到識別整個(gè)環(huán)境的目的。盡管以往的研究使其處于靜態(tài)環(huán)境中能夠精準(zhǔn)完成預(yù)估的地圖構(gòu)建與機(jī)器人定位,但是在動態(tài)環(huán)境中性能的下降與魯棒性的缺失已經(jīng)成為遏制SLAM 研究的核心問題[1]。為消除動態(tài)對象的影響,部分研究引入慣性傳導(dǎo)器等額外硬件幫助相機(jī)檢測自運(yùn)動和環(huán)境變換[2],而本文討論純視覺下的動態(tài)SLAM處理方案。
動態(tài)對象的處理包括消除策略與優(yōu)化策略。消除策略,即將移動物體視為異常值,并僅根據(jù)靜態(tài)地標(biāo)的測量值來估計(jì)相機(jī)姿態(tài)。DynaSLAM[3]聯(lián)合多視圖幾何與神經(jīng)網(wǎng)絡(luò)識別環(huán)境中的動態(tài)對象;其處理低動態(tài)場景時(shí)表現(xiàn)良好。但當(dāng)環(huán)境中充滿大量動態(tài)物體時(shí),所需剔除的部分變得過于龐大,導(dǎo)致系統(tǒng)在處理過程中丟棄大量信息,從而無法有效地修復(fù)空白區(qū)域。
優(yōu)化策略將動態(tài)物體納入SLAM系統(tǒng)中,估計(jì)簡單剛性物體的姿態(tài),或者估計(jì)它們的運(yùn)動模型,通過一定的約束條件輔助相機(jī)定位。例如CubeSLAM算法[4]選擇將室內(nèi)物體建模為長方體。QuadricSLAM算法[5]將對象建模為橢球形。這種物體級的建模方式僅能表示部分物體,如環(huán)境中存在的部分內(nèi)凹物體(如板凳)就無法由上述兩者完全表示。為進(jìn)一步提升廣泛性,文獻(xiàn)[6]選擇將環(huán)境建立為統(tǒng)一模型,但由于其嚴(yán)重依賴于預(yù)設(shè)的光流估計(jì)且模型建立依然單一,無法處理高動態(tài)場景。更進(jìn)一步, AriDOS[7] 通過引人鉸鏈?zhǔn)綄ο蟮慕7椒▽⑿腥思{入運(yùn)動模型中。
動態(tài)物體的識別主要通過深度學(xué)習(xí)和多視圖幾何的方法。前者依賴深度網(wǎng)絡(luò)的多次學(xué)習(xí),如MASKR-CNN[8]通過為環(huán)境中的動態(tài)對象打上標(biāo)簽以作區(qū)分。 oGC[9] 提出一種無監(jiān)督的方案利用點(diǎn)云的動態(tài)運(yùn)動以發(fā)現(xiàn)剛性運(yùn)動對象。文獻(xiàn)[10]通過SOLOv2和特征金字塔利用語義特征向下分割動態(tài)對象。上述分割方案均是給一類對象構(gòu)建標(biāo)簽,表示它是運(yùn)動物體,這樣處理的缺陷只能判定對象“能夠移動”,但無法區(qū)分某一幀該對象是否“正在移動”。因此,需要更細(xì)化的方法識別和處理動態(tài)對象,以提高系統(tǒng)識別動態(tài)物體的準(zhǔn)確性。
剛性運(yùn)動分割方法依賴對極約束的幾何信息判定對象在相鄰幀中的運(yùn)動情況,相比于語義分割更具有時(shí)效性。為增強(qiáng)運(yùn)動分割模型的質(zhì)量,文獻(xiàn)[11]提出將場景分割成獨(dú)立移動的對象以處理相機(jī)運(yùn)動所造成的影響模糊;文獻(xiàn)[12]選擇引入Transformer實(shí)現(xiàn)利用運(yùn)動線索來分割對象;文獻(xiàn)[13]提出采用重投影誤差與雙向幾何約束的方法檢測弱運(yùn)動特征的對象。然而依賴于幾何的判別一定程度上弱于深度學(xué)習(xí),核心原因在于運(yùn)動分割依賴極線幾何和剛性變換產(chǎn)生的幾何約束,而這些約束在特殊情況下會失效。當(dāng)相機(jī)運(yùn)動接近零時(shí),極線約束就會失效[14],沿著極線移動的點(diǎn)也無法與剛性背景區(qū)分。
基于此,本文提出一種利用光學(xué)膨脹升維的方法彌補(bǔ)傳統(tǒng)多視圖幾何在處理共面運(yùn)動的模糊性。本文貢獻(xiàn)如下:
a)通過對極約束的幾何方法保證能夠逐幀地判決單個(gè)對象是否處于“正在運(yùn)動”的狀態(tài),而不是像語義分割一樣給對象打上泛用標(biāo)簽,只表示它是“能夠運(yùn)動”的狀態(tài)。b)在現(xiàn)有的動態(tài)對象建模的基礎(chǔ)上引入額外的剛性約束條件建立圖優(yōu)化框架輔助優(yōu)化相機(jī)位姿,并對人體骨架進(jìn)行建模,進(jìn)一步將行人納入到圖優(yōu)化框架中。c)對極約束極度依賴于相機(jī)基礎(chǔ)矩陣的準(zhǔn)確性,本文將圖優(yōu)化模塊給出的優(yōu)化結(jié)果返回給前端輸入,幫助運(yùn)動分割網(wǎng)絡(luò)更準(zhǔn)確地處理動態(tài)對象。d)在多個(gè)公開數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文提出的逐幀判別的運(yùn)動分割網(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)動分割在判斷對象運(yùn)動時(shí),需要精確的相機(jī)位姿信息,GMS-SLAM將運(yùn)動分割網(wǎng)絡(luò)與圖優(yōu)化網(wǎng)絡(luò)整合到同一架構(gòu)中。通過圖優(yōu)化,逐步精確相機(jī)位姿,然后利用精確的相機(jī)位姿來提升分割網(wǎng)絡(luò)的性能。經(jīng)過多次迭代,可以得到優(yōu)良的分割結(jié)果,并將其提供給優(yōu)化網(wǎng)絡(luò),從而得到精確的相機(jī)位姿結(jié)果。
如圖1所示,GMS-SLAM利用運(yùn)動分割與相機(jī)自我運(yùn)動之間的相互依賴性構(gòu)造一個(gè)框架,包括數(shù)據(jù)預(yù)處理、動態(tài)對象跟蹤、后端優(yōu)化三個(gè)主要模塊。
添加運(yùn)動分割網(wǎng)絡(luò)替代原有的實(shí)例分割作為前端預(yù)處理方式。運(yùn)動分割根據(jù)連續(xù)時(shí)間幀同一剛性物體的位姿變換判斷其運(yùn)動情況,GMS-SLAM引人光學(xué)膨脹的思想幫助運(yùn)動分割擺脫由共面運(yùn)動導(dǎo)致的模糊性。利用剛性物體運(yùn)動時(shí),相同特征點(diǎn)遵循相同運(yùn)動這一特性,引入剛性約束與運(yùn)動約束建模動態(tài)對象,聯(lián)合優(yōu)化相機(jī)姿態(tài)、物體運(yùn)動和物體三維結(jié)構(gòu),校正相機(jī)姿態(tài)估計(jì),防止跟蹤丟失。
1.2 運(yùn)動分割
當(dāng)環(huán)境中存在大量動態(tài)對象時(shí),語義分割方法可能判定過
多的對象為需剔除的動態(tài)類導(dǎo)致系統(tǒng)缺失語義信息。GMS-SLAM引入對極幾何,逐幀實(shí)時(shí)地判別單個(gè)對象是否正處于運(yùn)動,而不是像語義分割一樣進(jìn)行廣泛性的標(biāo)簽判決。
對極幾何通過相鄰時(shí)間幀中不同視角下同一個(gè)物體是否滿足對極約束判定其是否為動態(tài)物體。這個(gè)約束由相機(jī)的基礎(chǔ)矩陣 F 構(gòu)成,對于同一特征點(diǎn)在兩幀中的二維坐標(biāo)有
x2T?F?x1=0
對于單個(gè)對象,若所有特征點(diǎn)均滿足對極幾何的約束,即均處于對極線上就可以認(rèn)定它為靜態(tài)物體,因此本文方法可以做到實(shí)時(shí)地判定對象是否“正在移動”而不是像語義分割一樣只劃分類別表示對象“能夠移動”。
單純地利用對極約束判斷運(yùn)動對象存在較大的缺陷,主要表現(xiàn)在共面運(yùn)動導(dǎo)致的相機(jī)運(yùn)動退化問題。典型例子為相機(jī)拍攝到一輛汽車,此時(shí)通過式(1)的推導(dǎo)得到的投影深度變換量趨于零。但該汽車是運(yùn)動的,若判定為靜態(tài)對象放入位姿估計(jì)網(wǎng)絡(luò)將造成系統(tǒng)定位飄逸。
圖2詳細(xì)描述了可能發(fā)生的運(yùn)動退化情況,定義三維場景流 Tsf=Tbg+T0 ,其中 Tsf=-Tc 是由相機(jī)運(yùn)動引起的剛性背景運(yùn)動, 是獨(dú)立的對象運(yùn)動。共面運(yùn)動時(shí),二維流與背景運(yùn)動一致,此時(shí)二維平面上的運(yùn)動在極線上( ∣α∣lt;α0) ,若此時(shí)從對極幾何上判定該物體處于靜止?fàn)顟B(tài);當(dāng)三維點(diǎn)進(jìn)行共線運(yùn)動時(shí),其運(yùn)動方向與背景運(yùn)動一致( ∣β∣lt;β0. ,則 P 可能在 Tbg 方向上移動,同樣對極約束判定失效。這種模糊性極大程度影響系統(tǒng)的穩(wěn)定性。令三維運(yùn)動無法通過相機(jī)運(yùn)動表示的情況通過式(2)描述。
(RcP1+Tc)-P0≠0
其中: R 表示相機(jī)運(yùn)動; T 表示特征點(diǎn)所在的三維運(yùn)動。特征點(diǎn) P 的世界坐標(biāo)可以由其處于相機(jī)坐標(biāo)系下的二維坐標(biāo)進(jìn)行反投影展開,可以將其重新排序得到運(yùn)動點(diǎn)的三維流運(yùn)動 Tsf 。
其中: T 表示相機(jī)運(yùn)動。式(3)表明運(yùn)動點(diǎn) P 經(jīng)過整流后的三維流運(yùn)動在某種干擾情況下無法與相機(jī)負(fù)平移相對應(yīng),此時(shí)兩幀中特征點(diǎn)的對應(yīng)深度 Z 仍然為未知的變量。通過Sampson距離的方式區(qū)分二維運(yùn)動與相機(jī)運(yùn)動不一致的點(diǎn)可以消除這個(gè)變量的影響,但依然無法處理共面運(yùn)動導(dǎo)致的模糊性。
從光學(xué)成像的基本原理出發(fā),利用光學(xué)擴(kuò)張,通過測量重疊圖像塊的尺度變化,近似表示在縮放正交投影下非旋轉(zhuǎn)場景元素的相對深度,如圖3所示。
同一區(qū)域塊發(fā)生運(yùn)動變換前后的二維投影變換,其描述相同物體相對于相機(jī)運(yùn)動時(shí)在相機(jī)平面的投影變化情況,與相機(jī)的成像光線密切相關(guān)。
圖4給出同一物體在不同時(shí)刻下在相機(jī)平面的投影,由于運(yùn)動造成位姿變換進(jìn)而導(dǎo)致投影大小發(fā)生改變,其中 Z 表示該物體的深度信息, W 表示物體尺寸,通過同一物體在不同幀中于相機(jī)平面的投影 w 的比值,可以一定程度上推導(dǎo)出物體深度的變換情況,如式(4)所示。
引入兩處投影比值 τ 間接表示同一物體的深度變換情況,將場景建模為相對于相機(jī)的運(yùn)動矢量,從而分解出相機(jī)運(yùn)動:
(5)其中:t表示“歸一化場景流”,指向真實(shí)三維場景流方向的向量。它可以在知道運(yùn)動深度 τ 和相機(jī)內(nèi)參矩陣 K 的基礎(chǔ)上從二維流
進(jìn)行升維得到,即歸一化的場景流可以進(jìn)一步升級為真正的三維場景流,消除極線平面內(nèi)移動點(diǎn)的歧義。至此約束式(3)中的深度變化量,轉(zhuǎn)換出共面運(yùn)動下的三維流運(yùn)動:
其中: T 表示整流后的三維流,表示一個(gè)點(diǎn)的矯正三維場景流的方向與相機(jī)運(yùn)動方向不一致,則判定該點(diǎn)正在運(yùn)動。通過加入深度的歸一化,完成處理共面運(yùn)動導(dǎo)致的模糊性,彌補(bǔ)對極幾何在處理特殊環(huán)境時(shí)的嚴(yán)重缺陷。
1.3 圖優(yōu)化
剔除方案通過直接剔除分割網(wǎng)絡(luò)獲取的動態(tài)像素及修復(fù)算法彌補(bǔ)空洞的方式降低動態(tài)物體干擾。然而,當(dāng)系統(tǒng)處于高動態(tài)環(huán)境時(shí),去除產(chǎn)生的空洞區(qū)域?qū)⑦^于巨大。此時(shí)定位系統(tǒng)將損失過量的語義信息,后續(xù)的圖像修復(fù)工作也會由于缺失必要的語義像素值無法填補(bǔ)空洞,最終導(dǎo)致系統(tǒng)跟蹤丟失。GMS-SLAM引入普遍場景下的剛性假設(shè),針對于環(huán)境中被判定為動態(tài)對象的物體建立運(yùn)動約束和剛性約束。
圖5表示運(yùn)動對象的因子圖,其中綠色方塊代表不同時(shí)間步長的相機(jī)姿勢,紅色代表不同時(shí)間步的對象上的同一動態(tài)點(diǎn),黑色代表相鄰幀之間的對象姿勢變化(見電子版)。利用運(yùn)動因子與剛性因子構(gòu)建損失值,細(xì)化相機(jī)姿態(tài)和物體運(yùn)動的表示。
本模塊的目標(biāo)為優(yōu)化相機(jī)位姿,通過降低重投影誤差值的方法獲取更優(yōu)化的位姿坐標(biāo),誤差函數(shù)由式(7)給出。
其中: 0mki 為全局參考系下 k 時(shí)刻觀察到的三維點(diǎn)坐標(biāo); 為相機(jī)坐標(biāo)系下的二維坐標(biāo);通過最小化重新投影誤差的方式估計(jì)相機(jī)姿態(tài) 0Xk 。利用李代數(shù) xk 參數(shù)化相機(jī)位姿,可以將式(7)優(yōu)化為
其中: nb 指代連續(xù)幀之間的所有可見三維點(diǎn)的對應(yīng)組; ρh 指代Huber函數(shù); Σ 表示與重新投影誤差相關(guān)的協(xié)方差矩陣。
式(7)和(8)僅考慮單獨(dú)的運(yùn)動約束作為邊的情況,對相機(jī)細(xì)化位姿信息的幫助有限??紤]到高動態(tài)場景下的運(yùn)動物體大多包含車輛與行人,GMS-SLAM額外加入剛性約束作為條件,幫助相機(jī)確立精準(zhǔn)的位姿。
如圖6所示, ??pki 與 pkj 表示在同一對象中的第 i 和 j 個(gè)三維點(diǎn),根據(jù)標(biāo)準(zhǔn)剛性物體具有的無形變特性建立約束條件。車輛頂點(diǎn)間的相對距離永遠(yuǎn)保持不變,相似地將行人建模為多骨骼的剛性人偶,利用人偶的關(guān)節(jié)作為剛性模型,將行人納入到剛性約束的條件中。受此啟發(fā),利用剛性約束對類行人的動態(tài)關(guān)節(jié)對象與車輛的標(biāo)準(zhǔn)剛性物體進(jìn)行建模,可以將剛性誤差 e 定義為
er=∣∣pki-pkj∣-sij∣
利用光束法平差最小化觀測值與模型預(yù)測值之間的誤差,可以聯(lián)合優(yōu)化上述提到的三維點(diǎn)坐標(biāo) P 和相機(jī)位姿 X .
其中: 是指三維點(diǎn)的協(xié)方差矩陣,包含關(guān)于相機(jī)位姿和相機(jī)參數(shù)的大量信息。通過最小化式(10)中的重投影誤差量將相機(jī)位姿向真實(shí)位姿矯正。
GMS-SLAM通過將對行人骨骼、車輛等剛性物體建立運(yùn)動約束和剛性約束方程,聯(lián)合構(gòu)成如圖5所示的因子圖,輸出優(yōu)化后的相機(jī)位姿信息使SLAM系統(tǒng)定位更精確。
1.4聯(lián)合細(xì)化
運(yùn)動分割利用殘差光流與精準(zhǔn)的相機(jī)位姿判別動態(tài)對象;圖優(yōu)化通過引入剛度約束和運(yùn)動約束建模動態(tài)對象,可以校正相機(jī)姿態(tài)估計(jì)??紤]到兩者存在相互依賴性,GMS-SLAM將運(yùn)動分割網(wǎng)絡(luò)與圖優(yōu)化網(wǎng)絡(luò)放入整體框架,通過多次迭代達(dá)到互補(bǔ)。
算法1中,初始化變量 χi 為0表示當(dāng)前沒有任何額外的優(yōu)化模塊協(xié)助,分割網(wǎng)絡(luò)僅依賴于連續(xù)幀 I 及其光流變化來進(jìn)行動態(tài)物體分割。由于缺乏精確的相機(jī)位姿信息,首次分割結(jié)果Stt+1 往往不理想。
算法1迭代優(yōu)化算法
else
return δRIT
針對靜態(tài)背景部分,采用經(jīng)典的對極幾何方法分析圖像對之間的幾何關(guān)系以獲取粗略的相機(jī)位姿信息 iR∣iT 對于動態(tài)部分,為進(jìn)一步提升相機(jī)位姿信息的準(zhǔn)確性,引入圖優(yōu)化技術(shù),關(guān)于具體的圖優(yōu)化模型已在1.3節(jié)中詳細(xì)闡述。針對動態(tài)對象的額外處理能夠在一定程度上彌補(bǔ)初始分割過程中由于位姿信息不準(zhǔn)確帶來的不足,細(xì)化分割結(jié)果,提高動態(tài)物體分割的準(zhǔn)確性。第二次迭代開始就能從圖優(yōu)化模塊中獲取到較精細(xì)的相機(jī)位姿( (?iR)∣T)op 作為額外的信息補(bǔ)充,憑借運(yùn)動分割與相機(jī)位姿的強(qiáng)相關(guān)性極大程度優(yōu)化分割效果,獲得更準(zhǔn)確的動態(tài)對象二值掩膜 。
為避免無限迭代產(chǎn)生過大的計(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)行對比實(shí)驗(yàn)。與當(dāng)前主流動態(tài)算法在 KITII[15] 數(shù)據(jù)集的部分動態(tài)序列和 Shibuya[7]數(shù)據(jù)集上進(jìn)行對比。
圖7展示本系統(tǒng)在每次迭代時(shí)分割網(wǎng)絡(luò)輸出的動態(tài)掩膜,白色輪廓表明網(wǎng)絡(luò)識別出的動態(tài)對象,后續(xù)需要通過圖優(yōu)化等模塊進(jìn)行處理;黑色表明輸出的靜態(tài)背景,用于初步估計(jì)相機(jī)位姿。第一次迭代中分割網(wǎng)絡(luò)的識別能力較弱,這是因?yàn)樵谠缙诘校烙?jì)的運(yùn)動不太準(zhǔn)確導(dǎo)致分割輸出中出現(xiàn)假陽性,在這個(gè)時(shí)候運(yùn)動分割表現(xiàn)較差。
二次迭代后,通過來自于后端的圖優(yōu)化模塊的幫助,迭代結(jié)果逐漸獲得更為精準(zhǔn)的相機(jī)位姿信息。此信息對于運(yùn)動分割網(wǎng)絡(luò)在判定動態(tài)對象方面具有關(guān)鍵作用,將幫助運(yùn)動分割網(wǎng)絡(luò)進(jìn)一步判定動態(tài)對象。經(jīng)過多次嘗試和實(shí)驗(yàn)驗(yàn)證,最終將迭代次數(shù)定為五次。在保證相機(jī)位姿和運(yùn)動分割精準(zhǔn)度的前提下,這樣的迭代次數(shù)能夠顯著減少計(jì)算量。
2.1KITTI數(shù)據(jù)集實(shí)驗(yàn)分析
為探尋本文算法對動態(tài)環(huán)境處理的有效性,選用追蹤集合中動態(tài)對象較多的序列作為實(shí)驗(yàn)系統(tǒng)的重點(diǎn)比對樣例,并且為評估系統(tǒng)性能,采用絕對軌跡誤差(ATE)比較系統(tǒng)估計(jì)的整體軌跡與真實(shí)軌跡之間的差異。表1列出各算法的絕對軌跡誤差,本文算法在所有序列中均保持一定的優(yōu)勢地位。特別是在絕大多數(shù)序列上,其精度表現(xiàn)優(yōu)于DynaSLAM和VDO-SLAM,其中前者為典型的動態(tài)剔除策略,而后者為初步采用運(yùn)動約束對統(tǒng)進(jìn)行圖優(yōu)化的策略。在7個(gè)動態(tài)序列中,本文算法顯著優(yōu)于其他方案。盡管相較于DROID-SLAM的提升不明顯,但DROID-SLAM通過稠密的光束法平差層對相機(jī)姿態(tài)和像素深度進(jìn)行反復(fù)迭代更新,極為耗時(shí)。
CC通過協(xié)調(diào)多個(gè)神經(jīng)網(wǎng)絡(luò)在無監(jiān)督條件下共同解決單視圖深度預(yù)測、相機(jī)運(yùn)動估計(jì)、光流估計(jì)和場景靜動態(tài)分割,相互協(xié)調(diào)輸出各個(gè)子問題均最優(yōu)的結(jié)果。DytanVO在內(nèi)參層的訓(xùn)練使得系統(tǒng)能夠適應(yīng)多種未知環(huán)境,快速建立跟蹤的基礎(chǔ)上引入基于幾何的分割網(wǎng)絡(luò)作為前端,使其能夠在高動態(tài)的現(xiàn)實(shí)世界依然具有極大競爭力。而GMS-SLAM方案在幾何分割的基礎(chǔ)上引入了圖優(yōu)化算法,更進(jìn)一步加強(qiáng)系統(tǒng)在動態(tài)環(huán)境的定位精準(zhǔn)度。表1可得GMS-SLAM在多個(gè)序列中的精準(zhǔn)度均優(yōu)于DytanVO算法,表明圖優(yōu)化模塊的引入在處理動態(tài)環(huán)境上的有效性,能夠輔助系統(tǒng)處理動態(tài)對象。
序列03中多幀圖像出現(xiàn)大量汽車的突然進(jìn)入和突然消失,此時(shí)對極約束的失效將導(dǎo)致算法層面上無法識別到這個(gè)正在運(yùn)動的車輛,后續(xù)的處理將其作為靜態(tài)背景而不是運(yùn)動對象。序列08中,多個(gè)大型車輛的突然出現(xiàn)遮擋大部分視野,它們在相機(jī)平面中占據(jù)極大面積,光學(xué)投影面積膨脹效果極不明顯,分割失效導(dǎo)致背景和動態(tài)對象判定混亂,進(jìn)而使系統(tǒng)定位效果和魯棒性差,絕對軌跡誤差相比預(yù)期過大。
2.2Shibuya數(shù)據(jù)集實(shí)驗(yàn)分析
為進(jìn)一步驗(yàn)證本文算法在高動態(tài)場景下的優(yōu)勢,選擇Shibuya數(shù)據(jù)集對當(dāng)前流行的動態(tài)方法進(jìn)行對比,如圖8(b)所示。該數(shù)據(jù)集分為standinghuman(大多數(shù)人站在原地,少數(shù)人移動)、roadcrossing-easy(包含多人在攝像機(jī)視野內(nèi)走動)和roadcrossing-hard(大量人群在攝像機(jī)視野內(nèi)走動,并隨時(shí)可能停在原地)三個(gè)難度級別,結(jié)果如表2所示。
本文算法在所有子序列中均處于優(yōu)勢地位,特別在路口序列組的II\~VII中優(yōu)勢明顯。以DynaSLAM為代表的剔除方案因需要對圖像中的許多像素進(jìn)行剔除,如果剔除部分過多、將導(dǎo)致圖像修復(fù)模塊無法獲取足夠的語義信息,系統(tǒng)追蹤的關(guān)鍵點(diǎn)數(shù)量不足,最終導(dǎo)致系統(tǒng)表現(xiàn)力弱。
AirDOS[7]方案采用簡單的運(yùn)動約束構(gòu)建圖優(yōu)化模型,這使得它在處理少量對象時(shí)表現(xiàn)較為優(yōu)秀,但在動態(tài)對象豐富的序列中VI與VII表現(xiàn)不如本文算法;定量上講,與AirDOS和Dyna-SLAM等動態(tài)算法相比,本文算法的性能平均提升超過 90% ,證明本算法采用的運(yùn)動分割網(wǎng)絡(luò)效果在一定程度上優(yōu)于語義分割,可以為圖優(yōu)化模塊提高更細(xì)致的動態(tài)對象劃分。相比TartanVO,其改進(jìn)方案DytanVO進(jìn)一步考慮了動態(tài)對象,并引人了SLAM常用的光束法平差調(diào)整,在各個(gè)序列中表現(xiàn)更好,與本文算法的區(qū)別在于它沒有完整的圖優(yōu)化算法,缺乏主動處理動態(tài)對象的能力。DytanVO容易受到動態(tài)對象的干擾,單純的光束法平差優(yōu)化容易失效,導(dǎo)致其絕對軌跡誤差高于本算法。
2.3 時(shí)間分析
記錄NVIDIARTX2080TiGPU相同硬件下同樣采用運(yùn)動分割的DytanVO和本文算法于Shibuya數(shù)據(jù)集中每一幀完整處理的平均時(shí)間損耗,如表3所示。
本文算法在多次嘗試后將迭代次數(shù)衰減到五次,五次后相機(jī)位姿的迭代優(yōu)化量過低浪費(fèi)計(jì)算資源。如表3所示,GMS-SLAM在效率上有所下降,原因在于每次迭代時(shí)結(jié)合了分割網(wǎng)絡(luò)與圖優(yōu)化模塊,圖優(yōu)化確實(shí)引人了額外的計(jì)算開銷。然而,由于圖優(yōu)化模塊僅處理被判定為動態(tài)的對象部分,所以計(jì)算復(fù)雜度的提升并不顯著,平均計(jì)算時(shí)間相較于DytanVO增加約10% 。總體而言,盡管引入圖優(yōu)化模塊增加了計(jì)算量,但僅限于動態(tài)對象的處理,導(dǎo)致時(shí)間開銷提升較為有限。
2.4 消融實(shí)驗(yàn)
為驗(yàn)證本文提出的運(yùn)動分割算法和圖優(yōu)化算法對系統(tǒng)性能的影響,在澀谷數(shù)據(jù)集的序列Ⅱ和VII上進(jìn)行消融實(shí)驗(yàn),結(jié)果如表4所示。表中,baseline表示僅采用運(yùn)動約束處理動態(tài)場景的VDO-SLAM系統(tǒng),baseline Ω?+MS 表示將VDO-SLAM中的語義分割替換為運(yùn)動分割模塊;baseline +GO 則表示加人額外剛性約束的圖優(yōu)化算法替代原本單純的光束法平差優(yōu)化。
圖9給出各方案的絕對軌跡誤差曲線,聯(lián)合表4可以發(fā)現(xiàn),通過將運(yùn)動分割網(wǎng)絡(luò)替代實(shí)例分割網(wǎng)絡(luò)后,對系統(tǒng)有一定的促進(jìn)意義,運(yùn)動分割網(wǎng)絡(luò)更能幫助系統(tǒng)找到當(dāng)前幀真正運(yùn)動的對象,然后輸入到優(yōu)化模塊中,如果出現(xiàn)將未運(yùn)動的對象判給后端,將大幅增加不必要的計(jì)算量。為系統(tǒng)添加GO模塊同樣對系統(tǒng)性能提升具有幫助,當(dāng)GO與MS模塊相結(jié)合時(shí),對系統(tǒng)精度的提升效果更為顯著。
3結(jié)束語
本文提出一種針對高動態(tài)場景的SLAM系統(tǒng),通過聯(lián)合運(yùn)動分割網(wǎng)絡(luò)與圖優(yōu)化模塊共同細(xì)化相機(jī)位姿信息。前者利用光學(xué)膨脹彌補(bǔ)基于對極約束的幾何方法可能產(chǎn)生的運(yùn)動退化問題,保證逐幀判別對象的動態(tài)實(shí)時(shí)性;后者利用剛性物體在運(yùn)動中對應(yīng)特征點(diǎn)之間的距離不變性對動態(tài)對象進(jìn)行建模并與運(yùn)動約束聯(lián)合優(yōu)化相機(jī)位姿。在公開數(shù)據(jù)集上的實(shí)驗(yàn)表明,GMS-SLAM在高動態(tài)環(huán)境具備一定程度的優(yōu)勢,絕對軌跡誤差均低于當(dāng)前主流方案,具備出色的魯棒性。但圖優(yōu)化的假設(shè)嚴(yán)重依賴于剛性物體對象的假設(shè),若圖像中出現(xiàn)可變彈性物體會導(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]何銘臻,何元烈,胡濤,融合語義信息的視覺慣性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]陳帥,周非,吳凱,語義線特征輔助的動態(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.