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

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

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

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

3D視覺工坊 ? 來源:3D視覺工坊 ? 2024-11-01 10:16 ? 次閱讀

來源:3D視覺工坊

1. 導(dǎo)讀

精確和魯棒的初始化對于視覺慣性里程計(jì)(VIO)至關(guān)重要,因?yàn)椴涣嫉某跏蓟瘯?huì)嚴(yán)重降低姿態(tài)精度。在初始化期間,估計(jì)諸如加速度計(jì)偏差、陀螺儀偏差、初始速度和重力等參數(shù)是至關(guān)重要的。IMU傳感器需要精確估計(jì)陀螺儀偏差,因?yàn)橥勇輧x偏差會(huì)影響旋轉(zhuǎn)、速度和位置。現(xiàn)有的VIO初始化方法大多采用運(yùn)動(dòng)結(jié)構(gòu)法來解決陀螺漂移問題。然而,SfM在快速運(yùn)動(dòng)或退化場景中不夠穩(wěn)定和有效。為了克服這些限制,我們通過添加新的不確定性參數(shù)和優(yōu)化模塊來擴(kuò)展旋轉(zhuǎn)-平移-解耦框架。首先,我們采用一種陀螺儀偏置優(yōu)化器,它結(jié)合了概率法向極線約束。其次,我們?nèi)诤螴MU和視覺測量來有效地求解速度、重力和比例。最后,我們設(shè)計(jì)了一個(gè)額外的細(xì)化模塊,有效地減少重力和比例誤差。在EuRoC數(shù)據(jù)集上的大量初始化測試表明,我們的方法將陀螺儀偏差和旋轉(zhuǎn)估計(jì)誤差分別平均降低了16%和4%。它還顯著降低了重力誤差,平均降低了29%。

2. 引言

視覺慣性里程計(jì)(VIO)旨在在各種未知環(huán)境中估算相機(jī)的位置。它通過融合來自相機(jī)的圖像信息和來自慣性測量單元(IMU)傳感器的IMU測量數(shù)據(jù)來實(shí)現(xiàn)這一目標(biāo)。相機(jī)可以估計(jì)視覺地圖并減少姿態(tài)漂移。IMU傳感器為相機(jī)運(yùn)動(dòng)提供度量尺度,并具備短期魯棒性。VIO具有諸多優(yōu)勢,如體積小、成本低、功耗低。這些特性使得VIO在虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)和自動(dòng)化機(jī)器人等領(lǐng)域的應(yīng)用日益廣泛。

為了有效運(yùn)行VIO系統(tǒng),必須在初始化階段準(zhǔn)確估計(jì)一組參數(shù)。這些參數(shù)包括尺度、重力方向、初始速度和加速度計(jì)及陀螺儀的偏差。初始化不正確將導(dǎo)致收斂性差和系統(tǒng)其他參數(shù)估計(jì)不準(zhǔn)確。另一方面,快速初始化也很重要,因?yàn)閂IO系統(tǒng)必須在IMU正確初始化后才能工作。

基本上,以往的VIO初始化工作可分為緊耦合和松耦合方法。緊耦合方法假設(shè)相機(jī)的姿態(tài)可以通過IMU測量進(jìn)行近似。它們將視覺觀測與IMU積分相融合,并通過封閉形式的解來估計(jì)初始化參數(shù),這可能會(huì)增加計(jì)算成本。此外,這些方法通常忽略陀螺儀偏差,這可能會(huì)影響準(zhǔn)確性。松耦合方法假設(shè)通過視覺結(jié)構(gòu)從運(yùn)動(dòng)恢復(fù)(SfM)獲得的相機(jī)軌跡非常準(zhǔn)確。首先,它們解決視覺SfM問題,并根據(jù)得出的相機(jī)姿態(tài)初始化慣性參數(shù)。因此,這些方法的準(zhǔn)確性在很大程度上依賴于視覺SfM的性能。然而,在相機(jī)快速運(yùn)動(dòng)或共同特征點(diǎn)太少的情況下,視覺SfM可能會(huì)變得不穩(wěn)定。

總體而言,緊耦合和松耦合方法都未能充分利用相機(jī)和IMU之間的互補(bǔ)信息。具體而言,緊耦合方法未利用視覺觀測來估計(jì)陀螺儀偏差,這可能會(huì)導(dǎo)致數(shù)值穩(wěn)定性問題和準(zhǔn)確性降低。松耦合方法未使用IMU測量來增強(qiáng)視覺SfM的穩(wěn)定性,從而在具有挑戰(zhàn)性的運(yùn)動(dòng)場景中導(dǎo)致準(zhǔn)確性低或初始化失敗。受圖像觀測可直接用于優(yōu)化圖像幀之間旋轉(zhuǎn)的啟發(fā)[12],提出了一種旋轉(zhuǎn)-平移解耦的VIO初始化方法。該方法增強(qiáng)了視覺觀測與IMU測量之間的聯(lián)系。然而,這種方法忽略了圖像特征匹配的質(zhì)量。在最終結(jié)果中,每個(gè)匹配都被賦予相同的權(quán)重。盡管已從特征匹配中去除異常值,但2D特征對應(yīng)點(diǎn)的誤差分布隨圖像內(nèi)容和具體匹配技術(shù)而變化。因此,考慮2D特征匹配的不確定性至關(guān)重要。

3. 效果展示

MH02數(shù)據(jù)集和MH03數(shù)據(jù)集的角速度和標(biāo)度誤差可視化。第一行圖像是MH02,第二行圖像是MH03。列(a)顯示了基于角速度著色的相應(yīng)數(shù)據(jù)集的軌跡。列(b)和(c)分別顯示了我們的方法和DRT-t方法基于相應(yīng)數(shù)據(jù)集上著色的尺度誤差的軌跡。刻度誤差在0和1之間。顏色越淺,誤差越小。

5818d68c-966d-11ef-a511-92fbcf53809c.png

4. 主要貢獻(xiàn)

為了克服SfM的局限性并提高初始化準(zhǔn)確性和魯棒性,我們在考慮概率法正態(tài)極線約束(PNEC)的情況下估計(jì)陀螺儀偏差。該方法通過考慮特征點(diǎn)的異性和非均勻不確定性來提高陀螺儀偏差估計(jì)的準(zhǔn)確性?;谛D(zhuǎn)-平移解耦框架,我們首先解決旋轉(zhuǎn)問題。然后,我們使用線性全局平移約束(LiGT)解決平移問題。最后,我們通過求解最小二乘問題來估計(jì)速度、尺度和重力。為了進(jìn)一步提高尺度和重力的準(zhǔn)確性,我們還引入了一個(gè)改進(jìn)的尺度和重力細(xì)化模塊。推薦課程:徹底剖析激光-視覺-IMU-GPS融合SLAM算法:理論推導(dǎo)、代碼講解和實(shí)戰(zhàn)。

5. 方法

陀螺儀偏差的準(zhǔn)確估計(jì)在提高VIO系統(tǒng)軌跡準(zhǔn)確性方面起著核心作用。偏差會(huì)影響旋轉(zhuǎn),進(jìn)而影響平移和速度的積分。在本節(jié)中,我們提出了一種能夠準(zhǔn)確求解初始化參數(shù)的方法,這些參數(shù)包括陀螺儀偏差、速度、重力和尺度。初始化過程分為以下四個(gè)步驟:(1)陀螺儀偏差估計(jì),(2)旋轉(zhuǎn)和平移估計(jì),(3)尺度、速度和重力估計(jì),以及(4)尺度和重力細(xì)化。

正態(tài)極線約束(NEC)的幾何特性以及陀螺儀偏差與NEC之間的關(guān)系。法向量n1和n2垂直于包含f1i(f2i)和f1j(f2j)(紅色和綠色)的極平面,且所有法向量位于同一平面(黃色)內(nèi),形成一個(gè)可用于求解旋轉(zhuǎn)Rcicj(橙色)的約束。通過將外部參數(shù)Rbc(藍(lán)色)引入,求解Rcicj的問題轉(zhuǎn)化為求解陀螺儀偏差(粉色)的問題。

583bd01a-966d-11ef-a511-92fbcf53809c.png

6. 實(shí)驗(yàn)結(jié)果

5851e26a-966d-11ef-a511-92fbcf53809c.png

587483ce-966d-11ef-a511-92fbcf53809c.png

588df318-966d-11ef-a511-92fbcf53809c.png

7. 總結(jié) & 未來工作

我們提出了一種基于旋轉(zhuǎn)-平移解耦框架的魯棒且精確的視覺-慣性初始化方法。

通過建立概率正態(tài)極線約束,我們推導(dǎo)出了一個(gè)新的陀螺儀偏置估計(jì)公式,該公式直接利用視覺觀測結(jié)果并計(jì)算特征點(diǎn)位置的不確定性。然后,基于慣性測量單元(IMU)和視覺測量值建立最小二乘問題,以估計(jì)速度、尺度和重力。最后,我們引入了一個(gè)改進(jìn)的尺度-重力優(yōu)化模塊。

大量的初始化實(shí)驗(yàn)表明,我們的方法在保持高計(jì)算效率的同時(shí),提高了準(zhǔn)確性和魯棒性。該方法的一個(gè)局限性在于沒有考慮加速度計(jì)偏置對速度和尺度的影響。未來,我們將研究一個(gè)涵蓋加速度計(jì)偏置的尺度-重力優(yōu)化模塊。

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

    關(guān)注

    44

    文章

    784

    瀏覽量

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

    關(guān)注

    6

    文章

    312

    瀏覽量

    45744
  • 慣性測量單元
    +關(guān)注

    關(guān)注

    2

    文章

    48

    瀏覽量

    10444

原文標(biāo)題:誤差降低29%!超越VINS!魯棒高效的視覺慣性初始化!解鎖VIO新模式!

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

收藏 人收藏

    評論

    相關(guān)推薦

    視覺定位,旋轉(zhuǎn)平移的問題:

    視覺定位,旋轉(zhuǎn)平移的問題,旋轉(zhuǎn)中心不在法蘭盤中心的問題,圖解。方法,公式如下
    發(fā)表于 09-01 20:36

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

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

    基于SQL的數(shù)據(jù)庫初始化通用方法

    如何對開發(fā)的網(wǎng)絡(luò)測量系統(tǒng)的數(shù)據(jù)庫部分進(jìn)行初始化,一直是影響測量系統(tǒng)使用的一個(gè)難題。文章總結(jié)了幾種對應(yīng)用程序的數(shù)據(jù)庫部分進(jìn)行初始化安裝的方法,比較了它們的不足,提出
    發(fā)表于 09-26 17:07 ?0次下載

    RDA1846S初始化設(shè)置

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

    LCD1602初始化流程圖及程序的兩種方法

    本文介紹LCD1602初始化程序及其LCD1602初始化流程、具體步驟實(shí)現(xiàn)的兩種方法,供電子愛好者及實(shí)驗(yàn)使用。
    發(fā)表于 10-08 10:01 ?4.8w次閱讀
    LCD1602<b class='flag-5'>初始化</b>流程圖及程序的兩種<b class='flag-5'>方法</b>

    UCOS_III_配置與初始化

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

    objc源碼中NSObject如何進(jìn)行初始化

    + alloc 和 - init 這一對我們在 iOS 開發(fā)中每天都要用到的初始化方法一直困擾著我, 于是筆者仔細(xì)研究了一下 objc 源碼中 NSObject 如何進(jìn)行初始化。 在具體分析對象
    發(fā)表于 09-26 09:58 ?0次下載

    基于WRED協(xié)議的TCP連接初始化的優(yōu)化方法

    的優(yōu)化方法。該方法解決了連接優(yōu)化的三個(gè)關(guān)鍵問題:如何識(shí)別和標(biāo)記SYN包,如何在交換機(jī)上為SYN包預(yù)留空間以及需要預(yù)留多少空間。與原TCP相比,優(yōu)化后TCP連接建立的時(shí)間極大地減少。實(shí)驗(yàn)表明TCP連接初始化優(yōu)化
    發(fā)表于 11-29 14:18 ?0次下載
    基于WRED協(xié)議的TCP連接<b class='flag-5'>初始化</b>的優(yōu)化<b class='flag-5'>方法</b>

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

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

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

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

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

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

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

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

    華為技術(shù)有限公司公開“智能駕駛系統(tǒng)初始化方法和裝置”專利

    2月1日消息,企查查APP顯示,1月29日,華為技術(shù)有限公司公開“智能駕駛系統(tǒng)初始化方法和裝置”專利,公開號為CN110723151B。 該專利摘要顯示,本申請公開了一種智能駕駛系統(tǒng)初始化方法
    的頭像 發(fā)表于 02-01 15:52 ?1791次閱讀

    ADC初始化測定方法

    測試ADC初始化時(shí)間的方法
    發(fā)表于 12-05 14:45 ?1次下載

    實(shí)戰(zhàn)經(jīng)驗(yàn) | Keil、IAR、CubeIDE 中變量不被初始化方法

    關(guān)鍵詞:不被初始化,編譯環(huán)境 目錄預(yù)覽 1、前言 2、IAR 實(shí)現(xiàn)變量不初始化方法 3、Keil 實(shí)現(xiàn)變量不被初始化方法 4、CubeIDE
    的頭像 發(fā)表于 11-24 18:05 ?4284次閱讀