摘要自動駕駛車輛在不同的駕駛環(huán)境中需要精確的定位和建圖解決方案。在這種背景下,SLAM技術(shù)是一個很好的解決方案。LIDAR和相機傳感器通常用于定位和感知。然而,經(jīng)過十年或二十年的發(fā)展,激光雷達SLAM方法似乎沒有太大變化。與基于激光雷達的方案相比,視覺SLAM具有低成本和易于安裝的優(yōu)點,具有較強的場景識別能力。事實上,人們正試圖用相機代替激光雷達傳感器,或者在自動駕駛領(lǐng)域中基于相機集成其他傳感器?;谝曈XSLAM的研究現(xiàn)狀,本文對視覺SLAM技術(shù)進行了綜述。特別是,論文首先說明了視覺SLAM的典型結(jié)構(gòu)。其次全面回顧了視覺和基于視覺(即視覺-慣性、視覺-LIDAR、視覺-LIAR-IMU)SLAM的最新研究,并將論文之前工作的定位精度與公共數(shù)據(jù)集上的知名框架進行了比較。最后,討論了用于自動駕駛車輛的視覺SLAM技術(shù)的關(guān)鍵問題和未來發(fā)展趨勢。 簡介隨著機器人技術(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)航的良好解決方案,它可以實時估計移動車輛的姿態(tài),同時構(gòu)建周圍環(huán)境的地圖(Durrantwhyte和Bailey,2006)。根據(jù)傳感器類型的不同,SLAM方法主要分為兩類:LIDAR SLAM和視覺SLAM。由于激光雷達SLAM比視覺SLAM啟動得早,因此在自動駕駛儀的應(yīng)用中相對成熟(Debeunne和Vivet,2020a)。與相機相比,激光雷達傳感器對光照和夜間的變化不太敏感。此外,它還可以提供具有更大視野(FOV)的3D地圖信息。然而難以負(fù)擔(dān)的成本和大規(guī)模的長開發(fā)周期導(dǎo)致激光雷達傳感器難以普及。相比之下,視覺SLAM具有信息豐富、易于安裝的優(yōu)點,并且使系統(tǒng)更便宜、更輕。目前視覺SLAM系統(tǒng)可以在微型個人計算機(PC)和嵌入式設(shè)備中運行,甚至可以在智能手機等移動設(shè)備中運行(Klein和Murray,2009)。 與室內(nèi)或室外移動機器人不同,自動駕駛車輛具有更復(fù)雜的參數(shù),尤其是當(dāng)車輛在城市環(huán)境中自動駕駛時。例如,環(huán)境的面積更大,有動態(tài)障礙,因此視覺SLAM方法的性能不夠準(zhǔn)確和魯棒(Cadena等人,2016a)。諸如誤差累積和照明變化以及快速運動等問題導(dǎo)致有問題的估計。已經(jīng)考慮了各種方法來解決與自動駕駛車輛相關(guān)的這些問題。例如用于視覺里程(VO)的基于特征點/直接/半直接/點線融合的算法(Singandhupe和La,2019),以及用于姿態(tài)估計的擴展卡爾曼濾波器(EKF)/基于圖的優(yōu)化算法(Takleh等人,2018)。同時,基于視覺的多傳感器融合方法也為提高自主系統(tǒng)的精度而引起了極大的關(guān)注。 在基于視覺的SLAM系統(tǒng)中,除了建圖模塊之外,傳感器數(shù)據(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ù)集上的已知方法進行了比較。這篇綜述對視覺SLAM技術(shù)進行了詳細(xì)的綜述,可以為自動駕駛汽車領(lǐng)域的新研究人員提供友好的指南。此外,它可以被視為一本詞典,供有經(jīng)驗的研究人員在未來的工作中尋找可能的方向。 視覺SLAM原理視覺SLAM系統(tǒng)的經(jīng)典結(jié)構(gòu)可分為五個部分:相機傳感器模塊、前端模塊、后端模塊、回環(huán)模塊和建圖模塊。如圖1所示,相機傳感器模塊負(fù)責(zé)收集圖像數(shù)據(jù),前端模塊負(fù)責(zé)跟蹤兩個相鄰幀之間的圖像特征,以實現(xiàn)初始相機運動估計和局部建圖,后端模塊負(fù)責(zé)前端的數(shù)值優(yōu)化和進一步的運動估計,回環(huán)模塊負(fù)責(zé)通過計算大規(guī)模環(huán)境中的圖像相似度來消除累積誤差,建圖模塊負(fù)責(zé)重建周圍環(huán)境(Gao等人,2017)。 相機傳感器根據(jù)傳感器類型的不同,常見的視覺傳感器主要可分為單目、雙目、RGB-D和事件攝像機。攝像機傳感器如圖2所示。 市場上流行的視覺傳感器制造商和產(chǎn)品如下,但不限于:
前端視覺SLAM的前端被稱為視覺里程計(VO)。它負(fù)責(zé)基于相鄰幀的信息粗略地估計相機運動和特征方向。為了獲得具有快速響應(yīng)速度的精確姿態(tài),需要有效的VO。目前,前端主要可分為兩類:基于特征的方法和直接方法(包括半直接方法)(Zou等人,2020)。本節(jié)主要回顧VO的基于特征的方法。關(guān)于半直接和直接方法在后文。 基于特征點的VO系統(tǒng)運行更穩(wěn)定,對光和動態(tài)目標(biāo)相對不敏感。具有高尺度和良好旋轉(zhuǎn)不變性的特征提取方法可以大大提高VO系統(tǒng)的可靠性和穩(wěn)定性(Chen等人,2019)。1999年,Lowe(2004)提出了尺度不變特征變換(SIFT)算法,該算法在2004年得到了改進和發(fā)展。整個算法分為三個步驟來完成圖像特征點的提取和描述。(i) 通過高斯差分金字塔方法構(gòu)建尺度空間,并通過高斯微分函數(shù)識別感興趣的點。(ii)確定每個候選的位置和比例,然后找出關(guān)鍵點。(iii)將指向特征指定給關(guān)鍵點以獲得描述子。 SIFT消耗大量計算。SURF(Herbert等人,2007)是SIFT的改進。它解決了SIFT運算量大、實時性差的缺點,保持了SIFT算子的優(yōu)良性能。盡管如此,SURF算法在應(yīng)用于實時SLAM系統(tǒng)時具有更大的局限性。在保證性能的基礎(chǔ)上,提出了一種更加注重計算速度的特征提取算法。2011年,Viswanathan(2011)提出了一種基于模板和機器學(xué)習(xí)方法的局部角點檢測方法,即FAST角點檢測法。FAST算法將要檢測的像素作為圓心,當(dāng)具有固定半徑的圓上的其他像素與圓心的像素之間的灰度差足夠大時,該點被認(rèn)為是角點。然而,F(xiàn)AST角點不具有方向和尺度信息,它們不具有旋轉(zhuǎn)和尺度不變性。2012年,Rublee等人(2012)提出了基于FAST角點和BRIEF描述符的定向FAST和旋轉(zhuǎn)BRIEF(ORB)算法。該算法首先在圖像上構(gòu)建圖像金字塔,然后檢測FAST關(guān)鍵點并計算關(guān)鍵點的特征向量。ORB的描述符采用了二進制字符串特征BRIEF描述符的快速計算速度(Michael等人,2010),因此ORB計算速度比具有實時特征檢測的fast算法更快。此外ORB受噪聲影響較小,具有良好的旋轉(zhuǎn)不變性和尺度不變性,可應(yīng)用于實時SLAM系統(tǒng)。2016年,Chien等人(2016)比較并評估了用于VO應(yīng)用的SIFT、SURF和ORB特征提取算法。通過對KITTI數(shù)據(jù)集的大量測試(Geiger等人,2013),可以得出結(jié)論,SIFT在提取特征方面最準(zhǔn)確,而ORB的計算量較小。因此,作為計算能力有限的嵌入式計算機,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)。 后端后端接收前端估計的攝像機位姿,并優(yōu)化初始位姿,以獲得全局一致的運動軌跡和環(huán)境圖(Sunderhauf和Protzel,2012)。與前端的多樣化算法相比,當(dāng)前后端算法的類型主要可分為兩類:基于濾波器的方法(如擴展卡爾曼濾波器(EKF)Bailey等人,2006)和基于優(yōu)化的方法(例如因子圖Wrobel,2001)。它們的描述如下:
回環(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),實現(xiàn)步驟為:(i)通過對從圖像中提取的局部特征的K-means聚類,構(gòu)建包含K個單詞的單詞列表。(ii)根據(jù)每個單詞的出現(xiàn)次數(shù)將圖像表示為K維數(shù)值向量。(iii)判斷場景的差異,并識別自動駕駛車輛是否已到達所識別的場景。 建圖自動駕駛汽車的一個基本組成部分是建立環(huán)境地圖并在地圖上定位的能力。建圖是視覺SLAM系統(tǒng)的兩項任務(wù)之一(即定位和建圖),它在自動駕駛的導(dǎo)航、避障和環(huán)境重建中發(fā)揮著重要作用。一般來說,地圖的表示可以分為兩類:度量地圖和拓?fù)涞貓D。度量地圖描述了地圖元素之間的相對位置關(guān)系,而拓?fù)涞貓D強調(diào)了地圖元素間的連接關(guān)系。對于經(jīng)典的SLAM系統(tǒng),度量地圖可以進一步分為稀疏地圖和密集地圖,稀疏地圖僅包含場景中的少量信息,這適合于定位,而密集地圖包含更多信息,這有利于車輛根據(jù)地圖執(zhí)行導(dǎo)航任務(wù)。 SOTA研究視覺SLAM與前文描述的VO子系統(tǒng)類似,根據(jù)利用圖像信息的方法,純視覺SLAM系統(tǒng)可分為兩類:基于特征的方法和直接方法?;谔卣鞯姆椒ㄊ侵竿ㄟ^提取和匹配特征點來估計相鄰幀之間的相機運動和構(gòu)建環(huán)境地圖。這種方法的缺點是提取特征點和計算描述符需要很長時間。因此,一些研究人員建議放棄關(guān)鍵點和描述符的計算,然后產(chǎn)生直接方法(Zou等人,2020)。此外,根據(jù)傳感器的類型,視覺SLAM可以分為單目、雙目、RGB-D和基于事件相機的方法。根據(jù)地圖的密度,可分為稀疏、密集和半密集SLAM,介紹如下:
視覺-慣性SLAMIMU傳感器可以提供一個很好的解決方案,以解決當(dāng)相機移動到具有挑戰(zhàn)性的環(huán)境中(較少的紋理和/或照明變化)時跟蹤失敗的問題,另一方面,視覺傳感器可以彌補IMU的累積漂移。這種視覺和IMU的結(jié)合被稱為黃金搭檔。由于相機和IMU的互補功能,在無人駕駛等領(lǐng)域具有良好的發(fā)展前景(Sun和Tian,2019)。VI-SLAM的主要方法是將IMU信息結(jié)合到視覺SLAM系統(tǒng)的前端,該系統(tǒng)也稱為視覺慣性里程計(VIO)系統(tǒng)。通常,VI-SLAM系統(tǒng)可分為兩類:基于濾波器的方法和基于優(yōu)化的方法:
測試和評估為了直觀地理解上述SLAM方法的定位效果,在配備Intel Core i7-9700 CPU、16 GB RAM和Ubuntu18.04+Melodic操作系統(tǒng)的同一機載計算機上測試了一些典型算法,并將其與我們之前的一項工作(Cheng等人,2021a)進行了比較。如Cheng等人(2021a)所述,基于傳統(tǒng)的高斯-牛頓(G-N)線性迭代策略,提出了一種改進的信賴域迭代策略,然后將該策略集成到VI-ORBSLAM框架中(Mur-Artal和Tards,2017),以實現(xiàn)更快的初始化和更高的定位精度。信任區(qū)域迭代策略的模型如圖7所示。它結(jié)合了最速下降算法和G-N算法,用信任模型逼近目標(biāo)函數(shù)。當(dāng)解被認(rèn)為是當(dāng)前點附近模型函數(shù)的最小值時,則在每個迭代步驟中求解最小化子問題。 需要估計的初始參數(shù)包括比例因子、速度、重力以及加速度計和陀螺儀的偏差。為了使所有變量都可觀察到,純ORB-SLAM系統(tǒng)需要執(zhí)行幾秒鐘。該方法的具體步驟如下:首先,執(zhí)行視覺初始化過程,包括ORB提取、地圖初始化和初始位姿估計。其次,采用IMU預(yù)集成技術(shù)對IMU相機進行頻率對準(zhǔn),生成關(guān)鍵幀。第三,提出了一種改進的基于信賴域的迭代策略,用于陀螺偏差估計,并對重力方向進行了細(xì)化。最后,在先前估計的基礎(chǔ)上估計加速度計偏差和視覺尺度。論文之前工作的管道如圖8所示。 EuRoC數(shù)據(jù)集V2_01_easy序列上算法的2D軌跡如圖9所示??梢钥吹剑cGT相比,每個算法的測試結(jié)果都有不同程度的偏差,論文算法的軌跡(紅線)更接近GT(黑虛線),而VI-ORBSLAM(藍線)的漂移最大。X、Y、Z方向的位置變化曲線如圖10所示。歐拉角(即橫搖、俯仰、偏航)的比較曲線如圖11所示。表4顯示了在整個11個序列中測試的同一CPU平臺(i7-9700 CPU)中的定量均方根誤差(RMSE)結(jié)果和幀速率,因為所有算法都采用多線程,所以表4的第三列報告了處理圖像流時的幀速率。圖12和圖13分別提供了平移誤差的RMSE和累積分布函數(shù)(CDF),圖14和圖15分別提供了定向誤差的RMSE和累積分布功能(CDF)??梢灾?,論文之前的工作,一個快速單目視覺慣性系統(tǒng),具有改進的迭代初始化策略方法,在幾乎所有序列中實現(xiàn)了最佳的定位精度。實際上,由于出色的初始化過程,論文的方法在六個序列和七個序列上提供了最佳的定向性能,即使系統(tǒng)無法提取ORB特征,系統(tǒng)也可以快速重新啟動工作。 視覺-LIDAR SLAM視覺和激光雷達有各自的優(yōu)點,例如視覺可以從環(huán)境中獲得大量的紋理信息,并且具有很強的場景識別能力,而LADAR不依賴光,可靠性好,距離測量精度更高。因此,在自動駕駛領(lǐng)域,集成視覺和激光雷達的SLAM系統(tǒng)可以提供更智能、更可靠的環(huán)境感知和狀態(tài)估計解決方案。它遵循具有三個主要步驟的經(jīng)典SLAM架構(gòu):(i)數(shù)據(jù)處理步驟;(ii)估計;(iii)全局建圖步驟。根據(jù)視覺和激光雷達在SLAM系統(tǒng)中的不同比例,視覺激光雷達SLAM方案可分為三類:視覺引導(dǎo)方法、激光雷達引導(dǎo)方法和視覺激光雷達相互校正方法。
Visual-LIDAR-IMU SLAM目前,多傳感器融合方法(如視覺-LIDAR-IMU融合SLAM)被認(rèn)為適用于L3級別的自動駕駛,并引起了許多學(xué)者的關(guān)注?;诩す饫走_的SLAM系統(tǒng)可以獲得廣泛的環(huán)境細(xì)節(jié),但在缺乏結(jié)構(gòu)信息的場景(尤其是自動駕駛場景)中很容易失敗。例如,長長的走廊或開闊的廣場?;谝曈X的方法在具有豐富紋理信息的場景中表現(xiàn)良好,并且很容易重新識別場景(Shin等人,2020)。但它對照明、快速移動和初始化過程的變化非常敏感。因此,激光雷達和視覺傳感器經(jīng)常與IMU融合,以提高系統(tǒng)的準(zhǔn)確性和魯棒性。IMU可以消除點云的運動失真,并在缺乏特征的環(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),因為這兩個單獨的模塊進一步融合,以形成性能更好的視覺-LIDAR-IMU融合系統(tǒng)(LIDAR-視覺-慣性系統(tǒng),LVIS)(Chen等人,2018)。本文還介紹了激光-IMU融合SLAM方法的研究情況。 基于LIDAR-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)的實時效果較差。Zou等人提出了LIC融合,如圖16(b)所示。它融合了點云中提取的LiDAR特征和稀疏視覺特征,藍色和紅色的LiDARR點分別是平面和邊緣特征,估計的軌跡用綠色標(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(激光雷達視覺慣性里程表)系統(tǒng),該系統(tǒng)使用從粗到精的狀態(tài)估計方法,從IMU預(yù)測開始進行粗略估計,然后由VIO和LIO進一步細(xì)化。目前,LVIO算法是KITTI數(shù)據(jù)集上測試精度最高的算法。Zoo等人(2019)基于MSCKF框架實現(xiàn)了時空多傳感器的在線校準(zhǔn)。不幸的是,Zhang和Singh(2018)和Zoo等人(2019)實施的代碼目前不是開源的。Shan等人(2021)于2021發(fā)布了最新的可視化LIDAR-IMU緊耦合方案:LVI-SAM(圖16(d))。為了提高系統(tǒng)的實時性能,它使用了平滑和建圖算法。作者將視覺IMU和激光雷達IMU視為兩個獨立的子系統(tǒng)。當(dāng)檢測到足夠多的特征點時,這兩個子系統(tǒng)將鏈接在一起。當(dāng)其中一個子系統(tǒng)檢測不到時,這兩個子系統(tǒng)可以獨立分離,因為不會相互影響。表5總結(jié)了近年來視覺-慣性SLAM框架中的主要算法。 討論盡管如前所述,視覺SLAM在自動駕駛車輛的定位和地圖繪制方面取得了巨大成功,但現(xiàn)有技術(shù)還不夠成熟,無法完全解決當(dāng)前的問題。當(dāng)前基于視覺的定位和建圖解決方案仍處于起步階段。為了滿足復(fù)雜城市環(huán)境中的自動駕駛要求,未來的研究人員面臨許多挑戰(zhàn)。這些技術(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ā)展趨勢的總體觀察和推斷。
結(jié)論最近研究的可用性對解決視覺SLAM問題有很大貢獻。這項工作回顧了各種類型的視覺SLAM和/或基于視覺的SLAM方法及其在自動駕駛中的應(yīng)用。目前視覺SLAM在自動駕駛汽車中的應(yīng)用被認(rèn)為還不成熟,但這仍然引起了廣泛的關(guān)注。由于自動駕駛公共數(shù)據(jù)集的易獲取性,視覺SLAM算法總是易于驗證,并鼓勵對新算法的研究。然而,盡管數(shù)據(jù)集的可用性促進了新的視覺SLAM算法的提出,但目前城市道路環(huán)境中的真實世界視覺SLAM應(yīng)用仍然存在不足。此外,數(shù)據(jù)集評估的結(jié)果往往與本地真實世界環(huán)境中的性能的完整指示不符,因此,自動駕駛車輛的應(yīng)用有望出現(xiàn)實用的視覺SLAM。通過回顧最先進的視覺SLAM算法,可以確認(rèn)當(dāng)前視覺SLAM系統(tǒng)的趨勢是輕量化和多智能體協(xié)作,鼓勵將其應(yīng)用于低功耗硬件,如嵌入式設(shè)備,并且多傳感器融合算法被認(rèn)為是自動駕駛車輛中視覺SLAM應(yīng)用的核心。綜上所述,自動駕駛領(lǐng)域仍存在各種問題,特別是視覺SLAM和自動駕駛車輛的結(jié)合需要探索。盡管如此,公眾對自動駕駛汽車和即將推出的高性能移動計算機的日益認(rèn)可無疑將在不久的將來激發(fā)視覺SLAM的實際應(yīng)用。 參考[1] A review of visual SLAM methods for autonomous driving vehicles |
|