雷鋒網(公眾號:雷鋒網)按:本文作者龍建睿,深圳市大道智創科技有限公司聯合創始人&研發總監,美國伊利諾伊理工大學博士研究生,「E巡-機器警長」首席產品經理。
同時定位與地圖構建(Simultaneous Localization And Mapping,簡稱SLAM),通常是指在機器人或者其他載體上,通過對各種傳感器數據進行採集和計算,生成對其自身位置姿態的定位和場景地圖信息的系統。SLAM技術對於機器人或其他智能體的行動和交互能力至為關鍵,因為它代表了這種能力的基礎:知道自己在哪裡,知道周圍環境如何,進而知道下一步該如何自主行動。它在自動駕駛、服務型機器人、無人機、AR/VR等領域有著廣泛的應用,可以說凡是擁有一定行動能力的智能體都擁有某種形式的SLAM系統。
一般來講,SLAM系統通常都包含多種傳感器和多種功能模塊。而按照核心的功能模塊來區分,目前常見的機器人SLAM系統一般具有兩種形式:基於雷射雷達的SLAM(雷射SLAM)和基於視覺的SLAM(Visual SLAM或VSLAM)。
雷射SLAM簡介雷射SLAM脫胎於早期的基於測距的定位方法(如超聲和紅外單點測距)。雷射雷達(Light Detection And Ranging)的出現和普及使得測量更快更準,信息更豐富。雷射雷達採集到的物體信息呈現出一系列分散的、具有準確角度和距離信息的點,被稱為點雲。通常,雷射SLAM系統通過對不同時刻兩片點雲的匹配與比對,計算雷射雷達相對運動的距離和姿態的改變,也就完成了對機器人自身的定位。
雷射雷達距離測量比較準確,誤差模型簡單,在強光直射以外的環境中運行穩定,點雲的處理也比較容易。同時,點雲信息本身包含直接的幾何關係,使得機器人的路徑規劃和導航變得直觀。雷射SLAM理論研究也相對成熟,落地產品更豐富。
圖1,雷射SLAM的地圖構建(谷歌Cartographer[1])
VSLAM簡介眼睛是人類獲取外界信息的主要來源。視覺SLAM也具有類似特點,它可以從環境中獲取海量的、富於冗餘的紋理信息,擁有超強的場景辨識能力。早期的視覺SLAM基於濾波理論,其非線性的誤差模型和巨大的計算量成為了它實用落地的障礙。近年來,隨著具有稀疏性的非線性優化理論(Bundle Adjustment)以及相機技術、計算性能的進步,實時運行的視覺SLAM已經不再是夢想。
通常,一個VSLAM系統由前端和後端組成(圖2)。前端負責通過視覺增量式計算機器人的位姿,速度較快。後端,主要負責兩個功能:
VSLAM的優點是它所利用的豐富紋理信息。例如兩塊尺寸相同內容卻不同的廣告牌,基於點雲的雷射SLAM算法無法區別他們,而視覺則可以輕易分辨。這帶來了重定位、場景分類上無可比擬的巨大優勢。同時,視覺信息可以較為容易的被用來跟蹤和預測場景中的動態目標,如行人、車輛等,對於在複雜動態場景中的應用這是至關重要的。第三,視覺的投影模型理論上可以讓無限遠處的物體都進入視覺畫面中,在合理的配置下(如長基線的雙目相機)可以進行很大尺度場景的定位與地圖構建。
圖2,視覺SLAM的前端定位與後端地圖維護(ORB-SLAM2[2])
接下來我們將在細分項目上比較雷射SLAM和VSLAM。
應用場景
在應用場景上,雷射SLAM依據所使用的雷射雷達的檔次基本被分為涇渭分明的室內應用和室外應用,而VSLAM在室內外都有豐富的應用環境。VSLAM的主要挑戰是光照變化,例如在室外正午和夜間的跨時間定位與地圖構建,其工作穩定性不如高端室外多線雷射雷達。近年來,光照模型修正和基於深度學習的高魯棒性特徵點被廣泛應用於視覺SLAM的研究中,體現出良好的效果,應當說VSLAM隨著這些技術的進步將會在光照變化的環境中擁有更穩定的表現。
影響穩定工作的因素雷射SLAM不擅長動態環境中的定位,比如有大量人員遮擋其測量的環境,也不擅長在類似的幾何環境中工作,比如在一個又長又直、兩側是牆壁的環境。由於重定位能力較差,雷射SLAM在追蹤丟失後很難重新回到工作狀態。而視覺SLAM在無紋理環境(比如面對整潔的白牆面),以及光照特別弱的環境中,表現較差。
定位和地圖構建精度在靜態且簡單的環境中,雷射SLAM定位總體來講優於視覺SLAM;但在較大尺度且動態的環境中,視覺SLAM因為其具有的紋理信息,表現出更好的效果。在地圖構建上,雷射SLAM的特點是單點和單次測量都更精確,但地圖信息量更小;視覺SLAM特別是通過三角測距計算距離的方法,在單點和單次測量精度上表現總體來講不如雷射雷達,但可以通過重複觀測反覆提高精度,同時擁有更豐富的地圖信息。
累計誤差問題雷射SLAM總體來講較為缺乏迴環檢測的能力,累計誤差的消除較為困難。而視覺SLAM使用了大量冗餘的紋理信息,迴環檢測較為容易,即使在前端累計一定誤差的情況下仍能通過迴環修正將誤差消除。
傳感器成本雷射雷達事實上有許多檔次,成本都高於視覺傳感器。最昂貴如Velodyne的室外遠距離多線雷達動輒數十萬元人民幣,而室外使用的高端中遠距離平面雷達如SICK和Hokuyo大約在數萬元人民幣的等級。室內應用較廣的中低端近距離平面雷射雷達也需要千元級—,其價格相當於比較高端的工業級攝像頭和感光晶片。雷射雷達量產後成本可能會大幅下降,但能否降到同檔次攝像頭的水平仍有一個大大的問號。
傳感器安裝和穩定性目前常見的雷射雷達都是旋轉掃描式的,內部長期處於旋轉中的機械結構會給系統帶來不穩定性,在顛簸震動時影響尤其明顯。而攝像頭不包含運動機械結構,對空間要求更低,可以在更多的場景下安裝使用(圖3)。不過,固態雷射雷達的逐步成熟可能會為雷射SLAM扳回這項劣勢。
圖3 雷射雷達和視覺系統的安裝應用。谷歌無人車上的多線雷射雷達
DJI精靈4上的視覺系統。
算法難度雷射SLAM由於其研究的成熟以及誤差模型的相對簡單,在算法上門檻更低,部分開源算法甚至已經被納入了ROS系統成為了標配。而反觀視覺SLAM,首先圖像處理本身就是一門很深的學問,而基於非線性優化的地圖構建上也是非常複雜和耗時的計算問題。現在已經有許多優秀的開源算法(如ORB-SLAM[2]、LSD-SLAM[3]),但在實際環境中優化和改進現有的視覺SLAM框架,比如加入光照模型、使用深度學習提取的特徵點、以及使用單雙目及多目融合視角等技術,將是視覺SLAM進一步提升性能和實用性的必由之路。這些技術的算法門檻也遠遠高於雷射SLAM。
計算需求毫無疑問,雷射SLAM的計算性能需求大大低於視覺SLAM。主流的雷射SLAM可以在普通ARM CPU上實時運行,而視覺SLAM基本都需要較為強勁的準桌面級CPU或者GPU支持。但業界也看到了這其中蘊藏的巨大機會,為視覺處理定製的ASICS市場已經蠢蠢欲動。一個很好的例子是Intel旗下的Movidius,他們設計了一種特殊的架構來進行圖像、視頻與深度神經網絡的處理,在瓦級的超低功耗下達到桌面級GPU才擁有的吞吐量。DJI的精靈4系列產品就是使用這類專用晶片,實現了高速低功耗的視覺計算,為無人機避障和近地面場景導航提供根據。
多機協作視覺主要是被動探測,不存在多機器人幹擾問題。而雷射雷達主動發射,在較多機器人時可能產生幹擾。尤其是固態雷射雷達的大量使用,可能使得場景中充滿了信號汙染,從而影響雷射SLAM的效果。
未來趨勢雷射SLAM和視覺SLAM各擅勝場,單獨使用都有其局限性,而融合使用則可能具有巨大的取長補短的潛力。例如,視覺在紋理豐富的動態環境中穩定工作,並能為雷射SLAM提供非常準確的點雲匹配,而雷射雷達提供的精確方向和距離信息在正確匹配的點雲上會發揮更大的威力(圖4)。而在光照嚴重不足或紋理缺失的環境中,雷射SLAM的定位工作使得視覺可以藉助不多的信息進行場景記錄。
圖4,KITTI數據集視覺裡程計。ORB-SLAM[2],雙目視覺。
V-LOAM[4],視覺引導雷射修正。
現實中的雷射與視覺SLAM系統幾乎都會配備慣性元件、輪機裡程計、衛星定位系統、室內基站定位系統等輔助定位工具,而近年來SLAM系統與其他傳感器的融合成為了一大熱點。不同於以往基於卡爾曼濾波的鬆耦合融合方法,現在學界的熱點是基於非線性優化的緊耦合融合。例如與IMU的融合和實時相互標定,使得雷射或視覺模塊在機動 (猛烈加減速和旋轉) 時可以保持一定的定位精度,防止跟蹤丟失,極大的提高定位與地圖構建的穩定性。
雷射點雲信息本身也仍有潛力可挖。在高端的遠距離多線雷射雷達上,返回的點雲除了包含方向和距離信息,還可以加入目標點的反射率信息。當線數較多較密時,由反射率信息構成的數據可以視為一種紋理信息,因此可以在一定程度上享受視覺算法和紋理信息帶來的重定位等方面的優勢。這些信息一旦融入到高精度地圖中,高精度地圖就可以在點雲\紋理兩種形式間無縫切換,使得利用高精度地圖的定位可以被只擁有廉價攝像頭的自動駕駛汽車分享。這也是目前國外一些團隊的研究方向([5])。
同時,視覺所依賴的投影模型,蘊含著非常豐富的「混搭」玩法。長、短基線的單雙目結合,可以在保證大尺度定位水平的同時提高中近距離的障礙探測和地圖構建精度;廣角魚眼和360度全向攝像頭與標準單雙目的結合,使得VSLAM的覆蓋範圍可以進一步提升,特別適合對場景按照距離的遠近進行不同精度不同速度的定位。被動視覺與深度相機的結合,催生了RGB-D SLAM,而深度相機量程的逐步擴大,將給這種特殊VSLAM帶來更大的應用空間。
VSLAM的另一個也許更宏大的擴展在AI端。端到端的深度學習所帶來的圖像特徵,已經在識別和分類領域大大超越了人類手工選擇的SIFT/SURF/ORB等特徵。我們可以很安全的說,未來在低紋理、低光照等環境下,深度學習所訓練出的提取、匹配和定位估算等方法,也一定會超越目前VSLAM領域最先進的手工方法。更不用說,圖像本身所大量攜帶的信息,可以廣泛用於場景理解、場景分類、物體識別、行為預測等重要方面。一個很可能的情況是,未來視覺處理系統將直接包含定位、地圖構建、運動規劃、場景理解以及交互等多個功能模塊,更緊密的聯合帶來更加智能的機器人行動能力。
如果想深入了解SLAM技術的過去、現在和未來趨勢,我們推薦文獻[6]。
結語SLAM技術將賦予為機器人和智能體前所未有的行動能力。作為當前SLAM框架的主要類型,雷射SLAM與視覺SLAM必將在相互競爭和融合中發展,必將帶來機器人技術和人工智慧技術的真正革命,也將使得機器人從實驗室和展示廳中走出來,真正服務和解放人類。
引用參考:
[1] Cartographer https://github.com/googlecartographer
[2] ORB-SLAM2 R. Mur-Artal and J. D. Tardos, 「ORB-SLAM2: An open-source SLAM system for monocular, stereo, and RGB-D cameras,」 IEEE Transactions on Robotics (2017).
[3] LSD-SLAM J. Engel, J. Stuckler, and D. Cremers, 「Large-scale direct SLAM with stereo cameras,」 Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on. IEEE, 2015
[4] V-LOAM J. Zhang and S. Singh, 「Visual-lidar odometry and mapping: Low-drift, robust, and fast,」 Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015.
[5] G. Pascoe, W. Maddern, and P. Newman, 「Direct visual localization and calibration for road vehicles in changing city environments,」 Proceedings of the IEEE International Conference on Computer Vision Workshops, 2015.
[6] C. Cadena, et. al. 「Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age,」 IEEE Transactions on Robotics 32.6 (2016): 1309-1332.
雷鋒網特約稿件,未經授權禁止轉載。詳情見轉載須知。