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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SLAM領域中的VIO(視覺慣性里程計)

新機器視覺 ? 來源:ZjuerBooster ? 2023-09-07 16:57 ? 次閱讀

筆者在閑暇之余學習了SLAM相關的內容,深感機器人狀態(tài)估計領域的博大精深。今天,筆者就拋磚引玉,談談SLAM領域中的VIO(視覺慣性里程計)。

初始SLAM

SLAM(Simultaneous Localization and Mapping),是指搭載特定傳感器的主體,在沒有環(huán)境先驗信息的情況下,于運動過程中建立環(huán)境的模型,同時估計自己的運動。SLAM可以解決自主運動的兩大基本問題:

我在什么地方?——定位

周圍環(huán)境是什么樣子?——建圖

定位與建圖=內外兼修,定位側重對自身的了解,建圖側重對外在的了解。

為什么用VIO?

單目視覺SLAM無法解決尺度問題,而將IMU估計的位姿序列與相機估計的位姿序列進行對齊可以恢復出相機軌跡的真實尺度;

視覺SLAM一般取第一幀作為世界坐標系,而IMU中的加速度計測量值包括重力向量,可以根據(jù)其將估計的位姿轉換到垂直于地面的世界坐標系中;

IMU幀間積分得到的位姿可以預測出圖像幀在下一時刻的位姿以及特征點在下一幀圖像上的位置,并將其作為初值帶入非線性優(yōu)化中,減少優(yōu)化迭代次數(shù);

IMU測量可以提高視覺SLAM在某些復雜場景的魯棒性,在于相機快速運動、動態(tài)障礙物、光線明暗變化明顯、環(huán)境中紋理缺失等導致圖像信息質量較差的情況下,利用IMU信息仍能得到有效的定位結果。

耦合的VIO

686ed1dc-4d5b-11ee-a25d-92fbcf53809c.png

根據(jù)狀態(tài)向量中是否加入圖像特征信息來判斷是否為松緊耦合,如圖所示,在VIO中將圖像特征以及IMU的位置、方向、速度作為狀態(tài),構建非線性優(yōu)化問題進行求解,采用梯度下降的方法同時對圖像特征以及位置、方向、速度進行優(yōu)化,從而得到對機器人狀態(tài)的最優(yōu)估計。

VIO的框架

68a2c00a-4d5b-11ee-a25d-92fbcf53809c.png

VIO過程可以用上圖進行表示,其中,為路標點,,,為三個時刻相機的位置點,,,為三個時刻IMU的位置點。由于IMU存在著高斯白噪聲以及導數(shù)服從高斯分布的偏置,相機也存在著光學畸變誤差、機械誤差等,因此無論是相機觀測到的數(shù)據(jù)還是IMU測量的數(shù)據(jù)都不可靠。因為相機觀測的數(shù)據(jù)以及IMU測量的數(shù)據(jù)具有一定的關聯(lián)性,基于此構建優(yōu)化問題,便可以得到對真實路標點的最優(yōu)估計,同時也可以得到對IMU或者相機(機器人本體)的最優(yōu)估計。

基于以上原理,VIO的優(yōu)化問題可以表示為:

68c45a30-4d5b-11ee-a25d-92fbcf53809c.png

以上三項分別為邊緣化的先驗信息、IMU的測量殘差、視覺的重投影誤差。其中,視覺的重投影誤差是指像素坐標(觀測到的投影位置)與3D點按照當前估計的位姿進行第二次投影得到的位置相比較得到的誤差。邊緣化的先驗信息是指邊緣化后的剩余變量更新后的殘差,具體的會在邊緣化一節(jié)進行分析。

邊緣化

要講邊緣化,首先大家要知道實際使用中SLAM的優(yōu)化方法,它并不是對所有的觀測進行優(yōu)化,而是會構建一個窗口,只對窗口內觀測到的狀態(tài)值進行優(yōu)化,這樣可以大大的減少計算量以及優(yōu)化的時間。但是由于在移動過程中,會不斷的觀測到新的狀態(tài),因此需要讓構建的窗口滑動起來,從而能夠包換最新觀測到的狀態(tài),并且扔掉最早觀測到的狀態(tài),這種優(yōu)化方法叫做基于滑動窗口的優(yōu)化方法。

但是,由于在連續(xù)的一些時刻中,相機可能會觀測到用一個路標點,所以不能簡單的扔掉之前觀測到的狀態(tài)值,需要其信息全部傳遞到之后的狀態(tài)中。簡單的說,這是一個求邊際概率的問題,形如:

68e1c516-4d5b-11ee-a25d-92fbcf53809c.png

b可以指代為需要扔掉的最早觀測到的狀態(tài)。通過求解邊際概率,最早觀測到狀態(tài)量信息便傳遞到了該滑動窗口剩余的狀態(tài)量中。此后,我們通過講最新觀測到的狀態(tài)量加入到滑動窗口中,便可以進行新一輪的非線性優(yōu)化。

講到了這里,我想大家已經(jīng)能夠理解邊緣化的先驗誤差是什么了吧,沒錯,他就是通過上述求解邊際概率方式更新后的誤差,該誤差加上最新觀測到的狀態(tài)量的誤差,也就是IMU的測量誤差以及相機的觀測誤差即可構建出上一節(jié)等式的優(yōu)化問題。

寫到最后

VIO不僅包含上述的非線性優(yōu)化問題,還有其他的一些問題:

首先是VIO的初始化,初始化的目的是為了恢復單目相機的尺度信息,求解IMU的偏置,IMU與相機之間的轉換關系,并將優(yōu)化的坐標系轉換到世界坐標系下(可根據(jù)重力加速度為g得到z軸)。

除了初始化,還有回環(huán)檢測問題,基于優(yōu)化的方法依舊會有誤差,尤其是長時間運轉后,因此可以通過檢測觀測到路標點是否之前已經(jīng)觀測到,構建回環(huán),從而增強優(yōu)化問題的約束,避免陷入局部極小值點,保證結果的最優(yōu)性。

最后,就是建圖模塊了,根據(jù)優(yōu)化后的狀態(tài)量(機器人本體的位姿以及路標點的位置)可以構建出地圖,從而用于機器人的導航。

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

    關注

    23

    文章

    405

    瀏覽量

    31711
  • VIO
    VIO
    +關注

    關注

    0

    文章

    11

    瀏覽量

    10028
  • IMU
    IMU
    +關注

    關注

    6

    文章

    293

    瀏覽量

    45540

原文標題:VIO從入門到精通(放棄)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何去提高汽車里程計電路的抗干擾能力?

    里程計工作原理是什么?汽車里程計的受擾現(xiàn)象有哪些?
    發(fā)表于 05-19 07:26

    如何理解SLAM用到的傳感器輪式里程計IMU、雷達、相機的工作原理與使用場景?精選資料分享

    視覺慣性里程計 綜述 VIO Visual Inertial Odometry msckf ROVIO ssf msf okvis ORB-VINS VINS-Mono gtsam目錄
    發(fā)表于 07-27 07:21

    請問如何理解SLAM用到的傳感器輪式里程計IMU、雷達、相機的工作原理?

    請問如何理解SLAM用到的傳感器輪式里程計IMU、雷達、相機的工作原理?
    發(fā)表于 10-09 08:52

    視覺里程計的研究和論文資料說明免費下載

    使用幾何假設和測試架構從特征軌跡產(chǎn)生相機運動的魯棒估計。這就產(chǎn)生了我們稱之為視覺測徑法,即僅從視覺輸入的運動估計。沒有事先知道的場景或運動是必要的。視覺里程計還可以結合來自其他來源的信
    發(fā)表于 12-03 08:00 ?1次下載

    視覺里程計的詳細介紹和算法過程

    在導航系統(tǒng)中,里程計(odometry)是一種利用致動器的移動數(shù)據(jù)來估算機器人位置隨時間改變量的方法。例如,測量輪子轉動的旋轉編碼器設備。里程計總是會遇到精度問題,例如輪子的打滑就會導致產(chǎn)生機器人移動的距離與輪子的旋轉圈數(shù)不一致的問題。
    的頭像 發(fā)表于 08-08 14:21 ?2.6w次閱讀
    <b class='flag-5'>視覺</b><b class='flag-5'>里程計</b>的詳細介紹和算法過程

    視覺語義里程計的詳細資料說明

    魯棒數(shù)據(jù)關聯(lián)是視覺里程計的核心問題,圖像間的對應關系為攝像機姿態(tài)和地圖估計提供了約束條件。目前最先進的直接和間接方法使用短期跟蹤來獲得連續(xù)的幀到幀約束,而長期約束則使用循環(huán)閉包來建立。在這篇論文
    發(fā)表于 10-28 08:00 ?0次下載
    <b class='flag-5'>視覺</b>語義<b class='flag-5'>里程計</b>的詳細資料說明

    VIL-SLAM系統(tǒng)可實現(xiàn)獲得更好的回環(huán)約束

    本文提出的立體視覺+慣導+激光雷達的SLAM系統(tǒng),在比如隧道一些復雜場景下能夠實現(xiàn)良好性能。VIL-SLAM通過將緊密耦合的立體視覺慣性
    發(fā)表于 02-18 17:59 ?2182次閱讀
    VIL-<b class='flag-5'>SLAM</b>系統(tǒng)可實現(xiàn)獲得更好的回環(huán)約束

    計算機視覺方向簡介之視覺慣性里程計

    VIO-SLAM Visual-Inertial Odometry(VIO)即視覺慣性里程計,有時也叫
    的頭像 發(fā)表于 04-07 16:57 ?2410次閱讀
    計算機<b class='flag-5'>視覺</b>方向簡介之<b class='flag-5'>視覺</b><b class='flag-5'>慣性</b><b class='flag-5'>里程計</b>

    一種R3LIVE++的LiDAR慣性視覺融合框架

    R3LIVE++ 由實時運行的 LiDAR 慣性里程計 (LIO) 和視覺慣性里程計 (VIO)
    的頭像 發(fā)表于 10-17 09:34 ?2166次閱讀

    基于單個全景相機的視覺里程計

    本文提出了一種新的直接視覺里程計算法,利用360度相機實現(xiàn)魯棒的定位和建圖。本系統(tǒng)使用球面相機模型來處理無需校正的等距柱狀圖像,擴展稀疏直接法視覺里程計(DSO,direct spar
    的頭像 發(fā)表于 12-14 14:53 ?736次閱讀

    OV2SLAM(高速視覺slam)簡析

    視覺里程計最近幾年越來越受到學術界以及工業(yè)界的認可,以ORB和VINS為代表的視覺SLAM已經(jīng)可以滿足絕大多數(shù)場景,而OV2SLAM在其他V
    的頭像 發(fā)表于 03-21 17:16 ?1345次閱讀

    輪式移動機器人里程計分析

    但凡涉及到可移動的機器人的導航系統(tǒng),大概率會涉及到里程計的計算,比如輪式移動機器人、無人機、無人艇,以及多足機器人等,而計算里程計的方案也有很多種,比如基于編碼器合成里程計的方案、基于視覺
    的頭像 發(fā)表于 04-19 10:17 ?1683次閱讀

    介紹一種基于編碼器合成里程計的方案

    摘要:本文主要分析輪式移動機器人的通用里程計模型,并以兩輪差速驅動機器人的里程計計算為案例,給出簡化后的兩輪差速驅動機器人里程計模型。
    的頭像 發(fā)表于 04-19 10:16 ?1852次閱讀

    介紹一種新的全景視覺里程計框架PVO

    論文提出了PVO,這是一種新的全景視覺里程計框架,用于實現(xiàn)場景運動、幾何和全景分割信息的更全面建模。
    的頭像 發(fā)表于 05-09 16:51 ?1665次閱讀
    介紹一種新的全景<b class='flag-5'>視覺</b><b class='flag-5'>里程計</b>框架PVO

    在城市地區(qū)使用低等級IMU的單目視覺慣性車輪里程計

    受簡化慣性傳感器系統(tǒng)(RISS)[23]的啟發(fā),我們開發(fā)了視覺慣性車輪里程計(VIWO)。具體而言,我們將MSCKF中的系統(tǒng)模型重新設計為3DRISS,而不是INS,使用
    的頭像 發(fā)表于 06-06 14:30 ?1337次閱讀
    在城市地區(qū)使用低等級IMU的單目<b class='flag-5'>視覺</b><b class='flag-5'>慣性</b>車輪<b class='flag-5'>里程計</b>