0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

相關(guān)VI-SLAM算法內(nèi)容總結(jié)

新機(jī)器視覺 ? 來源:CSDN博客 ? 作者:半不閑居士 ? 2021-11-03 09:45 ? 次閱讀

本文為作者在從事Slam相關(guān)工作中對這幾年遇到以及改進(jìn)過相關(guān)VIO算法內(nèi)容總結(jié)。

1.背景介紹

一個完整的 SLAM(simultaneous localization and mapping) 框架包括傳感器數(shù)據(jù)、 前端、 后端、 回環(huán)檢測與建圖,如圖1所示,其中,前端將傳感器的數(shù)據(jù)抽象成適用于估計的模型,回環(huán)檢測判斷機(jī)器人是否經(jīng)過已知的位置。而后端接受不同時刻前端測量的位姿和回環(huán)檢測的信息并對它們進(jìn)行優(yōu)化,從而得到全局一致的軌跡。建圖則是根據(jù)狀態(tài)估計得到的軌跡建立與任務(wù)要求相對應(yīng)的地圖。通常,僅含有前端和局部后端的框架被稱為里程計, 而帶有回環(huán)檢測和全局后端的完整框架被稱為 SLAM。

近十年來,SLAM 及其相關(guān)技術(shù)的研究取得了快速進(jìn)展,研究的重點從開始的激光雷達(dá)到相機(jī)和IMU,與此同時芯片MEMS器件的也取得快速發(fā)展,算力得到的極大提高,相機(jī)和IMU 等傳感器實現(xiàn)了高精度化、小型化和低成本化。這使得SLAM技術(shù)在移動端能夠?qū)崟r的運用。而視覺傳感器因其體積小、 成本低和易于進(jìn)行硬件設(shè)置而獲得了廣泛的關(guān)注,大量基于視覺傳感器的 SLAM 方法被提出,但純視覺 SLAM 方法存在無法在圖像紋理少的區(qū)域工作、快速運動時圖像模糊等問題;而IMU可測量角速度和加速度,其功能可以與相機(jī)進(jìn)行互補(bǔ),并且在融合之后能夠得到更加完善的SLAM 系統(tǒng)。

采用相機(jī)和 IMU 的 SLAM 方法被稱為視覺慣性 SLAM(visual-inertial SLAM,VI-SLAM),只含有很小的漂移。本文主要介紹VI-SLAM,對激光和純視覺SLAM不重點介紹。目前VI-SLAM數(shù)據(jù)融合的的方法分為兩類:緊耦合和松耦合,其中,緊耦合是指把 IMU 的狀態(tài)與相機(jī)的狀態(tài)合并在一起進(jìn)行位姿估計。松耦合是指相機(jī)和 IMU 分別進(jìn)行自身的位姿估計,然后對它們的估計結(jié)果進(jìn)行融合。

而VI-SLAM根據(jù)后端優(yōu)化方法的不同,分為基于濾波和基于優(yōu)化 2 類方法,在濾波方法中,傳統(tǒng)的 EKF(擴(kuò)展卡爾曼濾波器) 、UKF(無跡卡爾曼濾波器)、改進(jìn)的 MSCKF(多狀態(tài)約束卡爾曼濾波器) 和OpenVins都取得了一定的成果?,F(xiàn)階段基于優(yōu)化的方法則慢慢占據(jù)了主流。

2. 基于優(yōu)化的方案

基于優(yōu)化的方法主要依靠圖像處理技術(shù)進(jìn)行特征提取和圖像匹配,而 IMU 數(shù)據(jù)則被視為先驗項或者正則化項。自 PTAM(parallel tracking and map-ping) 之后,批量非線性優(yōu)化方法一般都分為2 個線程:跟蹤和建圖。在跟蹤線,通過各種特征檢測器從圖像中提取 3 維空間中的點、線或其他路標(biāo)特征。然后,針對檢測到的所有特征,在 2 個圖像之間定義重投影誤差。之后用該誤差建立優(yōu)化的代價函數(shù),以便找到特征或地標(biāo)的坐標(biāo),即光束平差法(bundle adjustment,BA) 。在建圖線程,地圖中特征和路標(biāo)的坐標(biāo)被用于定義 2 幅圖像之間的重投影誤差,然后再次應(yīng)用優(yōu)化算法來發(fā)現(xiàn)移動機(jī)器人位姿的變化。將優(yōu)化問題分成 2 個并行線程的目的是使跟蹤部分實時響應(yīng)圖像數(shù)據(jù),以便快速獲得跟蹤結(jié)果。而地圖的優(yōu)化沒有必要實時計算,可以放在后端緩慢運行?;趦?yōu)化的方法通常使用g 2 o 、Ceres 、GTSAM 等非線性優(yōu)化庫實現(xiàn)優(yōu)化。

基于優(yōu)化的方法有兩種類型,一種是含有局部優(yōu)化(LBA)和全局優(yōu)化(GBA),一種是只有全局優(yōu)化(GBA)

LBA通過設(shè)定固定的窗口,將在這個窗口內(nèi)的系統(tǒng)狀態(tài)進(jìn)行估計,同時邊緣化舊的狀態(tài)維持實時優(yōu)化窗口。相比于濾波方法,基于優(yōu)化的方法精度更高,因為它們可以對過去的測量結(jié)果重新進(jìn)行線性化處理,同時在優(yōu)化時可以設(shè)置魯棒核函數(shù)來剔除一些異常值。從而提高精度;但是缺點是,邊緣化舊的一幀時帶來了稠密的先驗信息,這在一定程度上降低了效率,針對這個問題,一些文獻(xiàn) 中提出了為了稀疏性而放棄某些測量的方法。此外,由于采用了邊緣化的方法,LBA方法具有與部分濾波方法相似的問題,如一致性,線性化誤差的累積等。

蘇 黎 世 聯(lián) 邦 理 工 學(xué) 院 ASL 實 驗 室 Leutenegger 等 提 出 了 OKVIS(open keyframe-based visual-inertial SLAM);利用基于關(guān)鍵幀的滑動窗口進(jìn)行批量非線性優(yōu)化,先于滑動窗口的關(guān)鍵幀被邊緣化,不用來進(jìn)行估計。系統(tǒng)前端使用多尺度 Harris 特征檢測器 來提取特征,然后在其基礎(chǔ)上計算 BRISK(binary robust invariant scalable keypoint)描述子,以便在幀與幀之間進(jìn)行數(shù)據(jù)關(guān)聯(lián)。。如圖 3 所示

香港科技大學(xué)飛行機(jī)器人實驗室提出的 VINS-Mono(monocular visual-inertial system)方法類似于 OKVIS,是一種基于非線性優(yōu)化的 VI-SLAM方法。VINS-Mono 方法為這類框架引入了幾個全新的功能,其完整系統(tǒng)包括觀測值預(yù)處理、 初始化、 局部視覺慣性聯(lián)合優(yōu)化、全局圖優(yōu)化和回環(huán)檢測 5 個部分, 前端提取 Harris 特征點,并采用 LK(Lucas-Kanade)光流(opticalflow)法跟蹤相鄰幀。光流法是一種描述像素隨時間在圖像之間運動的方法。LK 光流法計算部分像素,在 SLAM 中用于跟蹤特征點的位置。

VINS-Mono 方法只計算特征點,不計算描述子,同時使用光流法跟蹤特征點的運動。這樣就減少了計算和匹配描述子的時間和資源,只需要計算光流。在初始化部分,作者使用了一種松耦合的傳感器融合初始化程序,稱為動態(tài)初始化,先用圖像信息構(gòu)建SFM,后面結(jié)合IMU信息,進(jìn)行在線VIO標(biāo)定。使得系統(tǒng)可以在優(yōu)化之前從任意初始狀態(tài)引入估計器。同時采用預(yù)積分的處理方法處理IMU信息,得到兩幀之間的IMU相對運動,而不是隨著某一時刻位姿改變而要重新處理IMU信息,減少計算量。系統(tǒng)采用與 OKVIS相似的基于滑動窗口的緊耦合位姿估計方法,并且加入了基于DBoW2(bag of binary words 2)的回環(huán)檢測線程,使系統(tǒng)具有重定位功能,而全局優(yōu)化則采用4Dof優(yōu)化。

香港科技大學(xué)飛行機(jī)器人實驗室隨后又推出了 VINS-Mobile 和 VINS-Fusion。VINS-Mobile 在 iOS 設(shè)備上運行,并為增強(qiáng)現(xiàn)實(AR)應(yīng)用程序提供本地化服務(wù)。VINS-Mobile 對 VINS-Mono 框架作了許多輕量化處理,并采用了一種基于小滑動窗口的聯(lián)合優(yōu)化方案。VINS-Fusion 在完善 VINS 框架的同時,提供了 4 個不同硬件的版本,包括單目 IMU、 雙目 IMU、 純雙目和雙目 IMU 與GPS 松耦合。

百度 AR 技術(shù)小組提出的 ICE-BA(incremental,consistent and efficient bundle adjustment) 沿 用了 OKVIS 以及 VINS-Mono 這一類框架。前端提取Harris 特征點 并采用 LK 光流法 跟蹤相鄰幀,與 VINS-Mono 相似。后端則是論文中提出的增量式 BA,主要分為 3 個部分:局部 BA(LBA)、全局 BA(GBA) 以及相對邊緣化(Relative-Marginalization),前兩者采用增量式方法提升了后端速度,后者保證了LBA 和GBA 的一致性。其中,G BA 在建立增量方程時,對系統(tǒng)已經(jīng)計算過且不變的狀態(tài)向量不進(jìn)行計算。

因為即使重新計算,精度也不會有太大的改善。對于LBA 來說,由于幾乎每個點都被滑動窗口里面所有幀看到,因此即使只重新線性化一部分點,也會帶來較大的改動。因此在LBA這個部分,系統(tǒng)中采用了一個更高效的針對局部 BA 的后端設(shè)計。這個方法把長期跟蹤的特征點分成很多短期跟蹤段,這樣每次重新計算特征點的時候,重新線性化的區(qū)域減小,從而提高了效率。見圖5;對于滑窗系統(tǒng),往往都有邊緣化這一步,把有些本應(yīng)該出了滑動窗口的信息以另一種形式存儲下來。但是當(dāng)有GBA 存在時,邊緣化的效果未必會有很大的提升,反而可能會下降。ICE-BA 中改進(jìn)了邊緣化方法,保持了邊緣化和全局 BA 的一致性,見圖6。但在測試的時候,去掉相對邊緣化有些數(shù)據(jù)集效果會更好。

由于 VI-SLAM 系統(tǒng)實現(xiàn)了優(yōu)異的效果,一些著名的視覺 SLAM 系統(tǒng) 相繼推出了自己系統(tǒng)的 VI 版本,VI-ORB SLAM 就是其中最有代表性的系統(tǒng)之一。在這里首先介紹純視覺ORB-SLAM ,其首次使用 3 個線程:實時跟蹤特征點的線程、局部建圖的優(yōu)化線程(co-visibility graph)和全局回環(huán)檢測與優(yōu)化線程(essential graph),來完成 SLAM。跟蹤線程對每幅圖像提取 ORB 特征點,并與最近的關(guān)鍵幀比較,計算特征點位置并估計位姿。局部 BA 線程求解更精細(xì)的相機(jī)位姿和特征點空間位置。全局回環(huán)檢測線程采用 DBoW2 對全局的地圖與關(guān)鍵幀進(jìn)行回環(huán)檢測,消除累積誤差。ORB-SLAM 的三線程結(jié)構(gòu)取得了優(yōu)異的跟蹤和建圖效果,保證了移動機(jī)器人軌跡與地圖的全局一致性,該算法框架在開源數(shù)據(jù)集測試的結(jié)果是效果最好的開源代碼。

VI-ORB SLAM 改進(jìn)自 ORB-SLAM2,作者引入 IMU 嘗試解決在快速運動時丟失特征點的問題。VI ORB-SLAM 分別對 3 個線程作了修改,用以融合 IMU 信息。在跟蹤線程,基于重投影誤差和 IMU 預(yù)積分,建立幀與幀之間的約束關(guān)系來構(gòu)造代價函數(shù),從而得到當(dāng)前幀位姿的最優(yōu)估計。在局部建圖線程,有了新的關(guān)鍵幀之后,將會對前 N 個關(guān)鍵幀進(jìn)行優(yōu)化,當(dāng)前的關(guān)鍵幀(第 N + 1幀)將固定不變,提供 IMU 預(yù)積分約束。如圖 7所示,P、v、b 分別為優(yōu)化的位姿、IMU 速度與偏差。在全局回環(huán)檢測線程,由于 IMU 提供了尺度信息,因此全局優(yōu)化將從 7 個自由度下降到 6 個自由度。全局位姿優(yōu)化將忽略 IMU 信息,因此不再優(yōu)化速度和偏差,當(dāng)完成全局位姿優(yōu)化后,再根據(jù)矯正后的位姿對速度進(jìn)行矯正。

在2020年,ORB-SLAM3開源,其第一個能夠執(zhí)行視覺、視覺慣性和多地圖重用的系統(tǒng),相比于ORB-SLAM2,ORB-SLAM3新增元素有以下面這幾個:

1. 單、雙目的vo/vio slam系統(tǒng),并支持魚眼相機(jī)。

2. 地圖復(fù)用,擁有合并地圖的功能。

3. 高召回的地點識別(占用較低的計算資源換得高召回與精度)

4. 不限制相機(jī)模型,只需提供投影,反投影及Jacobian方程(程序里提供了針孔與魚眼模型)

其主要的創(chuàng)新點分為:

1.“完全”基于最大后驗估計MAP的VI-SLAM ,無論在初始化階段還是運行階段,都采用了MAP進(jìn)行狀態(tài)估計,因此ORB-SLAM3在室內(nèi)外、大小場景中魯棒性很好,且精確度是其他方法的2~5倍; 如文中所講,本文的IMU和視覺的組合系統(tǒng)是extremely robust的。

2.多地圖系統(tǒng),當(dāng)定位丟失即lost時,ORB-SLAM3會自動建立一個新的小地圖,并在revisit兩張地圖上的同一地點的時候進(jìn)行地圖的seamlessly merge,因此,這一算法能夠使用不僅僅幾幀之前的信息,而是運用了全局的信息,能夠在bundle adjustment中利用視差較大的幀來增加BA求解的準(zhǔn)確性(因為當(dāng)視察較小時,求解不準(zhǔn)確,且優(yōu)化容易進(jìn)入局部極值)。這種方法里對同一特征的觀測可能在時間上的間隔較大,因為我們對其上一次的觀測甚至可能出現(xiàn)在之前一張小地圖中(中間過程里lost了至少一次)。

在這里簡單介紹一下iSAM,iSAM是增量式圖優(yōu)化,該算法可簡單的理解為iSAM可以自適應(yīng)的判斷當(dāng)前測量是否影響某個歷史狀態(tài),從而判斷是否要計算更新,從而能夠減少不必要的計算;在2012年,iSAM2 用貝葉斯樹+在線啟發(fā)式排序重新解決iSAM問題,后端部分原理相似與ICE-BA相似,都是增量式BA,該技術(shù)是GBA的一項突破,利用因子圖來保持稀疏性,并僅識別和更新受新度量影響的變量的一小部分。使用貝葉斯樹數(shù)據(jù)結(jié)構(gòu)來獲得有效的變量排序,從而最大程度地減少了計算時間。由于新的測量結(jié)果只對估計值的局部產(chǎn)生影響,通過分析受影響的區(qū)域,可以減少一些沒必要的計算,加速優(yōu)化流程。

基 于 優(yōu) 化 的 方 法 是 目 前 VI-SLAM 領(lǐng) 域 以 及SLAM 相關(guān)領(lǐng)域的熱點之一,非線性優(yōu)化方法實現(xiàn)了相較于濾波方法更精確的狀態(tài)估計效果。但由于計算資源有限,目前的方法往往以犧牲一部分精度和路標(biāo)點為代價換取系統(tǒng)的實時性。新型的優(yōu)化器以及并行計算方法的出現(xiàn)有望進(jìn)一步減少對計算資源的占用,但大范圍在線系統(tǒng)的實時性仍然是一個有待解決的問題。

3. 基于濾波的方案

不同濾波方法的分類如圖 9 所示,卡爾曼濾波器作為一種解決狀態(tài)估計問題的經(jīng)典模型,主要存在 2 個問題。首先,它要求時序和測量方程是線性的,這個問題可以由 EKF 和 UKF 解決。其次,卡爾曼濾波器假設(shè)后驗分布是單峰分布的,而且需要通過均值和協(xié)方差來表達(dá),因此,它針對物體的位姿只能有一個假設(shè),并不能保證關(guān)于狀態(tài)的多個假設(shè),這個問題可以由粒子濾波器(particle filter,PF) 解決。

一個完整的 EKF 框架包括預(yù)測步驟和更新步驟。對于基于濾波的 VI-SLAM 方法,慣性傳感器能夠提供 3 軸的加速度和角速度,用于計算 3 維剛體運動的動態(tài)模型并在預(yù)測步驟中進(jìn)行預(yù)測。相機(jī)能夠提供在特征和移動機(jī)器人之間的角度和距離測量結(jié)果,并在更新步驟中更新預(yù)測結(jié)果。

早期的 SLAM 工作主要是基于擴(kuò)展卡爾曼濾波器,由 Smith 等基于早期的工作實現(xiàn)。Jones 等將 EKF 框架引入 VI-SLAM 系統(tǒng)。該系統(tǒng)實現(xiàn)了將狀態(tài)和參數(shù)作為在線程序的一部分進(jìn)行估計,并用 EKF 框架進(jìn)行了有效實現(xiàn).Kelly 等將 UKF 框架引入 VI-SLAM 系統(tǒng)。該方法能夠在線、隨時校準(zhǔn)更新位姿,比如正在進(jìn)行的導(dǎo)航或建圖任務(wù)。

MSCKF 是 Mourikis 在 2007 年 提 出 的,MSCKF 2.0 也在隨后由 Mourikis 和 Li 提出 ,是目前許多 VI-SLAM 系統(tǒng)的基礎(chǔ)。MSCKF 是一種基于擴(kuò)展卡爾曼濾波器的 VI-SLAM 框架。在傳統(tǒng)EKF 框架中,特征點信息會加入到狀態(tài)向量和協(xié)方差矩陣?yán)?,這會加大矩陣維度,增加計算量,如圖 10 所示。而MSCKF 則在狀態(tài)向量里只添加窗口內(nèi)的相機(jī)狀態(tài),而忽略特征點,減少計算量。同時系統(tǒng)一般采用IMU靜態(tài)初始化,系統(tǒng)啟動后需要靜止一段時間,才能初始化成功,該系統(tǒng)沒有回環(huán)檢測功能。MSCKF 工作的最主要貢獻(xiàn)在于推導(dǎo)出一種測量模型,該模型能夠表達(dá)從多個相機(jī)位姿觀察到靜態(tài)特征時出現(xiàn)的幾何約束。系統(tǒng)中維護(hù)一個位姿的滑動窗口,如果一個特征點在滑動窗口內(nèi)的幾個位姿都被觀察到的話就會在這幾個位姿間建立約束。這種方法用一個特征點約束多個相機(jī)位姿,從而進(jìn)行 KF 的更新,舊的特征點和滑動窗口之外的相機(jī)姿態(tài)則被丟棄。近幾年,許多基于 MSCKF 的工作相繼提出,框架整體的精度和魯棒性得到了不斷的提升。

蘇黎世聯(lián)邦理工學(xué)院無人系統(tǒng)實驗室(Autono-mous Systems Lab,ASL)的 Bloesch 等提出了一種基于迭代擴(kuò)展卡爾曼濾波器(IEKF)的直接法單目視覺慣性里程計,簡稱 ROVIO(robust visual inertialodometry) 。如圖 11所示,該算法將視覺信息和IMU信息進(jìn)行緊耦合的一種視覺慣性測量單元。數(shù)據(jù)融合的方法主要是通過迭代卡爾曼濾波來進(jìn)行的。對于視覺方面的信息,作者主要是通過將路標(biāo)點在圖像中對應(yīng)的點周圍的圖像塊做為路標(biāo)點的描述子,從而得到光度誤差。然后將光度誤差進(jìn)行變換得到IEKF中的innovation term,進(jìn)而進(jìn)行濾波狀態(tài)的更新。

整體的濾波方程的構(gòu)造是以機(jī)器人為中心進(jìn)行構(gòu)造的(fully robocentric)——實際上這個robocentric就是以IMU為原點固連在IMU上的坐標(biāo)系——從而保證能觀狀態(tài)不受不斷增長的全局協(xié)方差的影響,這樣可以減小因非線性而造成的誤差。此外,作者還將路標(biāo)點的空間位置信息拆開成了兩項。一項是bearing vector(二維向量),還有一項是distance(這里實際上用的是逆深度)。并在 IMU 預(yù)測階段對路標(biāo)點進(jìn)行預(yù)測,在視覺更新時對其修正,不像其他框架一般僅在視覺階段去計算。這樣的構(gòu)造方式可以避免不能觀狀態(tài)量,并且使得初始化沒有延遲。由于使用了基于 QR 分解的測量空間縮減方法,并執(zhí)行每個路標(biāo)點的更新迭代,因此系統(tǒng)具有較高的效率和準(zhǔn)確性。

ARL 實 驗 室 隨 后 又 推 出 了 Maplab 框 架,與 ROVIO 不同的是,Maplab 帶有一個完整的 VI-SLAM 系統(tǒng),具有回環(huán)檢測和重定位功能。系統(tǒng)由兩部分組成,一部分是 ROVIOLI(ROVIO with lo-calization integration),一個在線的視覺慣性全局定位系統(tǒng),其接收圖像與慣性傳感器數(shù)據(jù)作為輸入,輸出全局的位姿估計,并建立地圖。另一部分是離線的 Maplab 控制臺,可以讓使用者以離線批處理方式在地圖上應(yīng)用各種算法。

在 松 耦 合 方 法 中, Faessler 等使 用 了 一種基于 SVO(semi-direct visual odometry)和 MSF(multi-sensor fusion)的方案。SVO 是一種計算量較小的稀疏直接算法。其通過跟蹤 FAST(fromaccelerated segment test) 特征并最小化周圍圖像塊的光度誤差來匹配幀間圖像,使用非線性最小二乘法來最小化特征中的重投影誤差,得到僅由相機(jī)估計的位姿。MSF是一種通用的 EKF 框架,用于在位姿估計中融合來自不同傳感器的數(shù)據(jù)。系統(tǒng)將純視覺 SVO 得到的位姿作為通用位姿傳感器的輸出提供給 MSF,然后與 IMU 數(shù)據(jù)融合。由于是一種松耦合框架,位姿的尺度需要近似正確,因而時常要手動初始化。

Open VINS是黃國權(quán)老師團(tuán)隊在2019年8月份開源的一套基于MSCKF的VINS算法。主要提供了流形滑動窗口卡爾曼濾波器、在線攝像機(jī)內(nèi)、外標(biāo)定、攝像機(jī)-慣性傳感器時間偏移標(biāo)定、具有不同表示和一致第一估計的SLAM地標(biāo)(FEJ)處理、用于狀態(tài)管理的模塊化系統(tǒng)、可擴(kuò)展視覺慣性系統(tǒng)模擬器、用于算法評估的廣泛工具箱等功能。其在前端圖像信息處理中,結(jié)合了EKF-SLAM、MSCKF和Hybird SLAM等算法處理方式,提高了系統(tǒng)的穩(wěn)定性,在一些開源數(shù)據(jù)集上其精度可以媲美基于優(yōu)化的SLAM。該開源代碼的主要貢獻(xiàn)

1. 提供了一個可拓展、開源的代碼庫

2. 提供了許多視覺視覺慣性的基礎(chǔ),包括多相機(jī),多IMU,視覺慣性運動對象跟蹤,Schmidt-based visual-inertial SLAM,點平面和點線視覺慣性導(dǎo)航等。

開源代碼大致流程如圖12

圖12 openvins算法流程示意圖

b2101894-3838-11ec-82a8-dac502259ad0.png

表1 代表性 VI-SLAM 框架對比

4.濾波方法與優(yōu)化方法的聯(lián)系與對比

利用貝葉斯推斷可以建立基于濾波和基于優(yōu)化這 2 類方法之間的聯(lián)系。基于濾波的方法,位姿的先驗分布由內(nèi)感受型傳感器的測量構(gòu)建,似然分布由外感受型傳感器的測量建立,故可以視為最大后驗估計(maximum a posteriori,MAP)問題?;趦?yōu)化的方法,通過迭代找到測量總概率最高的狀態(tài),故可視為最大似然估計(maximum likelihood,ML)問題?;趦?yōu)化的方法,可以通過向傳感器的測量值中添加正則化項或先驗項,使其由 ML 問題轉(zhuǎn)化為 MAP 問題。如果把 EKF 框架看作是非線性高斯-牛頓法或高斯法的近似,那么它的表現(xiàn)無疑是達(dá)不到要求的。

主要原因是,EKF 沒有迭代至收斂的過程,其雅可比矩陣只計算 1 次,可能會遠(yuǎn)離所期望的最優(yōu)估計。但由于 EKF 沒有一次性計算所有的雅可比矩陣,EKF 的結(jié)果比單次的高斯-牛頓法迭代更精確,它的缺陷只在于沒有迭代這個步驟。從優(yōu)化的角度來看,這是一個顯而易見的問題,因為優(yōu)化是需要最后迭代至收斂的。EKF 使用了馬爾可夫假設(shè)來實現(xiàn)其遞歸形式,由于使用了馬爾可夫假設(shè),一旦濾波器建立在該假設(shè)上就無法擺脫它。包括IEKF 在內(nèi),雖然 IEKF 一次迭代了一個時間步長,但它仍然依賴于馬爾可夫假設(shè),而且僅在一個時刻上進(jìn)行了迭代,并非在整個軌跡上。

本文比較了幾種代表性的 VI-SLAM 框架,如表 1 所示。可以看出,目前主流的 VI-SLAM 實現(xiàn)方法以緊耦合的優(yōu)化方法為主。相較于松耦合的方法,把 IMU 狀態(tài)與相機(jī)狀態(tài)合并在一起進(jìn)行狀態(tài)估計的緊耦合方法具有更高的精度。而由于基于濾波的方法具有馬爾可夫性,無法考慮到某時刻狀態(tài)與之前所有時刻狀態(tài)的關(guān)系,目前普遍認(rèn)為在計算資源足夠的情況下,基于優(yōu)化的方法會得到更精確的效果。但是在計算資源受限,或者移動機(jī)器人位姿軌跡比較簡單的場合里,基于濾波的方法仍然是一種有效的方式。

5. 展望

5.1 與深度學(xué)習(xí)結(jié)合

構(gòu)建語義地圖、在幀間匹配和回環(huán)檢測中采用 深 度 學(xué) 習(xí) 的 方 法 是 目 前 SLAM 的 研 究 熱 點 之一 。深度學(xué)習(xí)方法的引入使移動機(jī)器人可以理解周圍環(huán)境的語義信息。完成一些更復(fù)雜的任務(wù)。但深度學(xué)習(xí)方法對于計算資源的需求巨大,在硬件條件較差的嵌入式場景難以使用,需要研究人員進(jìn)一步地改進(jìn)網(wǎng)絡(luò)。

5.2 輕量化

SLAM 本身是為了給上層應(yīng)用提供自身位姿估計,在實際應(yīng)用中,研究人員并不希望算法占用太多運算資源。使用者希望 SLAM 框架能夠輕量化,不影響移動機(jī)器人或者手機(jī)移動端所要完成的其他工作。相比于激光 SLAM 等成本高昂的方法,由于 VI-SLAM 系統(tǒng)只使用相機(jī)和慣性傳感器,在無人機(jī)或手持移動設(shè)備上良好運行 SLAM 程序成為可能。通過繼續(xù)改進(jìn)算法,現(xiàn)在很多大廠均能夠在移動端實現(xiàn)效果良好的定位效果。

5.3 與更多傳感器融合

視覺與 IMU 的融合已經(jīng)在不同的領(lǐng)域取得了較理想的效果,但是當(dāng)場景特別大時,視覺和 IMU傳感器的效果不太理想,這時就需要用到其他傳感器。在自動駕駛領(lǐng)域,將激光雷達(dá)、 GPS/GNSS(全球衛(wèi)星導(dǎo)航系統(tǒng))、相機(jī)以及 IMU 等多傳感器進(jìn)行融合已經(jīng)成為一種趨勢,引入激光雷達(dá)等傳感器會為系統(tǒng)提供更準(zhǔn)確的深度信息。但是更多的傳感器會帶來更復(fù)雜的標(biāo)定與融合方面的問題,有待研究人員加以解決。

5.4 嵌入式系統(tǒng)

移動機(jī)器人通常使用嵌入式設(shè)備作為平臺的計算硬件,而隨著計算能力的大力發(fā)展,嵌入式設(shè)備的使用頻率逐漸增多。新型 GPU(圖形處理器)的出現(xiàn)使得嵌入式系統(tǒng)的性能更加接近 PC 機(jī),但是計算能力仍然有限。一些嵌入式硬件,例如Jetson Nano、TX1/2 的出現(xiàn)使得研究人員可以在嵌入式系統(tǒng)中使用 GPU,便于移動機(jī)器人在惡劣的條件下應(yīng)用 VI-SLAM 算法。隨著一些代表性產(chǎn)品 Google Project Tango、Microsoft Hololens、MagicLeap、Nreal等的應(yīng)用,VI-SLAM 技術(shù)會逐步融入到平常生活之中。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298587
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4552

    瀏覽量

    92024
  • SLAM
    +關(guān)注

    關(guān)注

    23

    文章

    405

    瀏覽量

    31711

原文標(biāo)題:近十年的VI-SLAM算法綜述與發(fā)展

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    深度識別算法包括哪些內(nèi)容

    深度識別算法是深度學(xué)習(xí)領(lǐng)域的一個重要組成部分,它利用深度神經(jīng)網(wǎng)絡(luò)模型對輸入數(shù)據(jù)進(jìn)行高層次的理解和識別。深度識別算法涵蓋了多個方面的內(nèi)容,主要包括以下幾種類型: 1. 卷積神經(jīng)網(wǎng)絡(luò)(CNN) 概述
    的頭像 發(fā)表于 09-10 15:28 ?119次閱讀

    Jetson Nano集成探索大象機(jī)器人myAGV上的 SLAM 算法!

    引言 大家好,最近新入手了一臺myAGV JN這是elephant robotics在myAGV升級后的版本。最近有對SLAM相關(guān)知識感興趣,想深入了解一些關(guān)于ROS中SLAM的一些算法
    的頭像 發(fā)表于 06-03 14:13 ?247次閱讀
    Jetson Nano集成探索大象機(jī)器人myAGV上的 <b class='flag-5'>SLAM</b> <b class='flag-5'>算法</b>!

    基于FPGA的常見的圖像算法模塊總結(jié)

    意在給大家補(bǔ)充一下基于FPGA的圖像算法基礎(chǔ),于是講解了一下常見的圖像算法模塊,經(jīng)過個人的總結(jié),將知識點分布如下所示。
    的頭像 發(fā)表于 04-28 11:45 ?416次閱讀
    基于FPGA的常見的圖像<b class='flag-5'>算法</b>模塊<b class='flag-5'>總結(jié)</b>

    深度解析深度學(xué)習(xí)下的語義SLAM

    隨著深度學(xué)習(xí)技術(shù)的興起,計算機(jī)視覺的許多傳統(tǒng)領(lǐng)域都取得了突破性進(jìn)展,例如目標(biāo)的檢測、識別和分類等領(lǐng)域。近年來,研究人員開始在視覺SLAM算法中引入深度學(xué)習(xí)技術(shù),使得深度學(xué)習(xí)SLAM系統(tǒng)獲得了迅速發(fā)展,并且比傳統(tǒng)
    發(fā)表于 04-23 17:18 ?997次閱讀
    深度解析深度學(xué)習(xí)下的語義<b class='flag-5'>SLAM</b>

    什么是SLAM?SLAM算法涉及的4要素

    SLAM技術(shù)可以應(yīng)用在無人駕駛汽車、無人機(jī)、機(jī)器人、虛擬現(xiàn)實等領(lǐng)域中,為這些領(lǐng)域的發(fā)展提供了支持。SLAM技術(shù)的發(fā)展已經(jīng)逐漸從單純的定位和地圖構(gòu)建轉(zhuǎn)向了基于場景理解的功能。
    發(fā)表于 04-04 11:50 ?1765次閱讀

    什么是SLAM?基于3D高斯輻射場的SLAM優(yōu)勢分析

    基于NeRF的SLAM算法采用全局地圖和圖像重建損失函數(shù),通過可微分渲染捕獲稠密的光度信息,具有高保真度。
    的頭像 發(fā)表于 04-01 12:44 ?548次閱讀

    從基本原理到應(yīng)用的SLAM技術(shù)深度解析

    LSD-SLAM 即 Large-Scale Direct SLAM,兼容單目相機(jī)和雙目相機(jī)。LSD-SLAM是一種基于光流跟蹤的直接法SLAM,但是實現(xiàn)了半稠密建圖,建圖規(guī)模大,可以
    發(fā)表于 02-26 09:41 ?8415次閱讀
    從基本原理到應(yīng)用的<b class='flag-5'>SLAM</b>技術(shù)深度解析

    基于NeRF/Gaussian的全新SLAM算法

    基于NeRF的SLAM算法采用全局地圖和圖像重建損失函數(shù),通過可微分渲染捕獲稠密的光度信息,具有高保真度。
    的頭像 發(fā)表于 01-26 10:48 ?544次閱讀
    基于NeRF/Gaussian的全新<b class='flag-5'>SLAM</b><b class='flag-5'>算法</b>

    動態(tài)環(huán)境中基于神經(jīng)隱式表示的RGB-D SLAM

    神經(jīng)隱式表示已經(jīng)被探索用于增強(qiáng)視覺SLAM掩碼算法,特別是在提供高保真的密集地圖方面。
    的頭像 發(fā)表于 01-17 10:39 ?774次閱讀
    動態(tài)環(huán)境中基于神經(jīng)隱式表示的RGB-D <b class='flag-5'>SLAM</b>

    NeRF何去何從?GS SLAM到底哪家強(qiáng)?來看看最新的開源方案!

    跟蹤場景表示。這里也推薦工坊推出的新課程《徹底剖析室內(nèi)、室外激光SLAM關(guān)鍵算法和實戰(zhàn)(cartographer+LOAM+LIO-SAM)》。
    的頭像 發(fā)表于 12-26 16:38 ?970次閱讀
    NeRF何去何從?GS <b class='flag-5'>SLAM</b>到底哪家強(qiáng)?來看看最新的開源方案!

    深入了解Linux中vi命令的使用

    深入了解Linux中vi命令的使用 VI是一款在Linux系統(tǒng)中使用的文本編輯器,它是一款功能強(qiáng)大、靈活性高的編輯器。VI編輯器具有非常高效的命令行操作方式,并且在各個版本的Linux中都得到了廣泛
    的頭像 發(fā)表于 12-25 11:15 ?346次閱讀

    什么是激光雷達(dá)3D SLAM技術(shù)?

    什么是激光雷達(dá)3DSLAM?在了解這個概念之前,我們首先需要弄懂什么是“SLAM”。SLAM,英文是SimultaneousLocalizationandMapping,意思是即時定位與建圖。通俗
    的頭像 發(fā)表于 11-25 08:23 ?1395次閱讀
    什么是激光雷達(dá)3D <b class='flag-5'>SLAM</b>技術(shù)?

    模型算法總結(jié)

    本文將繼續(xù)修煉回歸模型算法,并總結(jié)了一些常用的除線性回歸模型之外的模型,其中包括一些單模型及集成學(xué)習(xí)器。 保序回歸、多項式回歸、多輸出回歸、多輸出K近鄰回歸、決策樹回歸、多輸出決策樹回歸
    的頭像 發(fā)表于 11-03 10:39 ?517次閱讀
    模型<b class='flag-5'>算法</b><b class='flag-5'>總結(jié)</b>

    LabVIEW子VI設(shè)計—多態(tài)VI與自適應(yīng)VI

    使用LabVIEW編寫程序時,工程師都會將自己程序中的部分代碼封裝為子VI,而封裝的部分可能是某個經(jīng)典的算法,也可能是調(diào)用某個設(shè)備的專用代碼,還可能是實現(xiàn)某個功能的模塊。
    的頭像 發(fā)表于 10-23 14:37 ?7008次閱讀

    探討目前主流3D激光SLAM算法方案

     激光SLAM局部定位精度高但全局定位能力差且對環(huán)境特征不敏感,而視覺SLAM全局定位能力好但局部定位相對激光雷達(dá)較差,兩者融合可以提高SLAM系統(tǒng)的精度和魯棒性。
    發(fā)表于 10-23 11:01 ?1160次閱讀
    探討目前主流3D激光<b class='flag-5'>SLAM</b><b class='flag-5'>算法</b>方案