chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

介紹主流的VIO初始化方案

3D視覺工坊 ? 來源:3DCV ? 2023-06-21 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1 前言

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

2 問題概述

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

3 方法

3.1 進(jìn)行單目結(jié)構(gòu)重建(SFM),獲得up-to-scale的相機(jī)姿態(tài)和特征點(diǎn)位置

設(shè)定一定長度的滑動窗口,它維護(hù)了幾個空間分離的圖像幀。空間幀由足夠的視差的圖像幀來選擇。選擇兩幀具有足夠特征視差的幀。然后使用五點(diǎn)法恢復(fù)這兩幀之間的相對旋轉(zhuǎn)和帶尺度的平移。然后任意設(shè)置尺度,對這兩幀中觀察到的所有特征進(jìn)行三角剖分?;谶@些三角化特征,采用PnP方法估計窗口中其他幀的姿態(tài)。

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

最后,應(yīng)用全局BA最小化所有特征觀測值的總重投影誤差得到所有的幀姿態(tài)和特征位置。已知相機(jī)與IMU之間的外參數(shù),則所有變量都可以從相機(jī)坐標(biāo)系轉(zhuǎn)換到IMU坐標(biāo)系:

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

s是未知的尺度。

3.2 對IMU測量進(jìn)行預(yù)積分,得到IMU的相對運(yùn)動約束

預(yù)積分公式為:

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

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

3.3 視覺慣性對準(zhǔn)

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

陀螺儀bias標(biāo)定

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

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

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

估計速度、重力方向和尺度參數(shù)。

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

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

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

考慮預(yù)積分位置和速度相關(guān)的約束,IMU軌跡在相機(jī)坐標(biāo)系c0下有:

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

利用外參數(shù),得到相機(jī)坐標(biāo)系下的相機(jī)軌跡與預(yù)積分的關(guān)系:

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

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

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

其中,

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

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

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

可以得到視覺坐標(biāo)系下的速度和重力矢量,以及尺度。視覺結(jié)構(gòu)的平移分量將被縮放到米制單位。通過強(qiáng)制范數(shù)約束,估計的重力將經(jīng)歷另一輪的細(xì)化。

重力方向細(xì)化

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

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

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

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

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

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

4 結(jié)論

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




審核編輯:劉清

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

    關(guān)注

    213

    文章

    30542

    瀏覽量

    219266
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    871

    瀏覽量

    101060
  • IMU
    IMU
    +關(guān)注

    關(guān)注

    6

    文章

    403

    瀏覽量

    47567
  • 自動駕駛
    +關(guān)注

    關(guān)注

    791

    文章

    14659

    瀏覽量

    176146

原文標(biāo)題:一文讀懂復(fù)雜的VIO初始化

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32L083 RTC初始化設(shè)置

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

    手機(jī)模塊初始化向?qū)?/a>

    手機(jī)模塊初始化向?qū)?為了剛好的對手機(jī)模塊進(jìn)行初始化,所以把最基本的向?qū)懴聛?本向?qū)нm用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機(jī)模塊前,請先確定DT
    發(fā)表于 09-18 09:41 ?17次下載

    FPGA的ROM初始化問題討論

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

    RDA1846S初始化設(shè)置

    RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置
    發(fā)表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

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

    HX711初始化程序

    這是HX711的初始化程序
    發(fā)表于 02-08 01:51 ?92次下載

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

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

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

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

    8253初始化程序分享_8253應(yīng)用案例

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

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

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

    C++之初始化列表學(xué)習(xí)的總結(jié)

    類中可以使用初始化列表對成員進(jìn)行初始化。
    的頭像 發(fā)表于 12-24 17:39 ?1356次閱讀

    初始化相關(guān)的重要寄存器介紹

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

    labview運(yùn)行后如何初始化

    LabVIEW是一款強(qiáng)大的圖形編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文將詳細(xì)介紹LabVIEW運(yùn)行前的初始化過程,并提供了一些常用的
    的頭像 發(fā)表于 12-28 17:24 ?4140次閱讀

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

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關(guān)重要,因為不良的初始化會嚴(yán)重降低姿態(tài)精度。
    的頭像 發(fā)表于 11-01 10:16 ?1353次閱讀
    基于旋轉(zhuǎn)平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法

    GraniStudio:初始化例程

    1.文件運(yùn)行 導(dǎo)入工程 雙擊運(yùn)行桌面GraniStudio.exe。 通過引導(dǎo)界面導(dǎo)入初始化例程,點(diǎn)擊導(dǎo)入按鈕。 打開初始化例程所在路徑,選中初始化.gsp文件,點(diǎn)擊打開,完成導(dǎo)入。 2.功能
    的頭像 發(fā)表于 08-22 16:45 ?690次閱讀
    GraniStudio:<b class='flag-5'>初始化</b>例程