馮一博,張小俊,王金剛
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300130)
近年來,同步定位與地圖構(gòu)建技術(shù)(Simultaneous Localization and Mapping,SLAM)[1]作為高精度地圖的代表被廣泛應(yīng)用到智能汽車領(lǐng)域。智能汽車SLAM問題可以描述為:智能汽車從未知環(huán)境的未知地點(diǎn)出發(fā),在移動(dòng)的過程中,通過傳感器信息定位自身的位置和姿態(tài),進(jìn)而構(gòu)建增量式地圖,使智能汽車達(dá)到同步定位與地圖構(gòu)建的目的。因此,SLAM技術(shù)的發(fā)展會(huì)極大地影響智能汽車的發(fā)展,研究智能汽車SLAM技術(shù)具有一定的實(shí)際意義。
1986年由Smith Self 和Cheeseman首次提出SLAM技術(shù),截止目前已經(jīng)發(fā)展三十多年,主要經(jīng)歷了三個(gè)發(fā)展階段。第一個(gè)階段是傳統(tǒng)階段:SLAM問題的提出,并將該問題轉(zhuǎn)換為一個(gè)狀態(tài)估計(jì)問題,利用擴(kuò)展卡爾曼濾波[2]、粒子濾波[3]及最大似然估計(jì)[4]等手段來求解。將視覺同步定位與地圖構(gòu)建問題轉(zhuǎn)換為一個(gè)狀態(tài)估計(jì)問題,傳統(tǒng)階段的傳感器主要依據(jù)就激光雷達(dá)為主,該階段的缺陷在于忽略了地圖的收斂性質(zhì),把定位問題與地圖構(gòu)建問題分開處理。第二個(gè)階段是算法分析階段(2004-2015):2007年A. J. Davison教授提出的MonoSLAM[5]是第一個(gè)實(shí)時(shí)的單目視覺SLAM系統(tǒng),但它不能在線運(yùn)行,只能離線地進(jìn)行定位與建圖;同年Klein等人提出了PTAM[6](Parallel Tracking and Mapping),該算法雖然第一個(gè)使用非線性優(yōu)化作為后端并且實(shí)現(xiàn)了跟蹤與建圖過程的并行化,但是它只適用于小場景下,而且在跟蹤過程中容易丟失;2015 年MurArtal 等人提出的ORB-SLAM[7]是 PTAM 的繼承者之一,它圍繞ORB特征進(jìn)行位姿估計(jì),以詞袋模型的方式克服累積誤差問題,但它在旋轉(zhuǎn)時(shí)容易丟幀。第三階段就是魯棒性-預(yù)測(cè)性階段(2015-):魯棒性、高級(jí)別的場景理解、計(jì)算資源優(yōu)化、任務(wù)驅(qū)動(dòng)的環(huán)境感知等,這些都伴隨著人工智能技術(shù)的發(fā)展,讓深度學(xué)習(xí)逐漸融入到視覺SLAM之中。而在SLAM系統(tǒng)中,當(dāng)一個(gè)新的幀到來時(shí),通過應(yīng)用YOLO[8]、SSD[9]、SegNet[10]、Mask R-CNN[11]等先進(jìn)的CNN結(jié)構(gòu),可以獲得特征的語義標(biāo)簽。文獻(xiàn)[12]使用目標(biāo)檢測(cè)網(wǎng)絡(luò)SSD來檢測(cè)可移動(dòng)的物體,如人、狗、貓和汽車。文獻(xiàn)[13]使用YOLO來獲取語義信息,他們認(rèn)為總是位于運(yùn)動(dòng)物體上的特征是不穩(wěn)定的,并將其過濾掉。文獻(xiàn)[14]使用SegNet在一個(gè)單獨(dú)的線程中獲得像素語義標(biāo)簽,如果一個(gè)特征被分割成“人”,則使用外極幾何約束進(jìn)行進(jìn)一步的移動(dòng)一致性檢查;如果檢查結(jié)果是動(dòng)態(tài)的,那么語義標(biāo)簽為“person”的所有特征都將被分類為動(dòng)態(tài)并被刪除。這種方法實(shí)際上是將帶有標(biāo)簽“person”的特征作為一個(gè)整體來處理,并且取兩個(gè)結(jié)果的交集:只有在語義上和幾何上都是動(dòng)態(tài)的特征才被認(rèn)為是動(dòng)態(tài)的。文獻(xiàn)[15]結(jié)合了Mask R-CNN和多視圖幾何的語義分割結(jié)果,將語義動(dòng)態(tài)或幾何動(dòng)態(tài)的特征都被認(rèn)為是動(dòng)態(tài)的。
傳統(tǒng)的視覺SLAM在建圖的過程中,需要考慮兩方面,一方面如何依據(jù)拍攝的圖像序列估計(jì)車輛的運(yùn)動(dòng)軌跡,另一方面如何在三維場景中構(gòu)建幾何結(jié)構(gòu)。而解決SLAM問題的關(guān)鍵是從獲取的環(huán)境圖像中快速提取精確特征,描述相機(jī)環(huán)境的局部特征,最后計(jì)算空間三維坐標(biāo)和其他信息實(shí)現(xiàn)視覺的自主定位和地圖構(gòu)建。
特征是圖像信息的另一種表達(dá)方式,特征點(diǎn)是圖像中一些特別的地方,所以需要特征點(diǎn)在相機(jī)運(yùn)動(dòng)之后保持穩(wěn)定,而傳統(tǒng)的特征提取方法,如著名的SIFT[16]、SURF[17]、ORB[18]等在復(fù)雜環(huán)境下,容易受灰度值、動(dòng)態(tài)物干擾,面對(duì)圖像時(shí)會(huì)出現(xiàn)性能下降。因此,在傳統(tǒng)的特征點(diǎn)提取中加入了語義信息,改進(jìn)了SLAM系統(tǒng),主要內(nèi)容包括:
1) 深度學(xué)習(xí)與特征提取相結(jié)合,本文選用YOLO v3端對(duì)端的目標(biāo)檢測(cè)方法,準(zhǔn)確識(shí)別地下車庫中的動(dòng)態(tài)物體,并且算法適應(yīng)地下環(huán)境變化,有效提取圖像特征。
2) 能夠過濾出動(dòng)態(tài)物體,快速提取穩(wěn)定的局部特征點(diǎn)進(jìn)行幀間匹配、位姿估計(jì),提高了SLAM定位精度,增強(qiáng)車輛在地下出庫場景中的環(huán)境感知。
本文算法依托ORB-SLAM2[19]為主體框架,視覺前端的特征點(diǎn)提取融合了深度學(xué)習(xí)的算法,通過分割圖像中的靜態(tài)和動(dòng)態(tài)特征并將動(dòng)態(tài)部分視為離群值,可以提高SLAM算法的魯棒性。根據(jù)選擇性跟蹤算法,在視覺前端中計(jì)算出靜態(tài)特征點(diǎn),進(jìn)行姿態(tài)估計(jì)和非線性優(yōu)化,可以避免動(dòng)態(tài)物體的干擾。圖1給出了本文SLAM的主體框架。
圖1 算法流程圖Fig. 1 Algorithm flow chart
YOLO v3主干網(wǎng)絡(luò)由Darknet-53構(gòu)成,它利用53個(gè)卷積層進(jìn)行特征提取,而卷積層對(duì)于分析物體特征最為有效。
在前向過程中,YOLO v3輸出了3個(gè)不同尺度的特征圖:y1,y2,y3,其中y1檢測(cè)大型物體,y2檢測(cè)中型物體,y3檢測(cè)小型物體,輸出特征圖輸出維度為
R=N×N(3×(4+1+M)),
(1)
其中,N×N為輸出特征圖格點(diǎn)數(shù),3表示每個(gè)特征圖y一共3個(gè)錨框,4表示4維的檢測(cè)框位置(tx,ty,tw,th),1表示檢測(cè)置信度1維,M為分類個(gè)數(shù)。
在反向過程中,預(yù)測(cè)框共分3種情況:正例、負(fù)例、忽略樣例。損失函數(shù)[20]為3個(gè)特征輸出圖的損失函數(shù)值和,分別為置信度損失、分類損失和定位損失。置信度損失用于優(yōu)化框架的準(zhǔn)確性,分類損失用于優(yōu)化檢測(cè)和分類,定位損失用于優(yōu)化中心點(diǎn)坐標(biāo)和寬度檢測(cè)框。
損失的計(jì)算:
L(O,o,C,c,l,g)=λ1Lconf(o,c)+
λ2Lcla(O,C)+λ3Lloc(l.g)
(2)
其中,λ1,λ2,λ3為平衡系數(shù)。Lconf(o,c)為置信度損失,Lcla(O,C)為分類損失,Lloc(l,g)為定位損失。
置信度損失:
(3)
類別損失:
(4)
定位損失:
(5)
圖2是動(dòng)態(tài)目標(biāo)剔除算法的整體框架圖,它在傳統(tǒng)的視覺前端加入了一個(gè)并行線程:YOLO v3模塊。本文使用的YOLO v3目標(biāo)檢測(cè)方法能夠輸出3個(gè)特征圖,分別用于檢測(cè)大型和中小型物體;并且自制了地下車庫VOC數(shù)據(jù)集,標(biāo)注了可能移動(dòng)的類(汽車、人、自行車、公共汽車等),之后對(duì)測(cè)試集進(jìn)行訓(xùn)練,得到預(yù)訓(xùn)練權(quán)重,這樣能夠更好地檢測(cè)識(shí)別出地下車庫中的動(dòng)態(tài)目標(biāo),從而剔除動(dòng)態(tài)特征點(diǎn)。
圖2 動(dòng)態(tài)目標(biāo)剔除算法框架Fig. 2 Dynamic target elimination algorithm framework
優(yōu)化的算法主體框架與ORB-SLAM2相當(dāng),它可以說是ORB-SLAM2的延伸,主要是由跟蹤線程、局部建圖線程與閉環(huán)檢測(cè)線程組成。各個(gè)線程的主要任務(wù)如下:
1) 跟蹤線程:根據(jù)目標(biāo)檢測(cè)傳回的目標(biāo)區(qū)域進(jìn)行特征剔除,接著進(jìn)行位姿跟蹤。
2) 局部建圖線程:最大的特點(diǎn)就是借助跟蹤線程的關(guān)鍵幀,更新地圖點(diǎn)和位姿,從而進(jìn)行局部束極調(diào)整,最后對(duì)每一個(gè)匹配好的特征點(diǎn)建立方程,解出最優(yōu)的位姿矩陣和空間點(diǎn)坐標(biāo)。
3) 閉環(huán)檢測(cè)線程:首先計(jì)算圖像的詞袋向量,根據(jù)詞袋之間的相似度判斷是否閉環(huán),若閉環(huán)則使用閉環(huán)關(guān)鍵幀對(duì)地圖點(diǎn)進(jìn)行閉環(huán)融合處理,最終位姿通過本質(zhì)圖優(yōu)化來校正累計(jì)誤差。
進(jìn)入跟蹤線程的前提是需要對(duì)算法進(jìn)行初始化,而初始化的關(guān)鍵就是通過評(píng)分的方式選取合適的基本矩陣(Fundamental)或者單應(yīng)矩陣(Homograph)。由于跟蹤線程中使用雙目相機(jī)或者RGB-D相機(jī)可以對(duì)一些3D點(diǎn)進(jìn)行恢復(fù),因此,單幀可創(chuàng)建關(guān)鍵點(diǎn),關(guān)鍵幀;然而對(duì)于單目攝像頭,恢復(fù)3D點(diǎn)只能借助時(shí)間序列上的兩幀恢復(fù)。無論哪種相機(jī),都需要借助評(píng)分選擇一個(gè)更好的模型來初始化。
Fundamental模型評(píng)分:
(6)
Homograph模型評(píng)分:
(7)
其中,當(dāng)x≤0時(shí),ρ(x)=0,當(dāng)x>0時(shí),ρ(x)=x。TF取固定閾值3.84,TH取固定閾值5.99。式(6)和式(7)中x′和x為同一個(gè)3D點(diǎn)在o和o′坐標(biāo)系下坐標(biāo),F(xiàn)為基本矩陣,H為單應(yīng)矩陣,i表示特征點(diǎn)序號(hào),n表示特征點(diǎn)個(gè)數(shù),σ為標(biāo)準(zhǔn)差。
兩個(gè)模型的選擇條件為
(8)
當(dāng)RH≥0.45時(shí),表示當(dāng)前場景較為平坦并且視差較低,選擇單應(yīng)矩陣;其他的情況,選擇基本矩陣。
局部建圖線程主要是為了進(jìn)行束極調(diào)整,先根據(jù)相機(jī)模型和A、B圖像特征匹配好的像素坐標(biāo),求出A圖像上的像素坐標(biāo)的歸一化的空間點(diǎn)坐標(biāo),然后根據(jù)空間點(diǎn)的坐標(biāo)計(jì)算投影到B圖像上的像素坐標(biāo),可以發(fā)現(xiàn),重投影的像素坐標(biāo)(估計(jì)值)與匹配好的B圖像上的像素坐標(biāo)(測(cè)量值)不會(huì)完全重合,這時(shí)候就需要束極調(diào)整。束極調(diào)整的目的就是對(duì)每一個(gè)匹配好的特征點(diǎn)建立方程,然后聯(lián)立形成超定方程,解出最優(yōu)的位姿矩陣或空間點(diǎn)坐標(biāo)。
閉環(huán)檢測(cè)線程主要由檢測(cè)回閉環(huán)、計(jì)算Sim3、閉環(huán)融合以及優(yōu)化本質(zhì)圖四個(gè)部分所組成。在閉環(huán)檢測(cè)中,首先要求閉環(huán)與閉環(huán)之間必須超過十幀,然后計(jì)算當(dāng)前幀與相鄰幀之間的詞袋得分,從而得到最小相似度,之后以最小相似度作為基準(zhǔn),若大于該基準(zhǔn)則可能是關(guān)鍵幀,這就將閉環(huán)檢測(cè)轉(zhuǎn)變?yōu)橐粋€(gè)類似于模式識(shí)別的問題,當(dāng)相機(jī)再次來到之前到過的場景,就會(huì)因?yàn)榭吹较嗤木拔?,而得到類似的詞袋描述,從而檢測(cè)到閉環(huán)。其次在計(jì)算Sim3中,單目系統(tǒng)中存在尺度的不確定性,因?yàn)獒槍?duì)一個(gè)三維點(diǎn)P來說,在單目拍攝的兩幅中可以匹配到PL和PR,但是無法確定其在三角化里的具體位置,所以存在尺度模糊,而對(duì)于雙目相機(jī)或者RGB-D相機(jī),尺度可以唯一確定。之后閉環(huán)矯正是融合重復(fù)的點(diǎn)云,并且在共視圖中插入新的邊以連接閉環(huán),接下來當(dāng)前幀的位姿會(huì)根據(jù)相似變換而被矯正,與此同時(shí)所有與其相連的幀也會(huì)被矯正,矯正之后所有的被閉環(huán)處的關(guān)鍵幀觀察到的地圖通過映射在一個(gè)小范圍里,然后去搜索它的近鄰匹配,這樣就可以對(duì)所有匹配的點(diǎn)進(jìn)行更有效的數(shù)據(jù)融合。最后為了更好地完成閉環(huán),將回環(huán)誤差均攤到所有關(guān)鍵幀上,使用本質(zhì)圖優(yōu)化所有關(guān)鍵幀的位姿姿態(tài)。
采集制作含有動(dòng)態(tài)目標(biāo)的地下車庫VOC數(shù)據(jù),該數(shù)據(jù)集分為有車有人、有車無人、無車無人、無車有人4種情況。利用目標(biāo)檢測(cè)工具labelimg對(duì)采集的地下車庫圖片進(jìn)行標(biāo)注,分為person、car、bus、rider類,制作成VOC數(shù)據(jù)集。將數(shù)據(jù)集按照8∶1∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,即訓(xùn)練集包括3 200張圖片,驗(yàn)證集和測(cè)試集各包括400張照片。
之后對(duì)測(cè)試集訓(xùn)練,用平均損失曲線以及平均交并比(Intersection Over Union,IOU)曲線作為訓(xùn)練的評(píng)價(jià)標(biāo)準(zhǔn)。由圖3、4可以看出在經(jīng)過40 000多次迭代后平均損失曲線接近于0.06趨向于擬合,平均交并比曲線代表預(yù)測(cè)的邊界框和真實(shí)框的交集與并集之比接近于1,由此訓(xùn)練結(jié)果可以用來進(jìn)行地下車庫試驗(yàn)。
圖3 平均損失曲線Fig. 3 Average loss curve
圖4 平均交并比曲線 Fig. 4 Average IOU curve
傳統(tǒng)的視覺SLAM難以從平面像素中定義動(dòng)態(tài)對(duì)象,也難以檢測(cè)跟蹤動(dòng)態(tài)對(duì)象,因此,本文測(cè)試了ORB-SLAM2以及優(yōu)化的SLAM的操作效果。
使用ORB-SLAM2的特征提取如圖5所示,可以看出特征點(diǎn)集中在人車這些動(dòng)態(tài)物上,ORB特征點(diǎn)大多是雜亂無章,并且對(duì)于SLAM的建圖有很大影響,不但會(huì)增加冗余計(jì)算量、影響建圖速度,甚至?xí)a(chǎn)生漂移等影響。圖6表示的是應(yīng)用YOLO v3的目標(biāo)檢測(cè)方法進(jìn)行的動(dòng)態(tài)目標(biāo)檢測(cè),圖7表示的是識(shí)別全部的ORB特征點(diǎn),圖8表示的是動(dòng)態(tài)特征點(diǎn)的剔除。
圖5 ORB-SLAM2的特征提取Fig. 5 Feature extraction of ORB-SLAM
圖6 YOLO v3的目標(biāo)檢測(cè)Fig. 6 Target detection of YOLO v3
圖7 全部特征點(diǎn)的識(shí)別Fig. 7 Recognition of all feature points
圖8 動(dòng)態(tài)特征點(diǎn)的剔除Fig. 8 Removal of dynamic feature points
地下車庫數(shù)據(jù)集是由智能汽車平臺(tái)搭載的RGB-D相機(jī)錄制,數(shù)據(jù)集經(jīng)歷了3個(gè)場景,分別是靜態(tài)場景、低動(dòng)態(tài)場景、高動(dòng)態(tài)場景。
用激光雷達(dá)算法LOAM測(cè)試完整個(gè)數(shù)據(jù)集,當(dāng)作該數(shù)據(jù)集的真實(shí)軌跡圖,圖9展示了不同算法的運(yùn)行軌跡,本文改進(jìn)的SLAM算法相機(jī)軌跡估計(jì)比ORB-SLAM2更接近地面真實(shí)情況。在靜態(tài)場景下,本文算法和ORB-SLAM2都貼近于真實(shí)軌跡;隨后經(jīng)歷低動(dòng)態(tài)場景,ORB-SLAM2產(chǎn)生了些許的漂移,根據(jù)回環(huán)校正,依舊可以跟蹤上一幀,進(jìn)行幀間匹配建圖,然而到了高動(dòng)態(tài)場景中,ORB-SLAM2算法中由于提取的特征點(diǎn)大多集中在車中,出現(xiàn)了嚴(yán)重的漂移,導(dǎo)致建圖未能成功;相反改進(jìn)的SLAM算法由于特征點(diǎn)提取范圍從整幅圖像縮小到非動(dòng)態(tài)區(qū)域,能夠進(jìn)行有效的幀間匹配,完成建圖。與ORB-SLAM2算法相比,改進(jìn)的SLAM算法在動(dòng)態(tài)場景中具有更強(qiáng)的魯棒性,攝像機(jī)軌跡估精度也有很大提高。
圖9 不同算法的軌跡對(duì)比圖Fig. 9 Trajectory comparison diagram of different algorithms
對(duì)優(yōu)化的SLAM算法評(píng)估可以從多個(gè)方面考慮,例如時(shí)耗、復(fù)雜度、精度。其中,算法對(duì)精度要求最高,本文采用絕對(duì)軌跡誤差(Absolute Trajectory Error, ATE)和相對(duì)位姿誤差(Relative Pose Error,RPE)兩個(gè)精度指標(biāo)。ATE被廣泛用于定量評(píng)估,它評(píng)估兩條軌跡之間的絕對(duì)姿態(tài)差,采用均方根誤差(Root Mean Square Error, RMSE)、平均誤差(Mean Error)、中位誤差(Median Error)和標(biāo)準(zhǔn)差(Standard Deviation, SD)等指標(biāo)進(jìn)行測(cè)量。在這些指標(biāo)中,RMSE和SD在反映視覺SLAM系統(tǒng)性能力方面更為重要。RMSE是測(cè)量誤差的標(biāo)準(zhǔn)差,用ERMSE表示,它很好反映測(cè)量的精度,ERMSE越小,估計(jì)軌跡越接近地面真值軌跡。
(9)
其中,n表示觀測(cè)次數(shù),i表示第i個(gè)關(guān)鍵幀,xobs,i表示第i個(gè)關(guān)鍵幀姿態(tài)的地面真實(shí)值,xmodel,i表示第i個(gè)關(guān)鍵幀姿態(tài)的觀測(cè)值。
SD可以反映觀測(cè)值的分散程度,用ESD表示
(10)
其中,n表示關(guān)鍵幀的數(shù)目,Xmodel,i表示第i個(gè)關(guān)鍵幀的觀測(cè)姿態(tài),μ是Xmodel,i的平均值。
ME是觀測(cè)姿態(tài)與地面真值之間誤差的算術(shù)平均值,用Emean表示:
(11)
其中,n表示觀測(cè)次數(shù),i表示第i個(gè)關(guān)鍵幀,Xobs,i表示第i個(gè)關(guān)鍵幀姿態(tài)的地面真實(shí)值,Xmodel,i表示第i個(gè)關(guān)鍵幀姿態(tài)的觀測(cè)值。
中位誤差是觀測(cè)姿態(tài)和地面真實(shí)值之間的誤差的中間值。
RPE主要描述的是相隔固定時(shí)間差兩幀位姿差的精度(相比真實(shí)位姿),相當(dāng)于直接測(cè)量里程計(jì)的誤差。因此第i幀的RPE定義如下:
(12)
其中,Pi表示第i幀算法估計(jì)位姿,Qi表示第i幀真實(shí)位姿,Δt表示時(shí)間間隔t,Ei表示i時(shí)刻絕對(duì)或相對(duì)位姿估計(jì)誤差。
采用ERMSE統(tǒng)計(jì)誤差總體值:
(13)
其中,n表示觀測(cè)次數(shù),Δt表示時(shí)間間隔t,得到m,m=n-Δt×ERPE,Ei表示i時(shí)刻絕對(duì)或相對(duì)位姿估計(jì)誤差,trans(Ei)代表相對(duì)位姿誤差中的平移部分。
但是,在大多數(shù)情況下,Δt有許多選擇,為了綜合衡量算法的表現(xiàn),計(jì)算遍歷了所有時(shí)間間隔的ERMSE的平均值:
(14)
其中,n表示觀測(cè)次數(shù),Δt表示時(shí)間間隔t(t從1開始取直到觀察結(jié)束n次為止),ERMSE表示均方根誤差。
若遍歷所有時(shí)間間隔,則存在計(jì)算復(fù)雜程度高、耗時(shí)問題,因此通過計(jì)算固定數(shù)量的RPE樣本獲取估計(jì)值作為最終結(jié)果。
采用系數(shù)K對(duì)比優(yōu)化的SLAM算法與ORB-SLAM2的改進(jìn)值:
(15)
其中,α是優(yōu)化的SLAM獲得的值,β是ORB-SLAM2獲得的值。
圖10、11對(duì)ORB-SLAM2和優(yōu)化的SLAM進(jìn)行ATE評(píng)測(cè):對(duì)比真值位姿,ORB-SLAM2的均方根誤差為22.49 m,優(yōu)化的SLAM的均方根誤差為1.46 m,提升了93.50%;ORB-SLAM2的標(biāo)準(zhǔn)差為11.92 m,優(yōu)化的SLAM的標(biāo)準(zhǔn)差為0.65 m,提升了94.53%??梢钥闯鰞?yōu)化的SLAM算法漂移量以及分散程度明顯優(yōu)于ORB-SLAM2。
圖10 ORB-SLAM2位姿與真值位姿之間的絕對(duì)軌跡誤差Fig. 10 ATE between ORB-SLAM2 pose and true value pose
圖11 優(yōu)化的算法位姿與真值位姿之間的絕對(duì)軌跡誤差Fig. 11 ATE between optimized algorithm and true value pose
圖12、13對(duì)ORB-SLAM2和優(yōu)化的SLAM分別進(jìn)行RPE評(píng)測(cè):對(duì)比真值位姿,ORB-SLAM2的均方根誤差為0.24 m;優(yōu)化的SLAM的均方根誤差為0.040 8 m;提升了83.03%??梢钥闯?,優(yōu)化的SLAM算法漂移量明顯低于ORB-SLAM2。
圖12 ORB-SLAM2位姿與真值位姿之間的相對(duì)位姿誤差Fig. 12 RPE between ORB-SLAM2 pose and true value pose
圖13 優(yōu)化的算法位姿與真值位姿之間的相對(duì)位姿誤差Fig. 13 RPE between optimized algorithm and true value pose
針對(duì)在地下車庫光照不足,容易受動(dòng)態(tài)物影響的問題,本文構(gòu)造了一個(gè)完整的SLAM框架,提出了一種基于YOLO v3和ORB-SLAM2相結(jié)合的動(dòng)態(tài)場景視覺SLAM算法。實(shí)驗(yàn)結(jié)果表明,在綜合場景下本文提出的算法位姿估計(jì)精度相比于ORB-SLAM2提升了93.50%,改進(jìn)后的算法大幅度提高了SLAM系統(tǒng)在動(dòng)態(tài)環(huán)境下精度與魯棒性,并且保證了實(shí)時(shí)性。