趙燕成,房 桐,杜保帥,趙景波
(青島理工大學 信息與控制工程學院,山東 青島 266520)
隨著人工智能技術的快速進步與發展,移動機器人在日常生活和工業生產等方面發揮了重要作用,其應用領域眾多,包括自動駕駛、物流配送、衛生清潔和生物醫療等。同步定位與建圖(Simultaneous Localization and Mapping,SLAM)技術是移動機器人實現應用的前提條件,它在機器人進入陌生的未知環境后,使用各類傳感器感知外界環境并構建地圖,同時確定自身所處的位置。得益于計算機視覺的發展,以高清相機作為傳感器的視覺SLAM領域取得了很多成果。經過科研人員的長期研究,視覺SLAM已經形成了一套完整的算法框架,包括傳感器數據、前端視覺里程計、回環檢測(Loop Closure Detection,LCD)、后端(非線性)優化和建圖[1]。在移動機器人的實際工作中,系統保持較長的時間和大范圍的工作后容易產生累積誤差,而LCD的目的就是消除此類誤差。LCD一方面能夠估計運動軌跡在長時間運行下的正確性,另一方面通過數據關聯進行重新定位,確保移動機器人完成相關任務。因此,LCD對整個視覺SLAM系統魯棒性和定位精度的提升有著重要作用。
本文首先根據不同分類方式對現有的LCD方式進行闡述,對當前較為主流的傳統LCD方法進行了總結。其次,針對當前基于深度學習的LCD方法進行了歸納。最后,結合移動機器人的實際應用對LCD技術當前面臨的挑戰及未來前景進行了展望。
對于視覺SLAM問題,姿態的估計是一個遞歸過程。也就是說,當前幀的姿態是根據前一幀的姿勢計算得出,因此在前一幀中雖然建立了系統姿勢約束,但是每次推算的姿態都可能存在誤差,如果位姿誤差持續出現,就會導致累積誤差,將很大程度上降低機器人長時間運行下估算結果的穩定性和可靠性,從而導致無法成功構建全局一致且準確度高的軌跡和地圖。經典視覺SLAM系統框架如圖1所示。

圖1 經典視覺SLAM系統框架Fig.1 Classical visual SLAM system framework
LCD又稱為閉環檢測,是指移動機器人識別曾到達某場景,使得地圖閉環的能力。基本流程是通過對比圖像之間的關鍵幀進行相似度計算,進而判斷是否經過同一個地方或“回到了原點”。LCD問題的實質是通過關聯當前數據和歷史數據,利用視覺算法識別是否到達過某個地點,運用地圖回環的性質,對當前的位置進行修正,消除漂移,在地圖構建中起到減少累積誤差的作用。
經過不斷深入研究,越來越多的LCD方法被提出并得到應用。傳統的LCD算法主要分為2種:基于幾何信息的LCD算法和基于外觀信息的LCD算法。基于幾何信息的LCD算法是通過不斷判斷移動機器人當前所處位置是否在之前到過某個位置附近,進而進行LCD,這種檢測方法雖然原理簡單、容易實現,但由于無法消除累積誤差,在復雜的大回環場景中,往往無法正確發現是否到達歷史位置附近這一事實,導致LCD失效[2]。基于外觀信息的LCD算法關鍵是計算圖像間的相似性,通過傳感器獲取圖像信息,利用計算機視覺相關算法判斷不同時間的場景相似性,進而確定LCD關系,此類算法在不同的場景下都得到了較好的回環效果,是目前傳統LCD的主流算法。
根據數據關聯方式的不同可以將基于外觀信息的LCD方法分為 基于地圖和地圖(Map-to-Map)、基于圖像和地圖(Image-to-Map)和基于圖像和圖像(Image-to-Image)的3種匹配方法[3]。
(1)Map-to-Map
該方法通過將全局的環境地圖分成各個小單元的子地圖,尋找各子地圖之間的相似關系來判斷是否完成LCD。Clemente等[4]提出了一種基于單目相機的子地圖間LCD方法,該方法使用分層地圖方法和EKF-SLAM 技術構建獨立的局部地圖,通過不同視覺場景下子地圖彼此的相似度和特征向量之間的相對距離計算出存在的最大公共特征集,進而完成LCD的工作。但此方法在進行子地圖的匹配過程中要提取大量數據,不斷重復迭代計算,隨著環境地圖信息的不斷豐富,會出現匹配精度不高和實時性差等問題,所以不適合用在大規模的圖像環境中。
(2)Image-to-Map
為解決子地圖匹配無法滿足在大規模圖像下的LCD要求,提出基于圖像和地圖間的匹配方法,該方法通過尋找最新圖像和地圖特征之間的關系,實現特征匹配。Williams等[5]利用重定位系統,使用三點位姿算法和隨機采樣一致性算法對移動機器人的位姿進行計算,然后使用隨機蕨類分類器檢測地圖特征潛在的對應關系完成系統的LCD。該方法提高了檢測的快速性和實時性,但需要存儲大量的環境信息,對內存空間要求較高,在實際使用過程中存在一定的局限性。
(3)Image-to-Image
當前主流的LCD方法都是基于圖像與圖像間的匹配完成的,該方法通過尋找當前圖像和以前圖像的對應關系來實現。因此,LCD的核心問題變成了圖像間的相似度計算問題,其中視覺詞袋模型(BoVW)是目前常見的方法。對3種不同的LCD算法進行了對比,如表1所示。

表1 3種LCD方法對比Tab.1 Comparison of three LCD methods
在傳統的方法中,主要依賴人工設計的特征來描述圖像。人工特征又分為局部特征和全局特征,局部特征主要有SIFT,SURF,ORB等算法,全局特征主要有GIST,BRIEF等算法。
局部特征描述是指以提取的特征點為中心生成的圖像局部描述。最早Lowe[6]提出了SIFT特征提取算法,該算法的尺度空間由高斯卷積核建立,因此對提取的特征點在尺度、旋轉和光照等方面具有良好的不變性,是一種魯棒性較強的特征描述子,但其特征點提取復雜,因此存在運算量大、運算效率低下的問題,不利于SLAM系統的實時構建。隨后,為提高運算效率,Bay等[7]提出了SURF算法,Rublee等[8]提出了ORB算法。其中,SURF算法在SIFT的基礎上優化了特征點的提取、尺度空間的構建和圖像描述方式,通過犧牲一部分性能來提高效率。ORB算法則融合了FAST特征檢測算法和BRIEF向量創建算法,既保證了縮放不變性和旋轉不變性,又提高了算法效率。
圖像的全局特征描述以場景為中心,Oliva等[9]提出的GIST算法是目前使用最廣泛的全局特征描述方法,通過Gabor濾波器在不同的頻率和角度上提取圖像信息進行特征描述,對場景的檢索不需要對圖像進行分割和局部特征的提取。考慮到局部特征描述子也可以聚合全局特征描述子,Galvez-López等[10]提出了BRIEF算法,該算法首先對圖像進行下采樣,然后圍繞圖像中心進行特征匹配,適用于一些大規模場景的視覺SLAM系統。
但是這些依賴人工設計的特征描述通常都是基于某些特定場景提出的,有一個共同問題是受外界環境(如光照、天氣)變化影響較大,在室外復雜場景下LCD的準確率和實時性往往表現不佳。
隨著計算機視覺的發展,基于外觀信息的LCD算法成為早期的主流算法,BoVW是其中最常見的算法。Baeza-Yates等[11]首次提出詞袋(BoW)模型,并應用于文本檢索領域。Sivic等[12]首次將BoW模型引入到計算機視覺領域,提出了一種面向對象和場景搜索方法,核心是將文本轉換成向量的方式,實現圖像間的匹配。BoVW通常包括以下步驟[13]:
① 提取圖像特征:使用提取算法,從圖像中提取特征描述;
② 構造視覺詞典:對訓練圖像的特征進行聚類分析生成視覺單詞,所有的視覺單詞組成視覺詞典;
③ 視覺單詞直方圖:計算詞典中各個單詞在該圖像中顯示的次數,生成視覺單詞直方圖,用該直方圖表示圖像信息。
BoVW因其檢測效率高、檢索準確率高,已經廣泛應用到了視覺SLAM系統的LCD中。BoVW流程如圖2所示。

圖2 BoVW流程Fig.2 Flow chart of BoVW
當前,K-Means聚類是生成視覺詞典的主要算法,在無監督學習中得到廣泛使用。K-Means聚類算法流程[14]如圖3所示。

圖3 K-Means聚類算法流程Fig.3 Flow chart of K-Means clustering algorithm
K-Means算法簡單、聚類效果好,但也存在一定的局限性,比如容易受聚類數量、異常點影響,對于高維的數據聚類以及聚類收斂效率等實際效果不好。在此基礎上,許多研究人員提出了不少改進方法。最早在1973年,Dunn等[15]提出了模糊K-Means聚類算法,在此算法中數據點可以同時屬于多個聚類,對于服從正態分布的數據聚類效果較好。Nistér等[16]在此基礎上提出了詞匯樹的概念,該方法建立在局部區域提取描述子的基礎上,其描述子在詞匯樹中被分層量化,通過樹形結構將描述子存儲到詞匯樹中,不僅加快了特征匹配的速度,還在具有背景雜波和遮擋情況下具有較強的魯棒性。Galvez-López等[17]基于詞匯樹結構,使用從FAST+BRIEF 特征獲得的詞袋進行視覺位置識別,首次構建了一個離散化二進制描述空間的詞匯樹,檢索詞匯利用分層結構變得更加快捷,實驗證明,此種方法比傳統方法速度快一個數量級。Philbin等[18]提出了近似K-Means聚類算法(AKM),主要思想是引入了一種基于隨機樹的新量化方法,同時添加了高效的空間驗證,對詞匯袋模型返回的結果重新排序,持續提高了聚類收斂的速度和數據的搜索質量,并成功運用到大規模的對象檢索系統中。Gu等[19]提出了快速近似K-Means聚類算法(FAKM),利用對聚類中心分類的思想,將樣本較少的聚類中心過濾掉,通過提取的數據中穩定且集中的聚類中心減少了迭代過程和迭代的計算量,從而提升了算法的運算速度并細化了聚類結果,通過實驗證明,此方法在聚類時間、檢索時間和檢索精度的魯棒性方面優于K-Means和AKM算法。
Newman等[20]首次把BoW模型用于視覺SLAM系統的LCD中,使用視覺顯著性的概念來集中選擇合適的(仿射不變的)圖像特征描述子并將其存儲在數據庫中,通過用新拍攝的圖像與數據庫比較,利用返回的對比結果判斷是否發生回環,達到LCD的目的。為提高BoW模型的普適性和解決匹配準確度的問題,Schindler等[21]對視覺詞典構造中圖像特征的選擇進行了優化,通過對特征描述子的信息量化,同時運用信息增益做特征選擇,將區分性好的特征挑選出來并構造詞典,使該方法的檢索、匹配效果有了明顯提高。Angeli等[22]提出了一種在線方法,可以使用局部形狀和顏色信息檢測圖像何時來自已經感知的場景,對BoW模型增加增量條件,同時利用貝葉斯濾波模型來估算回環的概率,極大提高了LCD的實時性和準確性。Cummins等[23]基于視覺詞匯間的關系提出了FAB-MAP算法,該算法在BoW模型和貝葉斯模型的基礎上采用Chow Liu樹結構近似描述詞匯間的相關性,使用FAST算子提取圖像特征構造視覺詞典,通過不同環境下特征向量的相似度計算來判斷是否發生了回環。Mur-Artal[24]等提出的ORB-SLAM2算法借助BoW模型通過追蹤線程、局部建圖線程和LCD線程得到了較強的重定位和LCD能力,對旋轉、尺度和光照改變具有出色的不變性,對圖像特征的提取和匹配擁有很好的實時性和準確性,是目前使用最為廣泛的SLAM系統。Labbe等[25]提出了擴展RTAB-Map的算法,該方法采用貝葉斯估計來實時更新各個場景出現回環的概率,并僅使用概率較大的場景參與LCD,極大地縮短了LCD的時間,提高了LCD的實時性,適用于處理大規模和長期的在線操作。
最近幾年,也不斷有新的基于BoW模型的算法被提出。Garcia等[26]提出了一種新穎的iBoW-LCD算法,該算法利用基于二進制描述子的增量詞袋方案來檢索先前看到的相似圖像,避免了傳統BoW模型通常需要的詞匯訓練階段。此外,將iBoW-LCD 建立在動態島的概念之上,可以及時對相似的圖像分類,從而減少了系統的運算時間。Tsintotas等[27]則提出了一種高效的Bag of Tracked Words(BoTW)檢測算法,該算法通過特征跟蹤在線生成少量視覺詞匯對走過的軌跡進行編碼,構建新的“追蹤詞袋”。通過鄰近投票方案來查詢數據庫,并為所有訪問過的位置分配概率分數,生成的分數利用貝葉斯過濾器進行處理,以估計機器人在地圖上的位置狀態,該算法保持了高運行頻率和高召回率以實現完美的精度。Papapetros等[28]提出了一種基于視覺跟蹤特征的LCD方法,并結合信號峰值跟蹤濾波進行回環識別。該方法首先提取局部的二進制特征,同時通過連續幀在線生成視覺詞匯,形成一個增量的視覺詞匯包,通過峰值的跟蹤濾波技術使每張圖像僅用少量的視覺局部特征,從而大大縮小了視覺詞匯量,提高了相似度計算效率。為了減少外界光照變化對傳統LCD算法的影響,劉凌云等[29]結合可在線增刪視覺詞的詞袋模型,提出了一種適用于光照易變場景下的LCD方法。該算法根據Shannon[30]提出的圖像熵度量初始圖像的局部特征信息,利用基于曝光區域的自適應直方圖均衡化對圖像進行預處理,使圖像恢復更多的細節信息。實驗證明,在室外光照易變的環境中,該算法既確保了實時性,又增強和提升了系統的魯棒性和召回率。
基于BoW模型和其改進算法已成功運用在不同場景下移動機器人的LCD模塊中,并取得良好的效果。但在大規模場景中,隨著圖像數據的急速增長,怎樣提升算法的準確率和運算效率仍是未來要思考的問題。
近幾年,隨著深度學習技術在圖像識別、計算機視覺和移動機器人等領域的不斷發展,為SLAM系統中的LCD模塊提供了新的解決思路。早在2006年,由Hinton等[31]真正意義上首次提出了深度學習技術,提出了一種基于深度信任網絡的無監督學習算法,采用逐層預訓練的方法來優化神經網絡模型。深度學習是一類模式分析方法的總稱,其典型模型包括卷積神經網絡(Convolutional Neural Network,CNN)、堆棧自編碼網絡(Stacked Autoencoder Network,SAEN)和深度置信網絡(Deep Belief Network,DBN)。其中,CNN和無監督的自動編碼器是目前運用最多的方法,也是當前2個主要的研究方向。
基于CNN的LCD方法通過卷積層提取場景中的深層次特征,相比于傳統的人工設計特征,該算法擁有強健的信息提取能力和更有效的特征表示,因此使用CNN的LCD方法具有更好的準確率。基于CNN的LCD流程如圖4所示。

圖4 基于CNN的LCD流程Fig.4 LCD flow chart based on CNN
CNN最早應用于圖像分類和圖像檢索的任務中,并取得了令人鼓舞的成績。Krizhevsky等[32]在2012年提出了AlexNet模型,該模型大大提高了圖像的分類速度和準確率,并在同年的ImageNet競賽中取得了冠軍。Chen等[33]在2014年首次提出了基于CNN模型的位置識別技術,在公開數據集上的實驗表明,該方法利用模型提取特征信息,顯著提升了圖像匹配的召回率,優于大多數傳統基于人工設計特征的方法。Hou等[34]則利用AlexNet模型對圖像進行特征提取,使用卷積網絡的中間層作為圖像描述符,運用二范數來進行回環相似度的判斷。與傳統人工特征描述符相比,實驗證明,在光照沒有顯著改變的環境下,基于CNN的圖像特征匹配和傳統人工特征匹配能力接近;當光照變化顯著時,基于CNN的圖像特征匹配的表現優于傳統人工特征;基于CNN的特征描述具有更高的魯棒性,同時提取速度比傳統人工特征方法更快。為了優化復雜場景中算法魯棒性的問題,Sunderhauf等[35]提出了一種基于CNN的地標識別方法,使用CNN的預訓練模型,通過Edge Boxes識別系統和圖像中的地標區域來描述場景信息,然后采用CNN對提取的特征進行精準匹配。實驗證明,該方法顯著提高了在視角、光照等條件變化和部分遮擋情況下系統的魯棒性。基于CNN的地標識別流程如圖5所示。同年,Sunderhauf等[36]在AlexNet模型的基礎上,探討了CNN各層特征在不斷變化的環境中用于位置識別任務的可行性,分析了CNN層次結構中不同層在不同數據集上的性能,證明了CNN中間層,尤其是第3個卷積層對大范圍的外觀變化更具有魯棒性,而高層第一個全連接層對視角變化更具有魯棒性,即使在面對復雜的條件變化時也能實現可靠的圖像匹配。但由于上述深度網絡過于復雜,往往無法滿足LCD的實時性,因此Hou等[37]提出了一種Bag of ConvNet的匹配方法,該算法基于BoW模型并利用ConvNet提取的圖像特征構建視覺BoW,通過局部敏感哈希算法[38]對視覺BoW進行降維,使用基于哈希的投票方案確定圖像之間的最佳匹配,從而提高了圖像匹配的效率,加快了實現LCD的速度。

圖5 基于CNN的地標識別流程Fig.5 Flow chart of landmark recognition based on CNN
2014年,牛津大學計算機視覺研究組提出了一種新的VGGNet模型[39],該模型繼承了AlexNet 的結構特點,同時降低了計算量,增加了網絡深度,這些優點使其泛化性能更好,因此能夠很好地適應于分類和定位的任務中,其中VGG16和是VGG19是目前最常用的配置。Tolias等[40]采用AlexNet和VGG16作為特征提取器,提出了一種R-MAC算法,該算法通過構建密集的特征向量,可以對多個圖像區域進行編碼,同時擴展了積分圖像以處理卷積層激活的最大池化,從而使系統能夠有效地定位匹配對象,因此顯著改進了現有的基于CNN的識別通道。Chen等[41]通過深入研究CNN的內部結構,提出了新的基于CNN的圖像特征,該方法使用在 ImageNet上預訓練的VGG16網絡,并使用卷積層進行區域識別,通過識別顯著區域并直接從卷積層激活區域表征進行位置識別。實驗證明,在復雜環境和光照易變的情況下,該方法具有優越的召回率和魯棒性。隨著圖像數據的不斷增加,為改善LCD的準確率和實時性,張學典等[42]提出了基于VGG16模型的快速LCD算法,該算法采用VGG16模型提取場景中的全局特征描述符,通過自適應粒子濾波來改善運算時間。實驗表明,該算法與同類算法相比大大提高了運算效率,同時在相同準確率下提高了召回率,并有效克服了計算時間不斷增長的問題。同樣,余宇等[43]提出了一種結合VGG19網絡和局部敏感哈希算法的快速檢測方法。該算法首先通過VGG19網絡對圖像特征進行整體提取并構建對應的特征向量矩陣,然后利用級聯的余弦距離哈希函數對構造的特征向量矩陣進行降維聚類。實驗表明,該算法極大地改善了LCD的準確率并提高了運算時間,更好地滿足SLAM系統對減少誤差和實時性的要求。
深度學習CNN應用于移動機器人的LCD模塊中屬于有監督學習,在學習時會需要人工來進行數據的標注,在復雜大環境下無法滿足實時性的要求。與有監督的學習相比較,無監督的學習采用自主學習的方式,免除了需要人工標注數據的工作,降低了原始輸入數據的位數,提高了圖像特征提取的效率,成為深度學習領域的一個新里程碑。Gao等[44]首次提出了一種基于深度神經網絡的無監督學習方式。該算法利用堆疊式降噪自動編碼器(SDA)提取圖像特征,通過自主學習的無監督方式訓練數據網絡,將數據進行相似性計算并組建相似矩陣。實驗證明,相比傳統的詞袋模型,該算法在復雜的場景下能夠取得較高的精度,但在關鍵幀匹配方面存在耗時嚴重的問題,仍無法滿足系統實時性的要求。為了解決上述問題,Merrill等[45]在自動編碼器的架構上提出了一種新的無監督深度神經網絡算法,該算法利用定向梯度直方圖 (HOG) 提供的幾何信息和光照不變性,運用編碼器重建 HOG 描述符,其訓練模型直接從原始圖像中提取特征,且不需要標記特定環境的訓練,在外觀環境顯著變化下仍具有較強的魯棒性,但也存在對相似的物體區分能力弱和定位精度低的問題。張云洲等[46]提出了基于無監督的棧式卷積自動編碼器(CAE)算法,CAE是基于CNN的自動編碼器,利用卷積網絡將信號進行編碼并嘗試重構輸入的網絡模型,其更加注重局部特征的學習。該算法通過訓練將維度較高的原圖像降到較低的維度,然后采用訓練好的CAE和已優化的特征進行場景的相似性判斷。實驗證明,相比詞袋模型和其他深度學習模型,該算法在移動機器人的LCD模塊取得了更好的準確性和魯棒性。
在2014年,Goodfellow等[47]提出了基于博弈論的生成對抗網絡(GAN),其作為新的無監督的深度學習模型受到廣泛關注,并應用于視覺SLAM系統的LCD中,GAN的基本模型如圖6所示。在此基礎上,Shin等[48]提出了基于GAN的LCD算法,該算法運用面向位置的數據集訓練生成對抗模型,從模型判別器的高維空間中提取局部的特征描述符,獲得了較好的實踐效果,但該方法因要提取較高維度的特征描述符,所以會占用大量的存儲空間,因此對機器人系統要求較高。受上述方法的啟發,楊慧等[49]利用生成對抗思想,提出了一種基于二進制的GAN。該算法利用距離傳播損失函數和二值化表示熵損失函數來提取無監督的高區分度和低維度的二進制特征描述符,利用 BoVW模型將提取的局部特征融合為全局特征用于LCD。實驗證明,相比SIFT等傳統特征提取方法,該算法在室外環境擁有更優越的魯棒性和實時性,同時運用二進制特征描述符也能夠節省大量的存儲空間和計算資源。

圖6 GAN的基本模型Fig.6 Basic model of GAN
在實際問題中,移動機器人往往是運動的,處在一個不斷變化的復雜場景中,容易受到動態物體的干擾,導致系統LCD的準確率和召回率大大降低。依賴深度學習技術,越來越多的學者將語義信息融入到了視覺SLAM算法中,通過增加語義信息可以有效提高移動機器人在動態物體干擾下LCD的準確率和實時性。目前,語義信息主要通過目標檢測和語義分割2種方式獲取,其中目標檢測主要獲取場景中的稀疏信息,語義分割則主要獲取場景中的稠密信息。Gawel等[50]提出了一種多視圖語義全局定位算法,該算法引入基于隨機游走的圖描述符,將具有語義目標信息的關鍵幀用新的語義拓撲圖表示,利用語義分割的圖像處理成全局定位的完整流程。此次實驗結果表明了將語義圖形表示用于大規模機器人全局定位任務的潛力。Hu等[51]提出了一種融合語義信息的LCD方法,該算法將用于圖像目標檢測的Faster R-CNN模型應用于BoVW,實現基于BoVW的語義相似度和特征點相似度的融合,利用語義信息解決BoVW不匹配的問題。實驗證明,該方法在動態場景中獲得了較好的LCD效果。鄭冰清等[52]提出了新的融合語義信息應用于視覺SLAM語義地圖構建和LCD的方法。該算法采用YOLOv3網絡對圖像的關鍵幀進行語義標記,然后采用條件隨機場算法將標記的語義信息和場景分割的聚類信息融合來構建語義地圖,其中LCD是通過標記的關鍵幀語義信息對BoVW進行改造,進而提高動態場景下系統的定位精度。Yuan等[53]提出了一種基于語義-視覺-幾何信息的LCD算法(SVG-Loop),為了減少動態特征的干擾,首先將視覺特征與語義標簽連接起來構建語義詞袋模型。其次,為了提高不同場景下的檢測魯棒性,通過對語義地圖的幾何關系進行編碼,設計了語義地標向量模型。最后,通過語義、視覺2個模塊的融合計算來整合幾何信息。實驗證明,通過更高層次的圖像信息和多信息融合可以提高地點識別的魯棒性,在光照多變、天氣多變和動態干擾的復雜環境中具有更好的優勢。
與傳統BoW模型算法相比,基于深度學習的算法擺脫了人工設計的特征,能夠提取更深層次的圖像特征,使系統的泛化能力也更強。尤其加入語義信息后,構建的語義地圖信息更加豐富,在面對光照、動態干擾等復雜環境中擁有更好的適應性。從不同方面對2大類的LCD算法進行比較,如表2所示。

表2 LCD算法對比Tab.2 Comparison of LCD algorithms
在LCD中,其性能指標的評價主要有:準確率-召回率曲線(Precision-Recall Curve)和時間性能2類。
在現實生活中,通過眼睛和大腦能夠以較高的準確率判斷“環境中2張圖像是否為相同的場景或者二者之間存在的相似性”,而移動機器人LCD的重點同樣是為了在面對不同圖像得到和人類一樣的判斷。根據機器人系統程序預測的結果,可以將其分為4種情況,如表3所示。

表3 LCD結果分類Tab.3 Classification of LCD results
其中,假陽性又稱作感知偏差,如圖7所示,2幅圖片看起來相似,但并不是同一個地方;假陰性又稱作感知變異,如圖8所示,2幅圖片是同一個地方,但并不相似。

(a) 假陽性示例a

(b) 假陽性示例b圖7 假陽性示例對比Fig.7 Comparison of FP examples

(a) 假陰性示例a

(b) 假陰性示例b圖8 假陰性示例對比Fig.8 Comparison of FN examples
為更加直觀地看出LCD的效果,通常采用準確率(Precision)和召回率(Recall)2個指標。準確率表示檢測到是回環的結果里面有多少是真的回環,召回率表示所有實際的回環中能檢測出多少個回環。
(1)
(2)
一個優秀的算法應同時擁有較高的準確率和召回率,但在實際問題中,雙方往往是一對矛盾,即當一方結果增大時,另一方會隨之下降,二者無法同時滿足。因此,準確率-召回率曲線(PR曲線)則是評價檢測算法好壞的綜合性能指標。3種不同的LCD算法PR曲線如圖9所示。

圖9 PR曲線Fig.9 PR curve
通過對比驗證了基于Image-to-Image匹配算法的優越性。由于假陽性的回環會對后端的位姿圖產生影響,而準確率的下降會造成整個地圖的失效,所以在SLAM系統里一般要求準確率高些,而召回率相比寬松一些。
在移動機器人的實際應用中,實時性也是衡量LCD的一個重要指標。隨著機器人在大規模環境下長時間工作,需要保存的觀測的圖像和數據信息不斷增多,一般會導致系統的運算效率變得越來越慢,而這個問題和LCD算法、機器人硬件設備、數據集都有一定的關系。部分LCD算法在不同數據集下的時間性能如表4所示。

表4 部分LCD算法的時間性能Tab.4 Time performance of partial LCD algorithm 單位:s
從表4可以看出,在時間性能方面基于深度學習的幾種算法明顯優于傳統的檢測算法。
傳統基于BoW模型的LCD算法雖仍是目前主流的算法,但也逐漸暴露出一些缺點和局限性,主要體現在:① BoVW完全依賴外觀信息,需要提前利用大量數據構建視覺詞典,訓練時間長,在大規模場景下較為耗時;② 在圖像特征點過少、低紋理或無紋理環境中,容易導致LCD失敗;③ 在室外環境中受到角度、光照、天氣和動態目標變化等的影響,容易導致移動機器人定位精確度降低;④ 過于依賴人工的干預,基于人工特征的圖像特征提取能力有限,在準確率和召回率方面很難有質的提升。
隨著計算機視覺和深度學習發展,相比傳統模型,利用深度學習技術的LCD算法在一定程度上提高了檢測的魯棒性和準確率。但同樣面臨諸多挑戰:① 深度學習提取的特征信息缺少直觀的意義,其CNN的預訓練需要大量人工標記,訓練結果非常依賴數據庫的質量;② 在動態場景中,因為存在動態物體在不同場景中穿梭的情況,所以容易在不同場景再次檢測到相同目標或者在相同場景卻檢測不到同一目標,進而造成誤判或漏判;③ 在復雜自然環境中,容易受到光照、季節或惡劣天氣的影響造成感知混疊,如何處理好感知混疊問題是一個重大挑戰。
(1) 基于深度學習技術
近幾年,隨著深度學習技術的發展,LCD也得到了廣泛的發展,雖然發展時間較短,但在移動機器人面對低紋理、動態干擾的復雜場景中表現出了較強的魯棒性。深度學習技術可提取更深層次的信息,這些信息融合語義分割能夠變成更高水平的語義特征,不僅增強了對外觀變化和視角變化的適應能力,而且簡化了地圖描述,節省了系統的存儲空間[54]。同時加入語義信息可以輔助機器人系統更好地理解動態場景,以滿足復雜場景的需求。鑒于深度學習在特征提取等方面的優越性,基于深度學習和結合語義信息的LCD算法擁有廣闊的發展前景。
(2) 多描述子融合
由于單一描述子無法準確獲取場景中的圖像信息,所以當前SLAM系統LCD中往往融合了多種特征描述子,但不同的特征描述子之間存在著一些數據觀測耦合和冗余信息,這與期望提高算法的實時性相矛盾。因此,采用多傳感器融合方式和解決好多描述子數據融合的問題是有效提高LCD的魯棒性和實時性的一個趨勢。
(3) 與后端優化結合
SLAM系統的最終目的是通過后端優化得到全局一致的運動軌跡并建立對應的地圖。LCD則是為了判斷機器人是否發生了回環,之后將回環信息送給后端處理。因此,在規劃LCD模型時,研究者應該考慮結合后端優化算法,將2個模塊結合處理成一個整體設計。通過前期LCD保證準確率和召回率的同時,在后端優化過程中也能夠減少回環失敗對系統的影響,這將有助于地圖的構建和提升SLAM系統的魯棒性。
(4) 多機器人系統
隨著實際生活、工作中對移動機器人應用要求的不斷提高,多機器人系統間的協作運行、系統的輕量化和高計算性能已經成為研究者感興趣并發力的方向。多機器人系統是目前最具前景的研究方向,相比較單一的機器人系統,多機器人系統的協作運行可在大型、陌生、危險和復雜場景中高效地完成特定任務。如何將SLAM中的LCD運用到多機器人系統的協作運行中是該方向重要的研究趨勢。同時提高SLAM系統的輕量化和高計算性也能夠提高移動機器人的應用范圍和實時性。
本文以基于移動機器人視覺SLAM LCD為背景,對LCD的原理、當前視覺SALM領域主流的LCD算法進行了總結歸納。從前期回顧的文獻中可以發現,基于深度學習的LCD算法比傳統算法在復雜場景下具有更強的魯棒性,當前在靜態、強紋理、光照變化不明顯、沒有動態干擾的場景下的視覺SLAM技術已經非常成熟[55],但在動態、低紋理等復雜場景下仍需要進一步研究。
為了更好地解決當前LCD存在的問題,結合移動機器人工作,基于深度學習技術、多描述子融合、與后端優化結合和多機器人系統等方面將是移動機器人視覺SLAM系統未來的發展方向。總體而言,視覺SLAM從傳統時代、算法分析時代,已經發展到了預測性-魯棒性時代,面對更高級、更復雜場景下的感知,將扮演越來越重要的角色。