隨著計算機視覺和機器人技術的發展,視覺同時定位與地圖創建已成為無人系統領域的研究焦點,深度學習在圖像處理方面展現出的強大優勢,為二者的廣泛結合創造了機會??偨Y了深度學習與視覺里程計、閉環檢測和語義同時定位與地圖創建結合的突出研究成果,對傳統算法與基于深度學習的方法做了對比,展望了基于深度學習的視覺同時定位與地圖創建發展方向。
01引言
同時定位與地圖創建(Simultaneous Localization and Mapping,SLAM),是指在陌生環境中,機器實現環境感知、理解和完成自身定位,以及路徑規劃[1-2]。在某些特殊場合可以代替人工,比如軍事,交通,服務業等領域。長期以來,定位是實現路徑規劃的前提,在定位時,機器的首要任務是對周圍環境的感知,然后對其刻畫。現有許多針對已知先驗環境信息的機器自主定位和地圖創建的解決方法[1]。但是在大多情況下,事先獲取環境先驗信息很困難,因此,需要機器在陌生環境中,移動時一邊計算自身位置,一邊創建環境地圖[3]。這也促進了SLAM的研究,隨著算法和傳感器的發展,SLAM研究近些年來取得了巨大突破。
SLAM本質上是一個狀態估計問題,根據傳感器做劃分,主要是激光、視覺兩大類。激光SLAM的研究在理論和工程上都比較成熟,現有的很多行業已經開始使用激光SLAM完成工業工作;而視覺SLAM (Visual SLAM,VSLAM)是將圖像作為主要環境感知信息源的SLAM系統,VSLAM以計算相機位姿為主要目標,通過多視幾何方法構建3D地圖[4],視覺SLAM還處于實驗室研究階段,實際應用較少。SLAM系統的處理過程一般都是分為2個階段:幀間估計和后端優化[5],這種處理方式是由PTAM[6]首先提出并實現的,它區分出前后端完成特征點跟蹤和建圖的并行化,前端跟蹤需要實時響應圖像數據,地圖優化放在后端進行,后續許多視覺SLAM系統設計也采取類似的結構[5]。另外,PTAM也是第一個在后端優化使用非線性優化的系統,提出了關鍵幀(keyframes)機制,不用精細處理每一幅圖像,而是把幾個關鍵圖像串起來優化其軌跡和地圖。在整個SLAM系統中,幀間估計是根據相鄰兩幀間的傳感器信息獲取該時間間隔內的運動估計,后端優化指對之前幀間估計產生的路徑累積漂移誤差做優化,解決機器檢測到路徑閉環后歷史軌跡的優化問題。與激光SLAM相比,視覺SLAM對色彩和紋理等信息更敏感,在提高幀間的估計精度和閉環檢測方面有巨大潛力。
傳統的VSLAM分為特征點法和直接法。特征點法從每幀圖片中提取分布均勻的角點和周圍的描述子,通過這些角點周圍的描述子的不變性完成幀間匹配,接下來使用對極幾何恢復相機姿態并確定地圖坐標,最終根據最小化重投影誤差完成相機位姿和地圖的微調[7]。而直接法是根據光度誤差確定相機位姿和地圖的,不用提取角點和描述子,正因為這樣,直接法不能表征一張圖像的全局特征,直接法的閉環檢測面臨的累積漂移的消除問題一直沒有得到很好的解決[8]。
傳統的VSLAM方法仍面對以下幾個問題:
(1) 對光照較為敏感,在光照條件惡劣或者光照情況復雜的環境中魯棒性不高;
(2) 相機運動幅度較大時,傳統方法的特征點追蹤容易丟失;
(3) 對于場景中的動態對象的處理不夠理想;
(4) 計算量大,系統響應較慢。
近些年,計算機視覺與深度學習相互結合,促使視覺相關任務的準確率、執行效率以及魯棒性等實際表現得到了巨大提升,比如實例分類[9]、對象檢測[10]、行為識別[11]等領域的表現。VSLAM系統以計算機視覺為基礎,這為神經網絡在該領域的應用提供了很大的發揮空間。將深度學習與VSLAM結合,有以下優勢:
(1) 基于深度學習的VSLAM系統有很強的泛化能力,可以在光線復雜的環境中工作;
(2) 對于動態物體的識別和處理更加有效;
(3) 采用數據驅動的方式,對模型進行訓練,更符合人類與環境交互的規律。有很大的研究和發展空間;
(4) 采用神經網絡可以更好地將圖像信息與其他傳感器地數據融合,優化幀間漂移;
(5) 更高效地提取語義信息,有益于語義SLAM[12]的構建和場景語義的理解;
(6) 端到端的VSLAM,舍去前端點跟蹤、后端優化求解的一系列過程,直接輸入圖像給出位姿估計。
深度學習一般用在VSLAM系統的一個或多個環節,基于前述分析,本文對基于深度學習的VSLAM方法做了廣泛調研。主要針對基于深度學習的視覺里程計[13-14]、閉環檢測[15-16]和語義SLAM做出了綜述,并討論了基于深度學習的VSLAM的研究方向和發展趨勢。
02VSLAM與深度學習的相關結合
VSLAM可以構建周圍環境的3D地圖,并計算相機的位置和方向。深度學習和SLAM的結合是近幾年比較熱的一個研究方向,常用深度學習方法替換傳統SLAM中的一個或幾個模塊。
2.1深度學習與視覺里程計
移動機器人完成自主導航,首先需要確定自身的位置和姿態,即定位。視覺里程計(Visual Odometry,VO)通過跟蹤相鄰圖像幀間的特征點估計相機的運動,并對環境進行重建。VO大多借助計算幀間的運動估計當前幀的位姿?;谏疃葘W習的視覺里程計,無需復雜的幾何運算,端到端的運算形式使得基于深度學習的方法更簡潔。
Daniel和Malisiewicz[17]提出的網絡架構完成點跟蹤,得到相鄰幀間的單應性。如圖1所示,該模型主要特點是利用2個CNN[18]的協作生成單應性矩陣,完成相機位姿的估計。第一個稱為MagicPoint網絡,提取單張圖像的顯著點,網絡采用類似VGG[9]風格的結構,對灰度圖進行運算,并為每個像素輸出一個“點”概率,在最后生成的張量中每個空間位置代表分布在一個局部8×8區域的概率,加上一個沒有被檢測點的垃圾通道,再通過上采樣生成帶特征點標記的熱圖。第二個名為MagicWarp,對MagicPoint的輸出進行操作,結構與第一個網絡類似,將卷積后的兩幀圖片對應的張量連接起來,通過特征點的匹配來獲取單應性矩陣,然后估計跟輸入有關的單應性。系統速度快且規模小,可以在單核CPU達到每秒處理30幀的速度。模型在訓練之前,手工標定了一個包含各種特征點的數據集,比如:角,邊,以及幾何特征不明顯的曲線等特征,用于訓練MagicPoint,為了MagicWarp參數的學習,設計了一個基于點云的三維相機運動軌跡的數據集,實現從三維向二維空間的映射,找到相鄰幀間相機位姿的變化矩陣,發現特征點的單應性,這樣也更符合人類的感知。但是該模型不得不面對的一個問題是它只能追蹤相鄰兩幀圖像的低級特征點,完成位姿估計,由于對上下文環境信息沒有記憶,所以得到結果精度還有待提高。
圖1MagicPoint和MagicWarp結構[17]Fig. 1MagicPoint and MagicWarp[17]
雖然深度學習已經成為解決很多計算機視覺問題的主流方法,并取得了不錯的效果,但是關于VO的研究非常有限,尤其在三維幾何問題上。因為現有的神經網絡結構和預訓練模型大多是為了解決識別和分類問題而設計的,這也就驅使深度卷積神經網絡(CNNs)從圖像中提取更高層次的外觀信息。學習圖像的表象特征,限制了VO只在經過訓練的環境中發揮作用,這也是傳統VO算法嚴重依賴幾何特征而不是外觀特征的原因。同時,運動是一個連續的變化過程,理想的VO算法應該針對一系列圖像的變化和連接來建模,而不是處理單個圖像,這也意味著我們要對圖像序列學習。
相較于MagicPoint和MagicWarp僅針對兩幀圖像的基礎幾何特征完成單應性估計,Wang等[19]針對圖像序列提出了一種基于深度學習的單目VO的DeepVO算法,如圖2所示,直接從原始RGB圖像提取實例表征完成姿態估計。證明了單目VO問題可以通過基于深度學習端到端的方式高效解決,提出了一個RCNN[20]架構,利用CNN學習到的實例表征表示,使基于深度學習的VO算法能夠適應全新的環境,對于圖像序列的序列依賴性和復雜運動,利用深度遞歸神經網絡實現隱式封裝和自動學習。DeepVO由基于CNN的特征提取和基于RNN[21]的特征序列模型兩部分組成。提出端到端的VO系統架構,如圖2所示,以視頻剪輯或單目圖像序列作為輸入,每個時間戳內,通過RGB圖像幀減去訓練集的平均RGB值進行預處理,將2幅連續的圖像疊加在一起,形成一個張量,訓練深度RCNN提取運動信息和估計姿態。采用長短時記憶(LSTM[22])作為RNN,它通過引入記憶門和記憶單元來學習上下文依賴關系。具體來說,將圖像張量輸入CNN,生成一個有效的單目VO特征,然后通過LSTM進行序列學習,每個圖像對在通過網絡的每個時間戳產生一個位姿估計。CNN部分使用非線性單元(ReLU)激活,獲取顯著特征,使用0-padding保留卷積后張量的空間維數。每個時刻使用LSTM更新狀態狀態,為了學習神經網絡的超參θ,損失函數由位置向量p和角度變量φ組成的均方誤差構成:
(1)
式中:||·||為2范數;κ是一個比例因子用來平衡位置和角度的權重;N為樣本數量;角度φ用歐拉角定義。他們采用的這種VO方法它不依賴于位姿估計的傳統VO,通過將CNN和RNN相結合,實現了VO的特征提取和序列建模的同時進行,無需對VO系統的參數進行仔細調整。
圖2DeepVO網絡結構[19]Fig. 2Architecture of DeepVO[19]
針對DeepVO這類數據驅動的網絡,常對于隱藏在數據背后的規律比較敏感,所以對于類似標簽誤差這種信息干擾,DeepVO具備良好的魯棒性及擬合能力,體現了數據驅動模型的一個顯著優勢。雖然基于深度學習的VO方法在相機的位姿估計方面得到了一些結果,但是目前還不能取代基于幾何的方法,深度學習方法是一個可行的補充,把幾何用深度神經網絡的特征表示、知識以及模型做有機結合,進一步提高VO的準確性和魯棒性是目前可以預見的發展方向。
2.2深度學習與閉環檢測
閉環檢測應用在機器人建圖環節,新采集到一張圖像,判斷它是否在圖像序列中出現過,即確定機器人是否進入某同一歷史地點,或者在特征點配準丟失后重新獲取一個初始位置。高效的閉環檢測是SLAM精確求解的基礎,幀間匹配主要集中在誤差累積的消除,圖優化算法能夠有效地降低累計誤差。閉環檢測實質上是場景的識別問題,傳統SLAM的閉環檢測通過手工提取的稀疏特征或者像素稠密的特征完成匹配,深度學習則采用神經網絡學習圖片深層次特征的方法,場景識別率的表現更好。所以,基于深度學習的場景識別方法能夠有效提升閉環檢測的準確率[23]。
許多研究人員針對閉環檢測問題在網絡訓練和數據處理方面做了部分優化。比如文獻[24]提出的方法不是直接對整幅圖像做特征提取,而是根據預訓練的網絡提取圖像中的路標區域,然后通過ConvNet[27]計算每塊區域的特征并將其壓縮,完成路標區域的特征匹配之后,利用各個路標區域的相似性來計算全局圖像之間的相似性,為了降低假陽性出現的概率,模型把路標區域框的范圍作為監督條件。該方法顯著提升了面對場景中視點變化或局部遮擋的魯棒性。
為了提高閉環檢測的準確率和效率,Yi等[25]提出了一種BoCNF的特征詞袋匹配方法,該方法以視覺詞袋法為基礎,將CNN提取到的特征建立視覺詞袋,通過Hash隨機映射[26]將降維的視覺詞和詞袋特征關聯,實現快速準確的場景識別。
BoCNF基于BoW (Bag of Visual Word)的想法將提取的視覺特征量化為離線的視覺詞匯的視覺詞,然后構建用于在線檢索匹配圖像的倒排索引,如圖3所示。與其他基于BoW的算法類似,他們的框架包括離線階段和在線階段,每個階段包括2個部分。在離線和在線階段的開始,數據庫圖像或查詢圖像的ConvNet功能分兩步提?。旱貥藱z測和ConvNet特征提取[23]。離線階段,將數據庫圖像的ConvNet特征提取并把它們量化為視覺詞之后,執行倒排索引構建,將視覺詞鏈接到數據庫圖像。在線階段,在將查詢圖像的ConvNet特征提取并將其量化為視覺詞之后,在稱為粗略匹配的階段中,首先使用倒排索引檢索前K候選數據庫圖像,隨后精細匹配執行通過基于Hash的投票方案在前K個候選者中找到與查詢圖像的最終匹配。
圖3BoCNF特征匹配流程[25]Fig. 3Generation process of node-link graph[25]
深度VSLAM采用學習的方式,以后的發展與人類的感知和思考方式會更加相似。文獻[28]構建的模型的輸入為圖像序列,第一步根據Local Pose Estimation Network[29]計算圖像間的相對位姿,然后通過位姿聚合方法壓縮相對位姿信息,把計算結果輸入到Neural Graph Optimization網絡,輸出相對位姿的全局絕對位姿信息,通過Soft Attention模型提取關鍵信息,生成各幀之間的相似性矩陣,利用相似性矩陣完成SLAM中的閉環檢測,輸出整個的路徑地圖,把模型的輸出與真實路徑的差異作為損失函數。該方法在模擬環境中表現優秀,證明了Soft Attention[30]模型在閉環檢測環節的作用。根據觀察該模型的實驗表現,在實際環境中沒有達到預期的效果,但是端到端的學習模式,和整個模型的數據處理過程,符合人類的感知過程,未來有很大的發展空間。
2.3深度學習與語義SLAM
語義SLAM在建圖過程中獲取環境幾何信息的同時,識別環境里的獨立對象,獲取其位置、姿態和個體輪廓等語義信息擴展了傳統SLAM問題的研究內容,將一些語義信息集成到SLAM的研究中,以應對復雜場景的要求[31]。其實語義特征,本質上把局部特征進一步歸納,達到人類可以理解的分類層面。
在深度學習算法流行之前,物體識別方向評價最好的Bag of Visual Word算法將之前數據處理提取的SIFT[32]等特征融合成復雜且全面的特征,再送到分類器進行分類。其實對于深度學習方法,圖像的語義表征也是一層層抽象的,根據對神經網絡各層輸出進行可視化的結果,我們發現底層網絡中提取出的特征大部分是點線等的低層語義,中間層的網絡將圖像特征抽象為一些標識物的局部部件,而在頂層的圖像特征上升到了物體的級別,逐層特征提取抽象,這是神經網絡的又一突出優勢。
Lei等[33]以對象分類、語義分割為基準,提出了基于八叉樹的球形卷積核CNN,用于處理3D點云數據。將圖片轉換成原始點云,并基于八叉樹的結構做空間劃分,把球形卷積核作用到網絡的每一層,對特征實現分層下采樣,球形卷積核把點xi附近的空間劃分為多個體積小塊。針對第j個鄰接點xj,卷積核首先確定其對應的體積小塊,并通過該小塊的權重矩陣Wk來計算激活值。該模型對特征分層下采樣并根據空間分區構建3D鄰域,代替常用的K-NN[34]范圍搜索,一定程度上減少了計算和存儲成本,適合高分辨率輸入。通過神經元和3D點空間位置的對應關系確定該點需要使用的球形卷積核,根據這種關聯避免訓練過程中生成動態卷積核,達到高效、高分辨率的點云學習。
目前的語義SLAM研究還處于初級階段,但其前景廣闊。語義SLAM的難點在于誤差函數的設定,將深度學習的檢測或分割結果作為一個觀測值,融入SLAM的優化問題中一起聯合優化,同時還需要做到GPU的實時[35]。
Girisha等[36]針對無人機航拍視頻提出了一種語義解析的方法。如圖4所示,鏡頭邊界檢測算法首先用于識別關鍵幀,隨后,通過使用U-Net[37],對這些關鍵幀執行語義分割,航拍數據頻率為29 fps,每個連續幀之間變化是微小的,因此,使用鏡頭邊界檢測算法來識別關鍵幀,以便于單幀和幀與幀之間的分析。而關鍵幀識別的過程,目的是從連續幀中識別出鏡頭邊界,并且將整個模塊用關鍵幀表示。通過將每一幀劃分為16×16大小的非重疊網格來識別每一幀的鏡頭邊界。采用卡方距離計算相鄰兩幀之間相應的網格直方圖差:
(2)
式中:Hi為第i幀直方圖;Hi+1為第(i+1+幀直方圖;I為兩幀中同一位置的圖像塊。連續兩幀之間的直方圖平均差計算如下:
(3)
式中:D為連續兩幀的平均直方圖差;dk為第k個圖像塊之間的卡方差;N為圖像中圖像塊的總數。在直方圖差異大于閾值Tshot的幀上識別鏡頭邊界,利用語義分割算法對識別出的關鍵幀進行進一步處理,識別出場景中出現的各種對象(綠化、道路)。U-Net利用contracting path中提取的特征進行反卷積完成區域定位,在contracting path實現卷積運算,然后再通過ReLU激活函數提取特征。改進后的網絡可以處理256×256大小的彩色圖像(RGB),而不僅僅是灰度圖像,這是通過在每一層使用3D卷積操作來實現的。除了最大池化操作,每個層還考慮填充,以保留最相關的特性,以便進一步處理。另外,Bowman等[38]提出了一種將尺度信息和語義信息融合的理論框架,在語義SLAM的概率數據融合上做的工作具有創新性,引入EM估計[39]把語義SLAM轉換成概率問題,優化目標仍然是常用的重投影誤差。
圖4修改后的U-Net結構[37]Fig. 4Modified U-Net structure[37]
03深度學習方法與傳統VSLAM對比
用深度學習做端到端的VSLAM非常直接,能夠繞開許多傳統VSLAM系統中極為麻煩的環節,如外參標定、多傳感器頻率的匹配,同時可以避開前后端算法中一些棘手的問題。結合深度學習作為一種新的VSLAM實現方法有很強的理論意義,但是端到端VSLAM的問題也非常明顯,如表1所示。
表1VSLAM算法與基于深度學習的VSLAM方法的對比Tab. 1Comparison between traditional VSLAM algorithm and VSLAM method based on deep learning
VSLAM這樣一個包含很多幾何模型數學的問題,通過深度學習去端到端解決,使用數據驅動的形式去學習,在原理上是完全沒有依據的,而且也沒理由能得到高精度解。另一個很大的問題是模型的泛化性很難得到保證,傳統的VSLAM系統通常是一個很復雜的結構,從前端到后端每一步操作都有明確的目的,傳統方法每個環節都有詳細的數學理論作支撐,具備很強的可解釋性,但是需要仔細挑選參數。而用高度依賴數據的深度學習去近似VSLAM系統,對于某些數據集可能產生不錯的效果,換個場景可能就不那么敏感了,但是如果數據集足夠大的話,神經網絡還是能夠展現其在數據上極強的適應性,所以數據集的體積對神經網絡的準確率是一個重要的影響因子。
傳統的VSLAM仍然面臨著對環境的適應性問題,深度學習有望在這方面發揮較大的作用。目前,深度學習已經在語義地圖、重定位、回環檢測、特征點提取與匹配以及端到端的視覺里程計等問題上完成了相關工作,但對于某些特殊場景的應用需求,還需要進一步的發展。
為了更詳細的表現深度VSLAM對數據的適應性,這里我們使用KITTI數據集的單目序列對幾種現有計算VSLAM的VO解的結果做了簡要對比,如表2所示。
表2傳統VSLAM算法與基于深度學習VSLAM方法關于VO的準確度在KITTI數據集上的對比Tab. 2Comparison of accuracy of VO in KITTI dataset between traditional VSLAM algorithm and VSLAM method based on deep learning
VO作為VSLAM系統中必不可少的一環,目的是為了獲取局部穩定的運動軌跡,從而減輕后端優化以及閉環檢測的壓力。我們將深度學習的方法,如DF-VO、SfM-Learner、CNN-SVO和基于幾何的方法,如ORB-SLAM2、DSO、VISO2進行對比,然而,對于深度學習方法,一個有趣的結果是,除了深度模型外,參與測試的基于幾何方法在序列01上特征點跟蹤的表現并不好,這表明深度模型可以作為幾何方法的補充,在未來的設計中,可以通過深度學習與幾何方法的結合來克服幾何方法的失敗情形。此外,與幾何方法相比,深度VSLAM方法具有更好的相對姿態估計。在長序列評價中,針對尺度漂移問題,ORB-SLAM2表現出較少的旋轉漂移,但產生較高的平移漂移,尺度漂移問題,有時這個問題可以通過閉環檢測來解決。使用尺度一致的深度預測進行尺度恢復,這在大多數單目VO/SLAM系統中緩解了這個問題。結果表明,該方法在長序列上具有較小的平移漂移。更重要的是,深度學習VO表現出更小的相對位姿誤差,這使深度VO方法成為幀到幀跟蹤的健壯模塊。
傳統VSLAM方法過于依賴低級別幾何特征,例如點、邊和平面,僅憑低級特征很難對環境中觀察到的標志物作語義表征。而深度學習方法的輸入可以是原始的RGB圖像,不像光流或者深度圖像這種經過預處理的數據輸入,因為網絡可以學習一種有效的特征表示方法,這種學習后的特征表示不僅將原始的高維圖像壓縮成一個緊湊的表征,還促進了后續環節的計算過程。另外,低級特征往往使閉環檢測過于依賴相機視角,這就導致在模糊或重復性較高的紋理環境中失敗率較高。基于深度學習的目標識別能夠估計出標志物的大小,生成一組便于區分的語義表征,適和與視角無關的閉環檢測。在特征地圖中識別到多個同類物體時,需要進行關鍵數據的關聯。數據關聯和識別一般采用離散方法解決離散性問題,但是傳統VSLAM解決的是尺度信息的連續優化問題,相比之下,基于深度學習的VSLAM可以把傳感器數據和語義表征的位置信息融合為一個優化問題,結合尺度信息,語義信息和數據關聯。隨后再把它拆分成兩個相互關聯的問題:首先是離散數據的關聯和語義表征的種類估計,另外是尺度信息的連續優化問題。推測出的語義表征和傳感器姿態影響著關聯數據和表征種類的分布,而這反過來又影響傳感器-標志物姿態的優化[37],這也是結合深度學習的VSLAM較傳統方法的一個明顯的優勢。
04展望
就人類的感知方式來說,在面對場景中的對象時,除了可以獲取位置信息(三維)外,還可以確定顏色數據(三維),此外,能夠獲取語義信息比如表面硬度、實例輪廓、是否可以觸摸等信息。但是,若僅憑深度VSLAM構建三維點云,還是遠遠不夠的,因此,需要在更高維度上構建內容更為豐富的高階地圖,從而滿足各種需求。定位與感知不是VSLAM的最終目標,VSLAM是以精確的定位和感知為前提,完成復雜的任務。這對深度學習和VSLAM的結合提出了更高的要求,對深度VSLAM訓練時,以任務的完成情況為標準進行訓練。
4.1分布式的VSLAM建圖
分布式的VSLAM可以在絕對定位不可用的情況下,適用于多視覺傳感器應用的強大工具。在傳感器分散情況下,它不依賴于與中央實體的通信。可以將分布式深度學習SLAM集成到一個完整的VSLAM系統中。為了實現數據關聯和優化,現有的分布式VSLAM系統在所有傳感器之間交換完整的地圖數據,從而以與傳感器數量平方成正比的復雜性進行大規模數據傳輸。與之相比,文獻[45]提出的方法在兩個階段中實現有效的數據關聯:首先,將密集的全局描述符定向地發送到一個傳感器,只有當這一階段成功后,才會把實現相對位姿估計需要的數據再次發送給傳感器。所以,數據關聯可以通過傳感器計數擴展,針對緊湊的場所表現更突出。使用分散式的位姿圖優化方法,交換最小量的數據,這些數據與軌跡重疊是線性的,最后對整個系統的輸出做描述,并確定每個組件中的瓶頸。但是,二維圖像、三維點云數據隨著場景規模的增大,信息規模也會越來越大,存儲大量的圖片或者點云是不可取的,因此對數據的壓縮和存儲方式的選擇是必要的,比如八叉樹的存儲方式和網格數據劃分等。人類對于場景的記憶是基于城市、街道等先驗知識的掌握,通過對關鍵信息有選擇的記憶,不是存儲見到的每一幀圖像,只用記住去過哪個地點、哪個街區,當再次經過同一地點時,就能夠做到場景的對應,這也是未來分布式深度VSLAM所面臨的問題,即固定存儲空間下對非關鍵信息的剔除,對不同傳感器間的聯合節點的識別,傳感器數據的存儲,實現快速的匹配問題。
4.2高維多傳感器數據處理與融合
深度學習的發展為傳感器大數據的特征提取與操作提供了新方法。激光測距傳感器是傳統SLAM的傳感器,具有高精度,數據采集不受時間限制等優勢。Li等[46]提出Recurrent-OctoMap,從長期的3D激光雷達數據中學習,對語義建圖實現3D細化,是一種融合語義特征的學習方法,不僅僅是簡單地融合分類器地預測。在他們的方法中,將創建的3D地圖用八叉樹[47]表示,并參與后面的計算,將每個節點建模為RNN,從而獲得Recurrent-OctoMap。在這種情形下,語義建圖過程被表達成序列到序列的編碼-解碼問題。另外,為了延長Recurrent-OctoMap觀察到的數據持續周期,他們開發了一個強大的3D定位和建圖的SLAM系統,并實現對兩周以上的雷達動態數據持續建圖。通常用于3D語義地圖細化廣泛的方法是貝葉斯估計,其融合了馬爾可夫鏈之后連續預測概率,但是傳統的貝葉斯方法被證實不如Recurrent-OctoMap的實驗室表現。
機器人在環境變化比較復雜的場景中實現建圖時,單一傳感器實現的特征檢測往往不夠全面,可能會有漏檢的情況發生,并且單一類型傳感器在復雜的環境中實現數據關聯成本過高,準確性較低,不能滿足SLAM在部分特殊場景下的應用需求。VSLAM對數據關聯非常敏感,數據關聯可以建立多傳感器數據與其他測量數據之間的關系,以確定它們是否有一個公共源。VSLAM中數據關聯用來確定測量數據與地圖特征的關系,機器人位姿的不確定性、特征密度的變化、環境中動態特征的干擾以及觀測誤差的存在使得數據關聯的數據處理過程變得很復雜。錯誤的關聯不但會使機器人的定位產生偏差,還會影響到已創建的地圖,導致算法發散。Zhang和Singh[48]提出的一個利用3D激光掃描儀數據、影像數據和IMU數據進行運動估計和地圖創建的方法,使用一個有序多層的從粗濾配準到精確優化的處理流程。首先使用IMU數據做運動預測,然后使用IMU和視覺結合的方法估計運動,之后再使用激光雷達進行幀與幀的匹配做更深一步的優化和地圖創建,這樣,VSLAM就可以在高動態的運動環境中使用,也可以在黑暗、無紋理、無顯著結構的復雜環境里運行。多傳感器的數據融合能夠確定各傳感器測量數據和特征源的對應關系,并確保這些對應關系在復雜環境中能發揮最優性能,而深度神經網絡在匹配多類型數據,處理不同頻率的數據方面表現出強大的能力,多傳感器融合的VSLAM是未來的一個重要發展方向。
4.3自適應的VSLAM
隨著機器人技術的高速發展,VSLAM也具有更多的實際應用意義。VSLAM需要相機視野的三維環境信息和相應的軌跡信息,所以VSLAM對相機定位的實時以及精度的依賴性較高[49]。隨著稀疏矩陣和非線性優化理論在VSLAM中廣泛的應用,逐漸提出了許多VSLAM實現方案,比如傳統的LSD-SLAM[50]、ORB-SLAM、RGBD-SLAM[51]等方案,基于深度學習的VSLAM如DeepVO、SFM-Net[52]等算法,然而,現存大部分VSLAM的實現方案在視覺里程計環節精度不夠,或者過于依賴硬件性能。因此,以幀到地圖的特征匹配為基礎,面對特征地圖數據體積大、計算資源消耗過多等問題,實現特征地圖的自適應是必要的。張峻寧等[53]提出了一種自適應特征地圖匹配的VSLAM方法,首先進行數據初始化,將當前幀轉化成對應點云,把特征地圖劃分為多個子區域作為計算單位,利用角點的響應程度提取少量顯著的特征點,然后進行各幀特征點匹配。接下來,為解決局部地圖角點匹配消失問題,提出子區域特征點補充和局部地圖擴建的方法,實現當前幀特征點的快速再匹配。最后,為了進一步提高VO環節相機位姿估計精度,增加了特征地圖局部優化環節,提出幀到幀、幀到特征地圖的局部地圖優化模型,并通過加入g2o[54]算法實現了相機位姿和地圖特征點的同時優化。通過子區域分塊、特征點補充與地圖擴建的方式自適應維護特征地圖規模,使得幀到特征地圖的位姿估計兼顧了實時性和精度,另一方面提出的幀到幀、幀到模型的g2o特征地圖更新方式,該方法在位姿估計的精度、累計誤差的消除等方面表現顯著[53]。鑒于深度學習在前端的優異表現,可以將深度VSLAM的結果與自適應優化結合,可以有效的降低VO相鄰幀間的漂移誤差,在保證實時性前提下,達到較好的定位精度和建圖能力。
05結論
本文以VSLAM和深度學習的結合為線索展開論述,描述了深度學習與視覺里程計、閉環檢測和語義SLAM的結合現狀,敘述了算法的可行性和高效性。接下來把傳統VSLAM和深度VSLAM做了簡要對比,如魯棒性、訓練周期、泛化能力等方面。最后根據二者的發展現狀以及實際應用需求,從分布式的VLSAM建圖、多傳感器數據融合以及自適應3個方面做了展望。
自從深度學習在許多領域展現出強大的優勢后,很多研究人員試圖將深度學習端到端的理念整個應用到VSLAM中。但是,截止到目前,效果不夠理想,大多深度學習的方法用來代替VSLAM部分環節,傳統的基于幾何的方法現在仍是主流。但是隨著深度學習和多傳感器的發展,VSLAM會逐漸吸收深度學習帶來的優勢,提升其準確性和泛化能力。相信在不遠的將來,VSLAM的整個系統都會被深度學習取代,而不僅僅作為其中某個環節的實現方法,實現精確的基于深度學習的VSLAM方法。
審核編輯 :李倩
-
傳感器
+關注
關注
2550文章
51039瀏覽量
753095 -
SLAM
+關注
關注
23文章
423瀏覽量
31823 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
原文標題:前沿丨基于深度學習的視覺SLAM綜述
文章出處:【微信號:gh_c87a2bc99401,微信公眾號:INDEMIND】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論