(遼寧工業(yè)大學 電子與信息工程學院,遼寧 錦州 121001)
SLAM(simultaneous localization and mapping),中文譯為“同時定位與建圖”[1],用于描述搭載傳感器的載體,在未知環(huán)境中估計自身位姿同時建立周圍環(huán)境地圖的過程。在實際應用中,SLAM 強調(diào)實時地、在沒有先驗知識的前提下確定位姿和建圖,這是一個迭代往復、相互耦合的復雜過程。
自1986 年被提出[2-3]以來,SLAM 已有30 多年的研究歷史。20 世紀90 年代到本世紀初,統(tǒng)計估計方法被應用到SLAM 研究中,主要包括卡爾曼濾波器(kalman filters,KF)和擴展卡爾曼濾波器(extended kalman filters,EKF)等。研究者將SLAM問題當成線性高斯系統(tǒng)進行研究取得了一定的成果,但也不可避免地產(chǎn)生線性化誤差和噪聲高斯分布假設等問題。為了克服KF 和EKF 方法上的缺陷,研究者將粒子濾波器(particle filters,PF)和最大似然估計[4]的方法引入到SLAM 研究中。這一時期的研究方法可被視為SLAM 研究的“經(jīng)典方法”,主要貢獻是發(fā)展出了一套比較成熟的算法框架。受限于計算機的性能,這一階段SLAM 方法的最大問題是無法滿足實時構建全局地圖的要求。21 世紀以來,隨著半導體行業(yè)的興起以及GPU 技術的快速發(fā)展,計算性能極大提升,以激光雷達為中心的激光SLAM 和以視覺相機為中心的視覺SLAM 在理論和實踐上都取得了突破性進展。SLAM 研究的方向已經(jīng)逐步轉(zhuǎn)向非線性優(yōu)化方法,以圖優(yōu)化為代表的非線性優(yōu)化方法被認為明顯優(yōu)于經(jīng)典濾波器方法[5]。由于開源運動的興起,許多開源SLAM 實現(xiàn)方法被研究者公開,比較著名的有針對激光雷達的Hector-SLAM[6]、Gmapping[7]、Catragrapher[8]、KartoSLAM[9]等,以及針對視覺相機的ORB-SLAM[10]、LSD-SLAM[11]、MonoSLAM[12]、RGBD-SLAM[13]等。
由于應用場景的復雜性,視覺SLAM 和激光SLAM 在單獨使用中都存在一定的局限性,因此研究者們考慮將二者融合,以發(fā)揮不同傳感器的優(yōu)勢。本文分別對視覺SLAM、激光SLAM 和視覺與激光融合SLAM 的研究進行梳理,重點從傳感器數(shù)據(jù)層的角度探討視覺與激光融合SLAM 的優(yōu)缺點和應用場景,并對未來SLAM 的發(fā)展方向和研究熱點進行了展望。
視覺傳感器因價格低廉、能夠采集大量信息、測量范圍大等優(yōu)點,一直以來都是SLAM 問題的主要研究方向。視覺SLAM 的原理很簡單,即通過對圖像序列特征像素的運動感知來順序估計相機運動,Taketomi 等[14]和Fuetes-Pacheco 等[15]對視覺SLAM 進行了詳細的綜述。實現(xiàn)視覺SLAM 的方法主要有2 種,一是基于特征提取的視覺SLAM 方法,即檢測和跟蹤圖像中的特征點。二是使用整個圖像而不提取特征,稱為直接法SLAM。近年來也產(chǎn)生了一些使用特殊類型相機的視覺SLAM 方法。
由于視覺傳感器對光照變化或低紋理環(huán)境敏感,在缺乏光照和紋理特征的環(huán)境中,視覺SLAM表現(xiàn)較差,甚至無法完成任務。RGB-D 相機工作依賴紅外光,環(huán)境光線會嚴重干擾檢測,因此在室外環(huán)境中的性能表現(xiàn)不佳,只在室內(nèi)場景下表現(xiàn)良好。另外,單目相機也存在尺度不確定性、尺度漂移、需要初始化等缺點。為了克服在室內(nèi)環(huán)境中缺乏特征的缺點,研究者們對環(huán)境中的幾何特征進行了研究,如直線、線段或物體邊緣。這些環(huán)境中的幾何特征被稱為路標。識別路標面臨的困難如下:(1)缺少準確的匹配描述符;(2)對應的3D 目標由于特征過少而難以初始化。由于特征不匹配或初始化錯誤,環(huán)境的三維稀疏表示并不十分精確。利用不同的路標表達生成地圖是一個泛化的多約束最大似然問題,解決這個問題需要使用非線性優(yōu)化算法。盡管GPU 技術已經(jīng)帶來了計算性能的飛躍,圖像分析仍然需要很高的計算復雜度。關于視覺SLAM 算法的優(yōu)缺點總結見表1。
表1 視覺SLAM 優(yōu)缺點
激光掃描可以快速得到點云圖像,基于激光雷達的SLAM 在工業(yè)界應用十分廣泛,基于激光雷達的SLAM 研究也取得了諸多進展。激光雷達SLAM主要基于掃描匹配方法,能夠提供非常精確的2D或3D 環(huán)境信息,但通常很耗時,不能像視覺SLAM那樣處理路標。激光雷達在處理平面光滑特征時能體現(xiàn)出優(yōu)勢,但它依賴簡單的掃描匹配方法,穩(wěn)定性不高。激光SLAM 的環(huán)境特征不明顯,對于導航來說并不可靠,因此往往需要與慣性導航單元(inertial measurement unit,IMU)融合。同時由于激光SLAM 在動態(tài)復雜環(huán)境下的性能不佳,導致重定位能力差,往往需要借助IMU 進行去失真處理。工業(yè)級IMU 的成本很高,這也阻礙了激光SLAM 的發(fā)展。激光SLAM 的優(yōu)缺點總結見表2。
表2 激光SLAM 優(yōu)缺點
目前,無論是基于視覺還是基于激光雷達的SLAM 研究都取得了不錯的進展,但各有問題?;谝曈X的SLAM 已能提供比較準確的結果,但存在一些不足,如單目相機的比例因子漂移、深度估計能力差、初始化延遲、立體視覺范圍窄小,對基于特征的間接方法重建地圖稀疏、RGB-D 相機在室外場景中使用困難等?;诩す饫走_的SLAM 在測距和建圖方面有很好的精度,但在環(huán)境劇烈變化時重定位能力差,穩(wěn)定性欠佳,受限于點云質(zhì)量無法獲得高效的結果。因此,二者的融合可以互相彌補各自的不足,這也成為當今SLAM 研究的熱點之一。
2 種SLAM 技術融合所面臨的第一個問題是傳感器的校準。為了使2 種傳感器在同一環(huán)境對同一場景進行有效描述,必須保證2 種傳感器間精確標定。一般采用外部標定的方法(見圖1),即根據(jù)2種傳感器之間的約束關系確定兩者之間的相對變換關系。
Unnikrishnan 等[16]首次提出校準激光雷達與視覺相機的方法,描述了如何手動標記激光雷達掃描和相機幀的對應點。Kassir 等[17]詳細介紹了一種使用棋盤圖的激光雷達與相機的自動校準方法,并推導出2 種傳感器間的線性變換關系。由于SLAM 工作環(huán)境和條件是時刻變化的,這種離線校準方法并不能保證激光傳感器與相機一直處于最佳的校準狀態(tài)。為了解決這個問題,Park 等[18]提出了一種基于卷積神經(jīng)網(wǎng)絡(CNN)的在線標定方法。CNN 將激光雷達與相機的視差作為輸入并返回校準參數(shù),能夠?qū)崿F(xiàn)快速的在線校準,更有利于SLAM 的實時應用。然而,到目前為止,學界所用的校準方法仍不統(tǒng)一,仍然沒有一種通用的簡單有效的校準方法。
3.2.1 基于EKF 方法的融合SLAM
很多學者運用基于擴展Kalman 濾波器(EKF)的經(jīng)典方法進行了視覺與激光融合SLAM 的研究。Sun等[19]提出了一種基于數(shù)據(jù)關聯(lián)的EKF表達式以提高SLAM 精度的方法。Xu 等[20]提出了一種基于EKF 的RGB-D 相機與激光雷達融合的SLAM 方法用于處理相機匹配失敗,即當相機匹配失敗時使用激光雷達對相機3D 點云數(shù)據(jù)進行補充并生成地圖。但這種方法并沒有真正地融合2 種傳感器數(shù)據(jù),只是在2 種傳感器的工作模式間采用了切換的工作機制。Guillén 等[21]比較了基于EKF 的各種SLAM算法在集成了IMU 的視覺相機上的表現(xiàn)?,F(xiàn)有的研究成果顯示,在SLAM 系統(tǒng)中加入2D 激光雷達,進而生成2.5D 地圖,可以提高機器人位姿估計的準確度,但這些不依賴于測量空間的特征檢測方法仍然是松耦合的,而基于緊耦合的EKF 視覺與激光融合算法研究尚屬空白。
3.2.2 改進的視覺SLAM
視覺SLAM 的缺點往往源于不能有效地提取到特征點的深度信息,而這正是激光雷達所擅長的。為了彌補單一視覺SLAM 的不足,研究者嘗試將激光雷達數(shù)據(jù)融合到視覺SLAM 的方法中。Graeter 等[22]將激光雷達用于測量場景深度,將點云投影到視頻幀上,采用基于視覺關鍵幀的BA(bundle adjustment)優(yōu)化算法進行狀態(tài)估計和建圖。Shin 等[23]提出了一種使用激光雷達得到稀疏深度點云進行視覺SLAM 的方法,但由于相機的分辨率遠高于激光雷達的分辨率,這種方法會導致大量像素沒有深度信息。為此,De Silva 等[24]提出了一種解決分辨率匹配問題的方法,即在計算2 個傳感器間的幾何變換后使用高斯回歸對缺失深度值進行插值。這種方法將激光雷達用于直接初始化圖像中檢測到的特征,其作用與使用RGB-D 傳感器的方法相同。
還有一些研究通過在視覺SLAM 中融入激光雷達,提升了方案的應用價值,如降低成本、提升性能、增強系統(tǒng)魯棒性等。一些研究將視覺SLAM的位姿估計用于建圖階段的點云標注。Zhang 等[25]提出了一種基于單維激光測距儀的單目視覺SLAM方法,該方法能夠在低成本硬件上實現(xiàn)有效漂移校正,用于解決單目SLAM 經(jīng)常出現(xiàn)的尺度漂移問題。Scherer 等[26]借助無人機繪制了沿河的航道和植被,采用視覺里程計與IMU 相結合的融合框架進行狀態(tài)估計,并運用激光雷達探測障礙物和繪制河流邊界,但這種方法產(chǎn)生的點云包含遮擋點,一定程度降低了狀態(tài)估計的精度。Huang 等[27]解決了這一問題,提出了一種包括遮擋點檢測和共面點檢測機制的直接SLAM 方法。
3.2.3 改進的激光雷達SLAM
在視覺與激光融合SLAM 的研究中,激光雷達通過掃描匹配進行運動估計,相機進行特征檢測。Liang等[28]使用掃描匹配和基于ORB特征的回環(huán)檢測,改進了基于激光的SLAM 性能偏弱的缺點。Zhu等[29]提出了一種使用視覺回環(huán)檢測的三維激光SLAM 方法,通過使用可視詞袋的關鍵幀技術來執(zhí)行回環(huán)檢測。此外,迭代最近點法(iterative closest point,ICP)[30]也可以通過激光與視覺融合進行優(yōu)化。Pande 等[31]使用視覺信息對剛體變換進行了初步估計,進而提出了一種泛化的ICP 框架。
3.2.4 并行激光與視覺SLAM
上述研究方法多采用單一SLAM 方法,并利用另一種傳感器作為輔助。還有一些研究嘗試將2 種SLAM 方法結合起來。Seo 等[32]提出了一種同時使用激光雷達SLAM 和視覺SLAM 的并行SLAM 方法,特點是在后端同時使用2 種模式的測量殘差進行后端優(yōu)化。Zhang 等[33]結合前人的研究設計了一種VLOAM(visual lidar odometry and mapping in real-time),這種融合里程計的特點是同時使用高頻的視覺里程計和低頻的激光雷達里程計,改善運動估計的準確性并抑制漂移。盡管通過激光數(shù)據(jù)和圖像數(shù)據(jù)都可以得到機器人的位姿估計,Jiang 等[34]仍同時使用激光約束與特征點約束來定義圖優(yōu)化的代價函數(shù),并構建了一個2.5D 的地圖,以加快回環(huán)檢測過程,這是目前最緊密的融合方法。
現(xiàn)有研究的主要思路是利用傳感器的融合為單激光雷達或單視覺的SLAM 框架提供額外信息以改進其性能,而不是提出一種融合的SLAM 框架。在實現(xiàn)SLAM 的所有方法中真正地融合框架研究很少。同時使用視覺信息與激光測量數(shù)據(jù)的通用SLAM 框架構建將是未來研究的一大挑戰(zhàn)。
通過梳理發(fā)現(xiàn),目前并沒有一種能夠利用2 種傳感器優(yōu)勢的完全融合視覺與激光雷達數(shù)據(jù)的SLAM 方法。一方面,視覺SLAM 不能在惡劣的光照條件或無紋理的環(huán)境下工作,但激光SLAM 可以。另一方面,激光SLAM 在雨天條件下(如檢測到錯誤的撞擊)或在有紋理但幾何特征不明顯的區(qū)域(如開闊的場地、很長的走廊)中,比視覺SLAM效果更差。因此,基于激光與視覺融合的技術可使SLAM 對光照或天氣等環(huán)境條件的適應性更強。目前已有的激光和視覺傳感器融合算法研究都是特征層面而非數(shù)據(jù)層面的融合算法,即利用2 種傳感器里程計的計算結果,因此在位姿估計和建圖過程中2 種傳感器的優(yōu)勢并未充分發(fā)揮。如果可以同時使用激光雷達或視覺特征,以一種緊耦合方式進行數(shù)據(jù)融合,能夠進一步提高SLAM 的性能。
近年來,深度學習在計算機視覺領域蓬勃發(fā)展,在圖像特征匹配領域比傳統(tǒng)人工設計的算法有大幅提升。研究者嘗試在視覺與激光融合SLAM 中使用深度學習改善里程計和回環(huán)檢測性能,加強SLAM 系統(tǒng)對環(huán)境語義的理解。
Wang 等[35]提出了名為DeepVO 的視覺里程計方法,對原始圖像序列使用CNN 學習特征,并使用遞歸神經(jīng)網(wǎng)絡(RNN)學習圖像間動力學內(nèi)在聯(lián)系。這種基于雙卷積神經(jīng)網(wǎng)絡的結構能高效提取相鄰幀間的有效信息,與傳統(tǒng)特征提取方法需要大量的幾何計算不同,同時具有較好的泛化能力,因此得到了廣泛的關注。Krizhevsky 等[36]和Zhou 等[37]使用無監(jiān)督學習方法得到圖像深度與位姿信息,同時分割出圖像中的動態(tài)物體。該方法將深度圖與位姿信息投影到圖像上,通過比較真實圖像與投影圖像得到誤差,進而得到代表動態(tài)圖像的特征點。Kuznietsov 等[38]解決了無監(jiān)督學習的不適定問題,在無深度圖像時用圖像的重構誤差及平滑誤差作為損失函數(shù),可以應用到單目相機的深度估計上。
在回環(huán)檢測方面,Sünderhauf 等[39]通過使用ConvNet 計算路標區(qū)域的特征,比較路標區(qū)域的相似性,以此判斷整幅圖像之間的相似性。該方法顯著提高了局部遮擋和劇烈變化場景下檢測的魯棒性。Arandjelovic 等[40]將網(wǎng)絡學習特征與人工設計特征相結合,并在GSVTM(google street view time machine)數(shù)據(jù)集上訓練網(wǎng)絡,得到的網(wǎng)絡在場景識別領域取得了突出的效果。
多智能體也是目前與融合SLAM 結合較多的熱點研究方向。在多智能體系統(tǒng)中,各智能體可相互通信,相互協(xié)調(diào),并行求解問題,應用在SLAM問題中能極大地提高求解效率。同時系統(tǒng)中各智能體相對獨立,具有很好的容錯性和抗干擾能力,可有效解決大尺度環(huán)境下SLAM 問題。
CCM-SLAM[41]是一種融合了IMU 的多智能體視覺SLAM 框架,各智能體將檢測到的有限數(shù)量關鍵幀發(fā)送到服務器,由服務器進行地圖構建。該框架可以適用于各種分布式機器人,可有效降低單一智能體成本與通信負擔,在通信帶寬受限的場景中應用。蘇黎世大學的Cieslewski 等[42]提出的多智能分布架構使用逐次超松弛(successive over-relaxation,SOR)和雅可比超松弛(Jacobi over-relaxation,JOR)求解正規(guī)方程,有效節(jié)省了數(shù)據(jù)帶寬,推動了多智能體技術與SLAM 融合。
目前,經(jīng)典的SLAM 研究已經(jīng)比較成熟,視覺SLAM、激光SLAM 以及二者的融合正在日趨完善,隨著人工智能技術的發(fā)展,深度學習、多智能體與視覺激光融合SLAM 的結合為SLAM 的進一步發(fā)展開創(chuàng)了更為廣闊的空間。視覺與激光2 種傳感器的緊耦合SLAM 研究,機器學習與SLAM 的深度結合,都將成為SLAM 研究的未來發(fā)展方向。