天天看點

SLAM綜述(轉)現在與未來

1.目前的開源方案

本文将帶着讀者去看看現有的SLAM方案能做到怎樣的程度。特别地,我們重點關注那些提供開源實作的方案。在SLAM研究領域,能見到開源方案是很不容易的。往往論文中介紹理論隻占20%的内容,其他80%都寫在代碼中,是論文裡沒有提到的。正是這些研究者們的無私奉獻,推動了整個SLAM行業的快速前進,使後續研究者有了更高的起點。在我們開始做SLAM之前,應該對相似的方案有深入的了解,然後再進行自己的研究,這樣才會更有意義。

本講的前半部分将帶領讀者參觀一下目前的視覺SLAM方案,評述其曆史地位和優缺點。表1列舉了一些常見的開源SLAM方案,讀者可以選擇感興趣的方案進行研究和實驗。限于篇幅,我們隻選了一部分有代表性的方案,這肯定是不全面的。在後半部分,我們将探讨未來可能的一些發展方向,并給出目前的一些研究成果。

方案名稱 傳感器形式 位址
MonoSLAM 單目 https://github.com/hanmekim/SceneLib2
PTAM 單目 http://www.robots.ox.ac.uk/~gk/PTAM/
ORB-SLAM 單目為主 http://webdiis.unizar.es/~raulmur/orbslam/
LSD-SLAM 單目為主 http://vision.in.tum.de/research/vslam/lsdslam
SVO 單目 https://github.com/uzh-rpg/rpg_svo
DTAM RGB-D https://github.com/anuranbaka/OpenDTAM
DVO RGB-D https://github.com/tum-vision/dvo_slam
DSO 單目 https://github.com/JakobEngel/dso
RTAB-MAP 雙目/RGB-D https://github.com/introlab/rtabmap
RGBD-SLAM-V2 RGB-D https://github.com/felixendres/rgbdslam_v2
Elastic Fusion RGB-D https://github.com/mp3guy/ElasticFusion
Hector SLAM 雷射 http://wiki.ros.org/hector_slam
GMapping 雷射 http://wiki.ros.org/gmapping
OKVIS 多目+IMU https://github.com/ethz-asl/okvis
ROVIO 單目+IMU https://github.com/ethz-asl/rovio

表1 常用開源 SLAM 方案

MonoSLAM

說到視覺SLAM,很多研究者第一個想到的是A. J. Davison的單目SLAM工作。Davison教授是視覺SLAM研究領域的先驅,他在2007年提出的MonoSLAM是第一個實時的單目視覺SLAM系統[2],被認為是許多工作的發源地。MonoSLAM以擴充卡爾曼濾波為後端,追蹤前端非常稀疏的特征點。由于EKF在早期SLAM中占據着明顯主導地位,是以MonoSLAM亦是建立在EKF的基礎之上,以相機的目前狀态和所有路标點為狀态量,更新其均值和協方差。

圖1所示是MonoSLAM在運作時的情形。可以看到,單目相機在一幅圖像當中追蹤了非常稀疏的特征點(且用到了主動追蹤技術)。在EKF中,每個特征點的位置服從高斯分布,是以我們能夠以一個橢球的形式表達它的均值和不确定性。在該圖的右半部分,我們可以找到一些在空間中分布着的小球。它們在某個方向上顯得越長,說明在該方向的位置就越不确定。我們可以想象,如果一個特征點收斂,我們應該能看到它從一個很長的橢球(相機Z方向上非常不确定)最後變成一個小點的樣子。

SLAM綜述(轉)現在與未來

圖1 MonoSLAM的運作時截圖,左側:追蹤特征點在圖像中的表示,右側:特征點在三維空間中的表示

這種做法在今天看來固然存在許多弊端,但在當時已經是裡程碑式的工作了,因為在此之前的視覺SLAM系統基本不能線上運作,隻能靠機器人攜帶相機采集資料,再離線地進行定位與建圖。計算機性能的進步,以及用稀疏的方式處理圖像,加在一起才使得一個SLAM系統能夠線上地運作。從現代的角度來看,MonoSLAM存在諸如應用場景很窄,路标數量有限,稀疏特征點非常容易丢失的情況,對它的開發也已經停止,取而代之的是更先進的理論和程式設計工具。不過這并不妨礙我們對前人工作的了解和尊敬。

PTAM

2007年,Klein等人提出了PTAM(Parallel Tracking and Mapping),這也是視覺SLAM發展過程中的重要事件。PTAM的重要意義在于以下兩點:

  • PTAM提出并實作了跟蹤與建圖過程的并行化。我們現在已然清楚,跟蹤部分需要實時響應圖像資料,而對地圖的優化則沒必要實時地計算。後端優化可以在背景慢慢進行,然後在必要的時候進行線程同步即可。這是視覺SLAM中首次區分出前後端的概念,引領了後來許多視覺SLAM系統的設計(我們現在看到的SLAM多半都分前後端)。
  • PTAM是第一個使用非線性優化,而不是使用傳統的濾波器作為後端的方案。它引入了關鍵幀機制:我們不必精細地處理每一幅圖像,而是把幾個關鍵圖像串起來,然後優化其軌迹和地圖。早期的SLAM大多數使用EKF濾波器或其變種,以及粒子濾波器等;在PTAM之後,視覺SLAM研究逐漸轉向了以非線性優化為主導的後端。由于之前人們未認識到後端優化的稀疏性,是以覺得優化後端無法實時處理那樣大規模的資料,而PTAM則是一個顯著的反例。

PTAM同時是一個增強現實軟體,示範了酷炫的AR效果(如所示)。根據PTAM估計的相機位姿,我們可以在一個虛拟的平面上放置虛拟物體,看起來就像在真實的場景中一樣。

SLAM綜述(轉)現在與未來

圖2 PTAM的示範截圖

它既可以提供實時的定位和建圖

也可以在虛拟平面上疊加虛拟物體

不過,從現代的眼光看來,PTAM也算是早期的結合AR的SLAM工作之一。與許多早期工作相似,存在着明顯的缺陷:場景小,跟蹤容易丢失,等等。這些又在後續的方案中得以修正。

ORB-SLAM

介紹了曆史上的幾種方案之後,我們來看現代的一些SLAM系統。ORB-SLAM是PTAM的繼承者中非常有名的一位(見圖3)。它提出于2015年,是現代SLAM系統中做得非常完善、非常易用的系統之一(如果不是最完善易用的話)。ORB-SLAM代表着主流的特征點SLAM的一個高峰。相比于之前的工作,ORB-SLAM具有以下幾條明顯的優勢:

SLAM綜述(轉)現在與未來

圖3 ORB-SLAM運作截圖

左側為圖像與追蹤到的特征點,右側為相機軌迹與模組化的特征點地圖

下方為其标志性的三線程結構

  • 支援單目、雙目、RGB-D三種模式。這使得無論我們拿到了哪種常見的傳感器,都可以先放到ORB-SLAM上測試一下,它具有良好的泛用性。
  • 整個系統圍繞ORB特征進行計算,包括視覺裡程計與回環檢測的ORB字典。它展現出ORB特征是現階段計算平台的一種優秀的效率與精度之間的折中方式。ORB不像SIFT或SURF那樣費時,在CPU上面即可實時計算;相比Harris角點等簡單角點特征,又具有良好的旋轉和縮放不變性。并且,ORB提供描述子,使我們在大範圍運動時能夠進行回環檢測和重定位。
  • ORB的回環檢測是它的亮點。優秀的回環檢測算法保證了ORB-SLAM有效地防止累積誤差,并且在丢失之後還能迅速找回,這一點許多現有的SLAM系統都不夠完善。為此,ORB-SLAM在運作之前必須加載一個很大的ORB字典 。
  • ORB-SLAM創新式地使用了三個線程完成SLAM:實時跟蹤特征點的Tracking線程,局部Bundle Adjustment的優化線程(Co-visibility Graph,俗稱小圖),以及全局Pose Graph的回環檢測與優化線程(Essential Graph俗稱大圖)。其中,Tracking線程負責對每幅新來的圖像提取ORB特征點,并與最近的關鍵幀進行比較,計算特征點的位置并粗略估計相機位姿。小圖線程求解一個Bundle Adjustment問題,它包括局部空間内的特征點與相機位姿。這個線程負責求解更精細的相機位姿與特征點空間位置。不過,僅有前兩個線程,隻完成了一個比較好的視覺裡程計。第三個線程,也就是大圖線程,對全局的地圖與關鍵幀進行回環檢測,消除累積誤差。由于全局地圖中的地圖點太多,是以這個線程的優化不包括地圖點,而隻有相機位姿組成的位姿圖。繼PTAM的雙線程結構之後,ORB-SLAM的三線程結構取得了非常好的跟蹤和建圖效果,能夠保證軌迹與地圖的全局一緻性。這種三線程結構也将被後續的研究者認同和采用。
  • ORB-SLAM圍繞特征點進行了不少的優化。例如,在OpenCV的特征提取基礎上保證了特征點的均勻分布,在優化位姿時使用了一種循環優化4遍以得到更多正确比對的方法,比PTAM更為寬松的關鍵幀選取政策,等等。這些細小的改進使得ORB-SLAM具有遠超其他方案的穩健性:即使對于較差的場景,較差的标定内參,ORB-SLAM都能夠順利地工作。

上述這些優勢使得ORB-SLAM在特征點SLAM中達到頂峰,許多研究工作都以ORB-SLAM作為标準,或者在它的基礎上進行後續的開發。它的代碼以清晰易讀著稱,有着完善的注釋,可供後來的研究者進一步了解。

當然,ORB-SLAM也存在一些不足之處。首先,由于整個SLAM系統都采用特征點進行計算,我們必須對每幅圖像都計算一遍ORB特征,這是非常耗時的。ORB-SLAM的三線程結構也給CPU帶來了較重的負擔,使得它隻有在目前PC架構的CPU上才能實時運算,移植到嵌入式裝置上則有一定困難。其次,ORB-SLAM的建圖為稀疏特征點,目前還沒有開放存儲和讀取地圖後重新定位的功能(雖然從實作上來講并不困難)。根據我們在建圖部分的分析,稀疏特征點地圖隻能滿足我們對定位的需求,而無法提供導航、避障、互動等諸多功能。然而,如果我們僅用ORB-SLAM處理定位問題,似乎又顯得有些過于重量級了。相比之下,另外一些方案提供了更為輕量級的定位,使我們能夠在低端的處理器上運作SLAM,或者讓CPU有餘力處理其他的事務。

LSD-SLAM

LSD-SLAM(Large Scale Direct monocular SLAM)是J. Engle等人于2014年提出的SLAM工作。類比于ORB-SLAM之于特征點,LSD-SLAM則标志着單目直接法在SLAM中的成功應用。LSD-SLAM的核心貢獻是将直接法應用到了半稠密的單目SLAM中。它不僅不需要計算特征點,還能建構半稠密的地圖——這裡半稠密的意思主要是指估計梯度明顯的像素位置。它的主要優點如下:

  1. LSD-SLAM的直接法是針對像素進行的。作者有創見地提出了像素梯度與直接法的關系,以及像素梯度與極線方向在稠密重建中的角度關系。這些在本書的第8講和第13講均有讨論。不過,LSD-SLAM是在單目圖像進行半稠密的跟蹤,實作原理要比本書的例程更加複雜。
  2. LSD-SLAM在CPU上實作了半稠密場景的重建,這在之前的方案中是很少見到的。基于特征點的方法隻能是稀疏的,而進行稠密重建的方案大多要使用RGB-D傳感器,或者使用GPU建構稠密地圖。TUM計算機視覺組在多年對直接法研究的基礎上,實作了這種CPU上的實時半稠密SLAM。
  3. 之前也說過,LSD-SLAM的半稠密追蹤使用了一些精妙的手段來保證追蹤的實時性與穩定性。例如,LSD-SLAM既不是利用單個像素,也不是利用圖像塊,而是在極線上等距離取5個點,度量其SSD;在深度估計時,LSD-SLAM首先用随機數初始化深度,在估計完後又把深度均值歸一化,以調整尺度;在度量深度不确定性時,不僅考慮三角化的幾何關系,而且考慮了極線與深度的夾角,歸納成一個光度不确定性項;關鍵幀之間的限制使用了相似變換群及與之對應的李代數ζ∈sim(3)顯式地表達出尺度,在後端優化中可以将不同尺度的場景考慮進來,減小了尺度飄移現象。

圖4顯示了LSD的運作情況。我們可以觀察一下這種微妙的半稠密地圖是怎樣一種介于稀疏地圖與稠密地圖之間的形式。半稠密地圖模組化了灰階圖中有明顯梯度的部分,顯示在地圖中,很大一部分都是物體的邊緣或表面上帶紋理的部分。LSD-SLAM對它們進行跟蹤并建立關鍵幀,最後優化得到這樣的地圖。看起來比稀疏的地圖具有更多的資訊,但又不像稠密地圖那樣擁有完整的表面(稠密地圖一般認為無法僅用CPU實作實時性)。

SLAM綜述(轉)現在與未來

圖4 LSD-SLAM運作圖檔

上半部分為估計的軌迹與地圖

下半部分為圖像中被模組化的部分

即具有較好的像素梯度的部分

由于LSD-SLAM使用了直接法進行跟蹤,是以它既有直接法的優點(對特征缺失區域不敏感),也繼承了直接法的缺點。例如,LSD-SLAM對相機内參和曝光非常敏感,并且在相機快速運動時容易丢失。另外,在回環檢測部分,由于目前并沒有基于直接法實作的回環檢測方式,是以LSD-SLAM必須依賴于特征點方法進行回環檢測,尚未完全擺脫特征點的計算。

SVO

SVO是Semi-direct Visual Odoemtry的縮寫[56]。它是由Forster等人于2014年提出的一種基于稀疏直接法的視覺裡程計。按作者的稱呼應該叫“半直接”法,然而按照本書的理念架構,稱為“稀疏直接法”可能更好一些。半直接在原文中的意思是指特征點與直接法的混合使用:SVO跟蹤了一些關鍵點(角點,沒有描述子),然後像直接法那樣,根據這些關鍵點周圍的資訊估計相機運動及其位置(如圖4所示)。在實作中,SVO使用了關鍵點周圍的4×4的小塊進行塊比對,估計相機自身的運動。

相比于其他方案,SVO的最大優勢是速度極快。由于使用稀疏的直接法,它既不必費力去計算描述子,也不必處理像稠密和半稠密那麼多的資訊,是以,即使在低端計算平台上也能達到實時性,而在PC平台上則可以達到每秒100多幀的速度。在後續的SVO 2.0中,速度更達到了驚人的每秒400幀。這使得SVO非常适用于計算平台受限的場合,例如無人機、手持AR/VR裝置的定位。無人機也是作者開發SVO的目标應用平台。

SLAM綜述(轉)現在與未來

圖5 SVO跟蹤關鍵點的圖檔

SVO的另一創新之處是提出了深度濾波器的概念,并推導了基于均勻?高斯混合分布的深度濾波器。這在本書的第13講有提及,但由于原理較為複雜,我們沒有詳細解釋。SVO将這種濾波器用于關鍵點的位置估計,并使用了逆深度作為參數化形式,使之能夠更好地計算特征點位置。

開源版的SVO代碼清晰易讀,十分适合讀者作為第一個SLAM執行個體進行分析。不過,開源版SVO也存在一些問題:

  • 由于目标應用平台為無人機的俯視相機,其視野内的物體主要是地面,而且相機的運動主要為水準和上下的移動,SVO的許多細節是圍繞這個應用設計的,這使得它在平視相機中表現不佳。例如,SVO在單目初始化時,使用了分解H矩陣而不是傳統的F或E矩陣的方式,這需要假設特征點位于平面上。該假設對俯視相機是成立的,但對平視相機通常是不成立的,可能導緻初始化失敗。再如,SVO在關鍵幀選擇時,使用了平移量作為确定新的關鍵幀的政策,而沒有考慮旋轉量。這同樣在無人機俯視配置下是有效的,但在平視相機中則會容易丢失。是以,如果讀者想要在平視相機中使用SVO,必須自己加以修改。
  • SVO為了速度和輕量化,舍棄了後端優化和回環檢測部分,也基本沒有建圖功能。這意味着SVO的位姿估計必然存在累積誤差,而且丢失後不太容易進行重定位(因為沒有描述子用來回環檢測)。是以,我們稱它為一個VO,而不是稱它為完整的SLAM。

RTAB-MAP

介紹了幾款單目SLAM方案後,我們再來看一些RGB-D傳感器上的SLAM方案。相比于單目和雙目,RGB-D SLAM的原理要簡單很多(盡管實作上不一定),而且能夠在CPU上實時建立稠密的地圖。

RTAB-MAP(Real Time Appearance-Based Mapping)是RGB-D SLAM中比較經典的一個方案。它實作了RGB-D SLAM中所有應該有的東西:基于特征的視覺裡程計、基于詞袋的回環檢測、後端的位姿圖優化,以及點雲和三角網格地圖。是以,RTAB-MAP給出了一套完整的(但有些龐大的)RGB-D SLAM方案。目前我們已經可以直接從ROS中獲得其二進制程式,此外,在Google Project Tango上也可以擷取其App使用(如圖6所示)。

SLAM綜述(轉)現在與未來

圖6 RTAB-MAP在Google Project Tango上的運作樣例

RTAB-MAP支援一些常見的RGB-D和雙目傳感器,像Kinect、Xtion等,且提供實時的定位和建圖功能。不過由于內建度較高,使得其他開發者在它的基礎上進行二次開發變得困難,是以RTAB-MAP更适合作為SLAM應用而非研究使用。

其他

除了這些開源方案之外,讀者還能在openslam.org之類的網站上找到許多其他的研究,例如,DVO-SLAM、RGBD-SLAM-V2、DSO,以及一些Kinect Fusion相關的工作,等等。随着時代發展,更新穎、更優秀的開源SLAM作品亦将出現在人們的視野中,限于篇幅這裡就不逐一介紹了。

2.未來的SLAM話題

看過了現有的方案,我們再來讨論一些未來的發展方向。大體上講,SLAM将來的發展趨勢有兩大類:一是朝輕量級、小型化方向發展,讓SLAM能夠在嵌入式或手機等小型裝置上良好運作,然後考慮以它為底層功能的應用。畢竟,大部分場合中,我們的真正目的都是實作機器人、AR/VR裝置的功能,比如說運動、導航、教學、娛樂,而SLAM是為上層應用提供自身的一個位姿估計。在這些應用中,我們不希望SLAM占用所有計算資源,是以對SLAM的小型化和輕量化有非常強烈的需求。另一方面則是利用高性能計算裝置,實作精密的三維重建、場景了解等功能。在這些應用中,我們的目的是完美地重建場景,而對于計算資源和裝置的便攜性則沒有多大限制。由于可以利用GPU,這個方向和深度學習亦有結合點。

視覺+慣性導航SLAM

首先,我們要談一個有很強應用背景的方向:視覺?慣性導航融合SLAM方案。實際的機器人也好,硬體裝置也好,通常都不會隻攜帶一種傳感器,往往是多種傳感器的融合。學術界的研究人員喜愛“大而且幹淨的問題”(Big Clean Problem),比如說僅用單個攝像頭實作視覺SLAM。但産業界的朋友們則更注重讓算法更加實用,不得不面對一些複雜而瑣碎的場景。在這種應用背景下,用視覺與慣性導航融合進行SLAM成為了一個關注熱點。

慣性傳感器(IMU)能夠測量傳感器本體的角速度和加速度,被認為與相機傳感器具有明顯的互補性,而且十分有潛力在融合之後得到更完善的SLAM系統[128]。為什麼這麼說呢?

  1. IMU雖然可以測得角速度和加速度,但這些量都存在明顯的漂移(Drift),使得積分兩次得到的位姿資料非常不可靠。好比說,我們将IMU放在桌上不動,用它的讀數積分得到的位姿也會漂出十萬八千裡。但是,對于短時間内的快速運動,IMU能夠提供一些較好的估計。這正是相機的弱點。當運動過快時,(卷簾快門的)相機會出現運動模糊,或者兩幀之間重疊區域太少以至于無法進行特征比對,是以純視覺SLAM非常害怕快速的運動。而有了IMU,即使在相機資料無效的那段時間内,我們也能保持一個較好的位姿估計,這是純視覺SLAM無法做到的。
  2. 相比于IMU,相機資料基本不會有漂移。如果相機放在原地固定不動,那麼(在靜态場景下)視覺SLAM的位姿估計也是固定不動的。是以,相機資料可以有效地估計并修正IMU讀數中的漂移,使得在慢速運動後的位姿估計依然有效。
  3. 當圖像發生變化時,本質上我們沒法知道是相機自身發生了運動,還是外界條件發生了變化,是以純視覺SLAM難以處理動态的障礙物。而IMU能夠感受到自己的運動資訊,從某種程度上減輕動态物體的影響。

總而言之,我們看到IMU為快速運動提供了較好的解決方式,而相機又能在慢速運動下解決IMU的漂移問題——在這個意義下,它們二者是互補的。

SLAM綜述(轉)現在與未來

圖7 越來越多的相機開始內建IMU裝置

當然,雖然說得很好聽,不管是理論還是實踐,VIO(Visual Inertial Odometry)都是相當複雜的。其複雜性主要來源于IMU測量加速度和角速度這兩個量的事實,是以不得不引入運動學計算。目前VIO的架構已經定型為兩大類:松耦合(Loosely Coupled)和緊耦合(Tightly Coupled)。松耦合是指IMU和相機分别進行自身的運動估計,然後對其位姿估計結果進行融合。緊耦合是指把IMU的狀态與相機的狀态合并在一起,共同建構運動方程和觀測方程,然後進行狀态估計——這和我們之前介紹的理論非常相似。我們可以預見,緊耦合理論也必将分為基于濾波和基于優化兩個方向。在濾波方面,傳統的EKF以及改進的MSCKF(Multi-State Constraint KF)都取得了一定的成果,研究者對EKF也進行了深入的讨論(例如能觀性);優化方面亦有相應的方案。值得一提的是,盡管在純視覺SLAM中優化方法已經占了主流,但在VIO中,由于IMU的資料頻率非常高,對狀态進行優化需要的計算量就更大,是以目前仍處于濾波與優化并存的階段。由于過于複雜,限于篇幅,這裡就隻能大概地介紹一下這個方向了。

VIO為将來SLAM的小型化與低成本化提供了一個非常有效的方向。而且結合稀疏直接法,我們有望在低端硬體上取得良好的SLAM或VO效果,是非常有前景的。

語義SLAM

SLAM的另一個大方向就是和深度學習技術結合。到目前為止,SLAM的方案都處于特征點或者像素的層級。關于這些特征點或像素到底來自于什麼東西,我們一無所知。這使得計算機視覺中的SLAM與我們人類的做法不怎麼相似,至少我們自己從來看不到特征點,也不會去根據特征點判斷自身的運動方向。我們看到的是一個個物體,通過左右眼判斷它們的遠近,然後基于它們在圖像當中的運動推測相機的移動。

很久之前,研究者就試圖将物體資訊結合到SLAM中。例如文獻[135-138]中就曾把物體識别與視覺SLAM結合起來,建構帶物體标簽的地圖。另一方面,把标簽資訊引入到BA或優化端的目标函數和限制中,我們可以結合特征點的位置與标簽資訊進行優化。這些工作都可以稱為語義SLAM。綜合來說,SLAM和語義的結合點主要有兩個方面:

  1. 語義幫助SLAM。傳統的物體識别、分割算法往往隻考慮一幅圖,而在SLAM中我們擁有一台移動的相機。如果我們把運動過程中的圖檔都帶上物體标簽,就能得到一個帶有标簽的地圖。另外,物體資訊亦可為回環檢測、BA優化帶來更多的條件。
  2. SLAM幫助語義。物體識别和分割都需要大量的訓練資料。要讓分類器識别各個角度的物體,需要從不同視角采集該物體的資料,然後進行人工标定,非常辛苦。而SLAM中,由于我們可以估計相機的運動,可以自動地計算物體在圖像中的位置,節省人工标定的成本。如果有自動生成的帶高品質标注的樣本資料,能夠很大程度上加速分類器的訓練過程。
SLAM綜述(轉)現在與未來

圖8 語義SLAM的一些結果,左圖和右圖分别來自文獻[138,140]

在深度學習廣泛應用之前,我們隻能利用支援向量機、條件随機場等傳統工具對物體或場景進行分割和識别,或者直接将觀測資料與資料庫中的樣本進行比較[108,140],嘗試建構語義地圖[138,141-143]。由于這些工具本身在分類正确率上存在限制,是以效果也往往不盡如人意。随着深度學習的發展,我們開始使用網絡,越來越準确地對圖像進行識别、檢測和分割[144-149]。這為建構準确的語義地圖打下了更好的基礎[150]。我們正看到,逐漸開始有學者将神經網絡方法引入到SLAM中的物體識别和分割,甚至SLAM本身的位姿估計與回環檢測中[151-153]。雖然這些方法目前還沒有成為主流,但将SLAM與深度學習結合來處理圖像,亦是一個很有前景的研究方向。

SLAM的未來

除此之外,基于線/面特征的SLAM[154-156]、動态場景下的SLAM[157-159]、多機器人的SLAM[67,160,161],等等,都是研究者感興趣并發力的地方。按照文獻[9]的觀點,視覺SLAM經過了三個大時代:提出問題、尋找算法、完善算法。而我們目前正處于第三個時代,面對着如何在已有的架構中進一步改善,使視覺SLAM系統能夠在各種幹擾的條件下穩定運作。這一步需要許多研究者的不懈努力。

當然,沒有人能夠預測未來,我們也說不準會不會突然有一天,整個架構都被新的技術推倒重寫。不過即使是那樣,今天我們的付出仍将是有意義的。沒有今天的研究,也就不會有将來的發展。最後,希望讀者能在讀完本書之後,對現有的整個SLAM系統有了充分的認識。我們也期待你能夠為SLAM研究做出貢獻!

來源:人工智能頭條(ID:AI_Thinker),作者:高翔 張濤 劉毅 顔沁睿

繼續閱讀