[1]陳衛東, 張飛. 移動機器人的同步自定位與地圖創建研究進展[J]. 控制理論與應用, 2005, 22(3):455-460.
[2]Cadena C, Carlone L, Carrillo H, et al. Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age[J]. IEEE Transactions on Robotics, 2016, 32(6):1309-1332. (綜述)
[3]Birk A, Pfingsthorn M. Simultaneous Localization and Mapping (SLAM)[M]// Wiley Encyclopedia of Electrical and Electronics Engineering. John Wiley & Sons, Inc. 2016.
[4]Choset H, Nagatani K. Topological simultaneous localization and mapping (SLAM): toward exact localization without explicit localization[J]. Robotics & Automation IEEE Transactions on, 2001, 17(2):125-137.
[5]許亞朝, 何秋生, 王少江,等. 一種改進的自適應卡爾曼濾波算法[J]. 太原科技大學學報, 2016, 37(3):163-168.
[6]Martinez-Cantin R, Castellanos J A. Unscented SLAM for large-scale outdoor environments[C]// Ieee/rsj International Conference on Intelligent Robots and Systems. IEEE, 2005:3427-3432. (引:142)
[7]Chekhlov D, Pupilli M, Mayol-Cuevas W, et al. Real-Time and Robust Monocular SLAM Using Predictive Multi-resolution Descriptors.[C]// International Symposium on Visual Computing. 2006:276-285. (引:142)
[8]Holmes S, Klein G, Murray D W. A Square Root Unscented Kalman Filter for visual monoSLAM[C]// IEEE International Conference on Robotics and Automation. IEEE, 2008:3710-3716. (引:65)
[10]Sim R, Elinas P, Griffin M. Vision-based SLAM using the Rao-Blackwellised particle filter[J]. Ijcai Workshop on Reasoning with Uncertainty in Robotics, 2005, 9(4):500-509. (引:232)
[11]Li M, Hong B, Cai Z, et al. Novel Rao-Blackwellized Particle Filter for Mobile Robot SLAM Using Monocular Vision[J]. International Journal of Intelligent Technology, 2008(1):63--69. (引:5)
[12]Klein G, Murray D. Parallel Tracking and Mapping for Small AR Workspaces[C]// IEEE and ACM International Symposium on Mixed and Augmented Reality. IEEE, 2008:1-10. (引:1927)
[13]Klein G, Murray D. Improving the Agility of Keyframe-Based SLAM[C]// European Conference on Computer Vision. Springer-Verlag, 2008:802-815. (引:290)
[14]Mur-Artal R, Tardós J D. Fast relocalisation and loop closing in keyframe-based SLAM[C]// IEEE International Conference on Robotics and Automation. IEEE, 2014:846-853. (引:28)
[15]Mur-Artal R, Montiel J M M, Tardós J D. ORB-SLAM: A Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2015, 31(5):1147-1163. (引:145)
[16]Henry P, Krainin M, Herbst E, et al. RGB-D mapping: Using depth cameras for dense 3-D modeling of indoor environments[M]//KHATIB O, KUMAR V, PAPPAS G J. Experimental Robotics. Berlin Heidelberg: Springer, 2014: 647-663.
最早提出使用RGBD相機對室內環境進行三維重建的方法,在彩色圖像中提取SIFT特征並在深度圖像上查找相應的深度信息。然后使用RANSAC方法對3D特征點進行匹配並計算出相應的剛體運動變換,再以此作為ICP(iterative closest point)的初始值來求出更精確的位姿。RGBD SLAM通常使用ICP算法來進行位姿估計。其基本流程為:
[17]Henry P, Krainin M, Herbst E, et al. RGB-D mapping: Using Kinect-style depth cameras for dense 3D modeling of indoor environments[M]// Experimental Robotics. Springer Berlin Heidelberg, 2014:647-663. (引:435)
與文獻[16]類似,不同點在於對彩色圖像進行的是SURF特征提取,並用ICP對運動變換進行優化后,最后使用Hogman位姿圖優化方法求出全局最優位姿。
[18]Jan Stühmer, Gumhold S, Cremers D. Real-time dense geometry from a handheld camera[C]// Dagm Conference on Pattern Recognition. Springer-Verlag, 2010:11-20.(引:123)
文獻18的相機定位方法依賴圖像的每個像素點,即用稠密的圖像對准來進行自身定位並構建稠密的3-D地圖。
[19]Engel J, Sturm J, Cremers D. Semi-dense Visual Odometry for a Monocular Camera[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2013:1449-1456. (引:125)
文獻19對當前圖像構建半稠密inverse深度地圖,並使用稠密圖像配准(dense image alignment)法計算相機位姿。構建半稠密地圖即估計圖像中梯度較大的所有像素的深度值,該深度值被表示為高斯分布,且當新的圖像到來時,該深度值被更新。
[20]Newcombe R A, Lovegrove S J, Davison A J. DTAM: Dense tracking and mapping in real-time[C]// IEEE International Conference on Computer Vision. IEEE, 2012:2320-2327. (引:545)
文獻20對每個像素點進行概率的深度測量,有效降低了位姿估計的不確定性。
[21]Forster C, Pizzoli M, Scaramuzza D. SVO: Fast semi-direct monocular visual odometry[C]// IEEE International Conference on Robotics and Automation. IEEE, 2014:15-22. (引:215)
提出了一種半直接的單目視覺里程計方法,該方法相比於直接法不是對整幅圖像進行直接匹配從而獲得相機位姿,而是通過在整幅圖像中提取的圖像塊來進行位姿的獲取,這樣能夠增強算法的魯棒性。
[22]Engel J, Schöps T, Cremers D. LSD-SLAM: Large-Scale Direct Monocular SLAM[M]// Computer Vision – ECCV 2014. Springer International Publishing, 2014:834-849. (引:257)
提出了LSD-SLAM算法(large-scale direct SLAM),相比之前的直接的視覺里程計方法,該方法在估計高准確性的相機位姿的同時能夠創建大規模的三維環境地圖。
[23]Newcombe R A, Izadi S, Hilliges O, et al. KinectFusion: Real-time dense surface mapping and tracking[C]// IEEE International Symposium on Mixed and Augmented Reality. IEEE Computer Society, 2011:127-136.(引:1345)
提出了Kinect融合算法,該方法通過Kinect獲取的深度圖像對每幀圖像中的每個像素進行最小化距離測量而獲得相機位姿,且融合所有深度圖像,從而獲得全局地圖信息。
[24]Gokhool T, Meilland M, Rives P, et al. A dense map building approach from spherical RGBD images[C]// International Conference on Computer Vision Theory and Applications. IEEE, 2014:656-663. (引:5)
使用圖像像素點的光度信息和幾何信息來構造誤差函數,通過最小化誤差函數而獲得相機位姿,且地圖問題被處理為位姿圖表示。
[25]Kerl C, Sturm J, Cremers D. Dense visual SLAM for RGB-D cameras[C]// Ieee/rsj International Conference on Intelligent Robots and Systems. IEEE, 2014:2100-2106. (引:138)
是較好的直接RGB-D SLAM方法,該方法結合像素點的強度誤差與深度誤差作為誤差函數,通過最小化代價函數,從而求出最優相機位姿,該過程由g2o實現,並提出了基於熵的關鍵幀提取及閉環檢測方法,從而大大降低路徑誤差。
[26]Lowe D G. Distinctive Image Features from Scale-Invariant Keypoints[M]. Kluwer Academic Publishers, 2004. (引:3.6萬)
[27]Bay H, Tuytelaars T, Gool L V. SURF: Speeded Up Robust Features[M]// Computer Vision-ECCV 2006. Springer Berlin Heidelberg, 2006:404-417.(引:9931)
[28]Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF[C]// IEEE International Conference on Computer Vision. IEEE, 2012:2564-2571.(引:1892)
[29]Eade E, Drummond T. Edge landmarks in monocular SLAM[J]. Image & Vision Computing, 2009, 27(5):588-596. (引:126)
[30]Klein G, Murray D. Improving the Agility of Keyframe-Based SLAM[C]// European Conference on Computer Vision. Springer-Verlag, 2008:802-815. (引:290)
[31]Concha A, Civera J. Using superpixels in monocular SLAM[C]// IEEE International Conference on Robotics and Automation. IEEE, 2014:365-372. (引:19)
[32]Williams B, Cummins M, Neira J, et al. A comparison of loop closing techniques in monocular SLAM[J]. Robotics & Autonomous Systems, 2009, 57(12):1188-1197.(引:139)
文獻32對閉環檢測方法進行了比較,且得出圖像對圖像[33,34]的匹配性能由於地圖對地圖[35],圖像對地圖[36]的匹配方法。
[33]Mur-Artal R, Tard貿s J D. ORB-SLAM: Tracking and Mapping Recognizable Features[C]// The Workshop on Multi View Geometry in Robotics. 2014.
[34]]Cummins M J, Newman P M. Accelerated appearance-only SLAM[C] / /IEEE International Conference on Robotics and Automation,2008:1828- 1833.
[35]Burgard W, Brock O, Stachniss C. Mapping Large Loops with a Single Hand-Held Camera[C]// Robotics: Science & Systems Iii, June, Georgia Institute of Technology, Atlanta, Georgia, Usa. DBLP, 2007:297-304. (引:282)
[36]Cummins M, Newman P. FAB-MAP: Probabilistic Localization and Mapping in the Space of Appearance[J]. International Journal of Robotics Research, 2008, 27(6):647-665.(引:737)
[37]Nister D, Stewenius H. Scalable Recognition with a Vocabulary Tree[C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2006:2161-2168. (引:3605)
[9]權美香, 朴松昊, 李國. 視覺SLAM綜述[J]. 智能系統學報, 2016, 11(6):768-776.
QUAN Meixiang, PIAO Songhao, LI Guo. An overview of visual SLAM[J]. CAAI transactions on intelligent systems, 2016, 11(6): 768-776.
內容:基於特征的視覺SLAM方法、直接的SLAM方法、SIFT,SURF,ORB特征的檢測與匹配、關鍵幀選擇方法、對消除累積誤差的閉環檢測及地圖優化的方法。
根據采用的視覺傳感器的不同,可將視覺SLAM分為:單目視覺SLAM;立體視覺SLAM中的雙目視覺SLAM;基於單目相機與紅外傳感器結合構成的RGB-D SLAM。
基於特征的視覺SLAM方法:指的是對輸入的圖像進行特征點檢測及提取,並基於2-D或3-D的特征匹配計算相機的位姿及對環境進行建圖。
早期的單目視覺SLAM的實現是借助於濾波器實現的。
1.利用擴展卡爾曼濾波器(extended Kalman filter, EKF)實現同時定位與地圖創建,主要思想是使用狀態向量來存儲相機位姿及地圖點的三維坐標,利用概率密度函數來表示不確定性,從觀測模型和遞歸的計算,最終獲得更新的狀態向量
的均值和方差。
2.為了解決計算復雜度及線性化帶來的不確定性問題,針對單目視覺的SLAM文獻[6,7,8]引入了無跡卡爾曼濾波器(Unscented Kalman filter, UKF)或改進的UKF,雖然改善了不確定性的問題,但增加了計算復雜度。
3.文獻[10,11]利用Rao-Blackwellized粒子濾波(Particle filter)實現單目視覺SLAM,此方法避免了線性化且對相機的快速運動有一定的彈力,但為了保證定位精度,則需要使用較多的粒子,從而大大提高了計算復雜度。
4.基於關鍵幀的單目視覺SLAM[12,13,14,15],其中最具有代表性的是parallel tracking and mapping(PTAM)[12],該論文提出了一個簡單、有效的提取關鍵幀的方法,且將定位和創建地圖分為兩個獨立的任務,並在兩個線程上進行。文獻[15]是在關鍵幀的基礎上提出的一個單目視覺SLAM系統,將整個SLAM過程分為定位、創建地圖、閉環3個線程,且對這3個任務使用相同的ORB特征,並引進本質圖的概念來加速閉環校正的過程。
5.微軟推出的Kinect相機能夠同時獲取圖像信息和深度信息,從而簡化了三維重建過程,使得基於RGB-D SLAM得到了迅速發展。
直接的SLAM方法:指的是直接對像素點的強度進行操作,避免了特征點的提取,該方法能夠使用圖像的所有信息[18,19,20,21,22,23,24,25]。
視覺SLAM的主要標志性成果:
看論文
SLAM的主要研究實驗室:
1.蘇黎世聯邦理工學院的Autonomous System Lab,該實驗室在tango項目上與谷歌合作,負責視覺慣導的里程計,基於視覺的定位和深度重建算法。
2.明尼蘇達大學的Multiple Autonomous Robotic Systems Laboratory,主要研究四軸飛行器導航,合作建圖,基於地圖的定位,半稠密地圖創建等。
3.慕尼黑理工大學的The Computer Vision Group,主要研究基於圖像的3-D重建,機器人視覺,視覺SLAM等。
SLAM的關鍵性問題:
1.特征檢測與匹配
目前使用最多的是點特征:SIFT(Scale invariant feature transform)[26]特征,SURF(Speeded up robust features)[27]特征和ORB(oriented fast and rotated BRIEF)[28]特征。
SIFT特征具有可辨識性,由於其描述符用高維向量(128維)表示,且具有旋轉不變性、尺度不變性、放射不變性,對噪聲和光照變化也有魯棒性,在視覺SLAM使用了SIFT特征,但是由於SIFT特征的向量維數太高,導致時間復雜度高。
SURF特征具有尺度不變性、旋轉不變性,且相對於SIFT特征的算法速度提高了3到7倍。對兩幅圖像的SIFT和SURF特征進行匹配時通常是計算兩個特征向量之間的歐氏距離,並以此作為特征特征點的相似性判斷度量。
ORB特征是FAST特征檢測算子與BRIEF描述符的結合,並在其基礎上做了改進。ORB特征最大的優點是計算速度快,是SIFT的100倍,SURF的10倍,其原因是FAST特征檢測速度就很快,再加上BRIEF描述符是二進制串,大大縮減了匹配速度,並且具有旋轉不變性但不具有尺度不變性。ORB特征匹配是以BRIEF二進制描述符的漢明距離為相似性度量的。
但對於包含大量直線和曲線的環境下,使用點特征環境中的很多信息會被丟失,所以提出了基於邊特征的視覺SLAM[29,30]和基於區域特征的視覺SLAM[31]。
2.關鍵幀的選擇
幀對幀的對准方法會造成大的累積漂浮,由於位姿估計過程中總會產生誤差。為了減少幀對幀的對准方法帶來的誤差,基於關鍵幀的SLAM[12-16,25,]方法被提出。
文獻[10,13]里當滿足一下全部條件時該幀作為關鍵幀插入到地圖里:從上一個關鍵幀經過了n個幀;當前幀至少能看到n個地圖點,位姿估計准確性較高。
3.閉環檢測(loop closing)方法
閉環檢測及位置識別,判斷當前位置是否是以前已訪問過的環境區域。三維重建過程中必然會產生誤差累積,實現閉環是消除的一種手段。在位置識別算法中,視覺是主要的傳感器。文獻32對閉環檢測方法進行了比較,且得出圖像對圖像[33,34]的匹配性能由於地圖對地圖[35],圖像對地圖[36]的匹配方法。
圖像對圖像的匹配方法中,詞袋(bag of words)方法由於其有效性的到了廣泛應用。詞袋指的是使用視覺詞典樹(visual vocabulary tree)將一幅圖像的內容轉換為數字向量的技術。對訓練圖像進行特征提取,並將其特征描述符空間通過K中心點聚類(K medians clustering)方法離散化為個簇,由此,詞典樹的第一節點層被創建。下面的層通過對每個簇重復執行這個操作而獲得,直到共獲得層。最終獲得W個葉子節點,即視覺詞匯。每層到每層的K中心聚類過程如圖所示[36]。
4.地圖優化:
閉環檢測成功后,往地圖里添加閉環約束,執行閉環校正。閉環問題可以描述為大規模的光束平差法(bundle adjustment)問題,即對相機位姿及所有的地圖點3D坐標進行優化,但是該優化算法復雜度太高,從而很難實現實時。
一種可執行方法為通過位姿圖優化(pose graph optimization)方法來對閉環進行優化,頂點為相機位姿,邊表示位姿之間相對變換的圖稱為位姿圖,位姿圖優化即將閉環誤差沿着圖進行分配,即均勻分配到圖上的所有位姿上。圖優化通常由圖優化框架g2o(general graph optimization)[38]里的LM(levenberg-marquardt)算法實現。
[38]Kümmerle R, Grisetti G, Strasdat H, et al. G2o: A general framework for graph optimization[C]// IEEE International Conference on Robotics and Automation. IEEE, 2011:e43478.
5.視覺SLAM主要發展趨勢及研究熱點
5.1 多傳感器融合
相機能夠捕捉場景的豐富細節,而慣性測量單元(inertial measurement unit, IMU)有高的幀率且相對小的能夠獲得准確的短時間估計,這兩個傳感器能夠相互互補,從而一起使用能夠獲得更好的結果。
最初的視覺與IMU結合的位姿估計是用濾波方法解決的,用IMU的測量值作為預測值,視覺的測量值用於更新。
許多結果都已證明在准確性上基於優化的視覺SLAM優於基於濾波的SLAM方法。
5.2 SLAM與深度學習結合
隨着深度學習在計算機視覺領域的大成功,大家對深度學習在機器人領域的應用有很大的興趣。SLAM是一個大系統,里面有很多子模塊,例如閉環檢測,立體匹配等,都可通過深度學習的使用來獲得更優的結果。
1.基於深度學習的立體匹配方法——卷積神經網絡
2.整合全局敏感散列法和新的語義搜尋空間划分的優化技術——卷積神經
3.卷積神經網絡學習視覺里程計的最佳視覺特征和最優的估計器
4.重定位系統——貝葉斯卷積神經網絡
6.視覺SLAM的優缺點
6.1單目視覺SLAM的優缺點
單目相機應用靈活、簡單、價格低。但是,單目視覺SLAM在每個時刻只能獲取一張圖像,且只能依靠獲得的圖像數據計算環境物體的方向信息,無法直接獲得可靠的深度信息,從而初始地圖創建及特征點的深度恢復都比較困難。此外,尺度不確定性是單目SLAM的主要特點,它是主要的誤差源之一,但是正是尺度不確定性才使得單目SLAM能夠在大尺度和小尺度環境之間進行自由轉換。
6.2 雙目視覺SLAM的優缺點
雙目視覺SLAM利用外極線幾何約束的原理去匹配左右兩個相機的特征,從而能夠在當前幀速率的條件下直接提取完整的特征數據,因而應用比較廣泛,它直接解決了系統地圖特征的初始化問題。但是系統設計比較復雜,系統成本比較高,且它的視角范圍受到一定限制,不能夠獲取遠處的場景,從而只能在一定的尺度范圍內進行可靠的測量,從而缺乏靈活性。
6.3 RGBD SLAM的優缺點
深度相機在獲得彩色圖像的同時獲得深度圖像,從而方便獲得深度信息,且能夠獲得稠密的地圖,但是成本高,體積大,有效探測距離太短,從而可應用環境很有限。
[39]王希彬, 趙國榮, 潘爽. 無人機視覺同時定位與地圖創建技術綜述[C]// 中國自動化學會控制理論專業委員會C卷. 2011.
對無人機視覺SLAM當前面臨的挑戰做了詳述,建立了狀態方程和測量方程,並對視覺SLAM的地標初始化技術進行了詳細歸納,總結了EKF、SEIF和FASTSLAM三種濾波方法在SLAM中的應用研究狀況,
