自動駕駛車輛在不同的駕駛環境中需要精確的定位和建圖解決方案。在這種背景下,SLAM技術是一個很好的解決方案。LIDAR和相機傳感器通常用于定位和感知。然而,經過十年或二十年的發展,激光雷達SLAM方法似乎沒有太大變化。與基于激光雷達的方案相比,視覺SLAM具有低成本和易于安裝的優點,具有較強的場景識別能力。事實上,人們正試圖用相機代替激光雷達傳感器,或者在自動駕駛領域中基于相機集成其他傳感器。
基于視覺SLAM的研究現狀,本文對視覺SLAM技術進行了綜述。特別是,論文首先說明了視覺SLAM的典型結構。其次全面回顧了視覺和基于視覺(即視覺-慣性、視覺-LIDAR、視覺-LIAR-IMU)SLAM的最新研究,并將論文之前工作的定位精度與公共數據集上的知名框架進行了比較。最后,討論了用于自動駕駛車輛的視覺SLAM技術的關鍵問題和未來發展趨勢。
01 簡介
隨著機器人技術和人工智能(AI)技術的發展,自動駕駛車輛(汽車)已成為工業界和學術界的一個熱門話題(Badue等人,2021)。為了安全導航,它需要為周圍環境創建一個準確的表示,并估計其中的自車狀態(即自車定位)。傳統的定位方法基于GPS或實時動態(RTK)定位系統(Cadena等人,2016b)。然而,由于信號反射、時間誤差和大氣條件,GPS的測量誤差限制在十幾米以內,這對于車輛導航來說是不可接受的,尤其是當車輛在隧道和城市峽谷場景中行駛時(Cheng等人,2019)。RTK能夠通過固定校準基站的內部校正信號來校正這些誤差,但這種系統依賴于成本較高的附加基礎設施(Infotip Service GmbH,2019)。
SLAM方法被認為是自動駕駛車輛定位和導航的良好解決方案,它可以實時估計移動車輛的姿態,同時構建周圍環境的地圖(Durrantwhyte和Bailey,2006)。根據傳感器類型的不同,SLAM方法主要分為兩類:LIDAR SLAM和視覺SLAM。由于激光雷達SLAM比視覺SLAM啟動得早,因此在自動駕駛儀的應用中相對成熟(Debeunne和Vivet,2020a)。與相機相比,激光雷達傳感器對光照和夜間的變化不太敏感。此外,它還可以提供具有更大視野(FOV)的3D地圖信息。然而難以負擔的成本和大規模的長開發周期導致激光雷達傳感器難以普及。相比之下,視覺SLAM具有信息豐富、易于安裝的優點,并且使系統更便宜、更輕。
目前視覺SLAM系統可以在微型個人計算機(PC)和嵌入式設備中運行,甚至可以在智能手機等移動設備中運行(Klein和Murray,2009)。與室內或室外移動機器人不同,自動駕駛車輛具有更復雜的參數,尤其是當車輛在城市環境中自動駕駛時。例如,環境的面積更大,有動態障礙,因此視覺SLAM方法的性能不夠準確和魯棒(Cadena等人,2016a)。
諸如誤差累積和照明變化以及快速運動等問題導致有問題的估計。已經考慮了各種方法來解決與自動駕駛車輛相關的這些問題。例如用于視覺里程(VO)的基于特征點/直接/半直接/點線融合的算法(Singandhupe和La,2019),以及用于姿態估計的擴展卡爾曼濾波器(EKF)/基于圖的優化算法(Takleh等人,2018)。同時,基于視覺的多傳感器融合方法也為提高自主系統的精度而引起了極大的關注。在基于視覺的SLAM系統中,除了建圖模塊之外,傳感器數據的收集(如相機或慣性測量單元(IMU)、VO和視覺慣性里程計(VIO)系統)在前端完成,而優化、閉環在后端完成。重定位始終被認為是提高視覺SLAM系統準確性的附加模塊(Taketomi等人,2017)。
本文綜述了視覺SLAM方法。這主要是從視覺SLAM系統的定位精度方面考慮的,并且已經盡可能詳細地研究了可能應用于自動駕駛場景的方法,包括純視覺SLAM方法、視覺-慣性SLAM方法和視覺-LIDAR-慣性SLAM方法,并且將論文先前工作的定位精度與公共數據集上的已知方法進行了比較。這篇綜述對視覺SLAM技術進行了詳細的綜述,可以為自動駕駛汽車領域的新研究人員提供友好的指南。此外,它可以被視為一本詞典,供有經驗的研究人員在未來的工作中尋找可能的方向。
02 視覺SLAM原理
視覺SLAM系統的經典結構可分為五個部分:相機傳感器模塊、前端模塊、后端模塊、回環模塊和建圖模塊。如圖1所示,相機傳感器模塊負責收集圖像數據,前端模塊負責跟蹤兩個相鄰幀之間的圖像特征,以實現初始相機運動估計和局部建圖,后端模塊負責前端的數值優化和進一步的運動估計,回環模塊負責通過計算大規模環境中的圖像相似度來消除累積誤差,建圖模塊負責重建周圍環境(Gao等人,2017)。
2.1 相機傳感器
根據傳感器類型的不同,常見的視覺傳感器主要可分為單目、雙目、RGB-D和事件攝像機。攝像機傳感器如圖2所示。市場上流行的視覺傳感器制造商和產品如下,但不限于:
· MYNTAI:S1030系列(帶IMU的雙目攝像頭)、D1000系列(深度攝像頭)、D1200系列(適用于智能手機);
· Stereolabs ZED:Stereolab ZED相機(深度范圍:1.5至20米);
· Intel:200系列、300系列、Module D400系列、D415(主動紅外雙目、滾動快門)、D435(主動紅外雙目、全局快門)、D4 35i(集成IMU);
· 微軟:Azure Kinect(適用于帶IMU的麥克風)、Kinectc-v1(結構光)、Kinect-v2(TOF);
· Occipital Structure:Structure Camera (應用于ipad);
· 三星:第2代和第3代動態攝像頭和基于事件的視覺解決方案(Son等人,2017b)。
2.2 前端
視覺SLAM的前端被稱為視覺里程計(VO)。它負責基于相鄰幀的信息粗略地估計相機運動和特征方向。為了獲得具有快速響應速度的精確姿態,需要有效的VO。目前,前端主要可分為兩類:基于特征的方法和直接方法(包括半直接方法)(Zou等人,2020)。本節主要回顧VO的基于特征的方法。
關于半直接和直接方法在后文。基于特征點的VO系統運行更穩定,對光和動態目標相對不敏感。具有高尺度和良好旋轉不變性的特征提取方法可以大大提高VO系統的可靠性和穩定性(Chen等人,2019)。1999年,Lowe(2004)提出了尺度不變特征變換(SIFT)算法,該算法在2004年得到了改進和發展。整個算法分為三個步驟來完成圖像特征點的提取和描述。i) 通過高斯差分金字塔方法構建尺度空間,并通過高斯微分函數識別感興趣的點。ii)確定每個候選的位置和比例,然后找出關鍵點。iii)將指向特征指定給關鍵點以獲得描述子。SIFT消耗大量計算。SURF(Herbert等人,2007)是SIFT的改進。它解決了SIFT運算量大、實時性差的缺點,保持了SIFT算子的優良性能。盡管如此,SURF算法在應用于實時SLAM系統時具有更大的局限性。在保證性能的基礎上,提出了一種更加注重計算速度的特征提取算法。2011年,Viswanathan(2011)提出了一種基于模板和機器學習方法的局部角點檢測方法,即FAST角點檢測法。FAST算法將要檢測的像素作為圓心,當具有固定半徑的圓上的其他像素與圓心的像素之間的灰度差足夠大時,該點被認為是角點。然而,FAST角點不具有方向和尺度信息,它們不具有旋轉和尺度不變性。
2012年,Rublee等人(2012)提出了基于FAST角點和BRIEF描述符的定向FAST和旋轉BRIEF(ORB)算法。該算法首先在圖像上構建圖像金字塔,然后檢測FAST關鍵點并計算關鍵點的特征向量。ORB的描述符采用了二進制字符串特征BRIEF描述符的快速計算速度(Michael等人,2010),因此ORB計算速度比具有實時特征檢測的fast算法更快。此外ORB受噪聲影響較小,具有良好的旋轉不變性和尺度不變性,可應用于實時SLAM系統。2016年,Chien等人(2016)比較并評估了用于VO應用的SIFT、SURF和ORB特征提取算法。通過對KITTI數據集的大量測試(Geiger等人,2013),可以得出結論,SIFT在提取特征方面最準確,而ORB的計算量較小。
因此,作為計算能力有限的嵌入式計算機,ORB方法被認為更適合自動駕駛車輛的應用。VO的其他圖像特征描述子如下所列,但不限于DAISY(Tola等人,2010)、ASIFT(Morel和Yu,2009)、MROGH(Fan等人,2011a)、HARRIS(Wang等人,2008)、LDAHash(Fan等,2011b)、D-BRIEF(Trzcinski和Lepetit,2012)、Vlfeat(Vedali和Fulkerson,2010),FREAK(Alahi等人,2012),Shape Context(Belongie等人,2002)、PCA-SIFT(Ke和Sukthantar,2004)。
2.3 后端
后端接收前端估計的攝像機位姿,并優化初始位姿,以獲得全局一致的運動軌跡和環境圖(Sunderhauf和Protzel,2012)。與前端的多樣化算法相比,當前后端算法的類型主要可分為兩類:基于濾波器的方法(如擴展卡爾曼濾波器(EKF)Bailey等人,2006)和基于優化的方法(例如因子圖Wrobel,2001)。它們的描述如下:基于濾波器的方法,該方法主要使用貝葉斯原理基于先前狀態和當前觀測數據來估計當前狀態(Liu,2019)。
典型的基于濾波器的方法包括擴展卡爾曼濾波器(EKF)(Bailey等人,2006)、無跡卡爾曼濾波器(UKF)(Wan和Merwe,2000)和粒子濾波器(PF)(Arnaud等人,2000)。以典型的基于EKF的SLAM方法為例,它在小規模環境中的應用相對成功。然而,由于協方差矩陣是存儲的,其存儲容量隨著狀態量的平方而增加,因此在大型未知場景中的應用總是受到限制。基于優化的方法,基于非線性優化(圖優化)方法的核心思想是將后端優化算法轉換為圖的形式,以不同時刻的主題位姿和環境特征為頂點,頂點之間的約束關系由邊表示(Liang等人,2013)。構建圖形后,使用基于優化的算法來求解目標的位姿,以便頂點上要優化的狀態更好地滿足相應邊上的約束。在執行優化算法之后,對應的圖是目標運動軌跡和環境圖。目前,大多數主流的視覺SLAM系統使用非線性優化方法。
2.4 回環
回環的任務是允許系統基于傳感器信息識別當前場景,并在返回原始位置時確定該區域已被訪問,從而消除SLAM系統的累積誤差(Newman和Ho,2005)。對于視覺SLAM,傳統的回環檢測方法主要使用單詞包(BoW)模型(Galvez LoPez和Tardos,2012),實現步驟為:i)通過對從圖像中提取的局部特征的K-means聚類,構建包含K個單詞的單詞列表。ii)根據每個單詞的出現次數將圖像表示為K維數值向量。iii)判斷場景的差異,并識別自動駕駛車輛是否已到達所識別的場景。
2.5 建圖
自動駕駛汽車的一個基本組成部分是建立環境地圖并在地圖上定位的能力。建圖是視覺SLAM系統的兩項任務之一(即定位和建圖),它在自動駕駛的導航、避障和環境重建中發揮著重要作用。一般來說,地圖的表示可以分為兩類:度量地圖和拓撲地圖。度量地圖描述了地圖元素之間的相對位置關系,而拓撲地圖強調了地圖元素間的連接關系。對于經典的SLAM系統,度量地圖可以進一步分為稀疏地圖和密集地圖,稀疏地圖僅包含場景中的少量信息,這適合于定位,而密集地圖包含更多信息,這有利于車輛根據地圖執行導航任務。
03 SOTA研究
3.1 視覺SLAM
與前文描述的VO子系統類似,根據利用圖像信息的方法,純視覺SLAM系統可分為兩類:基于特征的方法和直接方法。基于特征的方法是指通過提取和匹配特征點來估計相鄰幀之間的相機運動和構建環境地圖。這種方法的缺點是提取特征點和計算描述符需要很長時間。因此,一些研究人員建議放棄關鍵點和描述符的計算,然后產生直接方法(Zou等人,2020)。
此外,根據傳感器的類型,視覺SLAM可以分為單目、雙目、RGB-D和基于事件相機的方法。根據地圖的密度,可分為稀疏、密集和半密集SLAM,介紹如下:
3.1.1 基于特征的方法
2007年,Davison等人(2007)提出了第一個實時單目視覺SLAM系統,Mono-SLAM。實時特征patch方向估計的結果如圖3(a)所示。在后端使用EKF算法來跟蹤從前端獲取的稀疏特征點,并使用相機位姿和界標點方向作為狀態量來更新其均值和協方差。同年,Klein和Murray(2007)提出了一種并行跟蹤和建圖系統PTAM。它實現了跟蹤和建圖工作的并行化。特征提取和建圖的過程如圖3(b)所示,首次通過非線性優化方法區分了前端和后端,并提出了關鍵幀機制。
關鍵圖像串聯連接以優化運動軌跡和特征定向。許多隨后的視覺SLAM系統設計也采用了類似的方法。2015年,Mur Artal等人(2015)提出了ORB-SLAM,這是一種相對完整的基于關鍵幀的單目SLAM方法。與PTAM的雙線程機制相比,該方法將整個系統分為三個線程:跟蹤、建圖和回環。需要注意的是,特征提取和匹配(左列)、地圖構建和循環檢測的過程都基于ORB特征(右列)。圖3(c)是大學道路環境中單目相機的實時特征提取過程(左列)和軌跡跟蹤和建圖結果(右列)。
2017年,Mur Artal等人提出了ORB-SLAM2的后續版本(Murartal和Tardos,2017)。該版本支持回環檢測和重定位,具有實時地圖重用功能,此外,改進的框架還打開了雙目相機和RGB-D相機之間的接口。圖3(d)的左列顯示了ORB-SLAM2的雙目軌跡估計和特征提取。圖3(d)的右欄顯示了RGB-D相機在室內場景中的關鍵幀和密集點云建圖效果。圖片中連續的綠色小方塊構成了關鍵幀的軌跡,RGB-D相機構建的密集3D場景地圖圍繞著關鍵幀。
3.1.2 基于直接的方法
2011年,Newcombe等人(2011b)提出了基于直接方法DTAM的單目SLAM框架。與基于特征的方法不同,DTAM采用基于逆深度的方法來估計特征的深度。通過直接圖像匹配計算相機的位姿,并通過基于優化的方法構建密集地圖(圖4(a))。2014年,Jakob等人(2014)提出了LSD-SLAM(圖4(b)),這是直接方法在單眼視覺SLAM框架中的成功應用。該方法將面向像素的方法應用于半密集單目SLAM系統。與基于特征的方法相比,LSD-SLAM的靈敏度較低,但當相機內參和照明變化時,系統很脆弱。2017年,Forster等人(2017)提出了SVO(半直接視覺里程計)。它使用稀疏直接法(也稱為半直接法)來跟蹤關鍵點(圖4(c)的底部),并基于關鍵點周圍的信息來估計位姿。圖4(c)頂部顯示了室內環境中稀疏地圖的軌跡。由于半直接方法跟蹤稀疏特征,既不計算描述符,也不處理密集信息,因此SVO具有較低的時間復雜度和較強的實時性。
2016年,Engel等人(2018)提出了DSO,該方法還使用半直接方法以確保在更快的操作速度下獲得更高的精度。然而,它們只是視覺里程計。由于缺少后端優化模塊和回環模塊,系統的跟蹤誤差會隨著時間累積。圖4(d)顯示了DSO(單目視覺里程計)的3D重建和跟蹤效果。直接法具有計算速度快、對弱特征條件不敏感等優點。然而,它基于灰度級不變的強烈假設,因此它對照明的變化非常敏感。相反特征點方法具有良好的不變性。
2020年,Zubizarreta等人(2020)提出了一種直接稀疏映射方法DSM,這是一種基于光度學束調整(PBA)算法的全單目視覺SLAM系統。表1總結了最先進的視覺SLAM框架的主要特點及其優缺點。除上述典型框架外,還研究了其他相關工作,如(i)稀疏視覺SLAM;(ii)半密集視覺SLAM;(iii)密集視覺SLAM。正如你所看到的,視覺SLAM領域有很多成就,論文只是對流行的方法進行了回顧。即使視覺SLAM提供了良好的定位和建圖結果,所有這些解決方案都有優點和缺點。在這項工作中,總結了“基于稀疏的方法”、“基于密集的方法”和“基于特征的方法”的優缺點,“基于直接的方法”,“單目方法”,”雙目方法“,”RGB-D方法“和”事件相機方法“可在表2中找到。
3.2 視覺-慣性SLAM
IMU傳感器可以提供一個很好的解決方案,以解決當相機移動到具有挑戰性的環境中(較少的紋理和/或照明變化)時跟蹤失敗的問題,另一方面,視覺傳感器可以彌補IMU的累積漂移。這種視覺和IMU的結合被稱為黃金搭檔。由于相機和IMU的互補功能,在無人駕駛等領域具有良好的發展前景(Sun和Tian,2019)。VI-SLAM的主要方法是將IMU信息結合到視覺SLAM系統的前端,該系統也稱為視覺慣性里程計(VIO)系統。通常,VI-SLAM系統可分為兩類:基于濾波器的方法和基于優化的方法:3.2.1 基于特征的方法2007年,Mourikis和Roumeliotis(2007)提出了多狀態約束卡爾曼濾波器(MSCKF),這是最早的基于擴展卡爾曼濾波器(EKF)算法的視覺慣性SLAM系統。
與純視覺里程計相比,MSCKF(圖5(a))可以在一定時間內適應更劇烈的運動和紋理損失,具有更高的魯棒性。2012年,Stephan(2012)提出了SSF(圖5(b)),它是一種基于EKF和松耦合方法的時間延遲補償單傳感器和多傳感器融合框架。2013年,Li和Mourikis(2013)指出了MSCKF在狀態估計過程中的不一致性。2017年,Paul等人(2017)提出了MSCKF2.0,這大大提高了準確性、一致性和計算效率。此外,ROVIO(魯棒視覺慣性里程表)(Bloesch等人,2015)(圖5(c))和MSCKF-VIO(Ke等人)(圖6(d))也是近年來基于過濾方法的優秀作品;
3.2.2 基于優化的方法
就基于優化的VI-SLAM系統而言,最經典的框架是OKVIS。2015年,Leutinegge等人提出了OKVIS,它使用IMU測量值來預測當前狀態、空間點和二維圖像特征,以構成重投影誤差。預測的IMU狀態量和優化的參數構成IMU誤差項,然后再投影誤差與IMU誤差相結合以進行優化。2017年,Tong等人(2017)提出了VINS-Mono,它被視為一種優秀的單目VI-SLAM系統,前端采用光流方法,后端采用基于滑動窗口的非線性優化算法(Cheng等人,2021b)。此外,VINS-Mono的初始化方法值得注意,它采用了不相交方法(以及VI-ORBSLAM Mur Artal和Tards,2017),該方法首先初始化純視覺子系統,然后估計IMU(加速度計和陀螺儀)的偏差、重力、比例和速度。
通過KITTI和EuRoC數據集的測試,VINS Mono已被證明具有與OKVIS相當的定位精度,在初始化和環路閉合階段具有更完整和魯棒性。2019年,VINS-Mono團隊提出了雙目版本,并整合了GPS信息,VINS-Fusion(Tong等人,2019)。如圖6(c)所示,由于增加了GPS測量,它在戶外環境中實現了良好的定位和建圖效果,并且被認為是自動駕駛車輛領域的一個良好應用。2020年,Campos等人(2020)提出了一種基于特征的緊密集成視覺慣性SLAM系統ORB-SLAM3。這是通過最大后驗(MAP)算法實現的更高效初始化過程的最新成果,并且它實現了多地圖功能,該功能依賴于具有改進的召回率的新地點識別方法。此外,該系統能夠使用單目、雙目和RGB-D相機執行視覺、視覺-慣性和多地圖SLAM。戶外場景的實驗結果如圖6(d)所示。
ORB-SLAM3的管道與ORB-SLAM2類似,整個系統由三個線程組成:跟蹤、局部建圖和回環線程。此外,ORB-SLAM3可以在長時間的不良視覺信息中生存,當它丟失時,它會啟動一個新的地圖,當重新訪問地圖區域時,它將與以前的地圖無縫合并。表3總結了近年來視覺慣性SLAM框架中的主要算法。目前,基于優化的VI-SLAM方法已成為主流。除上述方法外,還有其他最先進的工作可以總結如下,但不限于BASALT、Kimera、ICE-BA、Maplab、StructVIO。
3.3 測試和評估
為了直觀地理解上述SLAM方法的定位效果,在配備Intel Core i7-9700 CPU、16 GB RAM和Ubuntu18.04+Melodic操作系統的同一機載計算機上測試了一些典型算法,并將其與我們之前的一項工作(Cheng等人,2021a)進行了比較。如Cheng等人(2021a)所述,基于傳統的高斯-牛頓(G-N)線性迭代策略,提出了一種改進的信賴域迭代策略,然后將該策略集成到VI-ORBSLAM框架中(Mur-Artal和Tards,2017),以實現更快的初始化和更高的定位精度。信任區域迭代策略的模型如圖7所示。它結合了最速下降算法和G-N算法,用信任模型逼近目標函數。當解被認為是當前點附近模型函數的最小值時,則在每個迭代步驟中求解最小化子問題。
需要估計的初始參數包括比例因子、速度、重力以及加速度計和陀螺儀的偏差。為了使所有變量都可觀察到,純ORB-SLAM系統需要執行幾秒鐘。該方法的具體步驟如下:首先,執行視覺初始化過程,包括ORB提取、地圖初始化和初始位姿估計。其次,采用IMU預集成技術對IMU相機進行頻率對準,生成關鍵幀。第三,提出了一種改進的基于信賴域的迭代策略,用于陀螺偏差估計,并對重力方向進行了細化。最后,在先前估計的基礎上估計加速度計偏差和視覺尺度。論文之前工作的管道如圖8所示。
EuRoC數據集V2_01_easy序列上算法的2D軌跡如圖9所示。可以看到,與GT相比,每個算法的測試結果都有不同程度的偏差,論文算法的軌跡(紅線)更接近GT(黑虛線),而VI-ORBSLAM(藍線)的漂移最大。X、Y、Z方向的位置變化曲線如圖10所示。歐拉角(即橫搖、俯仰、偏航)的比較曲線如圖11所示。表4顯示了在整個11個序列中測試的同一CPU平臺(i7-9700 CPU)中的定量均方根誤差(RMSE)結果和幀速率,因為所有算法都采用多線程,所以表4的第三列報告了處理圖像流時的幀速率。圖12和圖13分別提供了平移誤差的RMSE和累積分布函數(CDF),圖14和圖15分別提供了定向誤差的RMSE和累積分布功能(CDF)。
可以知道,論文之前的工作,一個快速單目視覺慣性系統,具有改進的迭代初始化策略方法,在幾乎所有序列中實現了最佳的定位精度。實際上,由于出色的初始化過程,論文的方法在六個序列和七個序列上提供了最佳的定向性能,即使系統無法提取ORB特征,系統也可以快速重新啟動工作。
3.4 視覺-LIDAR SLAM
視覺和激光雷達有各自的優點,例如視覺可以從環境中獲得大量的紋理信息,并且具有很強的場景識別能力,而LADAR不依賴光,可靠性好,距離測量精度更高。因此,在自動駕駛領域,集成視覺和激光雷達的SLAM系統可以提供更智能、更可靠的環境感知和狀態估計解決方案。它遵循具有三個主要步驟的經典SLAM架構:(i)數據處理步驟;(ii)估計;(iii)全局建圖步驟。根據視覺和激光雷達在SLAM系統中的不同比例,視覺激光雷達SLAM方案可分為三類:視覺引導方法、激光雷達引導方法和視覺激光雷達相互校正方法。
3.4.1 視覺引導方法
視覺SLAM,特別是對于單目視覺SLAM而言,總是無法有效地提取特征點的深度信息,而LIDAR是這方面的專家。為了彌補視覺SLAM的缺點,研究人員試圖將LIDAR數據融合到視覺SLAM系統中。視覺引導SLAM的代表作是LIMO(Graeter等人,2018)。該方法將激光雷達獲得的空間點云投影到圖像平面上,以估計視覺特征的尺度,然后將激光雷達恢復的視覺特征尺度和從相機位姿估計得到的特征尺度構造誤差項作為后端優化的約束。
Shin等人(2018b)提出了一種使用LIDAR獲取視覺SLAM的稀疏深度點云的方法,由于相機的分辨率遠高于LIDAR,該方法存在大量像素沒有深度信息的問題。為了解決這個問題,De Silva等人(2018)在計算兩個傳感器之間的幾何變換后,采用了高斯回歸模型來插值缺失的深度值。該方法使用激光雷達直接初始化圖像中檢測到的特征,其效果與使用RGB-D傳感器的方法相同。還有一些研究將激光雷達集成到視覺SLAM中,以提高解決方案的應用價值,例如降低成本、提高性能和增強系統魯棒性。
一些研究在建圖階段使用視覺SLAM的姿態估計進行點云標注。Zhang等人(2018b)提出了一種基于一維激光雷達測距儀的單目視覺SLAM方法,該方法在低成本硬件上實現了有效的漂移校正,并用于解決單目SLAM中經常出現的尺度漂移問題。Scherer等人(2012)采用無人機建圖河流沿線的水道和植被,使用視覺里程測量和IMU相結合的融合框架來估計狀態,并使用激光雷達檢測障礙物并建圖河流邊界,但這種方法產生了包含遮擋點的點云,這在一定程度上降低了狀態估計的準確性。Huang等人(2019)解決了這一問題,并提出了一種包括遮擋點檢測和共面點檢測機制的直接SLAM方法。
3.4.2 LIDAR引導方法
在LIDAR引導的方法方面,它采用視覺信息來提高回環檢測的準確性,或者在姿態估計階段構建LIDAR特征變換誤差和視覺重投影誤差的聯合優化函數來提高位姿估計的魯棒性,例如Bai等(Bai等人,2016)使用卷積神經網絡提取特征以實現回環檢測,并通過設置匹配范圍有效避免環路閉合場景的失配,并通過特征壓縮確保SLAM系統的實時性能。Liang等人(2016)使用掃描匹配和基于ORB特征的回環檢測技術來改善基于LIDAR的SLAM的弱性能。Zhu等人(2018)提出了一種使用視覺回環檢測的3D激光SLAM方法,該方法通過使用視覺詞匯袋的關鍵幀技術來實現回路檢測。此外,迭代最近點(ICP)方法(Arun等人,1987)也可以通過激光雷達和視覺融合進行優化。Pande等人(2011)使用視覺信息來估計剛體變換,然后提出了一個廣義ICP框架。
3.4.3 視覺-激光雷達相互校正方法
上述研究方法大多使用單一SLAM方法,并使用另一個傳感器作為輔助設備。也有一些研究試圖將兩種SLAM方法結合起來,以相互糾正。VLOAM(Zhang和Singh,2015)是視覺激光雷達相互校正的經典實時方法。該方法使用激光雷達掃描圓內的視覺里程計估計的相機位姿來校正激光點云。點云運動失真,使用在相鄰掃描校正之后從LIDAR點云估計的相對位姿來校正視覺估計姿態,并將校正后的點云映射到局部地圖以進行后續位姿優化。
Seo和Chou(2019)提出了一種并行SLAM方法,該方法同時使用激光雷達SLAM和視覺SLAM,其特征在于在后端使用兩種模式的測量殘差來優化后端。Jiang等人(2019)使用LIDAR約束和特征點約束來定義圖優化的成本函數,并構建了2.5D地圖以加快回環檢測過程。目前,基于視覺LIDAR融合的SLAM方法的研究成果和實際應用比視覺慣性融合少,需要進一步探索和研究。
3.5 Visual-LIDAR-IMU SLAM
目前,多傳感器融合方法(如視覺-LIDAR-IMU融合SLAM)被認為適用于L3級別的自動駕駛,并引起了許多學者的關注。基于激光雷達的SLAM系統可以獲得廣泛的環境細節,但在缺乏結構信息的場景(尤其是自動駕駛場景)中很容易失敗。例如,長長的走廊或開闊的廣場。基于視覺的方法在具有豐富紋理信息的場景中表現良好,并且很容易重新識別場景(Shin等人,2020)。但它對照明、快速移動和初始化過程的變化非常敏感。因此,激光雷達和視覺傳感器經常與IMU融合,以提高系統的準確性和魯棒性。IMU可以消除點云的運動失真,并在缺乏特征的環境中持續一段時間,同時可以幫助視覺系統恢復尺度信息。
目前,關于視覺-LIDAR-IMU融合SLAM的研究成果很少(Debeunne和Vivet,2020b)。一些學者嘗試使用視覺-IMU融合系統(即視覺-慣性系統,VIS)和LIDAR-IMU融合系統(如LIDAR-慣性系統,LIS),因為這兩個單獨的模塊進一步融合,以形成性能更好的視覺-LIDAR-IMU融合系統(LIDAR-視覺-慣性系統,LVIS)(Chen等人,2018)。本文還介紹了激光-IMU融合SLAM方法的研究情況。基于LIDAR-IMU融合的方案分為兩類:松耦合和緊耦合方案。典型的松耦合方案是LOAM,(圖16(a))和LeGO-LOMA(Shan和Englot,2018),其中IMU測量信息未用于優化步驟。與松耦合方案相比,緊耦合方案處于開發階段,這通常大大提高了系統的準確性和魯棒性。在當前公開的緊密耦合系統中,LIO-Mapping(Ye等人,2019)使用VINS-Mono中的優化過程來最小化IMU殘差和LIDAR測量誤差。由于LIO建圖旨在優化所有測量值,因此系統的實時效果較差。Zou等人提出了LIC融合,如圖16(b)所示。它融合了點云中提取的LiDAR特征和稀疏視覺特征,藍色和紅色的LiDARR點分別是平面和邊緣特征,估計的軌跡用綠色標記。為了節省計算資源,LIO-SAM(圖16(c))引入了滑動窗口優化算法,使用因子圖方法聯合優化IMU和LIDAR的測量約束。LINS(圖16(e)),專門為地面車輛設計,使用基于誤差狀態的卡爾曼濾波器迭代修正待估計的狀態量。
Zhang和Singh(2018)提出了一種緊密耦合的LVIO(激光雷達視覺慣性里程表)系統,該系統使用從粗到精的狀態估計方法,從IMU預測開始進行粗略估計,然后由VIO和LIO進一步細化。目前,LVIO算法是KITTI數據集上測試精度最高的算法。Zoo等人(2019)基于MSCKF框架實現了時空多傳感器的在線校準。不幸的是,Zhang和Singh(2018)和Zoo等人(2019)實施的代碼目前不是開源的。Shan等人(2021)于2021發布了最新的可視化LIDAR-IMU緊耦合方案:LVI-SAM(圖16(d))。為了提高系統的實時性能,它使用了平滑和建圖算法。作者將視覺IMU和激光雷達IMU視為兩個獨立的子系統。當檢測到足夠多的特征點時,這兩個子系統將鏈接在一起。當其中一個子系統檢測不到時,這兩個子系統可以獨立分離,因為不會相互影響。表5總結了近年來視覺-慣性SLAM框架中的主要算法。
04 討論
盡管如前所述,視覺SLAM在自動駕駛車輛的定位和地圖繪制方面取得了巨大成功,但現有技術還不夠成熟,無法完全解決當前的問題。當前基于視覺的定位和建圖解決方案仍處于起步階段。為了滿足復雜城市環境中的自動駕駛要求,未來的研究人員面臨許多挑戰。這些技術的實際應用應被視為一個系統的研究問題。此外,SLAM系統只是自動駕駛車輛復雜系統的組成部分,自動駕駛系統不能完全依賴SLAM系統,還需要配備控制、目標檢測、路徑規劃和決策等模塊。本節討論了自動駕駛車輛應用的視覺和基于視覺的SLAM的當前關鍵問題以及未來發展趨勢的總體觀察和推斷。
4.1 實時性能
自動駕駛車輛的應用要求視覺SLAM系統盡可能快速地響應。在視覺算法的情況下,10 Hz的頻率被認為是車輛在城市道路上維持自動駕駛所需的最小幀速率。一方面,已經提出了一些視覺算法來顯式優化實時性能,另一方面,可以通過具有更高規格性能的硬件(如GPU)來進一步改進。此外,考慮到系統的準確性和魯棒性,應考慮各種環境動態(例如場景變化、移動障礙物和照明不變量。目前,在特定場景下,如自動代客泊車(APV),攝像頭最常用于實現自動駕駛的障礙物檢測或避讓和車道保持;
4.2 定位
城市道路場景的自動駕駛仍處于L2和L3之間的技術攻關階段,其中一個關鍵問題是車輛的位置精度很粗糙。論文觀察到,高質量的自動駕駛離不開精確的位置,即使在未建圖的環境中,車輛也能在厘米級的位置上導航。僅依靠精度約為10米的傳統GPS接收機無法實現這種精度,通常安裝昂貴的差分GPS(DGPS)接收機來實現這一點,但它引入了冗余,而視覺SLAM算法本身可用于精確定位。如本文所述,研究了實現相對定位的其他獨立于GPS的方法,如視覺-慣性融合方法、視覺-LIDAR融合方法和視覺-LIDAR-IMU融合方法,由IMU引入的漂移誤差將指數地影響精度。在視覺LIDAR融合方法方面,由于缺乏自身的航位推算(DR)傳感器(如編碼和IMU傳感器),自動駕駛車輛的定位魯棒性無法保證。就視覺LIDAR-IMU融合方法而言,據論文所知,目前還沒有成熟的基于視覺的融合SLAM算法成功應用于真實世界的自動駕駛車輛,但近年來正在研究許多優秀的融合方法。隨著激光雷達傳感器成本的降低,我們認為視覺激光雷達IMU融合方法是自動駕駛車輛高精度定位的最終方案;
4.3 測試
目前現實世界中的實施還不充分,這可以歸因于當地立法和缺乏用于自動駕駛測試的開發車輛。在這里,論文觀察到,幾乎所有最近呈現的視覺SLAM作品都在公共數據集(例如KITTI、EuROC、TUM等)上進行了測試。誠然,它們是用于算法驗證的絕佳數據集,但這些算法最終在真實世界環境中的表現仍有待驗證。此外,對這些數據集的測試還將測試環境限制在捕獲數據集的位置,這可能不是其他國家或城市的算法的有效指標。缺乏真實世界實現的另一個原因似乎是由于視覺SLAM算法的較高計算要求,這表明在線實現將需要具有足夠和專用并行處理硬件的計算機。通常的移動計算機(如筆記本電腦)不具備桌面GPU的并行計算能力。Nvidia的DRIVE PX2(Nvidia Corporation,2017a)等商用自動駕駛計算機價格昂貴,通常無法在預算內進行開發。令人鼓舞的是,最近出現了具有改進的視覺算法的高性能和低成本嵌入式設備,例如,Nvidia Jetson和快速VO(即前端或部分視覺SLAM)方法的優化可以促進這些實現;
4.4 未來發展趨勢
由于視覺SLAM的復雜模塊(例如前端、后端、回環和建圖等)增加了硬件平臺的計算負擔,高性能移動計算平臺通常限制了上述視覺SLAM算法在自動駕駛中的應用。基于多代理的視覺SLAM技術似乎能夠克服這個問題。目前,基于多智能體的可視化SLAM通常用于無人機,如果它安裝在自動駕駛汽車上進行移動計算,移動計算機平臺只負責處理前端數據,而后端優化和建圖的過程則由遠程服務器通過5G/6G通信網絡來處理,我們相信,這將大大加快視覺SLAM在未來自動駕駛車輛中的應用;
05 結論
最近研究的可用性對解決視覺SLAM問題有很大貢獻。這項工作回顧了各種類型的視覺SLAM和/或基于視覺的SLAM方法及其在自動駕駛中的應用。目前視覺SLAM在自動駕駛汽車中的應用被認為還不成熟,但這仍然引起了廣泛的關注。由于自動駕駛公共數據集的易獲取性,視覺SLAM算法總是易于驗證,并鼓勵對新算法的研究。然而,盡管數據集的可用性促進了新的視覺SLAM算法的提出,但目前城市道路環境中的真實世界視覺SLAM應用仍然存在不足。此外,數據集評估的結果往往與本地真實世界環境中的性能的完整指示不符,因此,自動駕駛車輛的應用有望出現實用的視覺SLAM。
通過回顧最先進的視覺SLAM算法,可以確認當前視覺SLAM系統的趨勢是輕量化和多智能體協作,鼓勵將其應用于低功耗硬件,如嵌入式設備,并且多傳感器融合算法被認為是自動駕駛車輛中視覺SLAM應用的核心。綜上所述,自動駕駛領域仍存在各種問題,特別是視覺SLAM和自動駕駛車輛的結合需要探索。盡管如此,公眾對自動駕駛汽車和即將推出的高性能移動計算機的日益認可無疑將在不久的將來激發視覺SLAM的實際應用。
審核編輯:黃飛
評論
查看更多