高魯棒性、高精度、實時性視覺SLAM系統研究

一、   課題來源、目的及意義

近年來,智能機器人領域得到了世界各地研究者的關注,並將研究成果運用於製造業、農業、醫療、交通、服務、物流等行業。自主導航機器人是智能機器人的主要組成部分,機器人的自主導航與三個關鍵性技術密不可分:定位,建圖,和導航。定位是指確定機器人在當前環境中的位姿,建圖是指將觀測得到的局部地圖整合到全局一致的地圖中,路徑規劃確定了進行導航的最佳路線。

定位與建圖看起來是獨立的,但是實際上,精確的定位依賴與當前地圖的精度,而高精度地圖的每個元素的構建都依賴於高精度的定位,定位與建圖的相互依賴關係催生了SLAM技術,SLAM是simultaneous localization andmapping的縮寫,意爲同時定位與建圖技術,SLAM技術的巨大發展,主要是因爲以下應用場景:

1.     室內環境、室外GPS信號不好的區域、水下、太空等,沒有先驗地圖,難以獲得全球定位,但是需要根據周圍環境構建局部地圖,進行自主導航。

2.     有先驗地圖,但是無法獲得自身相對於地圖的位置,比如提前繪製了工廠的地圖,關機重啓後不知道當前的位置,用SLAM技術就可以重定位。

SLAM技術主要根據傳感器的不同主要分爲激光SLAM和視覺SLAM。機器人通過激光雷達來實現SLAM被稱爲激光SLAM,激光雷達價格較爲昂貴,有效距離不夠遠,開闊場景下不適用。使用相機作爲唯一感知環境的傳感器,被稱爲視覺SLAM。由於相機具有成本低,輕,很容易放到商品硬件上的優點,且圖像含有豐富的信息,視覺SLAM技術受到了更大的關注。根據採用的視覺傳感器不同,可以將視覺SLAM主要分爲三類:僅用一個相機作爲唯一外部傳感器的單目視覺SLAM;使用多個相機作爲傳感器的立體視覺SLAM,其中雙目立體視覺的應用最多;基於單目相機與紅外傳感器結合構成的傳感器的RGBD-SLAM。

高魯棒性、高精度、實時性的視覺SLAM,對無人駕駛,增強現實等領域有着里程碑式的意義。比如:無人駕駛領域用視覺SLAM技術來實現對車輛周圍環境的建圖和定位,對目標物體的檢測與追蹤,高魯棒性帶來高安全性,精度對車距的控制、啓停剎車有着重大影響,而實時性不好可能會發生卡頓,從而引發危險。

二、      國內外研究現狀分析(在文獻綜述基礎上凝練)

SLAM技術是一個典型的多學科交叉領域,其框架常常被分其前端與後端,前段與計算機視覺、信號處理交叉。後端與幾何學,圖論,優化理論,概率估計相關,所以一個SLAM專家常常要處理從傳感器模型到系統集成的問題。對圖像信息採用的方法不同,視覺SLAM分爲了特徵點法和直接法兩大派別。

1.     基於特徵點的視覺SLAM

基於特徵點的視覺SLAM發展主要分爲三個階段。第一個階段爲濾波器階段,這個階段主要使用擴展卡爾曼濾波(EKF),無跡卡爾曼濾波(UKF),粒子濾波。第二個階段爲關鍵幀階段,這一階段將整個SLAM系統按線程劃分爲定位,建圖,閉環檢測,也成爲現階段比較主流的框架。第三個階段爲RGD階段,由於微軟推出了RGBD相機,可以獲得圖像的深度信息,簡化了三維重建的過程,文獻[18]是最早提出的使用RGBD相機對室內環境進行三維重建的方法,在彩色圖像中提取SIFT特徵並在深度圖像上查找相應的深度信息。然後使用RNSAC方法對3⁃D特徵點進行匹配並計算出相應的剛體運動變換,再以此作爲ICP(iterativeclosest point)的初始值來求出更精確的位姿。

2.     直接的視覺SLAM

直接的SLAM方法指的是直接對像素點的強度進行操作,避免了特徵點的提取,該方法能夠使用圖像的所有信息。此外,提供更多的環境幾何信息,有助於對地圖的後續使用。且對特徵較少的環境有更高的準確性和魯棒性。爲了構建稠密的三維環境地圖,比較具有代表性的是En-gel等[26] 提出的LSD-SLAM算法(large-scale direct SLAM),該方法在估計高準確性的相機位姿的同時能夠創建大規模的三維環境地圖。文獻[29]是較好的直接RGB_D SLAM方法,該方法結合像素點的強度誤差與深度誤差作爲誤差函數,通過最小化代價函數,從而求出最優相機位姿,該過程由g2o實現,並提出了基於熵的關鍵幀提取及閉環檢方法,從而大大降低了路徑的誤差。

視覺SLAM的主要標誌性成果有:AndrewDavision提出的MonoSLAM[3]是第一個基於EKF方法的單目SLAM,能夠達到實時但是不能確定漂移多少,能夠在概率框架下在線創建稀疏地圖。DTAM[24]是2011年提出的基於直接法的單目SLAM算法,該方法通過幀率的整幅圖像對準來獲得相對於稠密地圖的相機的6個自由度位姿,能夠在GPU上達到實時的效果。PTAM[10]是由Georg Klein提出的第一個用多線程處理SLAM的算法,將跟蹤和建圖分爲兩個單獨的任務並在兩個平行的線程進行處理。KinectFusion[27]是第一個基於Kinect的能在GPU上實時構建稠密三維地圖的算法,該方法僅使用Kinect相機獲取的深度信息去計算傳感器的位姿以及構建精確的環境3D地圖模型。ORB_SLAM[13]是2015年出的比較完整的基於關鍵幀的單目SLAM算法,將整個系統分爲追蹤、地圖創建、閉環控制3個線程進行處理,且特徵的提取與匹配、稀疏地圖的創建、位置識別都是基於ORB特徵,其定位精確度很高,且可以實時運行


研究目標、內容及關鍵技術

 

對主流的視覺SLAM系統比如ORB-SLAM系統進行分析和實驗,其SLAM框架主要包括前端,後端,和迴環檢測,重點關注魯棒性,精度,實時性。不同的場景下SLAM前端所採取的方法有所不同,後端優化的策略也會隨着應用場景的變化而變化。研究SLAM優化算法,預期在某個特定場景下提出具有高穩健性、高精度與實時性良好的SLAM系統。本研究的關鍵技術主要如下:

關鍵技術一、特徵檢測與匹配

視覺SLAM系統的前端使用的是視覺傳感器,數據形式是圖片,圖片信息是二維信息,從二維信息恢復三維信息,計算相機位姿,恢復相機運動就是SLAM前端的主要工作。對圖片進行特徵檢測,目前主要是基於特徵點,也有少量基於幾何特徵的文獻(PLSLAM)。基於特徵點法的前端,長久以來被認爲是視覺里程計的主要方法,它運行穩定,對光照、動態物體不敏感。使用特徵點有如下幾個侷限性:1.使用特徵點進行匹配僅能恢復稀疏的點雲和計算相機位姿,可能由大量有用的圖片信息沒有被利用。2.特徵點在面對場景特徵不夠豐富的情況下會失效,比如一面白牆。3.特徵點的提取非常耗時,難以實現實時性。

關鍵技術二、關鍵幀的選取

關鍵幀的概念主要是給後端用的,在許多SLAM系統中都會用到。在實踐中,對每個圖像都做詳細的優化和迴環檢測,太耗費資源。Klei等[10]在2007年提出了這個觀念,並開源了單目V-SLAM系統PTAM。關鍵幀使得地圖構建僅僅需要維護從視頻中稀疏抽取出來的關鍵幀及關鍵幀中可見的三維點。文獻[5]基於關鍵提出了一種快速回環的方法。關鍵幀的構建方式和結構,對後端優化的效率具有很大影響。

關鍵技術三、建圖

在經典的SLAM模型中,地圖是指所有路標點的集合。一旦確定了路標點的位置,就可以說完成了建圖。SLAM作爲一種底層技術,往往是爲上層應用提供信息的。如果上層是機器人,開發者可能需要其能夠完成全局定位,這就要求全局一致的地圖。在一個複雜且動態變化的環境下工作的機器人,3D地圖的快速生成是非常重要的,且創建的環境地圖對之後的定位、路徑規劃及壁障的性能起到關鍵性的作用,從而精確的地圖也是非常重要的。

關鍵技術四、閉環檢測

閉環檢測及位置識別,判斷當前位置是否是以前已訪問過的環境區域。 三維重建過程中必然會產生誤差累積,實現閉環是消除的一種手段。 在位置識別算 法 中, 視 覺 是 主 要 的 傳 感 器 。 文 獻[51] 對閉環檢測方法進行了比較,且得出圖像對圖像 [52-53] 的匹配性能優於地圖對地圖 [54] ,圖像對地圖的匹配方法。而圖像間的匹配方法中,詞袋得到了廣泛的應用。


擬採用的研究方法和技術路線

一、文獻研究法。SLAM作爲新興的領域,近三十年來取得了極大的進展,相關的文獻資料非常豐富。基於前人的研究成果SLAM系統的魯棒性會受到多方面的影響。本着從底層研究的原則,計劃重點關注近年來處理特徵缺失的解決策略,因爲基於特徵點的SLAM方法會因爲圖像特徵的缺失回導致特徵提取失敗,而沒有特徵的圖像就沒有辦法匹配,從而沒有辦法恢復相機的運動。

二、通過數據集進行廣泛實驗。實踐是檢驗真理的唯一標準。無論是跑開源算法,還是對自己的算法進行研究,如果缺少一個合適的數據平臺,都會拖慢科研的腳步。通過藉助網上的一些數據集進行實驗,可以大大提高科研的效率。比較流行的是kitti數據集,是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數據集。該數據集用於評測立體圖像(stereo),光流(optical flow),視覺測距(visual odometry),3D物體檢測(object detection)和3D跟蹤(tracking)等計算機視覺技術在車載環境下的性能。KITTI包含市區、鄉村和高速公路等場景採集的真實圖像數據,每張圖像中最多達15輛車和30個行人,還有各種程度的遮擋與截斷。整個數據集由389對立體圖像和光流圖,39.2 km視覺測距序列以及超過200k 3D標註物體的圖像組成[1] ,以10Hz的頻率採樣及同步。總體上看,原始數據集被分類爲’Road’, ’City’, ’Residential’, ’Campus’ 和 ’Person’。對於3D物體檢測,label細分爲car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc組成。數據集還提供ground truth用來驗證算法的正確性。

三、本質分析法。通過對問題的詳細分析,從而定位問題的根源,從本質上尋找解決問題的方式,往往可以提出創新的方法。科學問題特別是算法問題,其實都是數學和物理問題,關注細節,找到問題本質,就一定能找到突破口。

技術路線:

通過閱讀文獻學習並研究前人經驗,學習多視圖幾何,非線性優化,狀態估計等理論,從而掌握理論基礎。閱讀開源代碼,對開源方案進行實驗,並分析其優缺點,重點關注前端特徵提取與匹配的效率,描述子的計算方法,尋找優化的方向。對迴環檢測進行分析,研究基於語義標籤的迴環檢測方法。研究IMU與相機融合的方案,提升快速運動時的魯棒性。在kitti數據集進行實驗,使用該數據集的評估方法對研究結果進行評價。

論文預期成果及創新點

一、特徵點法與直接法組合策略。特徵點法的視覺前段在面對白牆等特徵缺失的情況會失效,而直接法可以直接利用圖像灰度,最小衝光度誤差來實現對準。研究一種融合策略,通過對場景信息的判斷,能夠靈活在這兩中方法間進行。當特徵缺失時,通過直接法結算的姿態如何更新並融合進現有的位姿圖結構,同時更新路標點,是有待解決的問題。

二、視覺+慣性導航SLAM。慣性傳感器能夠測量傳感器本體的速度和加速度,被認爲與相機具有明顯的互補性,而且十分由潛力在融合之後得到更完善的SLAM系統。IMU可以用來應對短時間快速的移動,相機可以應對IMU積分所導致的漂移,IMU可以矯正面對動態物體相機對運動誤判。研究兩者數據的融合,很有希望得到更好的SLAM系統。

三、語義SLAM。目前位置,SLAM的方案都處於特徵點和像素的層級。關於這些特徵點到底來自與什麼東西,把物體識別和視覺SLAM結合起來,構建帶物體標籤的地圖。把標籤信息引入到迴環檢測中,很有可能會大大提高迴環檢測的準確度和效率。

課題研究基礎及可行性分析

SLAM是一個新興多學科交叉的領域:計算機視覺,多傳感器融合,機器人等。華中科技大學CAD中心是國內企業信息化應用技術研究開發、培訓和推廣應用全面發展、實力雄厚的科研與成果轉化基地。中心積累了大量跨學科的研究人員和研究成果,形成了良好的科研氛圍,十分有利本研究的開展。SLAM後端的問題時間上也是優化問題,課題組內對於優化方面的問題也積累的十足的經驗。

人員配備、實驗條件及計劃進度安排

通過對研究路線的分析,預期配備人員一人。實驗條件爲線上與線下結合的方式,線上使用Kitti數據集進行驗證。線下自己通過課題組的turtlebot進行實驗驗證。

進度安排:

2018.6.01-2018.9.01 研究ORB-SLAM,對跟蹤,建圖,和迴環檢測的過程進行分析和學習。

2018.9.01-2018.10   研究白牆的應對策略並提出解決辦法,並搭建平臺進行實驗。

2018.10-2018.11  研究IMU與相機融合的方法。

2018.11-2018.12 研究語義SLAM

2018.12-2019.03 搭建完整的SLAM系統,在kiiti數據集上進行實驗。

2019.03-2019.05 撰寫並反覆改論文報告

目前研究進展、遇到的問題及對策

研究進展:

1.完成了理論基礎的學習,包括多視圖幾何,非線性優化,狀態估計等,掌握了C++開發語言,爲後續研究的展開打下了良好的基礎。

2.閱讀了視覺SLAM文獻綜述和ORB-SLAM相關論文,試驗了開源框架ORB-SLAM系統,對其有了直觀的感受。

3.自行搭建了雙目視覺里程計,使用kitii數據集進行了測算。

遇到的問題:

1.雙目視覺里程計累計誤差較大。

2.直接法如何構建局部地圖。

3.如何構建迴環。

對策:

1.對運行的每副圖進行分析,發現誤匹配的點較多,通過添加水平約束和垂直約束對無匹配的點進行排除。

2.查閱文獻,借鑑現有的構建局部地圖的方法,提出創新的算法。

3.仔細閱讀ORB-SLAM迴環的源碼。

參考文獻

[1] Andreas Geiger and Philip Lenz and Raquel Urtasun. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. CVPR, 2012

導師評語及簽字

中心簽字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章