隨著移動機器人的日益發(fā)展,SLAM也有了長足的進步。與激光SLAM相比,視覺SLAM的感知以及重定位能力更強。其次,它的安裝方式比較多元化以及價格低廉,這些優(yōu)勢使它受到更多的關(guān)注,大量視覺SLAM算法被提出。
視覺SLAM框架包括傳感器數(shù)據(jù)、前端、后端、回環(huán)檢測和建圖,如圖1所示。回環(huán)檢測是SLAM系統(tǒng)中重要的組成部分,對消除累積誤差有著非常重要的作用,沒有回環(huán)檢測,SLAM系統(tǒng)就會等同于一個里程計,在長期大范圍的導航和定位中產(chǎn)生的累計誤差是的不可規(guī)避的。
僅僅依靠里程計進行的狀態(tài)估計會導致比較嚴重的偏差,錯誤回環(huán)信息會使整個算法收斂到一個錯誤的值,盡管也有許多能夠降低錯誤回環(huán)影響的圖優(yōu)化算法,但是這些并不可能從根本上消除回環(huán)帶來的影響,并且會給整個定位系統(tǒng)帶來一定計算負擔。所以,回環(huán)檢測在后期的地圖優(yōu)化中起著十分重要的作用。
圖1 視覺SLAM經(jīng)典框架
目前視覺SLAM回環(huán)檢測主要方式有傳統(tǒng)的詞袋模型以及基于概率和詞袋模型的一些改進算法,但是傳統(tǒng)方式依然存在過多的人工干預,對于場景中動態(tài)對象的處理不是十分理想,并且計算量較大,響應比較慢。而深度學習技術(shù)的出現(xiàn)及發(fā)展在回環(huán)檢測問題的解決上提供了新的方向。
本文首先對回環(huán)檢測的問題進行描述,對目前使用較多的傳統(tǒng)回環(huán)檢測方法進行梳理,總結(jié)與深度學習及語義分割等技術(shù)相結(jié)合的回環(huán)檢測方法,在此基礎(chǔ)上分析不同神經(jīng)網(wǎng)絡(luò)在公開數(shù)據(jù)集下的性能對比。介紹目前所使用的公開數(shù)據(jù)集及相關(guān)開源庫。同時,分別從結(jié)合深度學習的回環(huán)檢測、結(jié)合語義分割的回環(huán)檢測和加入回環(huán)檢測后的后端優(yōu)化幾個方面對回環(huán)檢測目前所面臨的挑戰(zhàn)進行闡述,探討視覺SLAM回環(huán)檢測未來的發(fā)展熱點趨勢和方向,期望可以對回環(huán)檢測技術(shù)研究人員提供新的思路。
01 回環(huán)檢測問題描述
當移動機器人經(jīng)過一定時間的運動后回到原點,但是由于隨著時間產(chǎn)生位姿漂移,此時的位置估計值并不是最初值,如果知道機器人是回到原點,把位置估計值拉回去,就可以消除漂移,起到減小累積誤差的作用,在地圖構(gòu)建上減小誤差,回環(huán)檢測就可以起到這樣的作用,如圖2所示,正確的回環(huán)信息可以修正里程計誤差,從而得到信息一致的地圖。
圖2 回環(huán)檢測校正效果
在視覺SLAM問題中,位姿的估計是一個遞推的過程,當前幀的位姿由上一幀位姿推算,其中的誤差傳遞下去產(chǎn)生累積誤差。
如圖3所示,一般情況下,第五幀位通過第四幀推算出來,當找到與第一幀的關(guān)系時,便可以由第一幀推算,此時只有兩個約束的誤差,累積誤差就會減小,像這樣與之前的某一幀建立位姿約束關(guān)系就叫做回環(huán)。減少約束數(shù)因而減小累積誤差?;丨h(huán)檢測就是檢驗這種歷史幀的位姿約束問題。
圖3 回環(huán)檢測問題描述模型
02 主流回環(huán)檢測方法
2.1 根據(jù)路標點先驗信息
回環(huán)檢測的一種方式是根據(jù)路標點的先驗信息,在檢測時檢索到與先驗信息相同的信息即認為產(chǎn)生回環(huán)。但是存在以下兩個缺點:首先,如果使用人工設(shè)置的路標點,由于人力不夠會導致路標點數(shù)量有限,機器人移動范圍受限;其次,如果裝載GPS裝置,雖然免去人工路標點的設(shè)置環(huán)節(jié),卻增加機器人的載荷,當機器人在弱GPS信號的環(huán)境中定位精度就會受到影響。所以,這種基于路標點的方式使用情況并不多。
2.2 詞袋模型
回環(huán)檢測中最常用的詞袋模型是將圖像中的特征處理成單詞,不同的單詞代表不同的特征,對兩張圖片中單詞進行對比,判斷兩張圖片是否相似,為將所有特征類比成一個個單詞,就需要訓練一個詞典,如圖4所示,這個詞典包含所有可能的單詞集合,通過訓練大量的數(shù)據(jù)可以使字典通用性更高。
圖4 詞袋模型模型實現(xiàn)過程
2.2.1 特征提取與描述
在視覺SLAM系統(tǒng)中,人為設(shè)計特征提取的方法包括SIFT、SURF和ORB算法三大類。
SIFT算法最早是由LoweDG提出的,由于它能夠在空間尺度中找到極值點,從而在實驗中提取的點具有尺度、位置、及旋轉(zhuǎn)不變的特點。
SURF(Speeded Up Robust Features)算法是由HerbertBay等人提出,此算法是SIFT算法的一種改進算法,運行效率更加高效,但是,尋找主方向步驟很大程度上取決于局部區(qū)域像素的梯度方向,即使偏差角度不大,只要主方向不準確,特征匹配的誤差就會比較大,導致匹配出錯。
Galvez-Lopez D提出ORB(FAST+Brief)也比較具有代表性,它的運行效率是SIFT的十倍,是SURF的一百倍,在提取FAST特征點時比較簡單,選擇一個以3為半徑的像素點作為中心點,并逐一比較中心點周圍的十六個像素點,如果灰度差異值大于12時,當前中心點判斷為特征點。除了局部特征方法外,全局圖像描述符GIST也被用于視覺SLAM中。表1總結(jié)歸納幾種特征提取方式。
表 1 特征提取方式對比表
2.2.2 聚類算法及相似性判斷
在回環(huán)檢測中,傳統(tǒng)的方法詞袋模型首先訓練一個詞典,之后需要產(chǎn)生一個數(shù)據(jù)庫,用來記錄查詞典時所用的單詞。訓練詞典即特征聚類的過程,假設(shè)所有的圖片中需要提取N個特征,可以聚類成N/1000個單詞,用這N/1000個單詞來匹配,每個特征需要比較N/1000次才可以找到對應單詞,為解決效率不高的問題,字典在訓練過程中構(gòu)建一個樹,有k個分支,深度為d,根節(jié)點是粗分類,越下層分類越細,直至葉子結(jié)點。
利用k-d樹進行特征匹配,速度得到提升,并將時間復雜度降低到對數(shù)級別。詞袋模型核心內(nèi)容就是使用K-means聚類算法,此算法比其他聚類算法更簡單,執(zhí)行速度更快,可以用于很多常規(guī)的數(shù)據(jù)集,是一種硬聚類算法,在無監(jiān)督學習實驗中廣泛使用。
傳統(tǒng)詞袋模型算法中,相似性判斷通常使用詞頻-逆文檔頻率(TF-IDF,Term Frequency–Inverse Document Frequency)算法,其中,TF指的是詞頻,表示在圖像中提取的詞匯的頻率,頻率越高,識別度就越高,IDF指的是逆文檔頻率,它表示在圖像中提取的詞匯出現(xiàn)頻率越低區(qū)分度越高。
2.2.3 實驗評估 傳統(tǒng)的詞袋模型在牛津大學公開數(shù)據(jù)集NewCollege以及CityCenter上的時間性能評估及相關(guān)信息如表2所示,圖5展示了兩種數(shù)據(jù)集利用詞袋模型方法下的準確率—回環(huán)率曲線對比。
表2 詞袋模型在不同數(shù)據(jù)集下訓練時間表(單位:秒)
圖5 詞袋模型進行回環(huán)檢測在不同數(shù)據(jù)集下的PR(準確率-回環(huán)率)曲線
2.3 基于詞袋模型和概率的改進算法
最常用的基于詞袋模型的方法仍然存在一定的局限性,這種方法將不同位置的相似場景錯誤判斷為同一場景,針對這個問題,一些基于詞袋模型和概率的改進方法也被提出。
根據(jù)概率生成一個概率分布,機器人回到地圖上此點的可能性大小是通過每個點的概率,貝葉斯模型是最常使用的模型。
03 傳統(tǒng)回環(huán)檢測算法改進
在回環(huán)檢測階段,為了將高維度的圖片進行實時性的比較與匹配,采用了提取圖像特征點及其附屬描述子的方式,并對兩幀圖像間描述子的相似度進行度量,與預設(shè)閾值進行比較,高于預設(shè)值,則判斷兩幀圖像相似,最終判斷移動機器人回到歷史時刻位置。
特征描述子如SIFT,SURF描述子均為浮點數(shù)編碼的描述子,比較相似度時采用2范數(shù)。特征描述子如BRIEF,ORB描述子等為二進制數(shù)編碼的描述子,比較相似度時則使用漢明距離。二進制描述子相較于浮點型描述子,占用更少的內(nèi)存資源,且計算量較小。此外,BRIEF等二進制描述子比浮點數(shù)描述子的更容易訪問,具體如表3所示。圖像中的特征描述符得到了很好的利用就可以準確判斷回環(huán)是否產(chǎn)生,但是這是以原始特征順序和空間位置為代價的。如果處在類似的位置環(huán)境,但是空間排列順序不同,很容易造成回環(huán)檢測算法的失效,導致同時定位與建圖失敗。
因此,想要對傳統(tǒng)方式進行改進,就得使生成的新的單詞具備空間位置信息及其他附屬信息,并對新的二進制描述子的構(gòu)成方式做出改進,以此提升回環(huán)檢測的準確度。
表3 常用特征描述子對比
04 深度學習在回環(huán)檢測中的應用
利用傳統(tǒng)算法,可以在視覺SLAM回環(huán)檢測中得到較好的準確率和召回率,但是存在訓練時間較長、過于依賴操作者經(jīng)驗等問題。目前,計算機視覺與深度學習的相互結(jié)合,比如實例分類、對象檢測、行為識別等方面都有不錯的效果,執(zhí)行效率以及準確率都有巨大的提升,深度學習技術(shù)的快速發(fā)展為回環(huán)檢測提供新的解決方法,能夠很好的解決目前回環(huán)檢測中的一些問題。
深度學習的一個重要用途就是可以對數(shù)據(jù)進行識別以及分類,將傳統(tǒng)方法與深度學習結(jié)合,或是直接將深度學習技術(shù)應用到回環(huán)檢測上,從而得到提出一種全新的方法。目前相關(guān)的研究分成兩個方向,主要是學習圖像特征的方式有區(qū)別,一種利用CNN神經(jīng)網(wǎng)絡(luò),另一種利用自編碼器進行非監(jiān)督式的學習,接著從特征的相似性進行回環(huán)的判斷。
與傳統(tǒng)詞袋模型算法相比,利用深度學習的相關(guān)方法不需要人工提取特征,可以避免人工干預問題。并且因為深度學習可以獲得圖片更加深層的特征,可以更好地應對光照以及其他環(huán)境變化等外界因素,但是仍然需要更多相關(guān)知識的支持,為了獲得更好地回環(huán)檢測性能,深度學習與SLAM系統(tǒng)的結(jié)合還需要進一步開發(fā)。如表4所示,分別從物理意義、特征提取能力、設(shè)計流程、泛化能力、發(fā)展趨勢等幾個方面對傳統(tǒng)詞袋模型與利用深度學習的回環(huán)檢測算法進行了優(yōu)缺點的對比。
表4 傳統(tǒng)詞袋模型與基于深度學習的回環(huán)檢測算法對比
05 回環(huán)檢測現(xiàn)有問題及未來發(fā)展方向
5.1 回環(huán)檢測存在的問題
傳統(tǒng)的回環(huán)檢測算法,在準確率和回環(huán)率上都有不錯的結(jié)果,但仍存在過多的人工干預、魯棒性不高、訓練時間長、過于依賴操作者經(jīng)驗等問題。對于場景中的復雜情況,提取圖像描述子時,光照、天氣等外界因素被忽略了,同時圖像中物體的相對位置信息也是很重要的影響因素,將這些信息很好的利用起來就可以提高回環(huán)檢測的性能。
近年來,在計算機視覺和深度學習發(fā)展的推動下,回環(huán)檢測已經(jīng)取得了很大的進步,但是這些算法在不同環(huán)境下的實時性以及不同情況下的泛化能力還需要進一步研究,例如基于深度學習的算法依賴大量的標記數(shù)據(jù)集且依賴當前環(huán)境與數(shù)據(jù)集之間的相似性;在信息特征的提取仍然缺少更加清晰的指導,訓練參數(shù)的調(diào)整也比較依賴以往積累下來的調(diào)參經(jīng)驗,目前使用的CNN特征大多是由圖像分類網(wǎng)絡(luò)生成,如何訓練適用于回環(huán)檢測的專用CNN網(wǎng)絡(luò)仍然是一個亟待解決的問題。
5.2 回環(huán)檢測未來的發(fā)展方向
解決上述問題需要在相關(guān)領(lǐng)域進一步發(fā)展,更好地解決目前回環(huán)檢測中仍然存在的問題,需要借助更多的相關(guān)知識,比如深度學習、目標識別以及語義分割等。
(1)基于深度學習的回環(huán)檢測
近年來,由于深度學習的推動,目標檢測技術(shù)也取得了進步,這有助于提高移動機器人的動態(tài)場景適應能力。目標識別分開的方法和傳統(tǒng)的潛在區(qū)域特征提取方法不同,現(xiàn)在的目標識別算法為了提高目標識別的效率和準確率采用在深度學習框架下將兩部分整合在一起。Hou等詳細評估了目標識別中常用的物體潛在區(qū)域提取方法在回環(huán)檢測中的應用,他發(fā)現(xiàn)回環(huán)檢測中常用的對象識別方法以及使用神經(jīng)網(wǎng)絡(luò)生成標記區(qū)域的方法均受訓練數(shù)據(jù)集的影響,這仍然存在一定的問題。
(2)基于語義分割的回環(huán)檢測
目前語義視覺SLAM的相關(guān)研究成果大致為視覺SLAM輔助語義和視覺SLAM語義輔助兩大類,前者又稱為語義建圖,大多基于卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn),將一些語義信息集成到SLAM的研究中,以滿足復雜場景的要求。大多是利用提取得語義信息概括局部特征,與全局的圖進行比較。目前的語義SLAM研究處于初步發(fā)展階段,但前景廣闊。語義分割技術(shù)與深度學習結(jié)合后獲得了很大的提升,語義SLAM的難點在于如何設(shè)置誤差函數(shù),如何將觀測值設(shè)置為深度學習的檢測結(jié)果和分割結(jié)果,并一起融入SLAM的優(yōu)化問題。解決這些困難一定會給回環(huán)檢測問題帶來新的突破。
(3)加入回環(huán)檢測的后端優(yōu)化
回環(huán)檢測的最終目標是更好地進行后端優(yōu)化。在設(shè)置參數(shù)時,應該結(jié)合后端優(yōu)化算法。通過找到更多正確的回環(huán),提升整個系統(tǒng)的優(yōu)化效果。否則,錯誤的回環(huán)可能使優(yōu)化結(jié)果收斂到錯誤的結(jié)果,造成整個系統(tǒng)的失誤。傳統(tǒng)系統(tǒng)性能優(yōu)化指標主要是算法的準確率,但在一些新的后端優(yōu)化方法中,保證準確率的同時盡量提高召回率,在優(yōu)化階段可減少錯誤回環(huán)的影響。這可以幫助SLAM系統(tǒng)設(shè)計出更好的后端,從而達到更好的地圖構(gòu)建,有助于更好地構(gòu)建新的SLAM系統(tǒng)。
06 結(jié)論
回環(huán)檢測對于整個SLAM系統(tǒng)至關(guān)重要,傳統(tǒng)的詞袋模型可以在一般情況下得到較好的性能,但是仍然存在過多人工干預等問題。在計算機視覺與深度學習技術(shù)的支持下,基于深度學習的算法有更好的性能,已經(jīng)突破傳統(tǒng)詞袋模型,但是在實時性以及復雜場景下的情況仍然需要進一步研究,這樣可以使回環(huán)檢測的算法更好地應對場景的外觀變化。
為了更好地解決目前回環(huán)檢測中存在的問題,需要融入更多的相關(guān)領(lǐng)域的技術(shù),深度學習、目標識別以及語義分割等技術(shù)的融入會給回環(huán)檢測帶來新的思考:
1)利用深度學習解決回環(huán)檢測問題,用專用的網(wǎng)絡(luò)來進行圖像提取,這樣可以檢測出關(guān)鍵幀的深層特征,但是在信息特征的提取缺少較為清晰的指導,訓練參數(shù)的調(diào)整依賴以往積累下來的調(diào)參經(jīng)驗。
2)加入語義信息的回環(huán)檢測,對構(gòu)建語義地圖、利用更高級的特征進行回環(huán)檢測、節(jié)省地圖的存儲空間具有重要作用。
3)將回環(huán)檢測問題與后端優(yōu)化問題結(jié)合起來考慮達到更好地效果,使整個系統(tǒng)更加完整,這將是視覺SLAM未來發(fā)展的新方向。
審核編輯 :李倩
-
移動機器人
+關(guān)注
關(guān)注
2文章
755瀏覽量
33516 -
SLAM
+關(guān)注
關(guān)注
23文章
411瀏覽量
31746 -
深度學習
+關(guān)注
關(guān)注
73文章
5449瀏覽量
120811
原文標題:移動機器人視覺SLAM回環(huán)檢測原理、現(xiàn)狀及趨勢
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論