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