高 貴,伍宣衡,王忠美,鄭 良
1.湖南工業(yè)大學 軌道交通學院,湖南 株洲 412000
2.西南交通大學 地球科學與環(huán)境工程學院,成都 610000
3.中國電子科技集團公司 第十五研究所,北京100083
在過去幾十年科技發(fā)展過程中,移動機器人的研究與應用技術愈發(fā)成熟,同步定位與建圖(simultaneous localization and mapping,SLAM)是指搭載特定傳感器的移動載體在無環(huán)境先驗信息的條件下,在移動的過程中將環(huán)境模型建立出來并估計出所移動軌跡,故SLAM技術旨在將移動機器人放在未知位置和環(huán)境中能實現(xiàn)精準定位并同時建立起與環(huán)境相一致的地圖[1],這也是實現(xiàn)移動機器人完全自主的核心所在。經典SLAM系統(tǒng)架構主要由傳感器數(shù)據(jù)的讀取、視覺里程設計(visual odometry,VO)、后端優(yōu)化、閉環(huán)檢測和地圖構建五個部分組成[2],通過所搭載攝像頭傳感器來感知外界環(huán)境的SLAM系統(tǒng)稱之為視覺SLAM(visual-SLAM,V-SLAM),其在自動駕駛、家用掃地機器人和物流倉庫移動小車等場景中都有廣泛的應用[3],閉環(huán)檢測作為V-SLAM中的重要一環(huán),其作用是在移動機器人的定位過程中可以正確識別之前所訪問的地方,且當傳感器晃動或運動過程中的突發(fā)情況等導致軌跡丟失時,正確的閉環(huán)檢測可以對SLAM系統(tǒng)進行重定位并減少在前端視覺里程所帶來的的漂移誤差[4],從而提高地圖精度。在SLAM中影響閉環(huán)檢測性能的因素有很多,如環(huán)境條件、光照、季節(jié)、機器視點和移動的過程中動態(tài)目標導致特征遮擋等都有可能對閉環(huán)檢測產生影響。
傳統(tǒng)閉環(huán)檢測都依賴于人工設計的特征,其實質是將當前圖像與先前位置的圖像進行匹配,相似圖像常用特征點來進行匹配,例如采用SIFT(scale invariant feature transform)[5]、SURF(speeded up robust features)[6]、FAST(features from accelerated segment test)[7]和ORB(oriented FAST and rotated BRIEF)[8]等算法提取圖像局部特征。為減少圖像匹配間的計算量,有研究學者開發(fā)出了基于視覺單詞包(bag of visual word,BoVW)[9]和費希爾向量(Fisher vector,F(xiàn)V)等[10-11]的閉環(huán)檢測方法?;贐oVW的閉環(huán)檢測分為兩種:一種是離線訓練詞匯模式用來生成固定大小的詞匯[12]在已知的環(huán)境中移動,這種方式盡管可以降低計算的成本,但閉環(huán)檢測的實時性不強,故另一種方式是在線訓練BoVW的詞匯[13],使其可在真實環(huán)境中工作。同時在閉環(huán)檢測中也可以利用圖像的全局特征來進行檢測,例如使用圖像的GIST(generalized search tree)[14]來提取圖像的全局特征等。傳統(tǒng)閉環(huán)檢測中對于圖像特征提取后的匹配有多種方式,例如在FAB-MAP(fast appearance-based mapping)[15]中引入BoVW,由于對局部圖像特征的提取中所用的SIFT和SURF等描述子具有尺度不變性,因此FAB-MAP在閉環(huán)檢測中有較好的性能。Zhang等人提出一種在線學習二值圖像特征的方法用來改進基于BoVW的閉環(huán)檢測[16],通過線性判別分析出最小和最大化類內間距來優(yōu)化二值圖像特征。梁志偉等人提出一種利用混合高斯模型所建立的視覺詞典的概率模型[17],將基于BoVW的圖像用概率向量表示,并利用貝葉斯濾波器[18]來提高閉環(huán)檢測的準確率和特征匹配的速度。Cummins等人[19-20]提出在FAB-MAP方法中應用Chow-Liu樹[21]描述詞與詞之間的相關性來提高閉環(huán)檢測的搜索速度。在Cummins等人研究的基礎上Maddern等人[22]提出了基于FAB-MAP的CAT-SLAM(continuous appearance-based trajectory simultaneous localisation and mapping)方法,與FAB-MAP相比較,其CAT-SLAM的閉環(huán)檢測效果更好??偨Y并分析多數(shù)學者的研究,發(fā)現(xiàn)傳統(tǒng)閉環(huán)檢測算法有以下幾個缺點:
(1)基于傳統(tǒng)方式的BoVW等算法完全依賴于外觀,沒有使用到幾何信息,故在閉環(huán)檢測過程中容易將相似圖像誤判為閉環(huán)。
(2)傳統(tǒng)方式的閉環(huán)檢測算法對特征點的提取和匹配較為耗時,而SLAM系統(tǒng)所輸入數(shù)據(jù)是一個時間序列圖像,若在圖像的特征點提取和匹配上花費較多時間,則會導致整個SLAM系統(tǒng)行動緩慢。
(3)在特征缺失或無明顯紋理信息的場景中,由于特征點數(shù)的急劇缺失可能導致閉環(huán)檢測失效。
(4)在復雜環(huán)境中容易受到光照季節(jié)、機器視點變化和動態(tài)目標等影響,從而使得移動機器人閉環(huán)檢測的精確度大為下降。
隨著深度學習技術在圖像識別、分類等各種計算機視覺和機器視覺領域的不斷發(fā)展[23],在SLAM中的應用也得到廣泛關注,主要體現(xiàn)在三個方面:基于深度學習的前端視覺里程設計運用、基于深度學習的閉環(huán)檢測和基于語義信息的地圖構建。許多學者開始在移動機器人的閉環(huán)檢測上也采用深度學習方法進行了探索,在V-SLAM的閉環(huán)檢測中,將當前幀與之前所有幀進行圖像相似度匹配對比的工作也可以在深度學習中理應有所運用,但目前深度學習在SLAM的閉環(huán)檢測上并沒有得到廣泛應用。在復雜環(huán)境中影響閉環(huán)檢測的因素主要有:光照、季節(jié)的變化、機器視點的變化和動態(tài)目標對特征的遮擋等,因此本文根據(jù)所解決的三個主要方向問題,對于現(xiàn)有應用在閉環(huán)檢測中的不同深度學習方法進行梳理總結,具體包括基于卷積神經網絡(convolutional neural network,CNN)[24]的閉環(huán)檢測、基于無監(jiān)督式自動編碼器[25]的閉環(huán)檢測和基于語義信息的閉環(huán)檢測[26]三種,如圖1所示為近些年基于深度學習的閉環(huán)檢測方法。
圖1 基于深度學習的閉環(huán)檢測方法Fig.1 Loop closure detection method based on deep learning
基于卷積神經網絡的深度學習主要是使用多個卷積層來提取圖像特征,并使用池化層對選取的特征進行降維,經過卷積神經網絡所提取出的圖像特征相比于傳統(tǒng)的人工視覺特征提取更能有效表示圖像的語義特征。如圖2所示為基于卷積神經網絡的閉環(huán)檢測結構示意圖。
圖2 基于卷積神經網絡閉環(huán)檢測示意圖Fig.2 Schematic diagram of loop closure detection based on convolutional neural network
CNN的研究最早是圍繞圖像分類問題所展開的,并在ILSVRC(ImageNet large scale visual recognition challenge)-2010上取得巨大的突破,在閉環(huán)檢測方面,Hou等人將CNN用于V-SLAM的閉環(huán)檢測算法中[27],后有研究者將其稱之為PlaceCNN(place convolutional neural network,PlaceCNN)的V-SLAM閉環(huán)檢測算法,該算法使用一個開放性的深度學習框架Caffe(convolutional architecture for fast feature embedding)[28]提取基于CNN的圖像深度特征,并在Places數(shù)據(jù)集[29]上得到驗證,與傳統(tǒng)方法相比,其對光照敏感性更弱、魯棒性更強,由于所提取的場景特征維度高,難以滿足V-SLAM閉環(huán)檢測的實時性要求。
基于PlaceCNN的閉環(huán)檢測是結合深度學習與V-SLAM閉環(huán)檢測的一個開創(chuàng)性的初步方式,在此基礎上Xia等人提出利用主成分分析網絡(principal component analysis network,PCANet)提取圖像特征[30]的閉環(huán)檢測方法,PCANet是一個基于CNN的簡化深度學習模型[31],主要是由主成分分析(principal component analysis,PCA)、二進制哈希編碼和分塊直方圖三部分組成。經驗證后與CNN相比,在特征提取時間上強于CNN,并且由于該網絡結構簡單和訓練時間短特點,可以在V-SLAM的實時上有所突破,但在一個場景中訓練的圖像數(shù)量不夠時,CNN的魯棒性強于PCANet。
針對PlaceCNN的V-SLAM閉環(huán)檢測算法的實時性差的問題,何元烈等人提出了一種快速、精簡的卷積神經 網 絡(fast and lightweight convolution neural,F(xiàn)LCNN)[32]。FLCNN使用修正線性單元(rectified linear unit,Relu)作為激活函數(shù)。由于閉環(huán)檢測中每幀圖像都是帶有時間序列標簽,使得相鄰兩幀圖像中相似度較高,很容易造成錯誤的閉環(huán)檢測,為了解決相鄰幀圖像的相似性所引起的干擾,F(xiàn)LCNN設置一個閾值來限定圖像間的相似度,該網絡的模型結構如圖3所示。
圖3 FLCNN模型結構圖Fig.3 FLCNN model structure diagram
在該網絡模型中,所使用的數(shù)據(jù)集是Places365-Standard[33],且與PlaceCNN相比在特征匹配上速度快,算法的時間復雜度遠小于PlaceCNN,其V-SLAM的閉環(huán)檢測時間也有所提高,但是當閉環(huán)檢測場景存在大量分散目標時,其平均準確度低于PlaceCNN,且對視點變化敏感。
基于卷積神經網絡的閉環(huán)檢測方法普遍使用了圖像的全局特征,雖然在復雜光環(huán)境下對閉環(huán)檢測有較強的魯棒性,但在移動機器人實際運動場景中的視角變化明顯情況下,閉環(huán)檢測魯棒性較差。為了提高閉環(huán)檢測算法對場景中外觀和視角變化的魯棒性,潘錫英等人提出基于圖像感興趣區(qū)域(region proposal of interest,RPOI)的移動機器人閉環(huán)檢測算法[34],該算法的特征提取主要是經過兩個步驟,先是利用多尺度感興趣算法得到圖像的RPOI,然后利用CNN提取RPOI的圖像特征。對RPOI的匹配時采用了粗匹配和細匹配兩種匹配方式,粗匹配的對象是從改進的CNN最后兩個全連接層之間的隱藏層中提取出一個48位的二值特征向量,該過程使用了漢明距離來匹配小范圍的感興趣區(qū)域,縮短了閉環(huán)檢測算法的時間。細匹配是在粗匹配的基礎上通過雙向匹配原則計算出感興趣區(qū)域中的余弦相似性,該算法可以在光照和視角變化的情況下對于移動機器人的閉環(huán)檢測具有一定的魯棒性,但在復雜場景規(guī)模較大時,實時性不好。
隨著移動機器人運動時長的增加,傳感器所傳入的幀數(shù)不斷累積,卷積神經網絡在閉環(huán)檢測中的計算時間也逐漸增長。為了解決該問題,張學典等人將VGG16(visual geometry group16)網絡模型用于閉環(huán)檢測上提取圖像的全局特征,并提出一種改進的自適應粒子濾波器方法來解決計算時間增長問題[35]。原VGG(visual geometry group)模型所輸出的結果是圖像分類[36],故不適合用來描述圖像的特征,因此選取VGG16網絡中最后的池化層作為閉環(huán)檢測中圖像的全局特征描述子,并將所提取的特征向量用PCA進行降維處理,其VGG16結構如圖4所示。
圖4 VGG16模型結構圖Fig.4 VGG16 model structure diagram
在閉環(huán)檢測中,機器人的位置移動和相機鏡頭遠近的調節(jié)使得圖像具有豐富的尺度特征,而普通的卷積神經網絡缺少對尺度特征的提取。針對這個問題,Chen等人提出了多尺度深度特征融合的閉環(huán)檢測[37],在AlexNet模型的基礎上,使用了空間金字塔池(spatial pyramid pooling,SPP)[38]來提取多尺度特征。SPP彌補前期對輸入圖像的切割或壓縮等處理所引起的圖像信息丟失現(xiàn)象,解決了輸入圖像大小不一所造成的缺陷并把每一個特征圖都從不同的角度進行特征提取后再聚合,顯示了算法的魯棒性特點,SPP層作為特征融合的結構如圖5所示。
圖5 SPP作為特征融合層結構圖Fig.5 SPP as a feature fusion layer structure diagram
最后由于考慮到每個特征在閉環(huán)檢測具有不同的效應,因此定義了特征的可區(qū)分性權重,根據(jù)特征點對場景的可區(qū)分性來對每個特征點賦予一個權重,并在決策層中計算相似度用來對閉環(huán)檢測進行檢驗,提高了閉環(huán)檢測的精確度。經驗證表明基于多尺度深度特征融合的閉環(huán)檢測算法具有更高的準確率和召回率,并對光照變化具有較強的魯棒。郭紀志等人通過對DarkNet網絡框架的損失函數(shù)改進[39],得到一個提取區(qū)分度好且維度更低的特征描述子,提升大規(guī)模復雜場景下視覺閉環(huán)檢測的性能,通過自編碼器的降維處理提高了執(zhí)行效率,并在光照變化明顯的場景下提高了閉環(huán)檢測的速度。
對于上述的幾種基于卷積神經網絡的V-SLAM閉環(huán)檢測方法性能比較分析如表1所示。
表1 基于卷積神經網絡的閉環(huán)檢測方法比較Table 1 Comparison of loop closure detection methods based on convolutional neural network
通過對基于卷積神經網絡V-SLAM閉環(huán)檢測的研究,可以發(fā)現(xiàn)所解決的方向都是關于復雜環(huán)境中的光照變化較為明顯的因素,這是因為卷積神經網絡通常由多層構成,可以學習輸入圖像的抽象表示特征,但是每層對于光照變化下閉環(huán)檢測的精確度各不相同,因此需要經過實驗找到適合的卷積和池化層。但是由于在閉環(huán)及檢測的過程中,需要預先對模型進行訓練,且所用場景數(shù)據(jù)都是需要進行大量的人工標注,倘若在預先訓練數(shù)據(jù)中的閉環(huán)數(shù)量不夠時,閉環(huán)檢測的精度則會下降。
深度學習卷積神經網絡在移動機器人的視覺閉環(huán)檢測中依賴于有監(jiān)督學習,需要大量的人工標記數(shù)據(jù),于是Gao等人提出了一種應用在V-SLAM閉環(huán)檢測中深度神經網絡的無監(jiān)督學習方式[40],利用堆疊式自動編碼器(stacked denoising auto-encoder,SDA)以無監(jiān)督的學習方式訓練,方法如圖6所示。該自動編碼器是一種不利用類標簽的非線性特征的提取方法,由于閉環(huán)檢測的數(shù)據(jù)是通過前端的攝像頭傳感器實時傳入,為了訓練閉環(huán)檢測的結構,因此對傳統(tǒng)的自動編碼器進行了改進。
圖6 方法結構示意圖Fig.6 Schematic diagram of method structure
堆疊式自動編碼器把每一層當作一個簡單的自動編碼器進行預訓練和堆疊,可大幅度提高訓練的效率。在TUM公共數(shù)據(jù)[41]集上進行實驗,得到的實際移動機器人的軌跡如圖7(a)所示,在真實軌跡的基礎上提取111個關鍵幀,其中正確的閉環(huán)檢測如圖7(b)用紅線表示。
圖7 真實移動軌跡和閉環(huán)檢測Fig.7 Real movement trajectory and loop closure detection
在開放的數(shù)據(jù)集上測試驗證了該方法的可行性,在視覺閉環(huán)檢測中能達到一個較高的精確度,為可視化SLAM系統(tǒng)提供了一種替代方法。但是Gao等人所提出的方法中使用暴力似匹配方法[42]在對關鍵幀進行圖像匹配比較時耗時嚴重,且存在感知混疊的問題,這樣可能會導致錯誤的循環(huán)和不正確的地圖估計。與經典的閉環(huán)檢測方法FAB-MAP 2.0[43]相比,堆疊式自動編碼器的性能與之相當,但是提取特征的速度慢,且所使用的模型學習重建一個改變隨機像素的圖像,在定位位置時,必須要求視點不變,因此通過訓練一個無監(jiān)督的模型來重建一個已經被改變的圖像并模擬該模型在實際中所遇到的視點變化可能在閉環(huán)檢測中更加有作用。
對于圖像的空間局部特性上,張云洲等人采用棧式卷積自動編碼器(stacked convolutional autoencoder,CAEs)[44],在該模型中對于編碼器部分采用卷積神經網絡類似的方式,解碼則是一個反卷積操作的過程,這樣在以較低維度的向量表征圖像特征的同時,提高了閉環(huán)檢測的精度,但是在閉環(huán)搜索的過程中,需要逐一比較閉環(huán)與非閉環(huán)之間的特征差異,在對閉環(huán)搜索上需要耗費較長的時間,且對于差異性較小的非閉環(huán)容易造成誤判。
針對基于卷積神經網絡的閉環(huán)檢測存在特征提取慢和閉環(huán)檢測時間久問題,Merrill等人[45]在自動編碼器的基礎上,利用單應性的多視圖幾何[46]和HOG(histogram of oriented gradient)[47]的不變性設計一種應用在嵌入式視覺閉環(huán)檢測中新的無監(jiān)督深度神經網絡結構,通過自動編碼器緩解光照對檢測的影響。該方法在Places數(shù)據(jù)集中表現(xiàn)良好,隨著更多數(shù)據(jù)的傳入可以對模型進行調整,局限性在于對相似物體的區(qū)分能力較弱,位置定位精度低,但對場景的識別能力較好。
目前也有研究學者在深度學習中使用基于語義對象和場景分類進行閉環(huán)檢測,語義分割根據(jù)可用的對象類別對每個圖像像素進行分類,圖像中具有相同對象類別標簽的所有像素被分在一起,并用相同的顏色表示,因此帶有語義信息的地圖使得移動機器人能夠對環(huán)境有一個高層次的理解[48]。
在實際中移動機器人是時時運動的,絕大多數(shù)時刻都是處于一個動態(tài)的場景中。在移動機器人運動的過程中,有物體從攝像頭前經過,在一定程度上會給移動機器人的視覺閉環(huán)檢測帶來干擾,導致在同一場景下的相似度降低。故為了提高在動態(tài)場景中移動機器人的閉環(huán)檢測的精確度和檢測速度,Hu等人提出了一種融合語義信息的閉環(huán)檢測[49],針對基于BoVW模型的傳統(tǒng)閉環(huán)檢測方法的不足,利用Faster R-CNN模型[50]來提取場景的語義信息,語義信息與BoVW模型的融合方法可以解決BoVW模型不匹配的問題。這里的融合是BoVW模型中的特征點相似度與Faster R-CNN模型提取的語義相似度加權和,之所以使用語義信息是因為可以更合理地檢查兩幀圖像之間的相似關系。直接使用余弦公式來計算語義相似度和特征相似度是比較難直接融合處理,故Hu等人是采用閾值法先對語義信息相似度進行過濾處理,再將語義相似度進行二值化。然后利用融合公式對語義相似度進行融合,如式(1)所示即為語義融合公式:
其中,Q A,B代表語義信息融合后的A和B圖像相似度,Y A,B是用閾值法過濾后的語義相似度,S A,B是基于BoVW模型的特征相似度。
基于BoVW模型的特征向量在特征點層面可以衡量兩幀圖像的相似性,而語義信息相似度主要可以在動態(tài)環(huán)境中提高整體相似度,魯棒性好,因此用加權后的語義向量可以從更宏觀的語義層面來評估兩幅圖像的相似度,兩種方法的結合充分利用了目標對象的幾何外觀信息,使得閉環(huán)檢測在不影響準確率的基礎上提高了召回率,并且該方法應用在非閉環(huán)場景中,融合后的語義相似度與僅使用特征點的相似度差異不大,使得閉環(huán)和非閉環(huán)場景的區(qū)分度增強,這樣在閉環(huán)檢測中提高其準確率。但是隨著移動機器人的運動,其軌跡也會增加,從而導致閉環(huán)檢測的時間會延長,故對于大規(guī)模場景地圖的構建這塊,可以考慮采用語義信息,縮減閉環(huán)檢測的時間。
由于在動態(tài)環(huán)境中閉環(huán)檢測存在著檢測失效并且語義地圖信息使用不充分問題,在SLAM的地圖構建中的閉環(huán)檢測可以減少累計誤差和起到重定位的功能,除此之外,關于在動態(tài)室內環(huán)境下的閉環(huán)檢測時易出現(xiàn)感知混疊的檢測問題,所謂的感知混疊就是在不同的地方出現(xiàn)相似的特征,感知混疊是基于外觀的閉環(huán)檢測方法失效的主要原因之一,許多基于BoVW的方法只考慮真實的閉環(huán)檢測的相似特征,故鄭冰清等人提出了一種在視覺SLAM中采用融合語義信息應用在閉環(huán)檢測和語義地圖構建上[51],先使用YOLOv3深度神經網絡[52]對閉環(huán)檢測中的關鍵幀進行二維圖像的語義標注,然后在此基礎上對隨機場景模型中的語義標注信息與場景分割的聚類信息進行融合并構建語義地圖,閉環(huán)檢測是基于關鍵幀的語義標注信息,通過將運動特征點去除的思路對BoVW模型進行改進,從而在動態(tài)環(huán)境中去除特定動態(tài)目標實現(xiàn)高精度的閉環(huán)檢測。在該方法中使用YOLOv3目標檢測算法對關鍵幀的場景目標進行檢測和邊框提取,通過關鍵幀的位姿、語義標注信息和特征點向量集進行場景的閉環(huán)檢測,如圖8所示為基于融合語義信息的閉環(huán)檢測算法流程圖。
圖8 基于融合語義信息的閉環(huán)檢測算法流程圖Fig.8 Flow chart of loop closure detection algorithm based on fusion of semantic information
雖然Hu等人提出的融合語義信息的閉環(huán)檢測是在BoVW模型和Faster R-CNN模型中采用權重調整的方式,但在關鍵幀的跟蹤和地圖的構建上所實現(xiàn)的計算量較大,故考慮到在室內的運動物體單一且都是以人為主,這樣可以針對特定環(huán)境中的目標進行語義檢測并通過去除運動目標從而提高閉環(huán)檢測的魯棒性,值得注意的是在低動態(tài)或靜態(tài)場景下,該方法的閉環(huán)檢測效果與傳統(tǒng)BoVW方法效果相似,甚至在某些數(shù)據(jù)集上沒有傳統(tǒng)方法好,這是因為在某些數(shù)據(jù)集的場景中不包括動態(tài)物體出現(xiàn)在閉環(huán)中。因此在動態(tài)環(huán)境下使用語義信息融合的閉環(huán)檢測比靜態(tài)加權的閉環(huán)檢查算法好且可以起到重定位的效果。
通過總結和比較基于自動編碼的無監(jiān)督深度神經網絡和基于融合語義信息的V-SLAM閉環(huán)檢測方法,可以發(fā)現(xiàn)這兩類方法多數(shù)是解決機器視點變化和應用在動態(tài)環(huán)境中,具體的方法比較性能如表2所示。
表2 兩類相關V-SLAM閉環(huán)檢測方法的性能比較Table 2 Performance comparison of two kinds of correlated V-SLAM loop closure detection methods
多數(shù)基于語義信息的閉環(huán)檢測采用與信息融合的方式,通過對動態(tài)環(huán)境中的移動目標進行語義標注,然后進行特定的預訓練,主要是依賴于所檢測的場景數(shù)據(jù)之間的關聯(lián)和場景描述。但是通過比較發(fā)現(xiàn),該類型的動態(tài)環(huán)境主要是適用在單一移動目標,一旦出現(xiàn)若干個移動目標,則對閉環(huán)檢測的魯棒性會造成較大影響。
綜上所述對于每種不同的深度學習算法應用在VSLAM閉環(huán)檢測中各有優(yōu)缺點,表3所示為基于卷積神經網絡、基于自動編碼器和基于語義信息的閉環(huán)檢測三類方法的總結表。
表3 基于三類方式的閉環(huán)檢測表Table 3 Loop closure detection table based on three types of methods
可以發(fā)現(xiàn)基于深度學習的閉環(huán)檢測算法都是針對解決復雜環(huán)境中某一類型的影響因素,目前還沒有哪種算法可以將所有影響因素都可以更好地解決,這個也是后續(xù)值得關注的地方所在。
在閉環(huán)檢測中對于其性能指標的評價主要有:準確率-召回率、計算時間。由于在閉環(huán)檢測中會出現(xiàn)感知混疊的問題,例如可能會出現(xiàn)同一個地方拍攝的照片在不同時刻由于受到光照等影響導致圖像看起來不一樣,這個就是假陰性(false negative)[53],另一個是兩個不同的地方所拍攝的照片看起來相似即假陽性(false positive)。如圖9所示為兩個例子圖像。
圖9 兩個假陽性與假陰性示例圖Fig.9 Two examples of false positive and false negative graphs
故在閉環(huán)檢測中對此的分類結果如表4所示。
表4 閉環(huán)檢測分類結果Table 4 Loop closure detection classification results
因此在閉環(huán)檢測中,存在真陽性(true positive,TP)、假陽性(false positive,F(xiàn)P)、假陰性(false negative,F(xiàn)N)和真陰性(true negative,TN)這四個指標,故在閉環(huán)檢測中的數(shù)據(jù)集統(tǒng)計這四個值并希望TP和TN的值高,F(xiàn)P和FN的值盡量低,故對此用準確率(Precision)來計算其TP在TP和FP中的概率,召回率(Recall)來計算TP在TP和FN中的概率。
在閉環(huán)檢測中的準確性就是在檢測出所有的閉環(huán)中真實的閉環(huán)概率,召回率即在所有真實的閉環(huán)中能夠正確地被檢測出來的閉環(huán)概率。這兩者之間存在一種矛盾的關系,即當隨著閉環(huán)檢測召回率增大時,其準確率會隨之下降,這是因為當提高閉環(huán)檢測算法中的某個閾值時,使得檢測算法變得更為嚴謹,這樣所檢測出的閉環(huán)個數(shù)會減少,準確率得以提高,但是正因為所檢測的閉環(huán)個數(shù)下降,可能導致原來是閉環(huán)的地方有被遺漏,導致其召回率下降。如果選擇寬松的算法配置環(huán)境,這樣算法所檢測出來的閉環(huán)的個數(shù)會增加,故其召回率會提高,但是這很容易出現(xiàn)一些不是閉環(huán)的情況也被算法檢測出來,所以準確率下降。值得注意的是在VSLAM中,研究者所注重的更多的是閉環(huán)檢測的準確率,對召回率相對來說寬松些,希望在召回率較大的同時其準確率可以保持好的表現(xiàn),故采用準確率—召回率曲線來反應閉環(huán)檢測中的綜合性能指標,且對于數(shù)據(jù)集的使用如表5所示。
表5 閉環(huán)檢測中不同深度學習方法數(shù)據(jù)集Table 5 Data sets of different deep learning methods in loop closure detection
每種數(shù)據(jù)集都是針對不同的適用環(huán)境,例如Nordland數(shù)據(jù)集由四個通過挪威的火車旅行的時間同步視頻組成。每段時長約9 h的序列中每一個都對應于不同的季節(jié),除了季節(jié)性變化之外,圖像還包含由于火車的飛快速度所造成的圖像極度模糊。而Gardens Point數(shù)據(jù)集則是包括三次穿越澳大利亞布里斯班的QUT校園。在這個數(shù)據(jù)集中,有兩個白天遍歷和一個夜晚遍歷校園的圖像數(shù)據(jù),主要是針對不同光照變化場景下的校園圖像。
深度學習在閉環(huán)檢測上的應用絕大多數(shù)做的實驗都是與傳統(tǒng)的人工設計特征方法做比較,例如BoVW、GIST和FAB-MAP等,極少數(shù)會將其所提出方法與其他深度學習方法進行實驗比較,少數(shù)會在之前深度學習的方法基礎進行改進后比較,正如在PlaceCNN的基礎上Xia等人提出用PCANet來提取閉環(huán)檢測的圖像特征,在City Centre和New College這兩個公共數(shù)據(jù)集進行實驗,如圖10所示為基于PCANet方法的閉環(huán)檢測準確率-召回率曲線圖。
從圖10中可以看出基于PCANet的閉環(huán)檢測方法不僅與傳統(tǒng)的人工設計特征BoVW和GIST進行比較,還與基于PlaceCNN和自動編碼器的深度學習方法做了對比研究,通過兩種數(shù)據(jù)集表明,隨著召回率的增加,基于PCANet的閉環(huán)檢測準確率要優(yōu)于其他幾種閉環(huán)檢測算法。除此之外在計算效率上,根據(jù)Xia等人的實驗結果顯示基于PCANet的閉環(huán)檢測計算效率要快于其他的算法。在對深度卷積網絡應用在閉環(huán)檢測中,Xia等人曾經還將所流行的數(shù)種卷積網絡應用在閉環(huán)檢測中并進行了相互間的對比,例如:AlexNet、CaffeNet和GoogLeNet[60]等,所用的實驗平臺是搭載Intel Xeon E5-2603 1.8 GHz處理器和39 GB內存,發(fā)現(xiàn)在City Centre和New College兩個公共數(shù)據(jù)集所得的特征準確率和平均處理時間如表6所示[61]。
表6 部分閉環(huán)檢測特征準確率和平均處理時間Table 6 Feature accuracy and average processing time of partially loop closure detection
圖10 兩個數(shù)據(jù)集上的準確率-召回率曲線圖Fig.10 Accuracy-recall rate curve on two data sets
在研究閉環(huán)檢測中的所有算法無外乎是圍繞感知偏差和感知變異兩方面來處理,因此在對閉環(huán)檢測的算法實現(xiàn)上主要是考慮處理的哪個方面,正如鄭冰清等人所提出在視覺SLAM閉環(huán)檢測使用融合語義信息[51]、張括嘉等人將語義信息和拓撲關系相結合的方法[62],這樣的處理目的是為了使得移動機器人可以在動態(tài)環(huán)境中的閉環(huán)檢測有更好的魯棒性。與目前所提出的一些進步的開源V-SLAM系統(tǒng),例如基于BoVW和PlaceCNN等更多的是依賴于靜態(tài)環(huán)境假設,相比較起來可能在靜態(tài)環(huán)境中其魯棒性沒有前者強或與之相平,但是在室內中動態(tài)環(huán)境下其準確率-召回率和系統(tǒng)算法運行的時間都要遠優(yōu)于前者。閉環(huán)檢測的目的是減少系統(tǒng)誤差,使之對于后端優(yōu)化方法可以更好地配合起來,故如何設計一個合理的閉環(huán)檢測依舊是一個值得研究的問題所在。表7所示為各類基于深度學習方式的V-SLAM閉環(huán)檢測比較。
表7 各類基于深度學習方式的V-SLAM閉環(huán)檢測比較Table 7 Comparison of various types of V-SLAM loop closure detection based on deep learning methods
表7中√的個數(shù)越多,對應算法的閉環(huán)檢測時間越快。通過比較各種基于深度學習的閉環(huán)檢測算法,發(fā)現(xiàn)絕大多數(shù)算法都會與基于PlaceCNN和基于SDA的閉環(huán)檢測算法進行性能比較,主要比較閉環(huán)檢測精確度、特征提取速度和閉環(huán)搜索三個方面,且大多數(shù)算法都會用到City Centre和New College兩個公共數(shù)據(jù)集。因此本文將基于PlaceCNN和基于SDA的閉環(huán)檢測算法作為基準,對本文提到的部分閉環(huán)檢測算法進行性能等級劃分,劃分的結果如表7所示?;赟DA的閉環(huán)檢測算法的閉環(huán)搜索時間比PlaceCNN快。但是值得注意的是并排比較不同論文的結果不是最佳的方式,因為這些實驗是在不同的配置環(huán)境下完成的。盡管如此,考慮到參考文獻中提出的算法與基準算法比較的環(huán)境相同,因此本文還是采用這種通用基準比較方式對閉環(huán)檢測算法進行性能比較,以便讀者對它們的大致情況有一個粗略的了解。從表7可以看出在特征提取上采用YOLOv3的時間較快,而使用基于VGG16的閉環(huán)檢測使用了自適應粒子濾波器算法,只需計算與粒子數(shù)量相應的余弦距離,速度基本不受傳感器輸入數(shù)據(jù)量增加的影響,故在閉環(huán)搜索上速度較快。
移動機器人的閉環(huán)檢測從傳統(tǒng)方法到深度學習的過程中,目前研究的難點問題主要集中在以下三個方面:
(1)在自然環(huán)境變化中提高閉環(huán)檢測的魯棒性。閉環(huán)檢測不僅受到自然環(huán)境中的光照、季節(jié)等變化的影響,還面臨惡劣環(huán)境中的大霧或者下雨等其他自然因素所造成的感知混疊的難點問題,感知混疊是引起基于外觀的閉環(huán)檢測失效的主要因素之一。如何緩解基于深度學習的閉環(huán)檢測方法中存在的感知混疊難點問題是一個開放性課題。目前采用多傳感器融合的方式來提高自然變化中閉環(huán)檢測的精確度和穩(wěn)定性是一個趨勢所在。
(2)在動態(tài)環(huán)境中有效處理多種視覺目標所造成的閉環(huán)檢測失效的影響。在動態(tài)場景中,如果移動目標的特征點過大并在關鍵幀中占據(jù)較大比重,那么一旦在不同場景中再次檢測到相同的移動目標,將會很容易被誤判為閉環(huán)。其次,若多個目標在不同場景中所出現(xiàn)的次數(shù)不同,會引起關鍵幀中的特征點不匹配,從而導致在相同場景中漏判為閉環(huán)。這些都是在實際環(huán)境中多視覺目標檢測對閉環(huán)檢測造成的難點問題。
(3)將SLAM閉環(huán)檢測算法嵌入到移動機器人的SLAM系統(tǒng),并要求達到移動機器人的實時性操作。SLAM不是各部分算法的簡單拼接,而是一個完整的系統(tǒng),其中移動機器人一直處于實時運行狀態(tài),雖然VSLAM中的閉環(huán)檢測和地圖構建是并行運行的,但隨著移動機器人的運動時長增加,視覺傳感器所傳輸?shù)膱D像數(shù)據(jù)增加,構建的地圖尺度也擴大,因此閉環(huán)檢測的幀與幀之間的對比消耗時間增多,這對閉環(huán)檢測算法的時間復雜度和空間復雜度都是一個考驗。
雖然目前對閉環(huán)檢測在自然環(huán)境變化、多目標和實時性等難點問題的研究頗多,但是在實際作用中的效果還有待提升。隨著對移動機器人應用要求的不斷提高,機器人系統(tǒng)的協(xié)同運作、系統(tǒng)輕量化和高性能計算將成為未來關注的課題。在移動機器的未來應用中,多移動機器人系統(tǒng)的協(xié)同運作的研究對移動機器人的應用具有重要意義。協(xié)同運作的多移動機器人系統(tǒng)可在大型、危險和較為復雜的場景中代替人執(zhí)行關鍵性的特殊任務。如何將SLAM的閉環(huán)檢測運用到移動機器人的協(xié)同系統(tǒng)中也是未來的一種研究趨勢。由于SLAM的閉環(huán)檢測所接受到的輸入數(shù)據(jù)是一種視頻流的方式,因此要想高效處理輸入數(shù)據(jù),且不應占用較大的計算資源,則需要利用高性能的計算設備來實現(xiàn)更高精度的閉環(huán)檢測。此外對于SLAM系統(tǒng)應該朝著輕量化方向發(fā)展,可以運用到各種設備中。
本文以基于深度學習的V-SLAM閉環(huán)檢測為背景,首先闡述現(xiàn)有的V-SLAM閉環(huán)檢測深度學習方法,通過梳理發(fā)現(xiàn)每種不同的深度學習方法都是針對于傳統(tǒng)方法的局限性進行解決,例如對于光照和季節(jié)變化敏感所導致的檢測失效等。
從所回顧的文獻中可以發(fā)現(xiàn)基于深度學習的閉環(huán)檢測方法具有較強的魯棒性,但是否是真實的閉環(huán)檢測依舊是一個開發(fā)性問題,同時基于深度學習的算法計算量較大,在真實環(huán)境中可能還存有移動機器人的視角變化等因素,因此在閉環(huán)檢測的研究中未來還存在許多方法。
最后隨著深度學習的快速發(fā)展,利用深度學習解決SLAM中的閉環(huán)檢測已然是一個新興的研究方向,在移動機器人上可能不只有一種傳感器,還可能利用多種傳感器來進行多源信息融合,這樣可以提高SLAM閉環(huán)檢測的魯棒性,目前在理論上的實現(xiàn)是遠超于實踐,故SLAM的閉環(huán)檢測在未來發(fā)展中具有更多的意義,要想展示出真正意義上的自主定位和地圖構建,在解決現(xiàn)實方案中有著巨大的發(fā)展空間。