劉超群 柯寶中 蔡洪煒
摘 要:傳統(tǒng)的視覺同步定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)算法大多是基于靜態(tài)場景這一假設(shè)進(jìn)行研究,在動(dòng)態(tài)場景中容易出現(xiàn)定位精度不佳、穩(wěn)定性差等情況。針對這一問題,本文以O(shè)RB-SLAM3算法為基礎(chǔ),與YOLOv3目標(biāo)檢測網(wǎng)絡(luò)相結(jié)合,在提取特征點(diǎn)的同時(shí)進(jìn)行動(dòng)態(tài)目標(biāo)檢測,根據(jù)目標(biāo)檢測結(jié)果剔除動(dòng)態(tài)特征點(diǎn);再利用對極幾何約束剔除殘留的動(dòng)態(tài)特征點(diǎn)和誤匹配的特征點(diǎn);最后利用剩余的特征點(diǎn)進(jìn)行幀間匹配和位姿估計(jì),并在TUM數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證。結(jié)果表明:相比較于ORB-SLAM3,本文算法在高動(dòng)態(tài)場景中的系統(tǒng)絕對軌跡誤差減少了85%以上,大大提高了定位精度;同時(shí),本文算法跟蹤線程每幀圖像平均用時(shí)為75 ms左右,能夠滿足實(shí)時(shí)運(yùn)行的需求。
關(guān)鍵詞:視覺SLAM;動(dòng)態(tài)場景;ORB-SLAM3;YOLOv3;絕對軌跡誤差
中圖分類號(hào):TP391.41 DOI:10.16375/j.cnki.cn45-1395/t.2023.04.012
0 引言
隨著人工智能技術(shù)的發(fā)展和應(yīng)用,同步定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)技術(shù)可以使機(jī)器人在未知的工作環(huán)境中確定自身位置和建立地圖,在智能移動(dòng)機(jī)器人、增強(qiáng)現(xiàn)實(shí)(augmented reality,AR)技術(shù)和自動(dòng)駕駛等領(lǐng)域中發(fā)揮著重要的作用,逐漸受到科技企業(yè)、高校和研究所的關(guān)注。根據(jù)傳感器類型的不同,可以將SLAM技術(shù)分為激光SLAM和視覺SLAM兩大類[1]。視覺SLAM使用相機(jī)傳感器,由于其價(jià)格低廉,獲取的環(huán)境信息更加豐富,逐漸受到研究者的青睞。
在視覺SLAM中,相機(jī)成像容易受光照變化及相機(jī)穩(wěn)定性的影響,在復(fù)雜場景中僅依靠單一的視覺信息效果不顯著。采用多傳感器融合逐漸成為解決這一問題的較優(yōu)解,可以提高SLAM系統(tǒng)的魯棒性和精度。Davison等[2]提出的MonoSLAM算法是第一個(gè)實(shí)時(shí)的SLAM算法,但不能在線運(yùn)行,只能在離線時(shí)進(jìn)行定位和建圖。Klein等[3]提出了使用非線性優(yōu)化作為后端并多線程運(yùn)行的PTAM算法,此算法僅在小場景中運(yùn)行。Mur-Artal等[4]基于特征點(diǎn)具有快速方向性和旋轉(zhuǎn)不變性的特點(diǎn)提出了ORB-SLAM2算法。Campos等[5]開源了ORB-SLAM3算法,它相較于之前的算法增加了IMU融合算法和多地圖系統(tǒng),這種算法是目前性能較為優(yōu)異的算法之一。然而這些傳統(tǒng)的視覺SLAM大部分都是假設(shè)外部環(huán)境是靜態(tài)的,而對于動(dòng)態(tài)場景,系統(tǒng)在進(jìn)行特征點(diǎn)提取時(shí)會(huì)存在誤差,從而導(dǎo)致相機(jī)位姿估計(jì)精度降低。如何減少動(dòng)態(tài)物體對于系統(tǒng)精度的干擾成為視覺SLAM的一個(gè)主流研究方向[6]。
伴隨著深度學(xué)習(xí)理論的快速發(fā)展,大量結(jié)合深度學(xué)習(xí)的SLAM算法被提出,基于視覺的同步定位與地圖構(gòu)建(visual SLAM,VSLAM)進(jìn)入一個(gè)全新的階段,即魯棒性-預(yù)測性階段。Bescós等[7]提出了DynaSLAM算法,該算法以O(shè)RB-SLAM2算法為基礎(chǔ),依據(jù)語義分割和多視圖幾何的結(jié)果,將語義動(dòng)態(tài)或者幾何動(dòng)態(tài)的特征點(diǎn)剔除。Wu等[8]提出了一種YOLO-SLAM動(dòng)態(tài)環(huán)境SLAM系統(tǒng),利用YOLO算法來獲得語義信息,濾除檢測到的動(dòng)態(tài)特征點(diǎn)。Yu等[9]以O(shè)RB-SLAM2為基礎(chǔ)提出DS-SLAM算法,選用SegNet網(wǎng)絡(luò)和運(yùn)動(dòng)一致性檢驗(yàn)結(jié)合的方法進(jìn)行動(dòng)態(tài)特征點(diǎn)濾除。相較于傳統(tǒng)的VSLAM,結(jié)合深度學(xué)習(xí)理論的算法剔除動(dòng)態(tài)特征點(diǎn)效果更好,定位精度也能大大提高。因此,本文以O(shè)RB-SALM3算法為基礎(chǔ)增加語義信息,主要內(nèi)容如下:
1)增加一條獨(dú)立的動(dòng)態(tài)目標(biāo)檢測線程,結(jié)合ORB-SLAM3視覺里程計(jì),使用YOLOv3進(jìn)行端對端目標(biāo)檢測,有效提取動(dòng)態(tài)圖像特征。
2)依據(jù)動(dòng)態(tài)目標(biāo)檢測結(jié)果剔除動(dòng)態(tài)特征點(diǎn),殘留的動(dòng)態(tài)特征點(diǎn)和誤匹配的特征點(diǎn)使用對極幾何約束濾除;利用剩下的特征點(diǎn)進(jìn)行幀間匹配和位姿估計(jì),在TUM數(shù)據(jù)集上對本文所提算法的定位精度和實(shí)時(shí)性進(jìn)行評估。
1 算法框架
本文算法以O(shè)RB-SLAM3算法為主體框架,在視覺里程計(jì)的前端加入一個(gè)動(dòng)態(tài)目標(biāo)檢測線程,通過動(dòng)態(tài)目標(biāo)檢測網(wǎng)絡(luò)YOLOv3分割圖像中的靜態(tài)和動(dòng)態(tài)特征,將動(dòng)態(tài)目標(biāo)視為離群值,增加系統(tǒng)的魯棒性。根據(jù)目標(biāo)檢測的結(jié)果,將動(dòng)態(tài)特征范圍內(nèi)的特征點(diǎn)剔除,再利用對極幾何約束濾除殘留的動(dòng)態(tài)特征點(diǎn)和誤匹配的點(diǎn),利用完全過濾后的靜態(tài)特征點(diǎn)進(jìn)行位姿估計(jì)和非線性優(yōu)化操作,減少動(dòng)態(tài)特征點(diǎn)對于系統(tǒng)的影響。改進(jìn)的視覺里程計(jì)框架如圖1所示。
1.1 ORB-SLAM3系統(tǒng)概括
ORB-SLAM3是一種基于特征點(diǎn)法的視覺里程計(jì)系統(tǒng),其充分利用了圖像特征點(diǎn)對光照強(qiáng)度和環(huán)境尺度的穩(wěn)健性,在室內(nèi)和室外環(huán)境中的表現(xiàn)都較為良好。主要由以下幾部分組成[5]:
1)跟蹤線程的主要作用是為活動(dòng)的地圖提供新的關(guān)鍵幀。對輸入系統(tǒng)中的圖像進(jìn)行ORB特征點(diǎn)提取,對相鄰2幅圖像進(jìn)行特征點(diǎn)匹配,使用最小化重投影誤差確定當(dāng)前圖像幀相機(jī)的初始位姿,利用初始值進(jìn)行最小化重投影誤差,盡可能使多的特征點(diǎn)與地圖點(diǎn)相匹配。
2)局部建圖線程主要是在活動(dòng)的地圖中添加關(guān)鍵幀的位姿以及新的地圖點(diǎn),刪除冗余數(shù)據(jù),利用滑動(dòng)窗口進(jìn)行BA優(yōu)化,更新地圖數(shù)據(jù)。當(dāng)初始化完成后,若關(guān)鍵幀跟蹤成功,則利用預(yù)積分誤差和最小化重投影誤差進(jìn)行關(guān)鍵幀的優(yōu)化,最終剔除冗余的關(guān)鍵幀。
3)經(jīng)過篩選后的關(guān)鍵幀會(huì)進(jìn)入回環(huán)檢測和地圖合并線程。檢測活動(dòng)地圖與其他地圖存在的共有區(qū)域,檢測是否存在回環(huán)或者融合等情況,若存在,則使用相似變換合并地圖和回環(huán)矯正。在優(yōu)化完成后,打開另一個(gè)線程進(jìn)一步更新地圖,通過在回環(huán)檢測的同時(shí)合并共視地圖,可以保障系統(tǒng)的實(shí)時(shí)性。
1.2 YOLOv3目標(biāo)檢測原理
YOLOv3是一個(gè)可以實(shí)現(xiàn)端對端目標(biāo)檢測的算法,它的主干網(wǎng)絡(luò)由Darknet-53組成,通過調(diào)節(jié)不同的卷積步長控制特征圖尺寸,借助金字塔思想,用小尺寸特征圖檢測大尺寸物體,大尺寸特征圖用于檢測小尺寸物體[10]。
在前向進(jìn)程中,YOLOv3網(wǎng)絡(luò)依據(jù)不同的輸入尺寸,輸出3個(gè)不同尺寸的特征圖:[y1、y2、y3]。輸出特征圖的維度為
其中:[m]表示矩形框坐標(biāo)參數(shù),主要由矩形框中心坐標(biāo)[(x, y)]以及矩形框?qū)捄透呓M成;[l]表示預(yù)測矩形框坐標(biāo)的偏移量;[g]表示默認(rèn)框和與之相匹配的真實(shí)框之間的偏移量;[bx、by、bw、bh]表示預(yù)測目標(biāo)矩形框參數(shù);[cx、cy、pw、ph]表示默認(rèn)矩形框參數(shù);[gx、gy、gw、gh]表示其匹配到的實(shí)際目標(biāo)框參數(shù)[12]。
在對數(shù)據(jù)集完成動(dòng)態(tài)目標(biāo)檢測后,將物體分為3類,即高動(dòng)態(tài)物體、中動(dòng)態(tài)物體、靜態(tài)物體。只有當(dāng)特征點(diǎn)位于高動(dòng)態(tài)物體框內(nèi)且不存在于靜態(tài)物體框內(nèi)時(shí),認(rèn)為此特征點(diǎn)是一個(gè)動(dòng)態(tài)特征點(diǎn),并剔除這些動(dòng)態(tài)特征點(diǎn)[13]。
1.3 對極幾何約束
在經(jīng)過上述動(dòng)態(tài)特征點(diǎn)濾除后,數(shù)據(jù)集中可能存在動(dòng)態(tài)物體被大面積遮擋、動(dòng)態(tài)特征點(diǎn)漏檢的情況,需要進(jìn)一步濾除特征點(diǎn)。對相鄰2幀圖像中的剩余特征點(diǎn)進(jìn)行特征匹配,計(jì)算兩特征點(diǎn)之間的漢明距離,選取距離最小的點(diǎn)為匹配點(diǎn)[14]。為了減小由于暴力匹配產(chǎn)生的誤差,按照已匹配點(diǎn)對之間的漢明距離進(jìn)行升序排列,選取排序靠前的1/3點(diǎn)對求解基礎(chǔ)矩陣。隨機(jī)抽樣一致(random sample consensus,RANSAC)算法的具體操作步驟如下:
1)隨機(jī)在匹配成功的點(diǎn)對中選取4組,求得基礎(chǔ)矩陣F。
2)計(jì)算剩余特征點(diǎn)到矩陣F所對應(yīng)極線的距離[a],并與設(shè)定好的閾值[an]進(jìn)行比較。當(dāng)[a
3)重復(fù)執(zhí)行上述步驟[N]次,選擇內(nèi)點(diǎn)數(shù)目[I]最大的一次,將此次求得的基礎(chǔ)矩陣當(dāng)作最終的基礎(chǔ)矩陣。
在求取基礎(chǔ)矩陣之后對所有的匹配點(diǎn)進(jìn)行檢驗(yàn),判斷是否滿足對極幾何約束。
對極幾何約束示意圖如圖2所示。
在視覺SLAM系統(tǒng)需要用金字塔對圖像進(jìn)行不同層次的降采樣處理。閾值d的取值與置信度、圖像金字塔層數(shù)緊密相關(guān),當(dāng)距離[d]超過給定的范圍,則認(rèn)定該特征點(diǎn)是動(dòng)態(tài)的或者誤匹配的點(diǎn),予以剔除。
在動(dòng)態(tài)場景中,由于存在大量的動(dòng)態(tài)特征點(diǎn),會(huì)造成相機(jī)位姿估計(jì)偏差[15]。本文所提出的方案使用YOLOv3算法進(jìn)行目標(biāo)檢測,將被判定為動(dòng)態(tài)特征點(diǎn)的點(diǎn)進(jìn)行剔除;再利用對極幾何約束剔除殘留的動(dòng)態(tài)特征點(diǎn)和誤匹配的特征點(diǎn),進(jìn)而增加定位的精度。
2 實(shí)驗(yàn)結(jié)果及分析
2.1 實(shí)驗(yàn)數(shù)據(jù)集和環(huán)境
本文實(shí)驗(yàn)中使用的設(shè)備為ThinkPadE560筆記本電腦,CPU型號(hào)為英特爾i5-6200U,主頻2.4 GHz,8 G內(nèi)存,操作系統(tǒng)為Ubuntu20.04。選用公開的TUM RGB-D動(dòng)態(tài)數(shù)據(jù)集中的6組數(shù)據(jù)進(jìn)行實(shí)驗(yàn),TUM數(shù)據(jù)集由德國慕尼黑工業(yè)大學(xué)采集制作,包含了由深度相機(jī)采集到的彩色圖像、深度圖像以及由8個(gè)高速追蹤相機(jī)獲取到的真實(shí)位姿等數(shù)據(jù)。本次實(shí)驗(yàn)選用的動(dòng)態(tài)場景分別為freiburg2_desk_with_person、freiburg3_sitting_static、freiburg3_sitting_xyz、freiburg3_walking_halfsphere、freiburg3_walking_static、freiburg3_walking_xyz等6組數(shù)據(jù)集,部分?jǐn)?shù)據(jù)集如圖3所示。其中在sitting序列中展示的是桌子前面有2個(gè)人,他們的肢體或者桌上的物品存在輕微移動(dòng);在walking序列中展示的是2個(gè)人在桌子周圍進(jìn)行大幅度的移動(dòng);在static序列中,相機(jī)相對靜止;xyz序列中,相機(jī)在x、y、z方向上移動(dòng)。
2.2 動(dòng)態(tài)特征點(diǎn)剔除
選用COCO數(shù)據(jù)集進(jìn)行YOLOv3網(wǎng)格的訓(xùn)練。COCO數(shù)據(jù)集中包含80個(gè)類別,這種檢測算法輸出3個(gè)特征圖用以檢測數(shù)據(jù)集中的大中小型物體,例如數(shù)據(jù)集中的人、椅子、鼠標(biāo)等動(dòng)態(tài)物體。當(dāng)對極幾何約束中給定閾值過小時(shí),會(huì)造成剔除的誤匹配和動(dòng)態(tài)特征點(diǎn)過多,余下的靜態(tài)特征點(diǎn)過少,不利于后續(xù)的相機(jī)位姿估計(jì)。當(dāng)給定閾值過大時(shí),動(dòng)態(tài)特征點(diǎn)濾除效果會(huì)變差,后續(xù)相機(jī)位姿估計(jì)中有太多的誤匹配和動(dòng)態(tài)特征點(diǎn),降低定位的精度。本文對極幾何約束的閾值選為金字塔第[n]層,置信度取95%時(shí),閾值[d]的約束條件為[d<3.84×1.22n],在這個(gè)范圍內(nèi)的特征點(diǎn)被保留,則動(dòng)態(tài)特征點(diǎn)剔除前后效果圖如圖4所示。
該圖例選自TUM數(shù)據(jù)集中的freiburg3_walking_xyz動(dòng)態(tài)場景,在此場景中2個(gè)人圍繞桌子運(yùn)動(dòng)。當(dāng)圖像中存在動(dòng)態(tài)目標(biāo)時(shí),ORB-SLAM3算法對動(dòng)態(tài)目標(biāo)不作處理,將特征點(diǎn)一起進(jìn)行位姿估計(jì),而本文的算法剔除了運(yùn)動(dòng)中人邊界框中的特征點(diǎn),剩下的靜態(tài)特征點(diǎn)用于進(jìn)行位姿估計(jì)。圖4(a)是ORB-SLAM3系統(tǒng)特征提取效果圖,圖4(b)是增加了YOLOv3線程之后的特征點(diǎn)提取效果圖。對比圖4(a)、(b)可以看出,處于動(dòng)態(tài)目標(biāo)范圍內(nèi)的大部分動(dòng)態(tài)特征點(diǎn)已經(jīng)被剔除,由于圖中右側(cè)人手邊的筆記本屬于中動(dòng)態(tài)物體,因此這部分特征點(diǎn)被保留。
2.3 定位精度分析
本文選擇的是在傳統(tǒng)ORB-SLAM3視覺前端添加一個(gè)深度學(xué)習(xí)模塊YOLOv3,并剔除動(dòng)態(tài)特征點(diǎn)。此次實(shí)驗(yàn)主要對改進(jìn)方案的定位精度和實(shí)時(shí)性進(jìn)行評估。SLAM系統(tǒng)精度的評價(jià)指標(biāo)為絕對軌跡誤差(absolute trajectory error,ATE),能夠較為直觀地反映相機(jī)軌跡的精度,通過不同時(shí)間戳下真實(shí)位姿和估計(jì)位姿之間的均方根誤差來表示[8],計(jì)算公式如式(13)所示,
式中:[eATE]為絕對軌跡誤差,[ei]為真實(shí)位姿和估計(jì)位姿李代數(shù)的差,[T-1gt, i]為數(shù)據(jù)集中真實(shí)的軌跡,[Testi, i]為SLAM系統(tǒng)估計(jì)的軌跡。本文使用均方根誤差(RMSE)、平均值(mean)和標(biāo)準(zhǔn)差(std)這3個(gè)參數(shù)來反映系統(tǒng)的性能,平均值反映估計(jì)位姿的精度,均方根誤差和標(biāo)準(zhǔn)差體現(xiàn)系統(tǒng)的魯棒性[16-17]。
本文選用目前性能較為優(yōu)異的ORB-SLAM3算法進(jìn)行對比。在經(jīng)過數(shù)據(jù)集的測試后,兩者的絕對軌跡誤差和性能提升率如表1所示。
從表1中可以看出,在高動(dòng)態(tài)場景中,本文所提方案的均方根誤差、平均值和標(biāo)準(zhǔn)差都有較大程度的提升,在walking_half、walking_static、walking_xyz這3個(gè)走動(dòng)序列中,系統(tǒng)精度至少能提升85%以上。在這3個(gè)序列中,由于人走動(dòng)較為頻繁,動(dòng)作幅度過大,本文算法在對特征點(diǎn)進(jìn)行篩選時(shí),剔除了大多數(shù)的動(dòng)態(tài)特征點(diǎn),選用靜態(tài)的特征點(diǎn)進(jìn)行位姿估計(jì)。相較于ORB-SLAM3算法,本文算法在動(dòng)態(tài)場景中的適應(yīng)性更好,定位精度更高。在sitting系列場景中,與ORB-SLAM3算法相比較,本文算法提升效果不明顯,甚至在sitting_xyz序列中,本文算法的精度略微下降,均方根誤差下降了11.11%。這是由于在進(jìn)行閾值判斷剔除動(dòng)態(tài)特征點(diǎn)時(shí)刪除了部分靜態(tài)特征點(diǎn),影響了定位的精度??傮w而言,本文的方案相較ORB-SLAM3算法仍然有所提升。
圖5和圖6分別為walking_xyz和sitting_xyz序列在ORB-SLAM3和本文算法下的預(yù)估相機(jī)軌跡和真實(shí)軌跡的對比圖。從圖中可以看出,ORB-SLAM3在一個(gè)地點(diǎn)旋轉(zhuǎn)角度過大時(shí)會(huì)產(chǎn)生較大偏移,受到大量的動(dòng)態(tài)特征干擾時(shí),會(huì)產(chǎn)生明顯的漂移,相比較之下,本文的算法在動(dòng)態(tài)場景中有著較好的表現(xiàn)。
2.4 實(shí)時(shí)性評估
實(shí)時(shí)性對于SLAM系統(tǒng)是否具有實(shí)用性非常重要。為了驗(yàn)證本文算法的實(shí)時(shí)性,在本次實(shí)驗(yàn)中選用的是跟蹤線程中處理每幀圖像所花費(fèi)的時(shí)間[18]。與DynaSLAM算法和DS-SLAM算法進(jìn)行對比,對照實(shí)驗(yàn)在walking_xyz序列中進(jìn)行,對比結(jié)果如表2所示。由表2可知,本文算法的平均跟蹤時(shí)間為75 ms,大體上可以滿足系統(tǒng)實(shí)時(shí)性的要求。雖然這幾種方案都是采用融合深度學(xué)習(xí)的方式,但由于本文采用快速檢測網(wǎng)絡(luò)YOLOv3進(jìn)行動(dòng)態(tài)目標(biāo)檢測,相比較于DynaSLAM算法使用Mask-RCNN、DS-SLAM算法使用SegNet網(wǎng)絡(luò),本文算法在速度上有較大優(yōu)勢[19]。通過對比驗(yàn)證了本文算法能夠較好地滿足定位精度和實(shí)時(shí)性要求。
3 結(jié)論
本文構(gòu)造了一種面向動(dòng)態(tài)場景的視覺里程計(jì),以O(shè)RB-SLAM3為基礎(chǔ)框架,增加了一條獨(dú)立的目標(biāo)檢測線程,選用YOLOv3網(wǎng)絡(luò)檢測動(dòng)態(tài)目標(biāo),剔除位于高動(dòng)態(tài)物體框內(nèi)且不存在于低動(dòng)態(tài)物體框內(nèi)的動(dòng)態(tài)特征點(diǎn),以防動(dòng)態(tài)特征點(diǎn)剔除不完全;再次利用對極幾何約束進(jìn)一步剔除動(dòng)態(tài)特征點(diǎn)和誤匹配的特征點(diǎn)。通過在TUM數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文算法在定位精度和實(shí)時(shí)性方面有較大提升。在后續(xù)的研究中,將會(huì)嘗試加入三維語義地圖,以便此系統(tǒng)能夠應(yīng)用到機(jī)器人導(dǎo)航中。
參考文獻(xiàn)
[1] 李浩東,陶鈞,劉辰宇,等. 基于ORB-SLAM框架的直接法改進(jìn)與對比[J]. 測繪地理信息,2022,47(S1):211-215.
[2] DAVISON A J,REID I D,MOLTON N D,et al. MonoSLAM:real-time single camera SLAM[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2007,29(6):1052-1067.
[3] KLEIN G,MURRAY D. Parallel tracking and mapping for small AR workspaces[C]//6th IEEE and ACM International Symposium on Mixed and Augmented Reality,2007:225-234.
[4] MUR-ARTAL R,TARD?S 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.
[5] CAMPOS C,ELVIRA R,RODRIGUEZ 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.
[6] 李博,段中興. 室內(nèi)動(dòng)態(tài)環(huán)境下基于深度學(xué)習(xí)的視覺里程計(jì)[J/OL]. 小型微型計(jì)算機(jī)系統(tǒng),2022:1-9[2022-11-25]. http://kns. cnki. net/kcms/detail/21. 1106. TP. 20211019. 1809. 020. html.
[7] BESC?S B,F(xiàn)?CIL J M,CIVERA J,et al. DynaSLAM:tracking,mapping and inpainting in dynamic scenes[J]. IEEE Robotics and Automation Letters,2018,3(4):4076-4083.
[8] 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.
[9] YU C,LIU Z X,LIU X J,et al. DS-SLAM:a semantic visual SLAM towards dynamic environments[C]//Proceedings of the 25th IEEE/RSJ International Conference on Intelligent Robots and Systems,IEEE,2018:1168-1174.
[10] 吳靜,王智文,王康權(quán),等. 基于改進(jìn)CRNN算法的電動(dòng)自行車車牌識(shí)別研究[J]. 廣西科技大學(xué)學(xué)報(bào),2022,33(4):63-69.
[11] 張政,林志誠. 基于ORB-SLAM2的四足機(jī)器人定位和建圖[J]. 工業(yè)控制計(jì)算機(jī),2022,35(10):78-80,84.
[12] 徐武,高寒,王欣達(dá),等. 改進(jìn)ORB-SLAM2算法的關(guān)鍵幀選取及地圖構(gòu)建研究[J]. 電子測量技術(shù),2022,45(20):143-150.
[13] 陸佳嘉. 面向室內(nèi)復(fù)雜環(huán)境的無人車同時(shí)定位與建圖研究[D]. 南京:南京信息工程大學(xué),2022.
[14] 喬亞坤,林川,張貞光. 基于深度學(xué)習(xí)的輪廓檢測模型的交互式解碼網(wǎng)絡(luò)[J]. 廣西科技大學(xué)學(xué)報(bào),2022,33(1):46-53.
[15] 張杰. 動(dòng)態(tài)環(huán)境下視覺慣性定位方法研究[D]. 西安:西安工業(yè)大學(xué),2022.
[16] 馮一博,張小俊,王金剛. 適用于室內(nèi)動(dòng)態(tài)場景的視覺SLAM算法研究[J]. 燕山大學(xué)學(xué)報(bào),2022,46(4):319-326.
[17] 張昊宇,柳祥樂,王思山. 基于深度學(xué)習(xí)特征提取的改進(jìn)ORB-SLAM3算法[J]. 湖北汽車工業(yè)學(xué)院學(xué)報(bào),2022,36(2):55-59.
[18] 伍曉東,張松柏,湯適榮,等. 基于改進(jìn)關(guān)鍵幀選擇的ORB-SLAM3算法[J/OL]. 計(jì)算機(jī)應(yīng)用研究,2023:1-7[2023-02-04]. https://doi.org/10.19734/j.issn.1001-3695. 2022. 09. 0480.
[19] 江浩瑋. 基于改進(jìn)Mask-RCNN的SLAM算法研究[D]. 蕪湖:安徽工程大學(xué),2022.
Research on ORB-SLAM3 algorithm for dynamic scenes
LIU Chaoqun1, KE Baozhong*1, CAI Hongwei2
(1. School of Automation, Guangxi University of Science and Technology, Liuzhou 545616, China; 2. School of Information Science and Engineering, Liuzhou Institute of Technology, Liuzhou 545616, China)
Abstract: Most of the traditional visual SLAM algorithms are based on the assumption of static scenes, which is prone to poor localization accuracy and stability in dynamic scenes. To address these problems, based on the ORB-SLAM3 algorithm, combined with the YOLOv3 target detection network, dynamic target detection is performed while feature points are extracted, and dynamic feature points are rejected according to the target detection results; then the pairwise polar geometric constraints are used to reject the residual dynamic feature points and mismatched feature points; and finally the remaining feature points are used for inter-frame matching and bit pose estimation. The final experimental validation on the TUM dataset shows that compared with ORB-SLAM3, this algorithm reduces the absolute trajectory error of the system by more than 85% in highly dynamic scenes, which greatly improves the localization accuracy. At the same time, the average time spent per image frame by the tracking thread of this algorithm is around 75 ms, which can meet the requirements of real-time operation.
Key words: visual SLAM; dynamic scene; ORB-SLAM3; YOLOv3; absolute trajectory error
(責(zé)任編輯:黎 婭)
收稿日期:2022-12-13
基金項(xiàng)目:2022年度廣西高校中青年教師科研基礎(chǔ)能力提升項(xiàng)目(2022KY1704);2019年度廣西科技大學(xué)鹿山學(xué)院科學(xué)基金項(xiàng)目(2019LSKY09);2020年自治區(qū)級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(202013639028)資助
第一作者:劉超群,在讀碩士研究生
*通信作者:柯寶中,學(xué)士,高級工程師,研究方向:自動(dòng)控制,E-mail:64285076@qq.com