?

融入語義信息的VSLAM研究綜述

2022-11-18 02:36張榮芬袁文昊李景玉劉宇紅
貴州大學學報(自然科學版) 2022年5期
關鍵詞:回環位姿語義

張榮芬,袁文昊,李景玉,劉宇紅

(貴州大學 大數據與信息工程學院,貴州 貴陽 550025)

同步定位與地圖構建(simultaneous localization and mapping, SLAM)是一種用于在陌生環境中確定自身位姿和構建環境一致性地圖的方法。近些年,SLAM一直是一個研究熱點,被廣泛應用于自動駕駛,AR,機器人等諸多領域。視覺同步定位與地圖構建(visual simultaneous localization and mapping, VSLAM)系統因其基于視覺傳感器可以直接獲取場景內容,成本較低,深受研究人員喜愛。

傳統VSLAM系統通過位姿估計,回環檢測,非線性優化和建圖解決在未知環境確定自身位姿和對環境的感知問題。目前,VSLAM的相關方案已經十分完善,如LSD-SLAM[1],RGBD-SLAMV2[2],ORB-SLAM[3-5]系列等。

VSLAM作為一種具有很強應用背景的算法技術,在實際應用中往往有著更高層次的需求。但傳統的VSLAM仍存有一些不足之處,例如:視覺里程計中數據關聯,基于特征點的方法中出現特征難以提取,中長期位姿估計的漂移和空間上物體尺度的變化,以及視點變化帶來的回環檢測位置識別,如何構建具有豐富感知信息的地圖等問題仍然阻礙著VSLAM的實際應用趨勢。隨著深度學習的不斷發展和深入,一些經典的神經網絡例如SSD[6]、YOLOv3[7]、SegNet[8]、MaskRCNN[9]等的出現,給傳統VSLAM帶來了另一種不同的思路和啟發,在借助語義信息改善傳統VSLAM中存在的問題的同時,也拓展了VSLAM的研究領域,為VSLAM打開了語義的大門。

本文從傳統的VSLAM框架出發,以視覺里程計、回環檢測、建圖3個部分分別對目前結合語義信息的VSLAM算法的研究現狀進行分析和闡述,為語義VSLAM算法的研究提供參考。

1 語義與視覺里程計

傳統的VSLAM系統主要由視覺傳感器、前端(視覺里程計)、后端(非線性優化)、回環檢測、地圖構建5個部分組成,整體系統框架如圖1所示。

視覺里程計作為重要的系統組成部分之一,從傳感器獲取數據進行處理,用于估計位姿和短期的局部地圖構建,而位姿估計的準確性很大程度上取決于幀間有效的數據關聯和幀中關鍵點的提取。在一些弱紋理、光照強烈變化的環境中,往往不能提取足夠有效的關鍵點用于位姿估計;同時,環境中出現的動態物體也會造成錯誤的數據關聯,給位姿估計帶來較大誤差。

為此,人們將語義引入視覺里程計進行優化,主要方式分為兩種:一是將采用直接法(光流法)

圖1 基礎系統框架Fig.1 The basic system structure

或間接法(特征點法)提取點特征的方式替換成直接從圖像幀中提取語義特征,用于估計位姿。例如,文獻[10-13]利用場景語義信息完成對特征的學習和提取,將對特征的提取轉變成語義方式。文獻[14]提出了一種區別于傳統特征點描述符的方法,通過提取場景上下文語義形成緊密描述符,進一步學習語義描述符正確匹配的上下文信息,僅匹配語義接近的一組關鍵點,提高匹配精度。二是將語義信息作為約束條件,協助提高位姿估計精度。這種方式往往更傾向于多種約束共同作用,以此解決數據關聯中的誤關聯問題。文獻[15-19]利用光流信息,場景流信息,多視角幾何與語義信息結合形成對動態物體的緊密約束,通過對獲取的語義掩膜結合其他動點檢測方法,剔除動態物體對數據關聯的影響。圖2是文獻[15]中SOF-SLAM的動態物體剔除算法流程。

圖2 SOF-SLAM的動態物體剔除算法流程Fig.2 Flowchart of dynamic object removal algorithm in SOF-SLAM

隨著實例分割網絡的出現,對于物體的分割達到了不同的精度。文獻[20-21] 結合實例分割和多視圖幾何、ORB(oriented FAST and rotated BRIEF)特征點方法,顯著提高了SLAM系統在高動態環境下的魯棒性和準確性。Co-Fusion將場景中的對象進行分割劃分,使用多模型擬合方法,有效跟蹤對象形狀并隨著時間推移進行融合,實時重建3D形狀,完成對多目標物體的追蹤[22]。和這些方法不同的是,在語義信息的利用上,文獻[23-27]在獲取物體語義信息的同時,針對物體的2D檢測框也做了相應的處理。從2D目標檢測邊界框推斷3D物體姿態,使用語義標簽區分不同類別的物體,通過匹配相同語義標簽消除相似特征的數據關聯,或者直接在語義獲取的確定對象區域中進行特征信息提取,這些方法在一定程度上可以降低數據間的誤關聯,提高視覺里程計的魯棒性。

2 語義與回環

在中長期的位姿估計中會產生誤差累積,物體的尺寸在空間上變化以及視點的變化都會影響構建全局一致性地圖,而對同一位置難以進行有效識別,最終影響位姿軌跡的有效閉環,這是VSLAM中需要關心的一個重要問題。為了構建準確的全局一致性地圖,矯正位姿估計,VSLAM系統引入了回環檢測。傳統的回環檢測方法主要是詞袋模型和相似性度量。詞袋模型一般需要事先載入訓練好的詞典樹。為了達到有效區分,詞典樹往往較為龐大,在一些移動應用上受到限制;而基于相似性度量的方法,在計算圖像特征相似度時則需要大量的計算。這兩種方法雖然被廣泛應用,但仍有一些不足。

在回環檢測中使用語義信息的主要方式有兩種:一種是協助傳統方法提高相似特征搜索速度和精度;另一種是僅使用卷積神經網絡(convolutional neural network, CNN)去提取語義特征,使用特征點進行相似性度量,判斷回環。OLAODE等[28]將語義信息融入到詞袋模型的構建中,降低了冗余、批量矢量化的圖像特征,使詞袋模型與圖像內容多樣性相關,并具有語義信息。文獻[29-31]將語義信息與詞袋模型相結合,在搜索相似特征匹配時,利用語義信息的一致性縮小相似度量的范圍、增強特征點的相似性,達到提高搜索速度和閉環精度的目的。文獻[32-33]利用語義地標信息,協助判斷特征的相似性,丟棄不相關的特征,使用CNN的方法將語義信息替換詞袋和圖像特征相似性度量,使用語義特征進行回環檢測。WANG等[34]使用語義與幾何信息構建語義子圖,利用3D空間中物體之間的形狀相似度和歐幾里得距離,通過圖匹配衡量圖像的相似度進行回環檢測。YUAN等[35]將視覺特征與語義標簽連接起來建立了語義詞袋模型,編碼設計了語義地標向量模型與語義圖的幾何關系,最后融合語義、視覺和幾何信息用于回環檢測。文獻[36-37]利用CNN提取深層特征識別匹配圖像之間的地標,或結合濾波方式提高位置識別的精度,達到檢測回環的目的。VYSOTSKA等[38]在CNN特征提取的基礎上,利用哈希算法改善了高維CNN特征的檢索速度。SARLIN等[39]提出一種基于整體CNN的分層定位方法,同時預測局部特征與全局描述符,以全局檢索假設位置,再匹配候選位置的局部特征識別位置。LI等[40]提取圖像的卷積特征作為描述符,然后對提取的特征進行處理,計算出圖像的相似度得分,進而判斷回環。CHANCN等[41]從單目圖像序列中學習圖像內容和位置的標志,獲取基于序列位置識別的雙峰描述符,提高識別精度。WANG等[42]引入語義拓撲圖對地標的空間關系進行編碼,并采用隨機描述符表征用于圖匹配的拓撲圖,選擇有特色的地標進行回環檢測。MERRILL等[43]從原始圖像提取魯棒性特征,利用自動編碼網絡,結合定向梯度直方圖,構建描述符,進行回環檢測。

3 語義與建圖

傳統的VSLAM能夠構建出度量地圖和拓撲地圖,但是對于更高層次的人機交互應用來說,缺少環境內容信息的地圖很難被應用。機器人雖然可以感知環境中的空間占據信息,卻無法深入理解物體的具體信息。這對一些需要機器人與環境交互的應用來說,例如尋物導航與目標抓取,是亟需改善的。而場景的語義信息中包含豐富的環境內容感知,將語義信息融入地圖或者構建具有語義信息的地圖正是解決這一問題的關鍵。

地圖有機融入語義信息主要有三種方式:第一種是將2D語義信息與VSLAM構建出來的地圖按照一定的方式進行融合,使地圖具有語義信息。CNN-SLAM利用CNN獲取深度圖,結合單目SLAM獲取的深度圖,融合單幀語義與稠密點云,得到語義連貫的地圖[44]。文獻[44]中CNN-SLAM的語義地圖如圖3所示。文獻[45-46]通過語義分割網絡獲取語義信息,根據3D點云的深度、語義標簽等信息更新點云狀態。ZHENG等[47]利用目標檢測獲取場景中對象的信息,數據關聯時將其與已經存在的所有對象進行比較,若找到對應則點云配準、合并點云,并結合關鍵點和類別置信度構建對象點云,否則創建新的對象實例,輸出包含對象信息組成的地圖。文獻[48-49]利用CNN模型提取場景中的語義信息,采用三維體素狀態表示空間占用率的方式,將語義信息與3D地圖實現緊耦合,完成完整的3D場景地圖的表達。

圖3 CNN-SLAM的語義地圖Fig.3 Semantic map of the CNN-SLAM

第二種是基于對象模型的方法。首先,分割場景中的語義對象;其次,由不同的對象模型構成環境地圖。MCCORMAC等[50]使用語義分割獲取每個對象及其掩碼,結合對象檢測結果,對每個物體進行三維重建,建立物體級的語義地圖。SALAS-MORENO等[51]利用由許多重復的、特定的對象和結構組成的場景中的先驗知識,為實時3D物體識別和跟蹤提供了六自由度的相機-對象模型約束。約束信息實時輸入到對象圖中并不斷搜索新對象,最后以增量的方式構建地圖。GRINVALD等[52]提出將幾何方法與實例語義預測相結合,以檢測已識別的場景元素以及以前看不見的對象;通過數據關聯步驟跟蹤不同幀的預測實例,將對象的3D 形狀、位置和語義類的信息融合到全局地圖中。RUNZ等[53]提出一種通過識別、分割為場景中的不同對象分配語義標簽,同時跟蹤和重建,即使它們獨立于相機移動,其中基于圖像的實例級語義分割會創建語義對象掩碼,從而實現實時識別并為世界地圖創建對象級表示。圖4展示了文獻[53]中MaskFusion的物體重塑化效果。ROSINOL等[54]提出了一個實時語義度量的視覺慣導SLAM開源庫,可以穩健地快速進行網格重建并構建稠密語義3D地圖。

圖4 MaskFusion算法的物體重塑化效果Fig.4 Effect of object reconstruction in MaskFusion

第三種是采用多視角的方式。其將不同視角的語義信息相結合,構建信息更加豐富的環境地圖。普通的單視角的方式通常不能看到充足的環境信息,而多視角可以得到環境的全面信息,結合語義可以構建較為全面的環境感知地圖。MCCORMAC等[55]將CNN與Elastic Fusion相結合,在循環掃描軌跡期間提供視頻幀之間的長期密集對應關系,概率性地融合來自多個視點的語義預測到地圖中,產生3D語義地圖。CHANG等[56]使用多機器人協作的模式,利用機器人間的閉環進行軌跡的估計,從不同的空間角度,結合語義信息構建3D語義度量地圖。QIN等[57]將來自不同個體的海量數據合并到云端服務器,及時更新語義地圖;再將語義地圖壓縮并分發到每一個個體,實現在不同空間和時間上的語義地圖。

4 總結和應用展望

目前,語義信息已經被廣泛應用到VSLAM的各個模塊中,對于前端視覺里程計來說,主流選擇還是與其他動點檢測方法形成約束解決數據關聯問題。對于使用語義分割網絡代替視覺里程計的研究還不足,在回環檢測中也出現相同的趨勢,但是對于構建語義地圖,語義信息卻得到了充分利用和拓展。從當前的研究趨勢我們不難看出,結合語義不僅能夠提高VSLAM系統的魯棒性和精準性,而且還能為高層應用提供更加豐富的環境感知信息,進一步實現人機交互的智能化。

在未來,一方面,語義信息的利用呈現一種多約束條件共同作用的趨勢,例如語義信息與視覺慣導的融合,不同傳感器語義信息的相互約束,多SLAM系統相互約束等;另一方面,VSLAM語義信息地圖也將更加深入應用到VSLAM各行各業的方方面面。例如課題組正在研究的面向3D場景理解與交互的盲人出行導航與避障、居家尋物取物、商場購物選物等智能任務,其中,針對稀疏語義地圖的增強和面向交互的局部稠密化技術可以為AR空間打造、服務機器人、無人機低空自主飛行等特殊空間類似場景的理解應用提供借鑒與支持;此外,面向邊緣計算的語義VSLAM實現架構與算法部署是上述應用得以實時實施的關鍵,或將語義VSLAM推向一個新的應用研究熱潮。

猜你喜歡
回環位姿語義
融合二維圖像和三維點云的相機位姿估計
《黃帝內經》回環英譯的選擇與順應
嘟嘟闖關記
船舶清理機器人定位基準位姿測量技術研究
語言與語義
優化ORB 特征的視覺SLAM
透 月
批評話語分析中態度意向的鄰近化語義構建
“社會”一詞的語義流動與新陳代謝
“吃+NP”的語義生成機制研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合