齊詠生 姚辰武 劉利強 董朝軼 李永亭
(1.內蒙古工業大學電力學院, 呼和浩特 010080; 2.內蒙古自治區機電控制重點實驗室, 呼和浩特 010051)
為實現自主移動和導航,移動機器人需要解決3個關鍵問題:位姿估計、建圖、路徑規劃[1-3]。其中移動機器人位姿估計是建圖與路徑規劃的重要前提和關鍵環節。
目前常見的信息提取渠道主要分為激光雷達傳感器和相機傳感器。而相機傳感器相比激光雷達傳感器,具有成本低廉、質量輕、功耗低、采集信息豐富等優點,因而相機傳感器用于機器人位姿估計已成為一個重要的發展方向。
即時定位與地圖構建(Simultaneous localization and mapping,SLAM),主要解決移動機器人在未知環境中定位與地圖構建的問題。而SLAM前端作為其重要環節是一個求解運動變換的過程,并為后端提供初始的數據,SLAM前端可以分為特征提取、特征匹配、數據關聯[4-6]。迄今為止已經有一些經典的視覺SLAM算法,其算法的前端部分都是采用視覺定位。MonoSLAM[7]是第一個基于單目相機運行的SLAM方案,其前端采取稀疏的特征點進行匹配估計位姿,能夠實現實時的無漂移運動恢復結構。但該方案的前端特征點跟蹤魯棒性較差,很容易丟失;PTAM[8]采用了Tracking和Mapping雙線程的結構,在Tracking線程中其前端采取FAST提取特征點進行匹配,其優點是提取速度快,但也存在魯棒性差的缺陷,而且它會提取出大量的FAST特征,需要使用各種約束剔除誤匹配,耗時耗力。為了降低前端計算工作量,以直接法為代表的LSD-SLAM[9]在幀與幀之間實現跟蹤以構建光度誤差,降低特征匹配的計算量,但該算法對紋理缺乏的場景效果較差。ORB-SLAM2[10]在PTAM架構的基礎上,增加了地圖初始化和閉環監測功能,可實現全局約束優化。但ORB-SALM2前端在復雜場景下(噪聲引入、運動模糊、光線明亮變化)特征點的提取抗干擾能力較差,而且其描述子Brief[11]利用的是圖像局部信息,缺乏全局性描述,會對提取的特征點造成較多誤匹配,影響定位精度。
為進一步提高ORB-SLAM2定位精度,MA等[12]從提高特征點描述子區分度的角度出發提出了ASD-SLAM,針對視點變化和高度重復的場景,使用深度學習的方法提高特征點描述子的區分度。所提出的Adaptive Scale Triplet損失函數應用于Triplet Network獲得自適應尺度描述子(ASD),替換傳統視覺SLAM框架的前端,提高了特征的匹配精度。然而該算法也存在特征點提取抗干擾能力差,在復雜環境下提取點數變少甚至無法求解位姿的問題。LI等[13]將深度學習目標檢測方法融入SLAM前端中,提出一種PO-SLAM方案,該方法是對ORB-SLAM2的改進,對輸入的圖像從目標檢測網絡中提取對象的語義信息,使用bundle adjustment構建對目標的映射,可有效提高定位精度。不過,當環境中目標信息減少和缺失時,仍會出現目標檢測失效、定位精度下降的問題。
為克服上述問題,提出基于多級深度網絡提取圖像特征點和輸出描述子[14-17]。在面對復雜場景提取特征點時具有很好的抗干擾性,輸出的描述子匹配精度也有較大提高。但上述網絡對特征點提取和描述子輸出分別采用不同網絡,網絡結構龐大復雜,當面對較大場景、輸入圖像較大時,網絡的計算時間成本陡然增加,降低了SLAM系統的實時性,此外該類方法對移植系統的資源要求很高。
通過前期研究和深入分析,發現目前所研究的ORB-SLAM2的前端定位算法主要缺陷為:特征點的提取是基于人工設定的規則,在復雜場景[18-21]中,特征點提取會失效,或點數變少甚至于無法求解位姿,容易跟蹤失敗。通過使用深度學習可有效改善這些問題,然而引入深度學習在特征點提取和描述子輸出時會帶來網絡龐大、復雜場景環境下計算成本過高,實時性難以保證的問題。ORB-SLAM2使用Brief描述子利用的是圖像的局部信息進行特征點匹配,而圖像中紋理信息較為豐富,當特征點距離較遠時局部信息描述子可能非常相似,很容易產生誤匹配現象,影響定位精度。為此,從不影響V-SLAM實時性同時又保證具有較強抗干擾性角度出發,提出一種概率p-SuperPoint網絡實現特征點提取,提高提取特征點的魯棒性;并在其中引入一種帶有反饋特征點p概率控制策略,實現特征點的輸出質量控制,提高前端位姿估計的準確性。提出在描述子輸出部分引入一種自適應K-means聚類算法融合Brief描述子,提高特征點的匹配精度和魯棒性。最后,引入一種Ransac的隨機抽樣方法對估計的位姿進行檢驗,增強算法的可靠性。
綜上,本文提出一種信息融合描述子位姿估計前端算法(SuperPoint Brief and K-means visual cocation,SBK-VL)。該算法綜合考慮ORB-SLAM2和深度學習方法2種思路的優缺點,給出一種均衡方案,用更小的計算成本得到最佳的估計精度;將該算法與經典ORB-SLAM2算法、GCNv2-SLAM算法進行比較,以驗證算法的有效性。
SuperPoint網絡是基于自監督學習用于訓練特征點檢測器和描述子,適用于計算機視覺中大多數視點幾何問題[14]。它能夠有效檢測圖像中的特征點和輸出特征點對應的描述子,其中SuperPoint網絡中的特征點提取網絡在復雜環境下具有較好的抗干擾能力。SuperPoint特征點提取網絡框架如圖1所示。

圖1 SuperPoint特征點提取網絡框架圖Fig.1 SuperPoint feature point extraction network
該網絡輸入尺寸W×H圖像,經過類似于VGG-net編碼形式的卷積,對圖像實施降維,提取特征,圖中的解碼部分經過Softmax,計算圖像的每個像素成為特征點的概率,最后在Reshape中采用子像素卷積的方法將其重組為與原來圖像尺寸相同并帶有特征點位置的圖像。該網絡輸出圖像中的像素帶有一個0-1的數值概率表示該像素點成為特征點的概率[14]。該網絡結構簡單,參數組成較少,網絡運算時間短,因此可以將其應用到V-SLAM算法中,來提取復雜環境下的特征點。
多視圖幾何中已知2D的像素坐標估計相機的運動使用的是對極幾何。
如圖2中p1和p2是一對在第1幀和第2幀中匹配好的特征點,設第1幀到第2幀的運動為旋轉和平移,旋轉和平移運動前后的2個相機的中心分別為O1、O2。設P的空間位置為P=(X,Y,Z)。

圖2 對極幾何約束Fig.2 Polar geometric constraints
根據針孔相機原理,2個像素點p1和p2的像素位置為
s1p1=KP
(1)
s2p2=K(RP+t)
(2)
式中K——相機內參矩陣
R——相機旋轉矩陣
t——相機平移向量
s1、s2——尺度
上述2個投影關系可以寫為
p1?KP
(3)
p2?K(RP+t)
(4)
式中?表示尺度意義下的相等,現取
x1=K-1p1
(5)
x2=K-1p2
(6)
式中x1、x2——2個像素歸一化平面的坐標
于是有
x2?Rx1+t
(7)
(8)
化簡后,得到用對極幾何計算相機的位姿,計算式化簡為
(9)
式(9)的中間部分記作2個矩陣:基礎矩陣F和本質矩陣E。
F=K-TEK-1
(10)
E=R
(11)
可以進一步化簡對極約束,根據特征點的配對坐標求出E或F,根據E或F求出R、t。
SBP-VL算法架構如圖3所示。由圖3可知,算法框架主要包括3部分:基于位姿反饋輸出的深度學習特征點提取網絡、特征點匹配和位姿估計。

圖3 SBK-VL算法框架Fig.3 SBK-VL algorithm framework
(1)基于概率p-SuperPoint網絡的特征點提取。如前所述,SuperPoint網絡編碼器具有類似VGG-net的架構,其網絡結構簡單、參數少、運算時間短,非常適合應用到V-SLAM算法中實現復雜環境下特征點提取。但在應用中該網絡需要提前設定一個固定的閾值來判定圖中像素點是否為特征點。實驗中發現,固定的閾值對于不同場景(如運動模糊場景)會導致連續丟幀,甚至是位姿估算失敗進入重定模式等。為此,引入一種概率閾值p控制方法,即由特征點的概率閾值p自適應控制該網絡生成特征點的質量,當位姿估算超出誤差范圍或位姿估算失敗時特征點的概率閾值p會被重置,以適應場景的變化實現準確位姿估計。另外,由于網絡輸出的特征點可能會有稠密現象,給后續特征點匹配帶來一定難度,因此,在本文算法中加入了非極大值抑制環節,將多余特征點去除。
(2)特征點匹配。該部分由Brief描述子匹配和特征點K-means聚類組成。考慮到傳統Brief描述子主要反映的是局部特征,會造成誤匹配。為此,基于相鄰幀結構相似性原理,引入自適應K-means聚類剔除出現的誤匹配,同時采用歐氏距離平均法自適應確定聚類類數K0。
(3)位姿估計。引入Ransac隨機抽樣對估計出的位姿進行準確性檢驗,設置誤差檢驗范圍并加入反饋環節。若估計的位姿結果超出該范圍或位姿估計失敗,則進行反饋重新設置概率閾值p,重新產生特征點;否則,輸出估計準確的旋轉矩陣和平移向量。
SuperPoint網絡是一個能夠檢測特征點和描述子的雙網絡。但當輸入圖像變大、場景變大,該網絡的計算成本增加、運算量變大。因此,在特征點檢測中只使用SuperPoint網絡中的特征點檢測網絡,這樣可以減少該網絡的計算時間。該特征點檢測網絡能夠對圖像中的像素點生成一個概率值的標記,表示該像素點成為特征點的概率,因此將SuperPoint網絡輸出的圖像中像素點概率作為衡量特征點質量的標準。通過設定概率閾值p便可以控制特征點的輸出。概率閾值p設置的越高表示網絡提取到的特征點質量越高,輸出數量越少。特征點輸出質量越高表示特征點在不同場景下的不變性與穩定性越強。而前端的位姿估計面臨的2個風險分別為由特征點誤匹配造成的位姿估計誤差太大和由特征提取數目太少而造成的位姿估計失敗。而這2個問題可以通過控制特征點的輸出來解決。
(1)位姿估計誤差太大。該情況大多是由于特征匹配出現誤差,而位姿估計時使用了錯誤的特征匹配數據,對于前端位姿估計誤差太大,解決辦法為提高特征點的輸出質量,減少特征點的輸出數量,即提高概率閾值p,一方面閾值p的提高使得特征點數量減少,復雜環境下特征點的描述子相似性很高的點多數會消失,降低匹配難度,且在特征點匹配的過程中進一步減少了時間;另一方面特征點輸出質量高、穩定性強,在不同場景下處于前一幀圖像的特征點很大概率也會存在后一幀圖像中,在特征點匹配的過程中更加容易精確尋找到匹配的特征點,使得點與點匹配后的精度提高。對于前端位姿估計誤差太大情況,本文提出概率閾值p的控制策略公式
(12)
式中p0——初始設定閾值

e0——所有特征點映射誤差閾值
誤差閾值是以真實投影特征點為圓心,半徑為e0的圓,該誤差閾值與圖像的尺寸有一定的比例關系,即
(13)
式中W——輸入圖像的寬
H——輸入圖像的高
式(13)表示以真實投影特征點為圓心,半徑為e0的圓與輸入圖像的面積占比為0.002,根據實際輸入圖像的尺寸可以確定e0。在實際場景中可以根據實際情況對e0進行微調。
圖4表示實際投影的2種情況:I1圖像中的點u1、u2,經過三維空間中點P1、P2映射到圖像I2中點u′1、u′2,圖像I2中的虛線方框表示實際投影位置,實線方框為真實投影點,圓圈表示投影誤差范圍,該圖展示了實際投影在誤差范圍內和超出誤差范圍的2種情況。

圖4 特征點投影示意圖Fig.4 Projection of feature points

圖5 控制策略示意圖Fig.5 Schematic of control strategy

圖6 閾值重設流程圖Fig.6 Threshold reset flow chart
(2)位姿估計失敗。當復雜場景中提取到的特征點數目太少(如運動模糊)而無法滿足位姿方程的求解條件,往往會造成位姿估計失敗,針對這種情況,解決辦法為降低概率閾值p、提高特征點數量、降低質量以滿足位姿求解方程。對于位姿估計失敗時該概率閾值p的控制策略公式為
(14)
式中pn-1——n-1次設置的概率閾值
pn——n次設置的概率閾值
該控制策略采用比例函數,當n-1次設置的概率閾值pn-1使得提取的特征點數量不足造成位姿求解失敗時,為保證降低后概率閾值所提取出的特征點數能夠滿足式(11)的求解(式(11)的求解需要至少4對匹配的特征點),所以降低后的概率閾值所提取出的特征點數應至少為原來的4倍,于是概率閾值設置降低為原來的1/4,重新提取特征點求解位姿。該控制策略流程如圖7所示。

圖7 位姿估計失敗時閾值重設流程圖Fig.7 Threshold reset flow chart when pose estimation failed
特征點匹配如圖8所示,包括特征點預匹配、匹配特征點的自適應K-means聚類、類與類之間的對齊剔除誤匹配3部分。

圖8 特征點匹配算法流程圖Fig.8 Feature point matching algorithm flow
2.3.1特征點預匹配
將前后2幀檢測的特征點使用Brief描述子進行預匹配。由于Brief描述子是一種利用圖像局部信息產生的描述子,且采用二進制描述,因此會造成特征點誤匹配現象。此時即使降低閾值也不能消除誤匹配,這是因為圖像中的紋理信息豐富,使得特征點的局部信息很容易產生相似性,而閾值的下降會造成點數減小,導致方程求解條件缺失無法求解。因此必須進行進一步誤匹配消除。
2.3.2特征點聚類
在特征點進行預匹配的過程中,發現經過預匹配的特征點在結構上具有相似性,因此當對參與預匹配的特征點進行聚類時,前后2幀圖像的特征點能夠有很好的聚類性能,可充分利用前后2幀類的相似性剔除誤匹配。基于此,提出K-means聚類的誤匹配剔除思路。使用K-means聚類主要是因為該方法計算簡單、直觀,不過傳統K-means聚類算法需要人為設定聚類系數K0,實際應用中很難滿足,為此,提出一種自適應的改進措施。
首先定義距離
(15)
式中i、j——圖像中特征點聚類數
(x,y)——聚類的中心點坐標
d0——類間的平均歐氏距離
當該距離越大時,其一幀圖像中類與類之間距離越遠,在進行類與類的對齊時越易于匹配。
選取不同的K0則會對應不同d0,d0越大,其類與類之間的差距越大則特征點的結構信息越明確,2幀圖像類與類之間的匹配范圍就越清晰,因此K0的確定就轉換為最大化距離d0問題。通過實驗發現大部分的K0取3和4時d0能夠取得最大,但K0的選取范圍不能太大,過大的K0會使得K-means在聚類時花費更多的時間,因此,將K0的合理范圍劃分在2~9之間,能夠滿足特征點類的劃分和適當的計算成本。由此得到具體算法流程如圖9所示。

圖9 確定K0流程圖Fig.9 Flow chart for determining K0 value
2.3.3誤匹配剔除
誤匹配剔除的關鍵在于2幀圖像中第1幀圖像的類與第2幀圖像類的對齊,而類的中心點可以表示一類特征點的范圍,因此類與類的對齊就轉換為中心點匹配問題。首先,對輸入的前后2幀圖像根據圖9流程圖所確定的K0分別聚成K0類;其次計算前后2幀K0類的中心點坐標;在類的中心點周圍以9×9的方格取81位像素值作為該中心點的描述子,具體示意圖如圖10所示。

圖10 類中心點的描述方式Fig.10 Description of class center point
圖10中的實心點表示類中心點,網格表示類中心點周圍像素值。對每個中心點分別取上述描述方式,并在2幀之間進行匹配,與預匹配結果進行比較,最終剔除誤匹配。顯然類的中心點的對齊代表的是2類特征點結構的相似性和全局匹配性,可從整體范圍內剔除特征點的誤匹配,充分利用了全局信息。為了更好地說明誤匹配剔除過程,示例如圖11所示。

圖11 類的匹配示意圖Fig.11 Schematic of matching
圖11中實心圓點表示Brief描述子匹配后的特征點;三角形的點和虛直線表示使用Brief所產生的誤匹配;正方形點表示聚類的中心點,虛線圓圈表示特征點聚類Ⅰ的范圍,實線圓圈表示特征點聚類Ⅱ的范圍。由圖11可以看出,本該在類Ⅰ的特征點被Brief描述子匹配到了類Ⅱ的范圍里,發生誤匹配,為此采用聚類中心匹配方法,利用前后2幀圖像類Ⅰ和類Ⅱ的劃分和對齊可以有效地將誤匹配結果剔除。


圖12 位姿檢驗流程圖Fig.12 Flow chart of pose estimation
為了驗證本文算法的有效性,分別比較了SuperPoint與FAST特征點的場景適應性、概率閾值p控制策略正確性、提高概率閾值p對特征點匹配準確率的影響、Brief描述子與K-means結合對特征點誤匹配剔除的有效性等,最后,將本文方法與經典ORB-SLAM2算法[10]、GCNv2-SLAM算法[16]進行了比較,驗證算法的有效性和優越性。
分別在明亮變化場景、運動模糊場景、引入高斯噪聲和椒鹽噪聲場景,通過SuperPoint網絡和FAST提取特征點,對比2種特征提取器的效果,實驗結果如圖13所示。

圖13 不同場景中兩種算法對比結果Fig.13 Comparison results of two algorithms in different scenarios
圖像中實心圓點表示提取到的特征點,由上述實驗結果可以看出:在亮度減小時(夜間場景)SuperPoint提取結果明顯優于FAST,FAST提取點數不足以求解方程;在亮度增加時SuperPoint提取的特征點分布性較FAST好。在運動模糊場景下,SuperPoint提取結果明顯優于FAST,FAST提取點數僅有4點。在對圖像引入噪聲后,發現FAST對噪聲很敏感,而SuperPoint對噪聲有抗干擾作用。綜上,SuperPoint的提取效果明顯優于FAST,對場景的適應能力更強。
SuperPoint網絡輸出圖像中的像素帶有一個0-1的概率閾值標記,表示該像素點成為特征點的概率[14]。該概率閾值越高表示該特征點響應越高。如果設置一個概率閾值p,使得網絡輸出的特征點大于概率閾值p的特征點,輸出便篩選出了具有高概率的特征點。對前后2幀采用不同的概率閾值p進行特征點的提取,實驗結果發現,帶有高概率標記的特征點能夠同時出現在前后2幀圖像中,在幀與幀的變化過程中表現相對穩定,比帶有低概率特征點穩定,不容易丟失,即帶有高概率標記的特征點在應對環境變化時表現穩定,特征點質量高。圖14為前后2幀帶有概率標記的特征點圖像。

圖14 前后2幀帶有概率標記的特征點圖像Fig.14 Feature point images with probability markers in two frames before and after
圖像第1幀采用概率閾值p=0.3進行特征點的提取,第2幀圖像采用概率閾值p=0.4進行提取。其中使用圓圈標記的特征點顯示有較高的概率標記值,也都存留在了第2幀中,而帶有五邊形標記的特征點顯示有相對較低的概率標記值,在后一幀中沒有保留。從上述結果可以發現,帶有高概率標記的特征點在前后2幀中表現穩定。因此,采用SuperPoint網絡提取特征點的輸出響應值(概率閾值)Pi作為衡量該特征點質量,輸出響應值Pi越大表明質量越高,輸出響應值Pi越小表明質量越低。設定p為概率閾值,則集合A表示特征點質量相對高的集合,為A={Pi|Pi>p,0

對于位姿估計失敗情況,在復雜環境中往往由于運動模糊產生的特征點輸出較少,不滿足位姿求解方程,針對這種情況,應當降低概率閾值產生更多的特征點,因此根據式(14)將初始閾值重置為原來的1/4,即0.05重新提取特征點進行位姿估計,由圖15可以看出概率閾值改變后特征點數明顯增加,可進行位姿估計。

圖15 模糊場景下特征點提取匹配結果Fig.15 Feature point extraction and matching results when in fuzzy scene

圖16 特征點提取匹配映射結果Fig.16 Feature point extraction matching mapping results

圖16a為p=0.2時特征點的特征提取匹配情況,根據其特征匹配計算出R,當圖I1用R進行映射時并不能恢復圖I2。對于圖16a由于產生錯誤的位姿估計導致圖像的映射結果錯誤,在圖16b中將p重置為0.37,減少特征點數量提高特征點質量,計算出R能夠很好地使其恢復至原圖I2。
為了驗證提高特征點質量(即提高概率閾值)對特征點匹配準確率的影響,進行如表1所示實驗,實驗以概率閾值從0.2提升到0.25時特征點的匹配情況為例,并分別針對TUM和ETHl數據集進行測試,具體實驗結果見表1,圖17為其中1組對比圖結果。
圖17對應實驗5(表1第5行),采用ETHl數據集進行驗證結果。從對比圖中可清晰地看出,在提高概率閾值后,原本在前一幀中存在的特征點(圖中黃色圓圈標記)在下一幀中發生部分消失,此時由表1統計數據可知,消失的特征點中,誤匹配點消失的比率更高。如實驗5中,刪除特征點總數為30個,其中誤匹配特征點為11個,占比36.7%,明顯高于概率閾值提升之前的19.5%。分析原因可知,誤匹配的特征點質量偏低,當適當提升概率閾值后首先被剔除的特征點是這些低質量的特征點,因此本文算法相當于起到一個濾除作用,可以有效提升匹配的正確率。從表1也可以看出,對于給出的6個實驗中,均實現了正確率的提升,平均提升率為4.34個百分點。由此,可以進一步表明,提高概率閾值有利于提升特征點的匹配正確率。
首先使用特征點提取器對前后2幀圖像進行特征點提取,之后使用Brief描述子進行匹配,在前后2幀中分別求d0,求出使2幀d0之和最大的值所對應的K0,確定聚類類數K0。由圖18可以看出,當K0=3時取得最大值。將前后2幀圖像分別分成3類,對分成3類的中心點進行對齊,剔除產生的誤匹配。
實驗結果如圖19所示,在Brief預匹配后特征點之間產生了誤匹配,對參與匹配的特征點經過K0=3的聚類,因參與匹配的特征點在結構上具有相似性,利用其結構分布相似性對聚類后的特征點類進行中心點對齊,將幀與幀之間的類進行對齊。實驗結果最后顯示誤匹配的特征點被剔除。

表1 概率閾值提高后匹配情況Tab.1 Improved probability threshold matching
為了驗證該匹配方法的準確程度,分別在TUM數據集和ETHI數據集中選取了幾對圖像幀進行了特征匹配實驗,實驗結果表明信息融合描述子的平均匹配正確率為92.71%,Brief描述子進行匹配的平均正確率為80.86%。使用信息融合描述子對比使用Brief描述子的匹配正確率平均提高11.87個百分點。表2為該方法的匹配結果。

圖17 Brief的匹配結果(Eth1-ethl_syn1_flash)Fig.17 Brief matching results

圖18 K0值的選定Fig.18 Selection of K0 value

圖19 Brief與K-means結合的結果Fig.19 Result of combination of Brief and K-means

表2 特征點匹配精度比較結果Tab.2 Feature point matching accuracy comparison
為驗證本文前端算法替換ORB-SLAM2前端能夠提高定位精度,分別使用TUM RGB-D和ETHl[22]公共數據集的多個典型視頻序列對該算法進行測試,與ORB-SLAM2[10]、GCNv2-SLAM算法[16]在絕對軌跡誤差(ATE)、相對軌跡誤差(RPE)、平均跟蹤時間等指標進行了比較。實驗平臺的硬件環境CPU為AMD Ryzen 5 3600 CPU 3.60 GHz,GPU為NVIDIA GTX 1650 SUPER 4 GB,運行內存為16 GB。實驗結果表明該算法能以每個序列的幀速率實時運行。基于TUM和ETHl的視頻序列的實驗結果如圖20~23所示。

圖20 視頻序列fr1_xyz不同算法仿真結果Fig.20 Simulation diagrams of different algorithms of video sequence fr1_xyz

圖21 視頻序列fr2_rpy不同算法仿真結果Fig.21 Simulation diagrams of different algorithms of video sequence fr2_rpy

圖22 視頻序列Ethl_flash不同算法仿真結果Fig.22 Simulation diagrams of different algorithms of video sequence Ethl_flash
圖20~23實驗結果展示了3種算法在TUM視頻序列fr1_xyz、fr2_rpy和ETHl視頻序列Ethl_flash、Ethi_local的測試結果,表3、4顯示了ETHl和TUM視頻序列在3種算法下的測試結果。
其中在TUM數據集下,在絕對誤差和相對誤差方面總體上GCNv2-SLAM最小,SBK-SLAM次之,ORB-SLAM2最大;而在ETHl數據集下,總體上SBK-SLAM最小,GCNv2-SLAM與ORB-SLAM2相當。分析可知,當使用TUM數據集時GCNv2-SLAM的深度網絡作用精度強使得誤差最小,精度總體上均高于SBK-SLAM、ORB-SLAM2。而當使用有干擾的數據集ETHl進行實驗時,SBK-SLAM精度總體上均高于GCNv2-SLAM和ORB-SLAM2,分析可知主要在于SBK-SLAM在特征點匹配期間除了計算Brief描述子外加入了K-means聚類算法,從而降低了誤匹配使得最后的定位精度提高。

圖23 視頻序列Ethl_local不同算法仿真結果Fig.23 Simulation diagrams of different algorithms of video sequence Ethl_local

表3 ETHl數據集下SLAM算法比較結果Tab.3 Comparison results of SLAM algorithms under ETHl dataset

表4 TUM數據集下SLAM算法比較結果Tab.4 Comparison results of SLAM algorithms under TUM dataset
但在平均跟蹤時間總體上GCNv2-SLAM用時最長、SBK-SLAM次之、ORB-SLAM2最小。主要原因在于GCNv2-SLAM特征點提取階段和特征點匹配階段使用了深度網絡,SBK-SLAM只在特征點提取階段使用了深度網絡,匹配階段沒有引入深度網絡計算。
從總體看,SBK-SLAM在匹配中增加了聚類算法,相比ORB-SLAM2提高了定位精度,在深度學習網絡中只提取特征點適應場景復雜性,相比GCNv2-SLAM減少了運算時間。
(1)在特征點提取階段給出一種概率p-SuperPoint深度學習算法,相比于ORB-SLAM2的FAST特征提取器能更好地適應場景的復雜性,具有更高的魯棒性。
(2)在特征點匹配階段提出一種基于Brief描述子與自適應K-means聚類復合算法,實現局部細節和全局描述信息融合,可有效減少特征點的誤匹配。
(3)在位姿估計階段,使用一種Ransac隨機抽樣對估計位姿進行準確性檢驗,通過設置誤差檢驗范圍并加入反饋環節,提升位姿估計的準確性,增強算法的可靠性。