嚴紀強,吳一琳,胡劍凌
(蘇州大學 電子信息學院,江蘇 蘇州 215000)
同步定位與建圖(Simultaneous Localization And Mapping,SLAM)是一種基于設備搭載的傳感器對周邊環(huán)境信息進行感知以實現(xiàn)設備自身定位并建立周邊環(huán)境地圖的方法。在過去十幾年里,因價格較低、感知信息量多、適應能力強等優(yōu)點,以相機作為傳感器的視覺SLAM 一直是移動機器人、自動駕駛以及增強現(xiàn)實等領域的研究熱點之一。
視覺SLAM 根據相機位姿估計的策略不同主要可以分為直接法和特征點法兩種。直接法基于灰度不變性假設,利用圖像的灰度信息進行匹配,最小化光度誤差優(yōu)化求解相機位姿,計算量小,運行速度快,但易受光照條件的影響,并僅能應用于較小的位移,其代表性算法包括LSD-SLAM[1]和DSO[2]等。特征法基于特征的提取和匹配建立約束,最小化重投影誤差求解相機位姿,能夠適應更大的場景變化,具有更強的魯棒性,其代表性算法包括PTAM[3]、ORB-SLAM[4]等。當前特征法主要利用的特征為點特征,然而基于點特征的視覺SLAM 存在許多不足,一是單目相機無法建立尺度約束而雙目相機運算量較大,資源占用多;二是基于點特征的視覺SLAM 在紋理缺失、運動模糊、弱光照等情況下難以建立良好的數(shù)據關聯(lián),從而導致運動估計失敗。
為了解決這些問題,研究人員將視覺和慣性傳感單元(Inertial Measurement Units,IMU)相結合,提出了許多緊耦合的視覺慣性SLAM 方法,聯(lián)合優(yōu)化視覺和IMU 信息,如MSCKF[5]、VINS-Mono[6]等。另外,考慮到紋理缺失往往發(fā)生在室內等人造環(huán)境中,而這些場景往往有豐富的線段特征,因此許多研究人員將線特征加入到圖像之間的數(shù)據關聯(lián)中。LU Y[7]等人基于RGB-D 相機實現(xiàn)了點線特征融合的視覺里程計,并證明點線特征比單一特征具有更小的運動不確定性。ZUO X[8]等人首次在SLAM 中采用正交表示最小參數(shù)化直線,并分析推導出相對于直線參數(shù)的重投影誤差的雅可比矩陣,大大改善了SLAM 的解決方案。GOMEZ O R 等人提出了基于雙目相機的PL-SLAM[9]方法,在所有過程中都使用了點線特征,包括視覺里程計、關鍵幀選擇、光束法平差,并提出一種新的詞袋模型,在閉環(huán)過程中綜合考慮點線特征的信息。YIJIA H等人基于VINS-Mono 方法提出了PL-VIO[10]方法,將點線特征與IMU 信息緊耦合優(yōu)化,優(yōu)于僅基于點特征的VIO 系統(tǒng)。LI X[11]等人又在PL-VIO 的基礎上增加了面特征和共面約束,基于點特征生成的三維網格進一步建模環(huán)境拓撲。然而,由于LSD[12]算法提取線特征時間長,以上點線特征結合的算法都難以實時運行,趙良玉等人[13]在VINS-Fusion[14]方法基礎上利用改進的FLD[15]算法實現(xiàn)了雙目視覺慣性SLAM 系統(tǒng)的實時運行。QIANG F[16]等人對LSD 算法的隱參數(shù)進行調整,在盡量不影響準確性的情況下實現(xiàn)了LSD 算法的實時運行。LEE J[17]等人在PL-VINS 基礎上增加了平行線約束,基于滅點對平行線聚類,將平行線殘差加入到優(yōu)化函數(shù)中,進一步提升了實時定位精度。
目前的點線SLAM 方法大多使用LSD 算法提取線特征并計算LBD[18]描述子進行線段匹配,然而原始的LSD 算法在策略選擇時容易將一條長線段分割為多條短線段,這些短線段不夠穩(wěn)定且容易造成誤匹配。另外,當前點線誤差的融合策略為直接融合,未考慮到點線特征之間的差異性以及點線特征融合對系統(tǒng)帶來的影響。同時,目前的點線特征在視覺慣性SLAM中利用不夠充分,在閉環(huán)檢測中僅使用了點特征來計算圖像間的相似度。
針對上述存在的問題,本文提出一種基于點線特征的改進視覺慣性SLAM 方法。首先,提出一種新的短線段合并算法,合并原屬于同一條直線的短線段,增加圖像之間的數(shù)據關聯(lián);其次,基于LU Y[7]等人的結論提出一種新的誤差融合策略,調整了點線特征及IMU 之間優(yōu)化的權重;最后,將線特征加入到視覺慣性SLAM系統(tǒng)的閉環(huán)檢測中?;谝陨细倪M,所提的方法提升了視覺慣性SLAM 系統(tǒng)的魯棒性和定位準確性。
本文提出的方法主要基于VINS-Mono 系統(tǒng)進行改進,點線特征及IMU 的融合優(yōu)化策略使用了PLVIO 的方法。所設計的系統(tǒng)框圖如圖1 所示,主要分為特征提取與跟蹤、局部滑窗優(yōu)化以及閉環(huán)檢測三部分。初始化過程與VINS-Mono 采取相同的策略,基于視覺信息和IMU 信息的松耦合策略,首先利用純視覺SFM(Structure from Motion)估計滑動窗口內所有幀的位姿及3D 點的逆深度,最后與IMU 預積分的結果進行對齊,并求解初始化參數(shù)。
圖1 基于點線特征的視覺慣性SLAM 改進方法
特征提取與跟蹤首先對輸入的圖像提取Shi-Tomasi 特征點和LSD 特征線,LSD 算法使用了QIANG F 等人調整后的隱參數(shù),從而實現(xiàn)系統(tǒng)的實時運行,然后使用所提出的線段合并算法對線段進行合并。對于Shi-Tomasi 點特征,基于光流法進行特征點匹配與跟蹤,對于LSD 線特征,計算LBD 描述子,并基于描述子距離進行匹配,并將結果通過機器人操作系統(tǒng)(The Robot Operating System,ROS)話題發(fā)布/訂閱機制發(fā)送到局部滑窗優(yōu)化部分,局部滑窗優(yōu)化對IMU 數(shù)據進行預積分,并將預積分的結果與點線特征重投影誤差基于本文提出的加權方式進行聯(lián)合優(yōu)化,求解得到相機位姿。同時,在這一過程中,根據特征在前后幀圖像間的視差量決定是否插入關鍵幀。若插入關鍵幀,則將當前關鍵幀的點線特征發(fā)送到閉環(huán)線程,在閉環(huán)線程采用DBoW[19]詞袋模型分別計算圖像間的點特征相似度和線特征相似度,并根據點線特征的數(shù)量和分布情況對圖像相似度進行加權,確定是否發(fā)生閉環(huán),之后根據描述子匹配以及幾何驗證確定閉環(huán)的準確性,若發(fā)生閉環(huán)則進行4 自由度全局位姿優(yōu)化。
LSD 算法是一種能在線性時間內得到亞像素級準確度的線段檢測算法,其在任何數(shù)字圖像上都不需要額外調整參數(shù)。但由于在基于梯度進行區(qū)域增長的過程中每個像素點僅允許被一條直線使用,因此對于遮擋、相交、邊緣模糊等情況,LSD 算法容易將一條長線段分割為多條短線段。
對此,謝曉佳[20]提出了一種利用點線距離、端點距離以及描述子距離進行匹配的方法,林利蒙等人[21]詳細地闡述了基于角度、端點距離的篩選合并策略。但這些方法往往每次只能處理合并兩條短線段,對于多條線段的合并往往需要多次迭代,會帶來較高的時間復雜度。另外,如圖2 所示,對于線段a來說,相對于線段c,往往線段b更加應該被合并,盡管在歐氏距離上線段c可能更近一些。在合并時,上述方法難以確定線段的相對位置,需要再進行多個端點間的歐式距離計算,如圖2 中的a、b、d線段難以確定合并后直線的起點和終點,這會導致計算資源的浪費。
圖2 線段的相對位置示意圖
本文提出的線段合并算法首先基于角度差值以及端點到直線的距離對線段進行分組,其次根據線段的角度實行不同的排序方案,實現(xiàn)線段基于相對位置的有序排列,最后根據線段端點之間的距離和線段的長度之和進行比較,確定是否屬于同一條直線,并基于LBD 描述子對合并后的直線進行篩選和剔除。
實驗發(fā)現(xiàn),LSD 線段提取得到的相鄰平行線往往方向相反,因此,無需特意進行平行線的剔除或合并。但也會有一些短線段和長線段平行且方向相同的情況發(fā)生,針對此類情況,首先使用設定的長度閾值Lth將短線段剔除。
考慮到長線段特征更加穩(wěn)定,首先對LSD 提取的線段根據長度進行降序排序,得到L={L1,L2,L3,…,Ln}。從最長的線段開始進行分組,直到線段長度小于設定的閾值Lmin。針對每一條線段Li,首先基于角度進行篩選得到候選線段組Lθ,通過這一步可以快速篩選掉大量不匹配的線段,降低后續(xù)的計算量:
式中:Lj表示線段組L中長度比Li短的線段,θi和θj分別為Li及Lj與x軸的夾角,θth表示Li及Lj之間的角度差閾值。
然后,計算Lj兩端點到Li所在直線的距離,設線段Lj起點坐標為ps,終點坐標為pe,線段Li所在直線表示為l=[l1,l2,l3]T,即直線方程為l1x+l2y+l3=0,則兩端點到直線的距離d為:
式中:ds表示Lj起點到Li所在直線的距離,de表示Lj終點到Li所在直線的距離。
基于公式(2)計算得到距離d,篩選得到最終的候選線段組Lg:
式中:dth表示端點到直線的距離閾值。
通過以上條件篩選,可以將圖片中屬于同一條直線的線段篩選出來。這些線段可能本來屬于同一條直線,也可能是空間中不同直線上的線段投影到一條直線上的。因此,針對分組后的線段,通過線段合并策略,在盡量將屬于同一條直線的線段合并的同時剔除誤分組的線段,將之存放到LSD 提取的原始線段組L中,用作后續(xù)處理。
經過線段分組后得到一組線段Lg,由于在線段分組過程中未對線段端點距離進行限制,分組中會存在一些在圖片中處于同一條直線,但在實際空間相差甚遠的線段,在線段合并時要對這些錯誤分組的線段進行剔除。LSD 算法提取的直線是有方向的直線,對于一張二值圖顏色取反,則LSD 提取的直線不變,但方向完全相反,而在計算LBD 描述子的時候會對線段進行方向的區(qū)分,因此在線段合并的時候需要判斷線段的相對位置。起始點和終點位置必須具有一致性,以便后續(xù)線段匹配準確。
首先,為了防止排序的歧義性,將直角坐標系根據角度分為4個部分,如圖3所示.其中,S表示線段起點,E表示線段終點。以區(qū)間1 為例,以該區(qū)間的線段為主線段時,經過上述線段分組后獲得的線段組,均為S在下、E在上的形式。因此僅需要根據起點S的縱坐標進行排序,即可得到在幾何位置上有序的線段序列。
圖3 基于線段方向的分區(qū)示意圖
將之前分組時參考的長線段稱為主線段lm,根據的角度θm執(zhí)行不同的排序策略。這樣做的目的是將線段組按照主線段的方向進行對齊,便于后續(xù)端點距離的計算。設兩條線段li和lj,起點和終點分別為(si,ei),(sj,ej),每個點的坐標為(x,y),則根據式(4)所示的策略進行排序。
式中:sort(*)表示基于括號內的變量大小進行排序。
通過該方法排序后的線段根據端點位置按照{si,ei,sj,ej}順序排列,之后先將排序后的線段根據主線段的位置分為兩組,如圖4 所示,并對每一組都進行前綴和計算。前綴和計算時,每一組線段都要包含主線段。以排序后的線段組2 為例,設前綴和計算結果為spre=[lsum0,lsum4,lsum5,lsum6]。
圖4 基于相對位置分組后的線段示意圖
從距離主線段最遠的線段開始,即圖4 中的l6,計算主線段lm起始端點sm和線段l6起始端點sj的距離d,并與之前計算得到的前綴和中對應的線段總長度lsum6進行比較,如式(5)所示:
式中:rth為比例閾值。
若線段總長度占距離的比例大于閾值rth,則認為從lm到l6之間的所有線段屬于同一條長線段,連接lm的起點和l6的終點作為合并后的線段,否則將線段l6釋放回線段組L中,用于后續(xù)的處理,這是通過對線段進行是否使用的標記實現(xiàn)的,同時,繼續(xù)判斷次遠的線段l5。由于長線段往往具備足夠的信息和穩(wěn)定性,且本不屬于同一直線的長線段的錯誤合并往往會對系統(tǒng)造成更大的誤差,在進行計算的過程中,對比例系數(shù)rth進行了線性計算,限制長線段的合并。
式中:α和β為參數(shù)因子。
最后,為了減少錯誤合并,基于LBD 描述子進行篩選,計算合并后的線段和主線段的描述子并計算描述子距離。若主線段及與其合并的線段屬于同一條直線,則合并前后的描述子的漢明距離相差應該不會很大,因此當描述子距離大于某個閾值Dth時,放棄此次合并,僅保留主線段作為當前合并的結果。
長線段特征往往來自于紋理比較明顯、梯度較大的區(qū)域,因此長線段要比短線段更穩(wěn)定。在計算描述子之前,對線段進行篩選,選取策略如式(7)所示:
式中:WI,HI表示圖像的寬和高,η代表比例系數(shù)。
后端視覺慣性聯(lián)合優(yōu)化基于滑動窗口模型。窗口長度設置為11 幀,第n+N時刻滑動窗口中的優(yōu)化變量定義如下:
式中:χ表示整個滑動窗口中所有的狀態(tài)量,xi表示IMU 在第i幀的狀態(tài),b表示body 坐標系,即IMU 坐標系;w表示世界坐標系,分別代表在世界坐標系下的IMU 位置、姿態(tài)速度以及在body 坐標系下IMU 加速度計(accelerometers)偏置和陀螺儀(gyroscopes)偏置。λ表示空間點特征的逆深度,O表示空間直線的正交表示。
滑窗優(yōu)化基于ceres 庫,最小化目標函數(shù)(9)優(yōu)化求解所有狀態(tài)變量。目標函數(shù)包括點重投影誤差、線特征重投影誤差、IMU 預積分誤差以及邊緣化帶來的先驗誤差,其中線特征重投影誤差也是基于端點到直線的距離:
式中:rp?JpX 表示在滑動窗口中邊緣化一幀后的先驗信息,表示兩次IMU 信息之間的測量殘差,其中B表示滑動窗口中的所有預積分的IMU測量值;分別表示點投影殘差和線投影殘差,F(xiàn)和L分別表示滑動窗口中相機觀測到的點特征和線特征,右下角角標∑p,表示各殘差項的協(xié)方差矩陣;ρ表示魯棒核函數(shù),一般采用Cauchy 核函數(shù)或Huber 核函數(shù)。
VINS-Mono 方法認為視覺約束項的噪聲協(xié)方差與標定相機內參時的重投影誤差,即偏離像素的個數(shù)有關,原作者代碼中使用1.5 個像素作為協(xié)方差系數(shù)。對應到歸一化相機平面上的協(xié)方差矩陣需除以焦距f,則信息矩陣等于協(xié)方差矩陣的逆,為:
PL-VIO 以及PL-VINS 方法均沿用了這一策略,對點和線段的重投影誤差均采用1.5 個像素的偏差。然而,根據Y LU 等人在文獻[7]的結論,點線特征結合能比單一特征帶來更小的不確定度,而不確定度大小主要體現(xiàn)在協(xié)方差矩陣的大小。另外,由于本文使用的LSD 算法在提取線特征時對圖像進行了0.5 倍縮放,其不確定度設為點特征的兩倍,取點特征協(xié)方差系數(shù)為0.707,線特征協(xié)方差系數(shù)為1.414,即加權后的信息矩陣為:
式中:Λl表示線特征的信息矩陣,表示線特征的協(xié)方差矩陣。
系統(tǒng)在長期運行中往往會產生累積誤差。在沒有外部參照的情況下,累積誤差會越來越大,導致估計出來的軌跡偏離實際位置。閉環(huán)檢測可以檢測到相機是否回到之前經過的位置,在當前幀和回環(huán)幀之間建立約束,從而可以通過后續(xù)的全局優(yōu)化修正軌跡,減小累積誤差。當前主要使用的閉環(huán)檢測策略為詞袋模型(Bag of Words,BoW)。
BoW 是用于衡量兩幅圖像相似性的一種數(shù)據結構。如圖5 所示,將視覺特征通過使用K叉樹,在根節(jié)點使用k-means++算法將所有樣本聚類為k類,然后下一層針對每一類再聚類為k類,聚類d次,最后得到葉節(jié)點,即單詞(Words)。由于不同的特征具有不同的區(qū)分度,常用的相似度計算使用的是TF-IDF(Term Frequency-Inverse Document Frequency)方 法。TF 的思想是,某一特征在圖像中出現(xiàn)頻率越高則越具有區(qū)分度,IDF 的思想則是某特征在詞典中出現(xiàn)頻率越高,則這一特征越常見,越沒有特異性。
圖5 K 叉樹詞袋示意圖
IDF 一般是在建立詞典時計算的,統(tǒng)計某個葉子節(jié)點wi中的特征數(shù)量相對于所有特征數(shù)量的比例:
式中:ni表示當前節(jié)點在詞典中出現(xiàn)的次數(shù),n表示所有單詞出現(xiàn)的總次數(shù)。顯然,ni越大,當前單詞在所有單詞中出現(xiàn)的次數(shù)越多,該單詞的權重也就越小。
TF指的是該特征在單幅圖像中出現(xiàn)的概率:
在游戲中,設計了多種游戲場景來考核學生的學習效果,例如:有任務場景、闖關場景、限時場景等。玩家在游戲中,可以自由選擇進入某一場景。通過在游戲中回答問題,獲得或失去一定分數(shù)。在游戲的過程中,如果玩家的分數(shù)低于指定的分值時,游戲即判斷玩家失敗。在游戲中為了提高學習效率,對于玩家回答錯誤的問題,會繼續(xù)出現(xiàn)在游戲中,而對于玩家回答正確的問題,則會被游戲屏蔽,而不再出現(xiàn)。以下圖2是一次玩家回答問題的圖示:
考慮權重后,圖像I的特征點可對應許多個單詞,這就組成了I的詞袋:
給定兩個圖像的詞袋vA,vB,其相似度評分可基于L1范數(shù)求解:
VINS-Mono 方法中,前端對于點特征匹配使用的是基于Shi-Tomasi 角點特征的光流跟蹤,因此VINSMono 方法在閉環(huán)線程重新提取FAST 角點并計算BRIEF 描述子,而在前端對于線特征使用了LSD 和LBD 描述子進行線特征匹配。線特征的描述子已經被計算出來,因此可以直接通過ROS 系統(tǒng)將線特征描述子發(fā)布到閉環(huán)節(jié)點中,避免重復計算。同時,也要將線特征發(fā)布到閉環(huán)節(jié)點,后續(xù)用來計算線特征的分布情況。
在計算獲得點特征描述子以及線特征描述子后,分別在對應詞袋中進行查詢獲得遞減的n個匹配關鍵幀的ID 以及相似度得分,得到點特征相似度得分sp和線特征相似度得分s1。由于點特征是在閉環(huán)線程重新提取的FAST 角點,數(shù)量一般在2 000 以上,而前端獲取的線特征數(shù)量往往為100 左右,若基于點線特征的數(shù)量比例對相似度得分進行加權,則線特征的作用無法體現(xiàn)出來,因此采用固定值wp與w1進行加權。另外,基于點線特征在圖像中分布的均勻情況對點線特征進行加權,點特征的分布基于其坐標求標準差σp,線特征的分布基于線段中點的位置進行計算σ1:
最后,圖像總相似度評分s如式(18),然后根據這一得分判斷是否發(fā)生閉環(huán):
實驗所用的數(shù)據集為蘇黎世聯(lián)邦理工學院開源的雙目+IMU 數(shù)據集EuRoC[22],主要采集自廠房和室內兩個環(huán)境,包含從低速運動到在紋理重復、紋理缺失、光照變化等復雜場景下的快速移動。實驗基于HP Z460 工作站進行,詳細參數(shù)配置如表1 所示。
表1 實驗環(huán)境參數(shù)配置
為了評估不同算法的準確性,通常采用EVO(Evaluation of Odometry and SLAM)與真實值進行時間戳對齊以及絕對軌跡誤差(Absolute Trajectory Error,ATE)計算,常用的ATE 評價參數(shù)為均方根誤差(Root Mean Square Error,RMSE):
式中:trans表示平移誤差,Test,i表示i時刻的估計位姿,Tgt,i表示第i時刻的真實位姿。
選取EuRoC 數(shù)據集中的MH_01_easy 序列進行試驗,統(tǒng)計平均每幀的線段平均長度和前后兩幀之間成功匹配的線段數(shù)量,對LSD 算法和改進后的LSD 算法進行性能分析。結果顯示,相比于原始的LSD 算法,提取線段的平均長度提升了19.03%,前后幀間線段匹配數(shù)量平均提升了43.8%。這表明,基于改進后的LSD 算法,建立了更多前后幀之間的數(shù)據關聯(lián),從而能夠提升系統(tǒng)的魯棒性。
表2 改進前后LSD 算法性能比較
線段提取結果圖如圖6 所示。圖6(a)為在MH_01_easy 序列中選取的一張圖片,圖6(b)為基于LSD 提取的線段結果,圖6(c)為對LSD 提取的結果直接進行長度閾值篩選的結果,圖6(d)為對經過線段合并后長度閾值篩選的結果。圖6(b)和圖6(d)中的矩形框展示了合并前后的線段,可以看出,提出的線段合并算法將屬于同一條直線的短線段進行了合并,因此與圖6(c)相比,圖6(d)增加了更多的長線段。
圖6 線段提取結果圖
圖7 為線段匹配結果圖。圖7(a)展示了基于原始LSD 算法的兩幀間線段匹配結果,圖7(b)展示了基于合并后的線段的兩幀間匹配結果。從匹配線的數(shù)量可以看出,基于改進的LSD 算法能夠在前后幀之間建立更多的線特征匹配約束,增強了前后幀之間的數(shù)據關聯(lián),從而提升了算法的魯棒性。
圖7 線段匹配結果圖
表3 展示了不同算法在EuRoC 數(shù)據集下的表現(xiàn)。其中,PL-VIO 方法為視覺里程計,沒有閉環(huán)檢測部分,X 表示跟蹤丟失,加粗部分表示最佳結果。由表3 可知,在無閉環(huán)的情況下,除了MH_01_easy 和MH_02_easy 兩個序列,本文提出的算法在其他序列上的性能均優(yōu)于之前的算法;在無閉環(huán)情況下,RMSE較VINS-Mono 方法平均降低了14.90%,較PL-VIO方法平均降低了13.17%,較PL-VINS 方法平均降低了8.96%;在有閉環(huán)的情況下,本文提出的算法也在絕大多數(shù)數(shù)據集序列上取得了比之前算法更好的效果,RMSE較VINS-Mono 方法平均降低了24.74%,較PLVINS 方法平均降低了5.99%,相較于PL-VINS 方法,本文提出的算法的RMSE在V1_03_difficult 序列降低了19.34%,在V2_03_difficult 序列降低了23.9%。這些序列場景都相對復雜,V1_03_difficult 序列運動快速、場景模糊且有弱光場景,V2_03_difficult 則主要有場景模糊及紋理稀疏問題,這體現(xiàn)了本文提出的算法對各種場景更具有魯棒性。
表3 不同算法在EuRoC 數(shù)據集下的均方根誤差
圖8 展示了在序列V2_03_difficul 的算法絕對軌跡誤差的琴型直方圖對比圖,其縱軸長度表示誤差的分布范圍,橫軸寬度表示誤差的分布密度。圖8(a)為無閉環(huán)的結果,從左到右分別為本文結果、PL-VINS結果、PL-VIO 結果以及VINS-Mono 結果;圖9(b)為有閉環(huán)的結果,從左到右分別為本文結果、PLVINS 結果以及VINS-Mono 結果。可以看出,本文提出的算法絕對軌跡誤差的分布范圍更小,且誤差主要集中在下部,具有更多的小誤差項,即估計軌跡與真實軌跡更接近。
圖8 絕對軌跡誤差對比圖
本文提出了一種基于點線特征的改進視覺慣性SLAM 方法,采用修改隱參數(shù)的LSD 進行線特征提取,并對短線段進行合并,增加了成功匹配線段的數(shù)量,增強了幀間數(shù)據關聯(lián),使之更適用于SLAM 系統(tǒng)。另外,通過對已有文獻結論的分析和實驗,改進了點線和IMU融合誤差項的權重比,提升了系統(tǒng)整體的精確度。在閉環(huán)檢測階段,在視覺慣性系統(tǒng)中引入線特征,將前端計算得到的線段描述子通過ROS 直接發(fā)布到閉環(huán)節(jié)點,然后基于點線特征的數(shù)量和圖像紋理對圖像相似度進行加權來確定閉環(huán),增強了系統(tǒng)的魯棒性。