既能保證效率和精度,又無(wú)需GPU,行業(yè)第一個(gè)達(dá)到此目標(biāo)的視覺(jué)動(dòng)態(tài)SLAM系統(tǒng)。
01摘要
在動(dòng)態(tài)環(huán)境中實(shí)現(xiàn)準(zhǔn)確且魯棒的相機(jī)跟蹤對(duì)于視覺(jué)SLAM是一個(gè)重大挑戰(zhàn)。本文提出了一種新穎的視覺(jué)SLAM系統(tǒng),通過(guò)引入掩模預(yù)測(cè)機(jī)制,在CPU上實(shí)現(xiàn)了實(shí)時(shí)性能。該系統(tǒng)還引入了雙階段光流跟蹤方法,并采用光流和ORB特征的混合使用,顯著提高了效率和魯棒性。與當(dāng)前最先進(jìn)方法相比,在動(dòng)態(tài)環(huán)境中保持了高精度定位,并在單臺(tái)筆記本電腦CPU上以56幀每秒的跟蹤速率運(yùn)行而無(wú)需任何硬件加速。這證明即使沒(méi)有GPU支持,深度學(xué)習(xí)方法仍然可應(yīng)用于動(dòng)態(tài)SLAM。根據(jù)目前已有信息,這是第一個(gè)達(dá)到此目標(biāo)的SLAM系統(tǒng)。
02概述
SLAM研究的一個(gè)關(guān)鍵焦點(diǎn)是視覺(jué)SLAM,即利用攝像頭進(jìn)行定位和建圖。盡管已有許多視覺(jué)SLAM算法在各種場(chǎng)景中展示了高精度的跟蹤性能,但其中大多數(shù)都是在靜態(tài)環(huán)境假設(shè)下設(shè)計(jì)的。因此,在動(dòng)態(tài)環(huán)境下,基于這些方法進(jìn)行攝像頭跟蹤時(shí)通常會(huì)遇到漂移問(wèn)題,從而導(dǎo)致定位精度大大降低。
隨著計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)的進(jìn)步,許多SLAM算法將深度學(xué)習(xí)模型融入其中,根據(jù)語(yǔ)義信息在輸入圖像中識(shí)別和過(guò)濾潛在的動(dòng)態(tài)物體,這在動(dòng)態(tài)環(huán)境中的跟蹤精度方面帶來(lái)了顯著提升。然而,采用深度神經(jīng)網(wǎng)絡(luò)通常會(huì)導(dǎo)致計(jì)算要求大幅增加和跟蹤時(shí)間延長(zhǎng)。
這是因?yàn)橄鄼C(jī)跟蹤需要等待深度學(xué)習(xí)模型為每個(gè)輸入幀提供的動(dòng)態(tài)物體掩模。因此,動(dòng)態(tài)環(huán)境中的SLAM越來(lái)越注重提高效率。然而,目前實(shí)現(xiàn)實(shí)時(shí)性能的方法要么僅能有限地提高效率,要么在定位精度方面存在妥協(xié),并且仍然依賴于GPU。
為此,本文提出NGD-SLAM,這是一種無(wú)需GPU支持的實(shí)時(shí)SLAM系統(tǒng),適用于動(dòng)態(tài)環(huán)境。該系統(tǒng)基于ORB-SLAM3框架,并包含一個(gè)用于動(dòng)態(tài)對(duì)象檢測(cè)的語(yǔ)義線程(YOLO)。本文的一個(gè)核心創(chuàng)新是圖1所示的跟蹤管道。與其專注于部署更輕量級(jí)的深度學(xué)習(xí)模型或在跟蹤過(guò)程中更少地使用它們,該方法將提高效率視為利用過(guò)去的信息快速生成所需當(dāng)前結(jié)果的任務(wù)。具體來(lái)說(shuō),它引入了一種簡(jiǎn)單但非常有效且與框架無(wú)關(guān)的掩模預(yù)測(cè)機(jī)制(如圖2所示),該機(jī)制利用語(yǔ)義線程的先前分割結(jié)果來(lái)預(yù)測(cè)當(dāng)前幀中動(dòng)態(tài)物體的掩模。該機(jī)制可以集成到任何視覺(jué)SLAM框架中,從而使相機(jī)跟蹤和動(dòng)態(tài)物體分割能夠并行執(zhí)行,使得兩個(gè)過(guò)程無(wú)需等待對(duì)方的輸出。為了進(jìn)一步提高魯棒性和效率,該系統(tǒng)采用雙階段跟蹤,使用光學(xué)流方法在圖像之間連續(xù)跟蹤識(shí)別出的動(dòng)態(tài)和靜態(tài)特征,并采用混合策略結(jié)合光學(xué)流和ORB特征的優(yōu)點(diǎn)來(lái)進(jìn)行相機(jī)跟蹤。
通過(guò)全面的實(shí)驗(yàn),NGD-SLAM展示了與當(dāng)前最先進(jìn)方法相似的定位精度,并在所有基準(zhǔn)的實(shí)時(shí)方法中成為最精確的一個(gè)。值得注意的是,它在沒(méi)有硬件加速的情況下,在單個(gè)筆記本電腦CPU上實(shí)現(xiàn)了56fps的跟蹤幀率。
03相關(guān)研究
為了應(yīng)對(duì)動(dòng)態(tài)環(huán)境中的挑戰(zhàn),識(shí)別來(lái)自動(dòng)態(tài)物體的像素或關(guān)鍵點(diǎn)至關(guān)重要。例如,早期研究利用視差幾何約束和貝葉斯方法來(lái)識(shí)別移動(dòng)物體。Klappstein等人利用從光學(xué)流中提取的運(yùn)動(dòng)度量來(lái)檢測(cè)移動(dòng)物體。使用這些傳統(tǒng)方法可以保留SLAM的實(shí)時(shí)特性,但它們?cè)诓煌瑘?chǎng)景下的適應(yīng)性有限,導(dǎo)致定位精度降低。
隨著深度學(xué)習(xí)的進(jìn)步,人們開(kāi)發(fā)出了更多復(fù)雜的方法,利用語(yǔ)義信息在輸入圖像中檢測(cè)或分割動(dòng)態(tài)實(shí)例。在ORB-SLAM2的基礎(chǔ)上,DS-SLAM通過(guò)將SegNet應(yīng)用于動(dòng)態(tài)實(shí)例分割來(lái)提高動(dòng)態(tài)環(huán)境中的定位精度,并保持移動(dòng)一致性檢查的同名幾何約束。同樣地,DynaSLAM采用MaskR-CNN和多視幾何來(lái)消除動(dòng)態(tài)ORB特征。Detect-SLAM沒(méi)有使用分割模型,而是利用YOLO模型進(jìn)行動(dòng)態(tài)對(duì)象檢測(cè),并通過(guò)移動(dòng)概率傳播來(lái)移除動(dòng)態(tài)對(duì)象。最近,CFP-SLAM提出了一種粗到精的靜態(tài)概率方法,通過(guò)計(jì)算和更新靜態(tài)概率作為姿態(tài)優(yōu)化的權(quán)重來(lái)提高定位精度。
雖然基于深度學(xué)習(xí)的方法在準(zhǔn)確性方面取得了顯著的進(jìn)步,但由于深度神經(jīng)網(wǎng)絡(luò)具有計(jì)算密集的特點(diǎn),它們通常需要強(qiáng)大的GPU才能實(shí)現(xiàn)(接近)實(shí)時(shí)性能。而提高效率的一種策略是為深度學(xué)習(xí)模型添加一個(gè)獨(dú)立的語(yǔ)義線程。基于這一想法,常見(jiàn)的方法是并行執(zhí)行特征提取和動(dòng)態(tài)目標(biāo)識(shí)別,但這只能在一定程度上提高效率,因?yàn)楹罄m(xù)的跟蹤過(guò)程必須等待深度神經(jīng)網(wǎng)絡(luò)的輸出。另一方面,一些算法僅將深度學(xué)習(xí)方法應(yīng)用于關(guān)鍵幀,這確實(shí)大大縮短了平均跟蹤時(shí)間,但卻導(dǎo)致準(zhǔn)確性降低。
雖然NGD-SLAM也包括一個(gè)獨(dú)立的深度神經(jīng)網(wǎng)絡(luò)語(yǔ)義線程,但它還有一個(gè)掩碼預(yù)測(cè)機(jī)制,使跟蹤線程能夠完全獨(dú)立地運(yùn)行,無(wú)需等待語(yǔ)義線程的結(jié)果。此外,與那些使用光學(xué)流或場(chǎng)景流來(lái)區(qū)分動(dòng)態(tài)點(diǎn)和靜態(tài)點(diǎn)的方法不同,NGD-SLAM僅使用光學(xué)流方法跟蹤稀疏特征,并將其應(yīng)用于兩個(gè)不同的任務(wù),以提高系統(tǒng)的準(zhǔn)確性和效率。
04所提方案
4.1跟蹤管道
圖1展示了NGD-SLAM的跟蹤管道。首先,將第一幀的圖像數(shù)據(jù)發(fā)送到語(yǔ)義線程,并設(shè)置為關(guān)鍵幀。從語(yǔ)義線程提取ORB特征并使用掩模來(lái)過(guò)濾動(dòng)態(tài)特征;只有第一幀等待獲取掩模。系統(tǒng)隨后在關(guān)鍵幀跟蹤過(guò)程中初始化地圖。對(duì)于后續(xù)幀,系統(tǒng)采用雙階段跟蹤,其中包括根據(jù)預(yù)測(cè)機(jī)制為潛在動(dòng)態(tài)對(duì)象生成掩模,并跟蹤上一幀中的剩余靜態(tài)點(diǎn)以估計(jì)相機(jī)的姿態(tài)。然后決定是否設(shè)置新的關(guān)鍵幀。如果需要設(shè)置新的關(guān)鍵幀,系統(tǒng)從當(dāng)前幀中提取靜態(tài)ORB特征,并過(guò)濾掉由動(dòng)態(tài)跟蹤過(guò)程生成的掩模中的特征,然后繼續(xù)使用ORB特征進(jìn)行關(guān)鍵幀跟蹤過(guò)程。
4.2語(yǔ)義線程
NGD-SLAM通過(guò)添加一個(gè)語(yǔ)義線程來(lái)提高實(shí)時(shí)性能,該線程使用YOLO-fastest模型檢測(cè)動(dòng)態(tài)物體。該線程與一個(gè)輸入緩沖區(qū)和一個(gè)輸出緩沖區(qū)協(xié)同工作,每個(gè)緩沖區(qū)存儲(chǔ)一個(gè)幀。新的輸入或輸出幀將替換緩沖區(qū)中現(xiàn)有的幀。從跟蹤線程傳遞到輸入緩沖區(qū)的幀將由網(wǎng)絡(luò)進(jìn)行處理,然后轉(zhuǎn)移到輸出緩沖區(qū)供跟蹤線程訪問(wèn)。這種設(shè)置確保語(yǔ)義線程處理最新的輸入幀,而跟蹤線程無(wú)需等待語(yǔ)義線程的結(jié)果,而是直接從緩沖區(qū)獲取最新的輸出。雖然兩個(gè)線程以不同的頻率運(yùn)行,這意味著從輸出緩沖區(qū)獲取的結(jié)果對(duì)應(yīng)于前一幀的結(jié)果,NGD-SLAM通過(guò)使用此過(guò)期結(jié)果來(lái)預(yù)測(cè)當(dāng)前幀中動(dòng)態(tài)物體的掩模來(lái)補(bǔ)償這一差異。
4.3掩模預(yù)測(cè)
NGD-SLAM的一個(gè)重要模塊是與框架無(wú)關(guān)的掩模預(yù)測(cè)機(jī)制,它也是動(dòng)態(tài)跟蹤的基礎(chǔ)組件。與深度神經(jīng)網(wǎng)絡(luò)的前向過(guò)程相比,該預(yù)測(cè)速度要快得多,在CPU上處理只需幾毫秒。它可以直接應(yīng)用于任何視覺(jué)SLAM框架,并保持其實(shí)時(shí)性能。圖2展示了掩模預(yù)測(cè)的管道,由六個(gè)組件組成。
檢測(cè):在語(yǔ)義線程中使用的YOLO-最快模型用于在幀中檢測(cè)多個(gè)對(duì)象并根據(jù)語(yǔ)義信息識(shí)別潛在的動(dòng)態(tài)對(duì)象。它通過(guò)使用OpenCVDNN與C++兼容。NGD-SLAM使用該模型以提高效率,但允許根據(jù)需要輕松更換其他模型用于對(duì)象檢測(cè)或分割。
分割:使用目標(biāo)檢測(cè)模型比分割網(wǎng)絡(luò)更高效,但它僅提供檢測(cè)對(duì)象的邊界框。為了改進(jìn)這一點(diǎn),NGD-SLAM使用深度信息對(duì)這些框內(nèi)的對(duì)象進(jìn)行分割。在識(shí)別出動(dòng)態(tài)對(duì)象(如人)之后,它會(huì)在每個(gè)框中對(duì)像素深度進(jìn)行排序,并使用中位數(shù)作為該檢測(cè)對(duì)象的估計(jì)深度。然后,將框擴(kuò)大,并將所有接近該深度值的像素屏蔽。這種方法因其計(jì)算效率而優(yōu)于聚類方法。接下來(lái),使用連通組件標(biāo)簽化算法排除那些與主要對(duì)象共享相似深度但不屬于主要對(duì)象的物體掩碼,然后在將掩碼傳遞到輸出緩沖區(qū)之前進(jìn)行膨脹過(guò)程以進(jìn)一步細(xì)化掩碼。
采樣:在識(shí)別出的動(dòng)態(tài)目標(biāo)的掩模上,從中提取動(dòng)態(tài)點(diǎn)。將圖像劃分為大小為15×15的單元格。在每個(gè)單元格中,識(shí)別出滿足FAST關(guān)鍵點(diǎn)準(zhǔn)則的被掩模像素,并選擇閾值最高的像素。如果該單元格中沒(méi)有合適的FAST關(guān)鍵點(diǎn),則在該單元格中隨機(jī)選擇一個(gè)像素。這種網(wǎng)格結(jié)構(gòu)可以實(shí)現(xiàn)動(dòng)態(tài)關(guān)鍵點(diǎn)的均勻提取,并且由于關(guān)鍵點(diǎn)的獨(dú)特性及其與高梯度區(qū)域的關(guān)聯(lián),可以確保跟蹤的穩(wěn)定性。
跟蹤:該系統(tǒng)采用Lucas-Kanade光學(xué)流方法來(lái)跟蹤采樣的動(dòng)態(tài)點(diǎn),該方法假設(shè)關(guān)鍵點(diǎn)在不同幀中的灰度值保持不變。從數(shù)學(xué)上講,這表示為:
其中表示坐標(biāo)為的像素在時(shí)間t的灰度強(qiáng)度值。該方程可以通過(guò)泰勒級(jí)數(shù)進(jìn)一步展開(kāi):
接下來(lái),假設(shè)在一個(gè)小窗口內(nèi)像素的移動(dòng)是均勻的,可以建立一個(gè)優(yōu)化問(wèn)題,利用窗口內(nèi)的像素梯度來(lái)通過(guò)最小化匹配像素的灰度誤差來(lái)估計(jì)像素運(yùn)動(dòng)。
聚類:對(duì)于當(dāng)前幀中的跟蹤動(dòng)態(tài)點(diǎn),應(yīng)用DBSCAN(基于密度的空間聚類算法,帶有噪聲)算法對(duì)彼此靠近的點(diǎn)進(jìn)行聚類,同時(shí)區(qū)分出明顯與任何聚類無(wú)關(guān)的遠(yuǎn)距離點(diǎn)作為噪聲。采用這種方法可以有效地區(qū)分來(lái)自不同動(dòng)態(tài)物體的跟蹤點(diǎn)。此外,通過(guò)考慮每個(gè)跟蹤點(diǎn)的2D位置和深度,該算法可以有效地排除那些明顯偏離聚類或在2D圖像中看似接近但深度差異顯著的點(diǎn)。
預(yù)測(cè):在生成聚類之后,系統(tǒng)會(huì)意識(shí)到當(dāng)前幀中動(dòng)態(tài)實(shí)體的位置。因此,它會(huì)為每個(gè)聚類生成一個(gè)粗略的掩模,通常是一個(gè)矩形,以覆蓋該聚類中的所有點(diǎn)。然后,它會(huì)利用每個(gè)聚類中點(diǎn)的深度信息來(lái)細(xì)化相應(yīng)掩模,使其與動(dòng)態(tài)物體的精確形狀相匹配。如圖2所示,當(dāng)前幀預(yù)測(cè)的掩模非常精確。
4.4雙階段追蹤
動(dòng)態(tài)跟蹤。雖然掩模預(yù)測(cè)機(jī)制本身就具有一定的動(dòng)態(tài)跟蹤能力,但由于其依賴于YOLO進(jìn)行目標(biāo)檢測(cè),有時(shí)可能會(huì)導(dǎo)致動(dòng)態(tài)目標(biāo)跟蹤失敗。例如,當(dāng)相機(jī)旋轉(zhuǎn)時(shí),YOLO可能難以檢測(cè)到物體。因此,當(dāng)語(yǔ)義線程無(wú)法為跟蹤提供掩模時(shí),NGD-SLAM會(huì)采用一種簡(jiǎn)單的解決方案:它使用上一幀預(yù)測(cè)的掩模來(lái)預(yù)測(cè)當(dāng)前幀的掩模。這種方法允許動(dòng)態(tài)點(diǎn)連續(xù)跟蹤,直到動(dòng)態(tài)物體不再出現(xiàn)在攝像頭視野內(nèi),即使深度神經(jīng)網(wǎng)絡(luò)出現(xiàn)問(wèn)題也能實(shí)現(xiàn)。通過(guò)不斷從上一幀跟蹤的掩模中采樣新的跟蹤點(diǎn),而不是在多個(gè)幀中跟蹤相同的點(diǎn),可以確保關(guān)鍵點(diǎn)保持最新?tīng)顟B(tài),并增強(qiáng)跟蹤的魯棒性(如圖3所示)。雖然其他方法涉及從相機(jī)姿態(tài)旋轉(zhuǎn)部分的四元數(shù)表達(dá)式中計(jì)算滾動(dòng)值,但它們通常需要額外的計(jì)算資源。
并使用該值來(lái)旋轉(zhuǎn)圖像進(jìn)行檢測(cè)(圖4)。動(dòng)態(tài)跟蹤的目的是提供在一般情況下的穩(wěn)健跟蹤,因?yàn)橄鄼C(jī)旋轉(zhuǎn)并不是導(dǎo)致檢測(cè)失敗的唯一因素。
靜態(tài)跟蹤。與依賴于ORB特征匹配的原始ORB-SLAM3不同,NGD-SLAM使用與前面描述的相同光學(xué)流方法來(lái)跟蹤上一幀的靜態(tài)關(guān)鍵點(diǎn)。通過(guò)將上一幀的3D地圖點(diǎn)與當(dāng)前幀跟蹤的2D關(guān)鍵點(diǎn)鏈接,形成幾何約束,并根據(jù)以下運(yùn)動(dòng)模型計(jì)算當(dāng)前幀的初始姿態(tài):
其中,表示上一幀的姿態(tài)?;谶@些信息,可以使用RANSAC(隨機(jī)抽樣一致性)算法[7]進(jìn)行迭代估計(jì)實(shí)際姿態(tài)并濾除異常值。
該設(shè)計(jì)基于以下兩個(gè)考慮。首先,當(dāng)動(dòng)態(tài)物體在當(dāng)前幀中出現(xiàn)但未在用于預(yù)測(cè)的幀時(shí),通常會(huì)出現(xiàn)掩模預(yù)測(cè)機(jī)制的失敗。因此,通過(guò)提取每個(gè)幀的新ORB特征并根據(jù)描述符值差異進(jìn)行匹配,可能會(huì)導(dǎo)致動(dòng)態(tài)點(diǎn)之間的匹配或不匹配(如圖5所示)。相比之下,靜態(tài)跟蹤過(guò)程更穩(wěn)健,它通過(guò)基于圖像梯度和濾除噪聲的點(diǎn)跟蹤來(lái)跟蹤多個(gè)幀中的相同靜態(tài)點(diǎn),并在后續(xù)跟蹤中保留這些點(diǎn)。雖然在關(guān)鍵幀跟蹤中也會(huì)提取新的ORB特征,但這是在靜態(tài)點(diǎn)跟蹤不足的情況下進(jìn)行的,這意味著動(dòng)態(tài)物體在多個(gè)幀中已經(jīng)出現(xiàn)了一段時(shí)間。其次,靜態(tài)跟蹤過(guò)程跳過(guò)了非關(guān)鍵幀的耗時(shí)的ORB特征提取,使跟蹤過(guò)程更加高效。
4.5關(guān)鍵幀跟蹤
ORB特征被保留用于關(guān)鍵幀之間建立連接。這使得能夠維護(hù)諸如共視圖圖和局部地圖等ORB-SLAM3關(guān)鍵組件,這些組件對(duì)于穩(wěn)健的跟蹤和高效的數(shù)據(jù)檢索至關(guān)重要。當(dāng)靜態(tài)跟蹤表現(xiàn)不佳時(shí),它還可以作為一種備用跟蹤方法,因?yàn)樗鼘?duì)光照變化和運(yùn)動(dòng)模糊更加魯棒。關(guān)鍵幀跟蹤是通過(guò)使用靜態(tài)跟蹤階段估計(jì)出的姿態(tài)將上一關(guān)鍵幀的地圖點(diǎn)投影到當(dāng)前幀中以獲取匹配并進(jìn)行優(yōu)化來(lái)實(shí)現(xiàn)的。與原始的ORB-SLAM3類似,會(huì)添加新的地圖點(diǎn),并將幀傳遞給局部映射線程進(jìn)行進(jìn)一步優(yōu)化。
05實(shí)驗(yàn)
5.1 實(shí)驗(yàn)設(shè)置
為了進(jìn)行對(duì)比,選擇了當(dāng)前最先進(jìn)的SLAM動(dòng)態(tài)環(huán)境算法以及其他幾種基準(zhǔn)方法,包括DynaSLAM、DS-SLAM、CFP-SLAM、RDS-SLAM和TeteSLAM。此外,還對(duì)不采用雙階段跟蹤(僅保留掩模預(yù)測(cè))的NGD-SLAM進(jìn)行了評(píng)估,以進(jìn)行消融研究。
這些序列展示了各種各樣的攝像機(jī)運(yùn)動(dòng),包括沿xyz軸的平移、顯著的滾轉(zhuǎn)、俯仰變化以及近似于半個(gè)球面的軌跡。為了保證準(zhǔn)確性,選擇了ATE(絕對(duì)軌跡誤差)和RPE(相對(duì)軌跡誤差)作為評(píng)估指標(biāo),RPE測(cè)量的間隔為1秒(30幀)。為了提高效率,它以毫秒為單位測(cè)量執(zhí)行給定函數(shù)所需的時(shí)間。
所有的實(shí)驗(yàn)都在一臺(tái)配備AMD銳龍74800H處理器和NVIDIAGeForce RTX 2060顯卡的筆記本電腦上進(jìn)行。
5.2 實(shí)驗(yàn)結(jié)果
精度。表1展示了NGD-SLAM與各種基線方法在ATERMSE方面的比較。最小誤差值用粗體顯示,同時(shí)附上相應(yīng)的排名(NGD-SLAM無(wú)DST的情況除外,該情況表示與基線實(shí)現(xiàn)相比,誤差是增加還是減少)。顯然,DynaSLAM、CFP-SLAM和NGD-SLAM在所有序列中都表現(xiàn)出很高的精度。然而,DynaSLAM總會(huì)給出略高的誤差,而CFP-SLAM在序列中的表現(xiàn)不如人意,因?yàn)樵摲椒ㄊ褂玫南辔患s束在具有旋轉(zhuǎn)的場(chǎng)景中效果不佳。此外,表2和表3顯示了RPERMSE的比較,NGD-SLAM仍保持著最先進(jìn)的結(jié)果。
值得注意的是,雙階段跟蹤在這里也扮演著至關(guān)重要的角色,因?yàn)橥ǔG闆r下,當(dāng)關(guān)閉雙階段跟蹤時(shí),系統(tǒng)的ATE和RPE都會(huì)增加。這一點(diǎn)在難度較高的序列,如和中尤為明顯。
效率。表4展示了這些動(dòng)態(tài)序列中每幀的平均處理時(shí)間的比較。由于一些算法沒(méi)有開(kāi)源并且在多種設(shè)備上進(jìn)行測(cè)試,因此通過(guò)顯示算法的每幀平均處理時(shí)間與原始ORB-SLAM2/3的每幀平均處理時(shí)間的比值(如在原始文獻(xiàn)中所報(bào)告),可以確保公平的比較。ORB-SLAM2/3的平均跟蹤時(shí)間約為20毫秒;因此,可以將1.65以內(nèi)的值視為實(shí)時(shí)性能。
雖然DynaSLAM和CFP-SLAM的精度很高,但即使在GPU支持下,它們也無(wú)法實(shí)現(xiàn)實(shí)時(shí)性能。RDS-SLAM和TeteSLAM可以在實(shí)時(shí)運(yùn)行,但它們將深度學(xué)習(xí)模型僅應(yīng)用于關(guān)鍵幀,因此犧牲了精度。相比之下,NGD-SLAM和它(不使用DST,僅保留掩模預(yù)測(cè))都可以實(shí)現(xiàn)實(shí)時(shí)性能,并且只需要CPU。
實(shí)時(shí)分析。系統(tǒng)每幀的平均處理時(shí)間為17.88毫秒(56fps),這歸因于非關(guān)鍵幀中光學(xué)流跟蹤的高效性。由于NGD-SLAM的所有組件僅在關(guān)鍵幀跟蹤中涉及,因此進(jìn)一步將實(shí)驗(yàn)細(xì)分,以評(píng)估使用靜態(tài)、動(dòng)態(tài)和關(guān)鍵幀跟蹤方法跟蹤關(guān)鍵幀所需的平均時(shí)間,如表5所示。顯然,使用光學(xué)流的靜態(tài)跟蹤非常高效,盡管動(dòng)態(tài)跟蹤需要稍多的時(shí)間,但組合跟蹤過(guò)程仍能在33.3毫秒(30fps)內(nèi)完成,這仍然符合實(shí)時(shí)性能要求。值得注意的是,盡管YOLO檢測(cè)每幀需要30到40毫秒的時(shí)間,但由于跟蹤和語(yǔ)義線程以不同的頻率并行運(yùn)行,因此未將其計(jì)入該跟蹤時(shí)間。
06結(jié)論
本文介紹了一種適用于動(dòng)態(tài)環(huán)境的實(shí)時(shí)視覺(jué)SLAM系統(tǒng),該系統(tǒng)在CPU上運(yùn)行,并采用了一種與框架無(wú)關(guān)的掩模預(yù)測(cè)機(jī)制,以減輕使用深度學(xué)習(xí)模型帶來(lái)的低效問(wèn)題,同時(shí)保留其在動(dòng)態(tài)物體識(shí)別方面的高準(zhǔn)確性。此外,還開(kāi)發(fā)了一種雙階段跟蹤方法,以彌補(bǔ)掩模預(yù)測(cè)機(jī)制的局限性,進(jìn)一步提高系統(tǒng)的效率。在動(dòng)態(tài)環(huán)境數(shù)據(jù)集上的實(shí)驗(yàn)評(píng)估和與基準(zhǔn)方法的比較表明,NGD-SLAM在準(zhǔn)確性方面與頂級(jí)算法相當(dāng),并在不使用任何硬件加速的情況下,在單臺(tái)筆記本電腦的CPU上實(shí)現(xiàn)了實(shí)時(shí)跟蹤。這一進(jìn)展證明了即使沒(méi)有GPU支持,深度學(xué)習(xí)方法一樣有在增強(qiáng)動(dòng)態(tài)環(huán)境中SLAM系統(tǒng)有效性方面的潛力。
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211799 -
算法
+關(guān)注
關(guān)注
23文章
4612瀏覽量
92910 -
模型
+關(guān)注
關(guān)注
1文章
3244瀏覽量
48848 -
SLAM
+關(guān)注
關(guān)注
23文章
424瀏覽量
31834 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121176
原文標(biāo)題:干貨丨無(wú)需GPU,面向動(dòng)態(tài)環(huán)境的實(shí)時(shí)視覺(jué)SLAM
文章出處:【微信號(hào):gh_c87a2bc99401,微信公眾號(hào):INDEMIND】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論