色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

介紹主流的VIO初始化方案

3D視覺工坊 ? 來源:3DCV ? 2023-06-21 09:22 ? 次閱讀

4e16659a-0fbf-11ee-962d-dac502259ad0.png

視覺慣性融合技術應用于機器人自動駕駛方面。單目相機和低成本IMU成為最佳選擇。因為VIO系統的高度非線性,初值對視覺慣性系統很重要,但很難獲得精確的初始狀態。VIO初始化的主要意義有:(1)對齊相機的世界坐標系和慣性系,因此需要估計重力方向(2)為后續的VIO算法提供較為準確的初始參數和狀態(尺度、IMU bias、初始速度),使得算法可以快速穩定地進入正常運行階段。良好的初始化對VIO算法的整體精度和魯棒性至關重要。本文旨在介紹主流的VIO初始化方案

1 前言

目前的初始化方法分為松耦合(Vins-Mono、ORBSLAM3)和緊耦合方案(OpenVINS),松耦合方案用的較多,并且表現更好。從求解方法上,有濾波、圖優化、閉式解三種方法。但是,濾波會很早將狀態邊緣化,會失去最優性。圖優化由于計算復雜性高。大多數現有的初始化方法需要系統靜止或已知初始狀態。不能適應動態運動、空中初始化。閉合式解法缺乏傳感器噪聲模型。本文主要介紹基于VINS-Mono的松耦合方案。

2 問題概述

已知:(1)IMU 和圖像時間戳已同步;(2)IMU 和相機外參數已知求解:尺度、圖像幀的速度、重力方向、IMU bias

3 方法

3.1 進行單目結構重建(SFM),獲得up-to-scale的相機姿態和特征點位置

設定一定長度的滑動窗口,它維護了幾個空間分離的圖像幀。空間幀由足夠的視差的圖像幀來選擇。選擇兩幀具有足夠特征視差的幀。然后使用五點法恢復這兩幀之間的相對旋轉和帶尺度的平移。然后任意設置尺度,對這兩幀中觀察到的所有特征進行三角剖分。基于這些三角化特征,采用PnP方法估計窗口中其他幀的姿態。

4e241cd0-0fbf-11ee-962d-dac502259ad0.png

最后,應用全局BA最小化所有特征觀測值的總重投影誤差得到所有的幀姿態和特征位置。已知相機與IMU之間的外參數,則所有變量都可以從相機坐標系轉換到IMU坐標系:

4e2be26c-0fbf-11ee-962d-dac502259ad0.png

s是未知的尺度。

3.2 對IMU測量進行預積分,得到IMU的相對運動約束

預積分公式為:

4e314b3a-0fbf-11ee-962d-dac502259ad0.png

分別表示相對位置、速度和旋轉約束。可以看出,慣性測量通常被積分以形成與圖像幀的初始位置和速度無關的相對運動約束。

3.3 視覺慣性對準

我們已經得到了視覺SFM和IMU預積分中獲得了相機姿勢。本節將介紹對齊這兩個軌跡的方法。

陀螺儀bias標定

窗口中兩個連續的圖像幀bk和bk+1,我們有來自視覺結構的相對旋轉以及來自IMU預積分的相對旋轉約束。通過最小化兩者之間的誤差來估計陀螺儀的bias:

4e3c9512-0fbf-11ee-962d-dac502259ad0.png

注意每次更新bg,都要重新計算預積分量。上面第二個式子用到了快速更新預積分量的方法。

估計速度、重力方向和尺度參數。

重力方向估計并強制其模長等于已知值。即需要估計的變量有

4e42f9e8-0fbf-11ee-962d-dac502259ad0.png

4e4c4700-0fbf-11ee-962d-dac502259ad0.png

考慮預積分位置和速度相關的約束,IMU軌跡在相機坐標系c0下有:

4e51de4a-0fbf-11ee-962d-dac502259ad0.png

利用外參數,得到相機坐標系下的相機軌跡與預積分的關系:

4ef3593c-0fbf-11ee-962d-dac502259ad0.png

將待估計變量放到方程右邊,有:

4efc12ca-0fbf-11ee-962d-dac502259ad0.png

其中,

4f0239ac-0fbf-11ee-962d-dac502259ad0.png

上式中,帶尺度的相機位置和姿態已經通過視覺SFM獲得。通過求解最小二乘問題:

4f0b7f80-0fbf-11ee-962d-dac502259ad0.png

可以得到視覺坐標系下的速度和重力矢量,以及尺度。視覺結構的平移分量將被縮放到米制單位。通過強制范數約束,估計的重力將經歷另一輪的細化。

重力方向細化

上面的優化中,并沒有約束重力的大小。通過約束重力矢量的大小,可以對前一步得到的重力矢量進行細化。在大多數情況下,重力矢量的大小是已知的。但是,如果我們直接將這個范數約束加入到上面的優化問題中,就會變得非線性,難以求解。在這里,VINS-Mono使用一種方法通過優化其切線空間上的二維誤差狀態來強制執行重力范數。

4f1406a0-0fbf-11ee-962d-dac502259ad0.png

上圖表示重力方向參數化示意圖。由于重力的大小是已知的,重力的自由度為2,我們可以在它的切空間上用兩個變量來參數化重力。我們將重力參數化為:

4f1ce694-0fbf-11ee-962d-dac502259ad0.png

b1和b2是張成切平面的兩個正交基。w1和w2分別是指向b1和b2的位移。我們可以用Gram-Schmidt過程(一種構造單位正交基的方法)很容易地求出b1、 b2的集合。這樣,我們在其切空間上用兩種狀態重新參數化重力,然后將g替換為上式,也是線性形式。重新優化上面的最小二乘問題,迭代幾次,直到g收斂。在細化重力矢量之后,我們根據重力矢量將所有變量從視覺坐標系旋轉到世界坐標系(重力方向和Z軸平行的坐標系):

4f2600a8-0fbf-11ee-962d-dac502259ad0.png

4 結論

此時,初始化過程完成,這些變量將被輸入到一個緊密耦合的非線性視覺慣性估計器,即VIO過程。還有幾點需要解釋:對于旋翼飛行器來說,直線運動或零加速度運動等簡并運動是不可避免的。這時候在SFM窗口內的IMU測量可能無法使整個系統可見,我們可以通過檢查初始化過程中的預積分的值來拒絕小的加速度運動,初始化過程只有在IMU測量中包含足夠的激勵時才開始。在初始化過程中,加速度偏差很難標定,因為加速度通常在小旋轉下與重力耦合。因此該方法不涉及加速度bias的標定。忽略加速度偏差不會對初始化結果造成顯著的負面影響,可以在VIO過程中引入,這里不做介紹。




審核編輯:劉清

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

    關注

    211

    文章

    28380

    瀏覽量

    206918
  • 陀螺儀
    +關注

    關注

    44

    文章

    783

    瀏覽量

    98667
  • IMU
    IMU
    +關注

    關注

    6

    文章

    306

    瀏覽量

    45727
  • 自動駕駛
    +關注

    關注

    784

    文章

    13784

    瀏覽量

    166392

原文標題:一文讀懂復雜的VIO初始化

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CW32L083 RTC初始化設置

    介紹CW32L083的RTC初始化設置
    的頭像 發表于 06-24 10:16 ?1532次閱讀
    CW32L083 RTC<b class='flag-5'>初始化</b>設置

    手機模塊初始化向導

    手機模塊初始化向導:為了剛好的對手機模塊進行初始化,所以把最基本的向導寫下來.本向導適用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機模塊前,請先確定DT
    發表于 09-18 09:41 ?17次下載

    FPGA的ROM初始化問題討論

    本文討論FPGA的ROM初始化問題,詳細介紹mit文件的創建與使用。利用FPGA實現的ROM只能認為器件處于用戶狀態時具備ROM功能。使用時不必要刻意劃分,而ROM單元的初始化則是設計人員必須面
    發表于 02-08 14:24 ?5496次閱讀
    FPGA的ROM<b class='flag-5'>初始化</b>問題討論

    RDA1846S初始化設置

    RDA1846S初始化設置RDA1846S初始化設置RDA1846S初始化設置
    發表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

    UCOS_III_配置與初始化
    發表于 12-20 22:53 ?5次下載

    HX711初始化程序

    這是HX711的初始化程序
    發表于 02-08 01:51 ?90次下載

    LCD1206初始化及各控制指令介紹附部分程序下載

    LCD1206初始化及各控制指令介紹附部分程序
    發表于 03-22 17:27 ?63次下載

    8259a初始化的步驟及代碼介紹

    本文首先介紹了8259a工作初始化的步驟及程序,其次介紹了通過OCW對8259A進行操作方法,最后介紹了8259A初始化編程。
    的頭像 發表于 05-23 14:24 ?3w次閱讀
    8259a<b class='flag-5'>初始化</b>的步驟及代碼<b class='flag-5'>介紹</b>

    8253初始化程序分享_8253應用案例

    本文首先介紹了8253概念及8253各通道的工作方式,其次詳細介紹了8253初始化要求及編程,最后用一個例子介紹了8253的初始化程序。
    發表于 05-23 15:52 ?2.2w次閱讀
    8253<b class='flag-5'>初始化</b>程序分享_8253應用案例

    在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決

    本文檔的主要內容詳細介紹的是在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決。
    發表于 08-20 17:31 ?0次下載
    在51平臺下<b class='flag-5'>初始化</b>文件的引入導致全局變量無法<b class='flag-5'>初始化</b>的問題如何解決

    uboot中進行LCD初始化的流程免費下載

    本文檔的主要內容詳細介紹的是uboot中進行LCD初始化的流程免費下載。
    發表于 08-12 08:00 ?11次下載
    uboot中進行LCD<b class='flag-5'>初始化</b>的流程免費下載

    C++之初始化列表學習的總結

    類中可以使用初始化列表對成員進行初始化
    的頭像 發表于 12-24 17:39 ?842次閱讀

    初始化相關的重要寄存器介紹

    在上例中,介紹了配置OV5640所需的SCCB時序,以及具體的實現。本例將介紹初始化相關的重要寄存器,以及上電時序。
    的頭像 發表于 10-18 09:18 ?1712次閱讀

    labview運行后如何初始化

    LabVIEW是一款強大的圖形編程軟件,在運行之前通常需要進行一些初始化操作。本文將詳細介紹LabVIEW運行前的初始化過程,并提供了一些常用的
    的頭像 發表于 12-28 17:24 ?2624次閱讀

    基于旋轉平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關重要,因為不良的初始化會嚴重降低姿態精度。
    的頭像 發表于 11-01 10:16 ?324次閱讀
    基于旋轉平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法
    主站蜘蛛池模板: 国产99RE在线观看69热| 国产精品成人啪精品视频免费观看| 俄罗斯bbbb| 亚洲一区免费观看| 风情韵味人妻HD| 欧美日韩无套内射另类| 亚洲午夜无码久久久久蜜臀av| 国产AV天堂亚洲AV麻豆| 欧美123区| 99久久国产综合精品| 久久不射网| 亚洲精品成人无码区一在线观看| 边摸边吃奶边做带声音| 暖暖免费观看日本在线视频 | 国产精品亚洲欧美一区麻豆| 欧美日韩亚洲一区视频二区| 2021乱码精品公司| 就去色电影| 777ZYZ玖玖资源站最稳定网址| 精品国产自在自线官方| 亚洲视频在线观看网站| 国模孕妇模特季玥之粉红| 亚洲福利精品电影在线观看| 贵妇局长的蕾丝乳罩| 手机在线免费| 国产亚洲精品久久久999无毒| 王晶三级作品| 国产午夜伦鲁鲁| 亚洲欧美中文日韩v在线| 鸡鸡插屁股| 最近中文字幕高清中文字幕MV| 伦理片a在线线2| WWW亚洲精品久久久无码| 日本熟妇多毛XXXXX视频| 福利片午夜| 亚洲精品福利一区二区在线观看| 精品国产中文字幕在线视频| 又黄又肉到湿的爽文| 欧美视频精品一区二区三区| 成人动漫bt种子| 亚洲2023无矿砖码砖区|