摘" 要: 目前大多數(shù)的SLAM系統(tǒng)主要針對靜態(tài)場景,然而,在實(shí)際環(huán)境中不可避免地存在許多動(dòng)態(tài)對象,這將大大降低算法的魯棒性和相機(jī)的定位精度。針對動(dòng)態(tài)對象造成的軌跡偏差問題,文中提出一種結(jié)合目標(biāo)檢測網(wǎng)絡(luò)和多視圖幾何結(jié)構(gòu)的動(dòng)態(tài)SLAM算法。首先,基于YOLOv5算法框架,將骨干網(wǎng)絡(luò)CSPDarkNet?53替換為輕量型L?FPN(Lite?FPN)結(jié)構(gòu),并使用VOC2007數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練。與YOLOv5s原始模型相比,新網(wǎng)絡(luò)的計(jì)算量減少了45.73%,檢測速率提高了31.90%;然后,將檢測物體劃分為高動(dòng)態(tài)對象、中動(dòng)態(tài)對象以及低動(dòng)態(tài)對象,利用多視圖幾何方法計(jì)算閾值,并根據(jù)閾值對中高動(dòng)態(tài)對象進(jìn)行二次檢測,以決定是否剔除預(yù)測框中的特征點(diǎn);最后,在TUM數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,該方法在定位精度上平均提升了82.08%,證明了其在準(zhǔn)確性方面的顯著改進(jìn)。
關(guān)鍵詞: 同步定位與地圖構(gòu)建; 動(dòng)態(tài)環(huán)境; 多視圖幾何結(jié)構(gòu); 目標(biāo)檢測; 特征點(diǎn); 輕量型
中圖分類號(hào): TN911.73?34; TP391.41" " " " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " "文章編號(hào): 1004?373X(2025)01?0135?09
Dynamic SLAM algorithm based on object detection and multi?view geometry
YU Qingcang, DONG Genyang, FANG Caiwei, SUN Shusen
(School of Computer Science and Technology (School of Artificial Intelligence), Zhejiang Sci?Tech University, Hangzhou 310018, China)
Abstract: Nowadays, most SLAM (simultaneous localization and mapping) systems mainly focus on static scenes. However, there are many dynamic objects inevitably in the real environment, which will greatly reduce the robustness of the algorithm and the positioning accuracy of the camera. Therefore, a dynamic SLAM algorithm combining object detection network and multi?view geometric structure is proposed to get rid of the trajectory deviation caused by dynamic objects. On the basis of the framework of YOLOv5 algorithm, the backbone network CSPDarkNet?53 is replaced with a lightweight L?FPN (lightweight feature pyramid network) structure, and the dataset VOC2007 is used for pre?training. The parameters of the proposed network is reduced by 45.73%, and its detection rate is increased by 31.90% in comparison with those of the original model YOLOv5s. Then, the detected objects are categorized into high dynamic objects, medium dynamic objects and low dynamic objects. The multi?view geometric method is used to calculate the threshold value, and the medium and high dynamic objects are detected twice based on the threshold value, so as to decide whether to eliminate the feature points in the prediction frame. The experimental results on the dataset TUM show that the positioning accuracy of the proposed method is improved by 82.08% on average, demonstrating significant improvement in accuracy.
Keywords: SLAM; dynamic environment; multi?view geometry; object detection; feature point; lightweight
0" 引" 言
隨著研究的不斷深入,同步定位與建圖(Simultaneous Localization And Mapping, SLAM)的應(yīng)用場景變得愈加廣泛[1]。在復(fù)雜的環(huán)境中,例如室內(nèi)、隧道等GPS信號(hào)弱的地方,SLAM技術(shù)可以利用自身傳感器獲得感知信息,遞增地創(chuàng)建一個(gè)與周圍環(huán)境相一致的地圖,并利用創(chuàng)建的地圖實(shí)現(xiàn)自主定位[2?3]。SLAM的實(shí)現(xiàn)途徑根據(jù)使用的傳感器不同,主要分為聲吶SLAM、激光SLAM和視覺SLAM(VSLAM),相較于激光雷達(dá),相機(jī)具有信息量大、靈活性高、成本低等優(yōu)點(diǎn)[4]。雖然VSLAM在靜態(tài)場景中已經(jīng)表現(xiàn)出了優(yōu)異的性能,例如ORB?SLAM2[5]、ORB?SLAM3[6]。但由于靜態(tài)場景這一假設(shè),當(dāng)有大量動(dòng)態(tài)對象存在于目標(biāo)場景中時(shí),視覺SLAM算法的性能會(huì)顯著下降,這也限制了其在實(shí)際動(dòng)態(tài)環(huán)境中的應(yīng)用[7]。因此,如何在保證實(shí)時(shí)性的前提下,對處于場景中的動(dòng)態(tài)目標(biāo)進(jìn)行檢測和剔除是當(dāng)前的主要挑戰(zhàn)。為了識(shí)別環(huán)境中的動(dòng)態(tài)目標(biāo),研究主要分為三類。
1) 基于多視圖幾何來實(shí)現(xiàn)動(dòng)態(tài)點(diǎn)的剔除,文獻(xiàn)[8]提出了一種稀疏運(yùn)動(dòng)去除(Sparse Motion Removal, SMR)模型,利用當(dāng)前幀與參考幀之間的差異以及連續(xù)幀之間的相似性過濾動(dòng)態(tài)特征,但當(dāng)幀之間的差異過大時(shí),容易出現(xiàn)跟蹤丟失的情況。文獻(xiàn)[9]提出了一種利用相鄰幀間差異來檢測運(yùn)動(dòng)對象的在線運(yùn)動(dòng)去除方法。
2) 通過深度學(xué)習(xí)對輸入的每幀圖像進(jìn)行處理,獲得其語義信息并剔除其中的動(dòng)態(tài)物體。文獻(xiàn)[10]基于ORB?SLAM3,提出使用SparseInst網(wǎng)絡(luò)[11]對圖像幀進(jìn)行語義分割來獲取語義標(biāo)簽和動(dòng)態(tài)對象掩膜,實(shí)現(xiàn)動(dòng)態(tài)對象的去除。文獻(xiàn)[12]提出了將ORB?SLAM2和SegNet相結(jié)合起來的DS?SLAM。該系統(tǒng)首先使用移動(dòng)一致性檢驗(yàn)來判斷潛在的離群值,然后結(jié)合語義分割結(jié)果剔除離群值。文獻(xiàn)[13]提出了YOLO?SLAM,利用YOLOv3檢測可移動(dòng)目標(biāo),然后根據(jù)深度RANSAC方法將特征細(xì)分為動(dòng)態(tài)特征和靜態(tài)特征。但當(dāng)相機(jī)范圍內(nèi)存在大量動(dòng)態(tài)對象時(shí),定位精度會(huì)顯著下降。
3) 基于多視圖幾何和深度學(xué)習(xí)融合的方法。文獻(xiàn)[14]設(shè)計(jì)了一種自適應(yīng)語義分割算法對ORB?SLAM2的跟蹤線程進(jìn)行改進(jìn),并使用全局BA算法優(yōu)化相機(jī)位姿。文獻(xiàn)[15]提出了Blitz?SLAM,利用BlitzNet獲得原始掩膜,然后結(jié)合深度信息和幾何信息對動(dòng)態(tài)特征點(diǎn)進(jìn)行過濾。同時(shí),他們還提出了一種去除點(diǎn)云圖中動(dòng)態(tài)對象創(chuàng)建的噪聲塊的方法,但在實(shí)時(shí)性方面相對較差。
為解決實(shí)際場景中的動(dòng)態(tài)對象問題,本文采用多視圖幾何和深度學(xué)習(xí)結(jié)合的思想,提出了一種輕量級(jí)的動(dòng)態(tài)實(shí)時(shí)SLAM系統(tǒng)。
本文的主要貢獻(xiàn)如下。
1) 提出了一種基于ORB?SLAM2的動(dòng)態(tài)SLAM系統(tǒng),驗(yàn)證了在TUM數(shù)據(jù)集下YG?SLAM(YOLO and Multi?view Geometry SLAM)算法的有效性。
2) 將目標(biāo)檢測線程作為一個(gè)單獨(dú)的線程,為基于對象運(yùn)動(dòng)層次劃分的輕量級(jí)目標(biāo)檢測網(wǎng)絡(luò)提供先驗(yàn)知識(shí),同時(shí)引入多視圖幾何方法,對特征點(diǎn)進(jìn)行二次判斷,增加其可靠性。
3) YOLOv5原本的CSPDarkNet?53網(wǎng)絡(luò)被輕量級(jí)的L?FPN網(wǎng)絡(luò)取代,用于減少目標(biāo)識(shí)別的時(shí)間開銷,從而提高整個(gè)系統(tǒng)的實(shí)時(shí)性能。
1" YG?SLAM系統(tǒng)
1.1" 算法流程
在ORB?SLAM2的基礎(chǔ)上,加入目標(biāo)檢測線程和多視圖幾何方法,圖1描述了該系統(tǒng)的整體框架圖。首先,相機(jī)對圖像數(shù)據(jù)進(jìn)行收集;然后,傳遞給跟蹤線程進(jìn)行預(yù)處理,通過輕量級(jí)的LG?YOLOv5s算法識(shí)別所有的先驗(yàn)動(dòng)態(tài)對象,同時(shí)利用多視圖幾何線程對圖像中的動(dòng)態(tài)特征點(diǎn)進(jìn)行再識(shí)別;其次,將LG?YOLOv5s算法的識(shí)別結(jié)果與基于多視圖幾何方法得到的運(yùn)動(dòng)狀態(tài)信息相結(jié)合,用于提取動(dòng)態(tài)對象區(qū)域;最后,去除動(dòng)態(tài)對象區(qū)域的特征點(diǎn),將只有靜態(tài)特征的幀輸入到跟蹤線程中和映射構(gòu)造線程中,以提高SLAM系統(tǒng)的精度和魯棒性。
1.2" 目標(biāo)分類
為了識(shí)別圖像中物體的狀態(tài),將其分為高動(dòng)態(tài)對象、中動(dòng)態(tài)對象、低動(dòng)態(tài)對象三類。
高動(dòng)態(tài)對象主要是人和動(dòng)物,他們能進(jìn)行自主的移動(dòng);中動(dòng)態(tài)對象主要是椅子、書、鍵盤等小型可以輕易移動(dòng)的物體;低動(dòng)態(tài)對象主要是冰箱、貨物柜、電視這些大型不易移動(dòng)的物體。對于低動(dòng)態(tài)對象,在進(jìn)行處理時(shí)不加入多視圖幾何方法的判斷,以減少時(shí)間開銷。
1.3" 輕量級(jí)LG?YOLOv5s網(wǎng)絡(luò)
YOLOv5是一種基于深度學(xué)習(xí)的目標(biāo)檢測算法,網(wǎng)絡(luò)結(jié)構(gòu)主要由四個(gè)部分組成:輸入(Input)、主干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)和頭部網(wǎng)絡(luò)(Head)。數(shù)據(jù)在輸入主干網(wǎng)絡(luò)之前先進(jìn)行預(yù)處理,包括Mosaic數(shù)據(jù)增強(qiáng)。接著從主干網(wǎng)絡(luò)處理后的圖像中提取相關(guān)特征,然后頸部網(wǎng)絡(luò)對提取的特征進(jìn)行融合,產(chǎn)生三種不同的特征大小:大(76×76×255)、中(38×38×255)和?。?9×19×255)。最后將這些融合的特征指向檢測頭,并通過檢測過程生成輸出結(jié)果。YOLOv5設(shè)計(jì)了兩種CSP結(jié)構(gòu),分別應(yīng)用于主干網(wǎng)絡(luò)(Backbone)和頸部網(wǎng)絡(luò)(Neck)中,CSP結(jié)構(gòu)的核心思想是將主干網(wǎng)絡(luò)的特征圖分為兩個(gè)路徑,并跨階段進(jìn)行部分特征融合,以此來提高特征表達(dá)的準(zhǔn)確性和有效性。但由于CSP結(jié)構(gòu)需要額外的參數(shù)來建立主路徑和跨階段路徑之間的連接和融合操作,造成了計(jì)算復(fù)雜度的增加和模型參數(shù)量的增加,存在過擬合的風(fēng)險(xiǎn)。為保證系統(tǒng)在參數(shù)減少的情況下,仍具有較高的準(zhǔn)確性,本文設(shè)計(jì)了一種輕量級(jí)的L?FPN(Lightweight Feature Pyramid Network)進(jìn)行代替。
L?FPN基于FPN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行實(shí)現(xiàn),使用Ghost模塊(GhostConv+C3Ghost)代替FPN中普通的[3×3]卷積,減少計(jì)算量,實(shí)現(xiàn)同時(shí)檢測圖像中的多個(gè)物體并提供它們的位置和類別信息,將其稱為LG?YOLOv5s(Light Ghost YOLOv5),其結(jié)構(gòu)圖如圖2所示。
自底向上進(jìn)行特征提取,逐漸減小特征圖的尺寸,同時(shí)提取更加抽象的語義信息。接著自頂向下將較低分辨率的特征圖進(jìn)行上采樣操作,使其與較高分辨率的特征圖具有相同的尺寸,用于恢復(fù)丟失的細(xì)節(jié)。在自頂向下的過程中,F(xiàn)PN通過特征融合操作將上采樣的特征圖與對應(yīng)分辨率自底向上的特征圖進(jìn)行融合,以綜合利用不同尺度上的特征信息,圖3為特征提取過程。
GhostConv模塊將普通卷積分為兩部分,分別是一個(gè)普通的1×1卷積和一個(gè)深度可分離卷積。其中:1×1卷積的作用是進(jìn)行特征整合,生成輸入特征層的特征濃縮;深度可分離卷積是利用上面的這一結(jié)果生成Ghost特征圖,之后將特征圖與特征層進(jìn)行堆疊,獲得輸出特征層,完成Ghost模塊的構(gòu)建,如圖4所示。
使用VOC2007數(shù)據(jù)集對模型進(jìn)行訓(xùn)練,數(shù)據(jù)集主要包含人、鍵盤、顯示器、鼠標(biāo)等80個(gè)類別。重要超參數(shù)設(shè)置如下:[lr0](初始學(xué)習(xí)率)為0.01,momentum(學(xué)習(xí)率動(dòng)量)為0.937,weight_decay(權(quán)重衰減系數(shù))為0.000 5,box(IoU損失系數(shù))為0.05,cls(cls損失系數(shù))為0.5,IoU_[t](IoU訓(xùn)練時(shí)間閾值)為0.20,batch?size(批處理大?。?,訓(xùn)練周期是100輪。
YOLOv5s和LG?YOLOv5s在訓(xùn)練后得到的結(jié)果如表1所示。
在參數(shù)量上,LG?YOLOv5s比傳統(tǒng)YOLOv5s減少46.06%,計(jì)算量減少45.73%,通過犧牲部分精度來提高系統(tǒng)的運(yùn)行速度。
1.4" 多視圖幾何方法
多視圖幾何方法描述了來自同一個(gè)場景的不同圖像如何從多個(gè)角度相互投影到彼此。本文通過多幀之間圖像的位置約束去除具有較大誤差的特征點(diǎn)。根據(jù)3D點(diǎn)[X],對每一個(gè)關(guān)鍵點(diǎn)[x]計(jì)算前一個(gè)關(guān)鍵幀到當(dāng)前關(guān)鍵幀的投影點(diǎn)[x']和投影深度[dh]。為此,需要給定前一個(gè)關(guān)鍵幀的位姿[Tcwprev]和當(dāng)前關(guān)鍵幀的位姿[Tcwcurr],計(jì)算從前一個(gè)關(guān)鍵幀到當(dāng)前關(guān)鍵幀的相對變換[Tprev_curr]。
[Tprev_curr=Tcwcurr?T-1cwprev," " Tcw=Rt0T1] (1)
式中:[Tcw]是相機(jī)位姿(世界坐標(biāo)系到相機(jī)坐標(biāo)系的變換);[R]是3×3旋轉(zhuǎn)矩陣;[t]是3×1平移向量。
將[X]從前一個(gè)關(guān)鍵幀的相機(jī)坐標(biāo)系變換到當(dāng)前關(guān)鍵幀的相機(jī)坐標(biāo)系。設(shè)[x]在關(guān)鍵幀[kf]的相機(jī)坐標(biāo)系中的坐標(biāo)為[Pprev],在當(dāng)前關(guān)鍵幀的相機(jī)坐標(biāo)系中的坐標(biāo)為[Pcurr]。
[Pcurr=Rprev_currPprev+tprev_curr] (2)
式中:[Pcurr=[Xcurr,Ycurr,Zcurr]T];[Rprev_curr]和[tprev_curr]分別是相對變換的旋轉(zhuǎn)矩陣和平移向量。
將變換后的[Pcurr]投影到當(dāng)前關(guān)鍵幀平面上[x'],設(shè)相機(jī)內(nèi)參矩陣為[J],則有:
[x'=JXcurr ZcurrYcurr Zcurr1] (3)
[J=fx0cx0fycy001] (4)
式中:[fx]、[fy]、[cx]和[cy]是相機(jī)的內(nèi)參系數(shù)。
接著計(jì)算由關(guān)鍵點(diǎn)[x]、投影點(diǎn)[x']以及3D點(diǎn)[X]形成的角度[p]。如果[p]大于某個(gè)閾值,則認(rèn)為該點(diǎn)被阻塞,不做處理。在本文中設(shè)置閾值為25°。在TUM數(shù)據(jù)集中,對于視差角大于25°的對象則判定為是動(dòng)態(tài)的。[x']與深度值[d']相對應(yīng),在誤差允許的范圍內(nèi),將其與[dh]進(jìn)行比較,如果[x']超過某個(gè)閾值也被認(rèn)為是動(dòng)態(tài)對象。深度值[dh]是通過將關(guān)鍵點(diǎn)[x]從圖像坐標(biāo)系投影到相機(jī)坐標(biāo)系中的值。投影深度用于檢測不同幀之間物體的位置變化。對于靜態(tài)對象,相鄰幀之間的變化小,相對穩(wěn)定,而動(dòng)態(tài)對象的投影深度由于位置的不同會(huì)發(fā)生明顯的變化,具體如圖5所示。
通過比較關(guān)鍵點(diǎn)的投影深度,確定一個(gè)點(diǎn)是否對應(yīng)于一個(gè)動(dòng)態(tài)對象。
[Δd=dh-d'] (5)
如果[Δd]超過設(shè)定閾值[δd],則認(rèn)為[x']區(qū)域?yàn)閯?dòng)態(tài)對象。本文設(shè)定的[δd]=0.4 m,通過手動(dòng)標(biāo)記TUM數(shù)據(jù)集中50幅圖像的動(dòng)態(tài)對象,評(píng)估在不同閾值下的精度([precision])和召回率([recall])。
[measuremax=0.7×precision+0.3×recall] (6)
根據(jù)式(6)得到最佳閾值[δd]=0.4 m。
1.5" 融合去除
使用LG?YOLOv5s網(wǎng)絡(luò)對目標(biāo)檢測框中的動(dòng)態(tài)特征點(diǎn)進(jìn)行標(biāo)記,并采用多視圖幾何法進(jìn)行二次驗(yàn)證。如果多視圖幾何方法判斷位于目標(biāo)檢測框中的特征點(diǎn)也為動(dòng)態(tài)特征點(diǎn),則最終確定為動(dòng)態(tài)特征點(diǎn),否則為靜態(tài)特征點(diǎn)。對于目標(biāo)檢測框中沒有特征點(diǎn)的區(qū)域,不做處理。
LG?YOLOv5目標(biāo)檢測網(wǎng)絡(luò)對圖像進(jìn)行預(yù)測后,生成的邊界框位置參數(shù)分別為[x]、[y]、[w]、[h],[x]和[y]表示相對于原始圖像的中心坐標(biāo),[w]和[h]表示相對于原始圖像的長度和寬度。以檢測框[K]為例,將位置參數(shù)轉(zhuǎn)換為原始圖像下的左上角和右下角坐標(biāo)[XK1,YK1],[XK2,YK2],在圖6中,黑點(diǎn)為靜態(tài)特征點(diǎn),白點(diǎn)為動(dòng)態(tài)特征點(diǎn),多視圖幾何線程用于識(shí)別和消除動(dòng)態(tài)特征點(diǎn),[XK1,YK1]和[XK2,YK2]依據(jù)目標(biāo)檢測和FAST角點(diǎn)檢測共同獲得。
預(yù)測框中包含的ORB特征點(diǎn)是由先驗(yàn)知識(shí)判斷的未定性動(dòng)態(tài)特征點(diǎn),預(yù)測框外的特征點(diǎn)均為靜態(tài)特征點(diǎn)。假設(shè)所有特征點(diǎn)集合[R={r1,r2,…,rn}],未定性動(dòng)態(tài)特征點(diǎn)集合[P={p1,p2,…,pn}],靜態(tài)特征點(diǎn)集合[Q={q1,q2,…,qn}],則[R=P∪Q],其中集合[P]中的所有特征點(diǎn)將參與ORB?SLAM2前端的動(dòng)態(tài)特征點(diǎn)篩選以及坐標(biāo)位置計(jì)算。
具體判斷流程如圖7所示。
實(shí)驗(yàn)結(jié)果如圖8所示,圖像中的中高動(dòng)態(tài)物體被框出,由于中動(dòng)態(tài)物體在相鄰兩幀圖像上的幾何位置未超出設(shè)定閾值,保留預(yù)測框內(nèi)的特征點(diǎn)。
2" 實(shí)" 驗(yàn)
2.1" 實(shí)驗(yàn)設(shè)備
實(shí)驗(yàn)采用的電腦配置為Intel[?] CoreTM i5?8300H CPU@2.3 GHz,NVIDIA GeForce GTX 1050Ti,16 GB內(nèi)存,系統(tǒng)版本Ubuntu 20.04,深度學(xué)習(xí)框架采用YOLOv5。
2.2" 衡量指標(biāo)
采用EVO軌跡評(píng)價(jià)工具繪制相機(jī)的軌跡,并使用估計(jì)軌跡與真實(shí)軌跡的絕對軌跡誤差(Absolute Trajectory Error, ATE)和相對軌跡誤差(Relative Trajectory Error, RTE)對旋轉(zhuǎn)漂移進(jìn)行全面評(píng)估。評(píng)估指標(biāo)有均方根誤差(RMSE)、標(biāo)準(zhǔn)差(STD)、誤差平均數(shù)(MEAN)、最小值(MIN)、最大值(MAX)、中位數(shù)(MEDIAN)。
[Ei=(R-1tRt+1)-1(P-1tPt+1)] (7)
式中:[Ei]表示[i]時(shí)刻的相對軌跡估計(jì)誤差;[Rt]表示[t]時(shí)刻的真實(shí)位姿;[Pt]表示[t]時(shí)刻的估計(jì)軌跡;1表示時(shí)間間隔為1 s。
均方根誤差:計(jì)算不同時(shí)間戳下真實(shí)位姿和估計(jì)位姿之間的均方根誤差,以此來評(píng)估運(yùn)行前后的姿態(tài)差,反映系統(tǒng)的魯棒性,計(jì)算公式為:
[RMSE=1ni=1ntrans(Fi)212] (8)
式中:[n]表示軌跡點(diǎn)的數(shù)量;[Fi]表示[i]時(shí)刻相對位姿誤差估計(jì);[transFi]表示位姿誤差分量,該值越小,代表擬合效果越好。
中位數(shù):反映系統(tǒng)整體的中心位置,衡量估計(jì)位姿的離群值。當(dāng)圖像幀總數(shù)為奇數(shù)時(shí),中位數(shù)計(jì)算如式(9)所示:
[MEAN=trans(Fi)212n+12] (9)
當(dāng)圖像幀總數(shù)為偶數(shù)時(shí),中位數(shù)計(jì)算如式(10)所示:
[MEAN=12trans(Fi)212n2+trans(Fi)212n2+1] (10)
2.3" 數(shù)據(jù)集
數(shù)據(jù)集使用德國慕尼黑工業(yè)大學(xué)的TUM RGB?D SLAM數(shù)據(jù)集來評(píng)估上述系統(tǒng)在動(dòng)態(tài)環(huán)境下的性能。該數(shù)據(jù)集被廣泛認(rèn)可為衡量SLAM系統(tǒng)表現(xiàn)的基準(zhǔn),其由不同室內(nèi)場景中的39個(gè)序列組成,每個(gè)數(shù)據(jù)集都包含多個(gè)數(shù)據(jù),可用于多個(gè)任務(wù)的性能測試。
TUM序列中所有圖像尺寸為[640×480]。動(dòng)態(tài)對象數(shù)據(jù)集包含3個(gè)序列,其中fr1、fr2為靜態(tài)場景數(shù)據(jù)集,fr3為動(dòng)態(tài)場景數(shù)據(jù)集。本文利用fr3序列下的4個(gè)高動(dòng)態(tài)數(shù)據(jù)集,即fr3_w_[xyz]、fr3_w_static、fr3_w_rpy、fr3_w_halfsphere進(jìn)行實(shí)驗(yàn),其中w表示行走的狀態(tài)。
動(dòng)態(tài)對象序列展示了如下四種相機(jī)運(yùn)動(dòng)類型:
1) [xyz],相機(jī)沿著[x]、[y]和[z]軸移動(dòng),同時(shí)保持其初始方向。
2) [rpy],表示相機(jī)在相同位置繞固定軸進(jìn)行旋轉(zhuǎn)。
3) static,相機(jī)保持靜止。
4) halfsphere,相機(jī)在直徑約1 m的小半球體上運(yùn)動(dòng)。
2.4" 實(shí)驗(yàn)結(jié)果
為了比較YG?SLAM系統(tǒng)與原始ORB?SLAM2系統(tǒng)的性能,在上述動(dòng)態(tài)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并根據(jù)衡量指標(biāo)客觀評(píng)價(jià)YG?SLAM系統(tǒng)在高動(dòng)態(tài)環(huán)境下的魯棒性和準(zhǔn)確性。
利用ORB?SLAM2、DynaSLAM與YG?SLAM進(jìn)行對比,得到的結(jié)果如表2所示。
圖9為ORB?SLAM2算法和YG?SLAM算法在fr3_w_[ xyz]序列下的相對軌跡誤差,對比可以發(fā)現(xiàn),本文提出的YG?SLAM算法在波動(dòng)性上遠(yuǎn)小于ORB?SLAM2算法,具有更小的RTE。
圖10~圖13為在上述四個(gè)動(dòng)態(tài)序列下,ORB?SLAM2與YG?SLAM的三維軌跡圖,虛線代表真實(shí)軌跡,實(shí)線代表相機(jī)的估計(jì)軌跡。
圖14~圖17是四個(gè)動(dòng)態(tài)序列下,ATE各指標(biāo)之間的對比。實(shí)驗(yàn)結(jié)果表明YG?SLAM算法遠(yuǎn)遠(yuǎn)優(yōu)于ORB?SLAM2算法。
表2是ORB?SLAM2、DynaSLAM與YG?SLAM算法在四個(gè)動(dòng)態(tài)序列下的RMSE(均方根誤差)和MEAN(平均偏差)。
在“fr3_w_[xyz]”序列中,YG?SLAM算法的RMSE為0.012 7 m,MEAN為0.010 8 m,相比于ORB?SLAM2分別提高了95.47%和95.64%,精度與DynaSLAM算法在同一水平。這一實(shí)驗(yàn)結(jié)果表明在位置方式變化時(shí),YG?SLAM提供了高精度的定位,誤差變化小。
在“fr3_w_rpy”序列中,RMSE和MEAN的值分別為0.045 2 m和0.037 1 m,與ORB?SLAM2對比分別提高了72.06%和73.80%。
表明YG?SLAM算法在處理姿態(tài)變化方面的任務(wù)時(shí),具有較高精度。
3" 結(jié)" 論
YG?SLAM系統(tǒng)在ORB?SLAM2的基礎(chǔ)上加入目標(biāo)檢測網(wǎng)絡(luò),用于檢測動(dòng)態(tài)特征點(diǎn),使用多視圖幾何方法盡可能保留靜態(tài)點(diǎn),剔除高動(dòng)態(tài)特征點(diǎn)。在公開數(shù)據(jù)集TUM上進(jìn)行實(shí)驗(yàn),精度方面相比于ORB?SLAM2算法,提高71.08%~95.64%;實(shí)時(shí)性方面,相比于DynaSLAM算法平均每幀減少228.03~354.04 ms。雖然在精度和實(shí)時(shí)性能上取得了一些進(jìn)展,但仍有提升的空間,未來將進(jìn)一步進(jìn)行相關(guān)研究。
注:本文通訊作者為孫樹森。
參考文獻(xiàn)
[1] 張小勇,張洪,高清源,等.室內(nèi)動(dòng)態(tài)場景下基于稀疏光流與實(shí)例分割的視覺SLAM算法[J].東華大學(xué)學(xué)報(bào)(自然科學(xué)版),2023,49(6):111?119.
[2] 鐘興軍,吳俊琦.一種基于目標(biāo)檢測的動(dòng)態(tài)環(huán)境下視覺定位系統(tǒng)[J].現(xiàn)代電子技術(shù),2024,47(2):160?164.
[3] 林子祥,張斌,王嘉盛,等.激光雷達(dá)IMU緊耦合的室內(nèi)大范圍SLAM方法[J].現(xiàn)代電子技術(shù),2023,46(20):135?141.
[4] 李炯,趙凱,張志超,等.一種融合密度聚類與區(qū)域生長算法的快速障礙物檢測方法[J].機(jī)器人,2020,42(1):60?70.
[5] MUR?ARTAL R, TARDOS J D. ORB?SLAM2: An open?source SLAM system for monocular, stereo, and RGB?D cameras [J]. IEEE transactions on robotics, 2017, 33(5): 1255?1262.
[6] CAMPOS C, ELVIRA R, RODRíGUEZ J J G, et al. ORB?SLAM3: An accurate open?source library for visual, visual?inertial, and multimap slam [J]. IEEE transactions on robotics, 2021, 37(6): 1874?1890.
[7] MIN F Y, WU Z B, LI D P, et al. COEB?SLAM: A robust VSLAM in dynamic environments combined object detection, epipolar geometry constraint, and blur filtering [J]. IEEE sensors journal, 2023, 23(21): 1?20.
[8] CHENG J Y, WANG C Q, MENG M Q H. Robust visual localization in dynamic environments based on sparse motion removal [J]. IEEE transactions on automation science and engineering, 2020, 17(2): 658?669.
[9] SUN Y X, LIU M, MENG M Q H. Improving RGB?D SLAM in dynamic environments: A motion removal approach [J]. Robotics and autonomous systems, 2017, 89: 110?122.
[10] JIN J, JIANG X F, YU C H, et al. Dynamic visual simultaneous localization and mapping based on semantic segmentation module [J]. Applied intelligence, 2023, 53(16): 19418?19432.
[11] CHENG T H, WANG X G, CHEN S Y, et al. Sparse instance activation for real?time instance segmentation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2022: 4423?4432.
[12] YU C, LIU Z X, LIU X J, et al. DS?SLAM: A semantic visual SLAM towards dynamic environments [C]// 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). New York: IEEE, 2018: 1168?1174.
[13] WU W X, GUO L, GAO H L, et al. YOLO?SLAM: A semantic SLAM system towards dynamic environment with geometric constraint [J]. Neural computing and applications, 2022, 34(8): 6011?6026.
[14] SONG W, ZHANG L. An RGB?D SLAM algorithm based on adaptive semantic segmentation in dynamic environment [J]. Journal of real?time image processing, 2023, 20(5): 85.
[15] FAN Y C, ZHANG Q C, TANG Y L, et al. Blitz?SLAM: A semantic SLAM in dynamic environments [J]. Pattern recognition, 2022, 121: 108225.
作者簡介:喻擎蒼(1967—),男,浙江臺(tái)州人,博士研究生,教授,主要研究方向?yàn)闄C(jī)器視覺、機(jī)器人技術(shù)、智能裝備、異形作業(yè)無人機(jī)技術(shù)。
董根陽(1999—),男,浙江湖州人,在讀碩士研究生,主要研究方向?yàn)闊o人機(jī)技術(shù)、視覺SLAM。
方才威(1999—),男,湖北咸寧人,在讀碩士研究生,主要研究方向?yàn)闄C(jī)器視覺。
孫樹森(1974—),男,內(nèi)蒙古寧城人,博士研究生,副教授,主要研究方向?yàn)閳D像圖形處理。