夏琳琳,沈 冉,遲德儒,崔家碩,蒙 躍
(東北電力大學(xué) 自動化工程學(xué)院,吉林 132012)
作為智能機(jī)器人的核心技術(shù),自主導(dǎo)航為移動機(jī)器人實現(xiàn)各項高級功能(如人機(jī)互動、多機(jī)協(xié)同等)奠定了基礎(chǔ),自主導(dǎo)航能力也逐漸成為衡量移動機(jī)器人性能的重要指標(biāo)[1,2]。傳統(tǒng)的慣性導(dǎo)航系統(tǒng)、全球衛(wèi)星導(dǎo)航系統(tǒng)很難獨立完成相關(guān)任務(wù)[3],而基于視覺的同時定位與地圖創(chuàng)建(Simultaneous Localization and Mapping,SLAM)則既能實現(xiàn)高精度的導(dǎo)航定位,又可以實時構(gòu)建周圍環(huán)境的地圖,為自主導(dǎo)航提供了新的解決方案。
經(jīng)過三十余年的發(fā)展,視覺SLAM 已經(jīng)逐步趨于成熟,一批開源算法相繼問世,表1總結(jié)了近年經(jīng)典的視覺SLAM 研究方案。這些方案主要分為兩類:一類是基于圖像特征點的間接法(特征點法),一類是基于圖像灰度變化的直接法。特征點法依靠人工設(shè)計的局部圖像特征,通過檢測、匹配與追蹤前后兩幀圖像中的特征點,來獲取相機(jī)的位姿;直接法采用最小化光度誤差來尋求圖像中像素間的對應(yīng)關(guān)系,避免了特征提取和匹配,計算效率優(yōu)于特征點法,且可適用于特征缺失(弱紋理或重復(fù)紋理)的環(huán)境。
表1 經(jīng)典開源視覺SLAM 算法Tab.1 Classic open-source visual SLAM algorithms
近年,視覺SLAM 已轉(zhuǎn)向為以非線性優(yōu)化理論為主導(dǎo)的批量狀態(tài)估計,逐步形成了前端實時跟蹤相機(jī)位姿、后端優(yōu)化歷史相機(jī)位姿和環(huán)境地圖的兩級結(jié)構(gòu)。研究者一邊在陸續(xù)開源的相對成熟的算法框架中獲得研究上的極大便利,一邊也在積極探索并提出眾多工程性的解決方案。這其中,越來越多的研究者偏向于視覺SLAM 前端,即視覺里程計(Visual Odoemtry,VO)的研究。在已有的代表性成果方面,比較著名的有R.Wang與J.Engel等人提出的基于單目或雙目相機(jī)的稀疏直接里程計DSO(Direct Sparse Odometry)[8,9]及C.Forster 等人提出的融合特征點法和稀疏直接法的視覺里程計SVO(Semi-direct VO)[10]。
上述VO 改進(jìn)方案旨在克服相機(jī)在短時、較高速運動情況下出現(xiàn)的運動模糊、累積漂移及定位失敗等問題。為滿足移動機(jī)器人長航時精確定位和短時快速運動下穩(wěn)定導(dǎo)航的任務(wù)需求,將視覺信息與慣性導(dǎo)航進(jìn)行數(shù)據(jù)融合的視覺慣性里程計(Visual Inertial Odometry,VIO)已成為SLAM 工業(yè)化應(yīng)用的主要方向。早期的研究者沿用機(jī)器人學(xué)中的濾波理論融合慣性測量單元(Inertial Measurement Units,IMU)與相機(jī)信息,以處理視覺SLAM 的并行狀態(tài)估計問題:多狀態(tài)約束卡爾曼濾波器(Multi-State Constraint Kalman Filter,MSCKF)主要通過將特征點轉(zhuǎn)化為相機(jī)位姿間的幾何約束,首次實現(xiàn)了視覺-慣性緊耦合算法[11]。文獻(xiàn)[12]中的ROVIO(Robust VIO)算法則將圖像光度誤差作為Kalman 濾波器觀測更新項,利用多級圖像塊跟蹤狀態(tài),采用緊耦合方式聯(lián)合估計IMU 偏差與相機(jī)的外參。由于ROVIO 采用地標(biāo)參數(shù)化的逆深度估計,故不需要明顯的單目遲延初始化過程。
自2013年,隨著稀疏矩陣和非線性優(yōu)化理論的逐步完善[13,14],更多的學(xué)者采用非線性優(yōu)化的方式來求解SLAM 問題—如S.Leutenegge 等人[15]提出的關(guān)鍵幀機(jī)制下的非線性優(yōu)化慣性視覺里程計OKVIS(采用圖像特征點檢測),其通過構(gòu)建聯(lián)合優(yōu)化IMU 誤差項與地標(biāo)重投影誤差項的非線性函數(shù)、限制進(jìn)入關(guān)鍵幀窗口中的狀態(tài)變量規(guī)模,提升了SLAM過程的實時性。近期,香港科技大學(xué)的沈劭劼團(tuán)隊[16]開源了VINS-Mono 算法(前端提取并跟蹤圖像Fast 角點),其通過高效的初始化、緊耦合非線性優(yōu)化方法得到高精度的VIO,并利用回環(huán)檢測、全局位姿圖優(yōu)化等機(jī)制使VINS-Mono 具有良好的魯棒性,與OKVIS 相比定位精度提高了一倍。
綜上所述,目前已有的SLAM 方案主要采用相對成熟的特征點法進(jìn)行圖像追蹤。這一方法在短時高速運動或弱紋理環(huán)境中的應(yīng)用仍面臨計算耗時、實時性有限等挑戰(zhàn),為了滿足機(jī)器人載體在上述環(huán)境中的導(dǎo)航、定位需求,本文基于VINS-Mono 的算法框架,結(jié)合融合點、線特征的VIO 研究,提出了一種在弱紋理環(huán)境中基于光流-線特征的單目視覺-慣性SLAM 算法(Particle-Line Visual Inertial SLAM,PL-VINS)。算法首先提取圖像中的Shi-Tomas 角點和LSD(Line Segment Detection)線特征,在視覺初始化的基礎(chǔ)上,通過視覺、慣性聯(lián)合初始化過程得到系統(tǒng)初始時刻的狀態(tài)估計值;其次,構(gòu)建PL-VINS 的后端優(yōu)化目標(biāo)函數(shù)及滑動窗口邊緣化策略,通過非線性優(yōu)化求解載體的位姿;在此基礎(chǔ)上,為應(yīng)對隨增量定位過程不斷增長的累積誤差,建立回環(huán)檢測和重定位機(jī)制,并通過全局位姿優(yōu)化保證載體軌跡和地圖的全局一致性。
本文以緊耦合方式,利用非線性優(yōu)化方法實現(xiàn)視覺與慣性信息的深度融合,算法包含五部分,分別為:測量數(shù)據(jù)預(yù)處理、系統(tǒng)初始化、后端滑動窗口模型優(yōu)化、回環(huán)檢測與重定位及全局位姿圖優(yōu)化。PL-VINS系統(tǒng)算法框架如圖1所示。
圖1 PL-VINS 系統(tǒng)算法框架Fig.1 The algorithmic framework of PLP-VINS
● 測量數(shù)據(jù)預(yù)處理:分為圖像處理和IMU 數(shù)據(jù)處理。圖像處理時,分別提取圖像中Shi-Tomas 角點及LSD線特征,利用金字塔LK(Lucas-Kanade)光流法跟蹤相鄰幀的特征點,通過隨機(jī)采樣一致性去除異常點,將有效特征點存儲到圖像序列中,并導(dǎo)入后端進(jìn)行優(yōu)化求解;而對于圖像中檢測到的LSD 線特征則利用LBD(Line Band Descriptor)描述子將其與前一幀中線段進(jìn)行匹配。針對IMU 數(shù)據(jù)則進(jìn)行預(yù)積分處理,從而得到當(dāng)前時刻的速度、位姿。
● 系統(tǒng)初始化:單目視覺傳感器無法直接獲得準(zhǔn)確的圖像尺度信息,為此,本文將視覺與慣性聯(lián)合初始化以獲取尺度信息。先利用視覺SFM(Struct From Motion)求解兩幀圖像間的位姿及3D 點逆深度,隨后通過IMU 預(yù)積分模型所產(chǎn)生的偏移誤差去修正陀螺儀數(shù)據(jù),并根據(jù)其與視覺運動信息的關(guān)系,構(gòu)建優(yōu)化函數(shù)求解出初始的速度、尺度、重力及偏置等。
● 后端滑動窗口模型優(yōu)化:采用基于滑動窗口模型的非線性估計器,根據(jù)視覺約束、IMU 約束以及回環(huán)約束構(gòu)建聯(lián)合優(yōu)化函數(shù)并求解出滑動窗口內(nèi)所有幀間位置、速度、旋轉(zhuǎn)及偏置等。
● 回環(huán)檢測與重定位:通過DBoW 詞袋模型和BRIEF 描述子進(jìn)行回環(huán)檢測,建立局部滑動窗口與回環(huán)候選幀之間的鏈接。如存在回環(huán),則利用重定位過程維持當(dāng)前滑動窗口與過去時刻的位姿圖對齊,并將全部回環(huán)的位姿作為常量,利用所有IMU 測量值、局部視覺測量以及從回環(huán)中提取的特征對應(yīng)值,共同優(yōu)化滑動窗口,從而降低系統(tǒng)的累積誤差及計算量。
● 全局位姿圖優(yōu)化:重定位之后局部滑動窗口與過去時刻位姿對齊,而視覺慣性信息可以提供橫滾角和俯仰角數(shù)據(jù),故只存在 4 個自由度(Degrees-of-Freedom,DOF)誤差(即三軸位置誤差和航向角誤差)。只需在位姿圖中添加關(guān)鍵幀并對其4DOF 進(jìn)行優(yōu)化,即可保證全局軌跡的一致性。
初始化是為了獲取系統(tǒng)在后端優(yōu)化所需的必要參數(shù)和載體初始時刻的狀態(tài)初值,主要包括陀螺儀偏置、重力加速度、絕對尺度以及初始時刻前幾個關(guān)鍵幀的位姿、速度和三維路標(biāo)點的位置。其中,絕對尺度和重力加速度在系統(tǒng)運行時幾乎不會發(fā)生較大的變化。PL-VINS 系統(tǒng)初始化主要分為兩步:一是純視覺單目初始化,利用視覺SFM 求解出初始時刻內(nèi)關(guān)鍵幀的位姿信息以及三維路標(biāo)點的位置信息;二是利用視覺-慣性松耦合聯(lián)合優(yōu)化出尺度、重力加速度、相機(jī)速度、陀螺儀的零偏信息。
本文采用的是基于滑動窗口模型的非線性優(yōu)化方法,即保證優(yōu)化變量的個數(shù)維持在一定范圍,通過滑動窗口動態(tài)地增加或移除優(yōu)化變量,只讓當(dāng)前一段時間內(nèi)的關(guān)鍵幀數(shù)據(jù)參與到位姿解算過程。
若將滑動窗口中第i時刻完整的狀態(tài)向量定義為:
本文將線特征信息引入到視覺-慣性SLAM 中,故目標(biāo)優(yōu)化函數(shù)包含四類殘差項,分別為邊緣化的先驗殘差項、IMU 測量殘差項、視覺重投影殘差項(包括點特征重投影誤差和線重投影誤差)及回環(huán)檢測殘差項。優(yōu)化目標(biāo)函數(shù)形式如下:
式(3)中,B為窗口內(nèi)IMU 測量集合,D和L分別為圖像幀中至少兩次觀測的點特征和線特征的集合。代表邊緣化后的先驗信息,Hp是先前優(yōu)化信息的信息矩陣,為IMU 預(yù)積分噪聲項的協(xié)方差,、為視覺觀測的噪聲協(xié)方差;ρ為抑制離群點的魯棒核函數(shù)。本文采用柯西核函數(shù)CauchyLoss 作為魯棒核函數(shù),即
采用合適的魯棒核函數(shù)可以保證優(yōu)化過程的平穩(wěn)性,削弱異常值對狀態(tài)變量優(yōu)化過程的影響。需要特別強(qiáng)調(diào)的是,回環(huán)檢測部分的殘差只有在出現(xiàn)視覺回環(huán)且需要重定位時才將第v幀的位姿和相關(guān)特征點作為視覺約束項參與到后端非線性優(yōu)化的整體目標(biāo)函數(shù)中,并固定第v幀的參數(shù)用以優(yōu)化窗口內(nèi)其他參數(shù)。
本文的PL-VINS 系統(tǒng)采取雙向邊緣化策略來控制滑動窗口內(nèi)狀態(tài)變量,具體策略是:當(dāng)次新幀為關(guān)鍵幀時,邊緣化最舊幀,但將最舊幀的點線路標(biāo)點和相關(guān)聯(lián)的IMU 數(shù)據(jù)轉(zhuǎn)化為先驗信息,參與優(yōu)化目標(biāo)函數(shù),即本小節(jié)提到的先驗殘差{rp,Hp};當(dāng)次新幀為非關(guān)鍵幀時,則直接舍掉次新幀和其對應(yīng)的視覺測量值,但保留其相關(guān)聯(lián)的IMU 測量值,從而保證IMU 預(yù)積分的連貫性。邊緣化過程如圖2所示。
圖2 邊緣化策略示意圖Fig.2 Diagrammatic representation of marginalization strategy
回環(huán)檢測是SLAM 后端的重要一環(huán)。PL-VINS 采用BRIEF 描述子的DBoW2 詞袋進(jìn)行回環(huán)檢測,由于系統(tǒng)前端提取的Shi-Tomas 角點數(shù)量有限(通常在70個左右),很難滿足檢測需要。為此,本文對非線性優(yōu)化后的新關(guān)鍵幀重新提取500個FAST角點用于回環(huán)檢測,同時對所有新、舊角點進(jìn)行BRIEF 描述。隨后,依托詞袋模型計算當(dāng)前幀的相似度分?jǐn)?shù),并與關(guān)鍵幀數(shù)據(jù)庫中所有歷史幀進(jìn)行比對。在此基礎(chǔ)上,進(jìn)行回環(huán)一致性檢測,評分大于0.015 則認(rèn)為是回環(huán)候選幀。在檢測到回環(huán)后,本文根據(jù)BRIEF 描述子對新、舊角點進(jìn)行鄰域匹配,并對匹配點進(jìn)行隨機(jī)一致性采樣以去除匹配異常點。當(dāng)匹配點的索引值大于50,則認(rèn)定該候選幀為正確的回環(huán)幀。當(dāng)檢測到當(dāng)前幀與歷史幀(設(shè)為第v 幀)存在回環(huán)關(guān)系后,進(jìn)行緊耦合重定位。
將回環(huán)幀的位姿和相關(guān)路標(biāo)點作為視覺約束項,加入到后端非線性優(yōu)化目標(biāo)函數(shù)中,見式(4)。
式(4)中,?為回環(huán)檢測到特征集合,(i,v) 為回環(huán)幀v中觀測到的第i個特征,與其他殘差項不同的是,回環(huán)幀的位姿將通過下一節(jié)中介紹的位姿圖獲得。但如果是第一次重定位,則以過去時刻的VO 估計的位姿為當(dāng)前回環(huán)幀的位姿,并將其作為優(yōu)化過程的常值。
重定位之后,局部滑動窗口移動與歷史位姿對齊,進(jìn)行全局圖優(yōu)化則是為了確保基于重定位結(jié)果對歷史位姿進(jìn)行全局一致性匹配。由于PL-VINS 系統(tǒng)中載體的水平姿態(tài)(橫滾角及俯仰角)完全可測,因此,只有三軸位置和航向角這4個自由度存在累積漂移,需進(jìn)行位姿圖優(yōu)化。當(dāng)關(guān)鍵幀從滑動窗口中被邊緣化之后,會被添加進(jìn)位姿圖中,該幀會作為位姿圖中的一個頂點,通過下述的兩類邊與其他頂點相連接:
① 序列邊
經(jīng)過前端VIO 解得的兩幀間的相對位姿為:
其中,i、j分別代表邊緣化的關(guān)鍵幀和歷史幀,、分別為兩幀之間的相對位置和相對航向。第i幀和第j幀的殘差可以表示為
② 回環(huán)邊
對于存在回環(huán)關(guān)系的兩幀,回環(huán)邊只包含4DOF 的相對位姿,可通過重定位的結(jié)果得到。所有序列邊和回環(huán)邊整體的優(yōu)化目標(biāo)函數(shù)可表示為
其中,ζ代表序列邊,τ代表回環(huán)邊,ρ則采用Huber核函數(shù),定義見式(8)。至此系統(tǒng)完成了全局位姿優(yōu)化過程。
式中δ為控制誤差降到多小時變?yōu)槠椒秸`差的超參數(shù),當(dāng)Huber 損失s在|s|δ≤時,等價為均方誤差,否則等價為絕對誤差。
本文針對PL-VINS 系統(tǒng)開展了基于公開數(shù)據(jù)集EuRoc 的性能評估實驗,對其導(dǎo)航定位精度、魯棒性等進(jìn)行仿真實驗分析與評價。
圖3 EuRoc 數(shù)據(jù)采集硬件系統(tǒng)Fig.3 EuRoc data acquisition hardware system
EuRoc 數(shù)據(jù)集的采集載體是無人機(jī)AscTec Firefly,其所測視覺及慣性數(shù)據(jù)來自人為裝配的慣性視覺傳感器;其軌跡真值由兩個運動捕捉系統(tǒng)進(jìn)行輔助測量,分別是Vicon 動作捕捉系統(tǒng)及Leica 激光追蹤器。前者采集六旋翼飛行器的6DOF 位姿變換,后者負(fù)責(zé)三維位置追蹤。該EuRoc 數(shù)據(jù)采集硬件系統(tǒng)如圖3所示。
PL-VINS 算法運行的硬件設(shè)備為DELL Inspiron 15-3542 型筆記本計算機(jī),CPU 為Intel i5-4210U@1.7GHZ×4,所用操作系統(tǒng)為 Ubuntu16.04LTS,PL-VINS 的整體架構(gòu)搭載在機(jī)器人操作系統(tǒng)ROS(版本為Kinetic1.12.14)上。PL-VINS 系統(tǒng)以C++語言開發(fā),系統(tǒng)架構(gòu)參考開源算法VINS-Mono。程序主要依托四個開源庫:計算機(jī)視覺庫OpenCV3.3.1、矩陣運算庫3.3.1、非線性優(yōu)化求解庫CeresSlover 以及詞袋模型庫DboW2。地圖可視化部分采用的是ROS 自帶的Rviz三維可視化工具。
3.2.1 點線特征
為展現(xiàn)PL-VINS 系統(tǒng)運行過程中對點、線特征的提取和跟蹤情況,本文截取了運行中的兩幅追蹤圖像,如圖4所示。
圖4 點線特征跟蹤的效果Fig.4 Point and line feature tracking performances
圖4中顏色越紅代表跟蹤的時間越長,圖中存在一定量的紅色線段,而且是點特征所無法有效跟蹤的部分,由此可見點、線融合的特征跟蹤可以使SLAM 算法獲得更豐富、更有效的特征信息。
3.2.2 導(dǎo)航定位精度
實驗選用的EuRoC 數(shù)據(jù)集主要為MH_01_easy 運動場景序列。鑒于PL-VINS 是單目視覺,本實驗僅采用雙目攝像機(jī)左相機(jī)拍攝圖像。在同等軟硬件條件下,獨立運行開源算法 VINS-Mono 和本文提出的PL-VINS,將二者結(jié)果進(jìn)行對比,評價PL-VINS 系統(tǒng)的導(dǎo)航定位精度。
圖5為PL-VINS 運行時通過Rviz 可視化界面觀測到的載體飛行軌跡。圖中左上部顯示的是回環(huán)檢測情況;左下部是對當(dāng)前幀提取出點、線特征,進(jìn)行跟蹤顯示的情況,其中,點、線越紅則說明該特征追蹤的時間越長,屬于良好的路標(biāo)點;圖的右側(cè)則實時展現(xiàn)真實軌跡與估計軌跡之間的差異情況。
圖5 PL-VINS 系統(tǒng)在Rviz 中的可視化界面Fig.5 Visual interface of PL-VINS in Rviz
圖6為PL-VINS 系統(tǒng)在MH_01_easy 序列上的絕對位姿誤差(APE)。讀取顏色條量化結(jié)果可知,平均誤差在10 cm 左右,精度上相對良好。
圖6 PL-VINS 在MH_01_easy 序列上的三維絕對位姿誤差Fig.6 3D absolute pose error of PL-VINS on MH_01_easy sequence
圖7 MH_01_easy 在X-Z 軸向投影的軌跡誤差Fig.7 MH_01_easy trajectory error in X-Z axial projection
為進(jìn)一步細(xì)化軌跡誤差,將圖6中的軌跡投影到X-Z 軸所在的二維平面進(jìn)行細(xì)致觀察,如圖7所示。從圖中可以看出,當(dāng)載體突然轉(zhuǎn)向或是快速運動時,造成了PL-VINS 估算的位姿出現(xiàn)偏差,即誤差水平平均在40 cm 以內(nèi),在平緩運動時誤差可以縮小到1.6 cm,整體來看,PL-VINS 可以較為魯棒地完成位姿跟蹤任務(wù)。
圖8為三軸位置誤差,藍(lán)線為系統(tǒng)輸出隨時間變化的軌跡,虛線為軌跡真值,兩條線重合會顯示藍(lán)色??梢钥闯?,圖中大部分的預(yù)測值與真值重合,說明整體上系統(tǒng)輸出的信息較為準(zhǔn)確。同時可知,主要誤差出現(xiàn)在Z 軸,這是由于相機(jī)在此時發(fā)生了跟蹤較少特征點的模糊運動,而IMU 受偏置和噪聲影響亦輸出了不精確的導(dǎo)航參數(shù),二者此時無法實現(xiàn)有效功能互補(bǔ),導(dǎo)致精度下降,但由于全局優(yōu)化的作用,誤差在整體上并未發(fā)散。
圖8 三軸位置誤差Fig.8 Three-axis position error
圖9為PL-VINS 系統(tǒng)與開源VINS-Mono 系統(tǒng)的導(dǎo)航誤差統(tǒng)計特性對比圖,量化指標(biāo)包括均方根誤差、誤差中值、誤差均值、誤差極值及誤差平方和。如圖9(a),PL-VINS 在均方根誤差(控制在25 cm 以內(nèi))、誤差中值及誤差均值上的表現(xiàn)明顯優(yōu)于VINS-Mono,但在誤差極值表現(xiàn)上不如VINS-Mono,究其原因,主要是線特征的引入雖然降低了累積誤差,但卻導(dǎo)致了誤差的趨向多極化,即線特征帶來的誤差形式與點特征并不一致。圖9(b)給出了PL-VINS 與VINS-Mono 的絕對位姿誤差柱狀統(tǒng)計特性比較,不難發(fā)現(xiàn),在整體上,不論是誤差分布范圍還是誤差分布趨勢,PL-VINS 都明顯優(yōu)于VINS-Mono。
圖9 PL-VINS 與VINS-mono 在MH_01_easy 序列上的誤差統(tǒng)計特性比較Fig.9 Error statistic property comparisons between PL-VINS and VINS-Mono on MH_01_easy sequence
進(jìn)一步選取兩個不同難度(medium、difficult)的運動場景序列進(jìn)行實驗,對所設(shè)計的PL-VINS 系統(tǒng)的魯棒性進(jìn)行驗證。對比全局軌跡誤差及APE 各項參數(shù)指標(biāo),結(jié)果分別如圖10、圖11所示。
圖10 MH_03_medium 序列情形Fig.10 MH_03_medium sequence case
圖11 MH_05_medium 序列情形Fig.11 MH_05_medium sequence case
根據(jù)上述結(jié)果圖可知,PL-VINS 在不同難度數(shù)據(jù)集上均有良好的表現(xiàn),特別是在MH_03_medium 序列上,PL-VINS 展現(xiàn)出較VINS-Mono 全面優(yōu)異的性能。但隨著數(shù)據(jù)集運行難度的上升,PL-VINS 與VINS-Mono 之間的精度差距逐漸減小,以至于在MH_05_difffcult 序列上,兩者的位姿估算精度幾乎相當(dāng)。根據(jù)MH_05_difffcult 的場景特點—載體快速運動、場景昏暗,可以初步認(rèn)為在快速運動且光照不利的條件下,PL-VINS 受到了很大的挑戰(zhàn),這主要是由于PL-VINS 采用了對光照變化比較敏感的光流跟蹤法,且快速運動本身不利于點、線追蹤。但即便在上述快速、非理想光照的天然不利條件下,PL-VINS 依然與VINS-Mono 精度相當(dāng),達(dá)到了本次設(shè)計的要求。
根據(jù)表2及表3的實驗數(shù)據(jù),可得到如下結(jié)論:PL-VINS 將線特征引入到VINS 中,可有效提升系統(tǒng)導(dǎo)航的定位精度(APE 均方根統(tǒng)計值均低于VINS-Mono),且在快速運動及昏暗場景等不良條件下均有良好表現(xiàn)。
表2 EuRoc 數(shù)據(jù)集上PL-VINS 絕對位姿誤差的統(tǒng)計特性(單位:米)Tab.2 The absolute pose error statistic property of PL-VINS in EuRoc datasets(Unit:m)
表3 VINS-Mono 與PL-VINS 在EuRoc 數(shù)據(jù)集上的APE 均方根誤差比較(單位:米)Tab.3 APE mean square error comparison of VINS-Mono and PL-VINS in EuRoc datasets(Unit:m)
本文提出一種基于光流-線特征的單目視覺-慣性SLAM 算法PL-VINS,有效抑制弱紋理環(huán)境下視覺SLAM 運行不穩(wěn)定及長航時累積誤差問題。通過將回環(huán)檢測誤差、慣性誤差及點線視覺重投影誤差整合,構(gòu)建目標(biāo)優(yōu)化函數(shù),以及制定特定的邊緣化策略,實現(xiàn)視覺SLAM 的后端非線性優(yōu)化;通過采用BRIEF描述子的DBoW2 詞袋進(jìn)行回環(huán)檢測并進(jìn)行4DOF 的位姿圖優(yōu)化,保證系統(tǒng)長期運行時全局軌跡與地圖的一致性。
通過開源數(shù)據(jù)集EuRoc 進(jìn)行PL-VINS 性能評估測試,可以得到如下結(jié)論:
(1)將線段特征提取、Shi-Tomas 角點提取及光流法相結(jié)合是可行的,算法能夠提取到更多的環(huán)境特征,在走廊等弱紋理環(huán)境下可以提高其對環(huán)境的適應(yīng)性,增強(qiáng)系統(tǒng)的魯棒性;
(2)在點-線SLAM 中引入回環(huán)檢測及重定位環(huán)節(jié),并將回環(huán)檢測殘差加入到優(yōu)化目標(biāo)函數(shù)中可有效提高算法的定位精度,確保了長航時全局軌跡的一致性;
(3)所設(shè)計的PL-VINS 算法在導(dǎo)航定位精度上要高于VINS-Mono,且增強(qiáng)了VINS 在弱紋理環(huán)境下的適應(yīng)性,即在快速運動或昏暗場景等不利的條件下,PL-VINS 仍能正常工作且定位精度與VINS-Mono 相當(dāng),這為后續(xù)視覺SLAM 研究提供了一定的技術(shù)支持與模型參考。