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

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

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

工程實(shí)踐中VINS與ORB-SLAM的優(yōu)劣分析

新機(jī)器視覺(jué) ? 來(lái)源: 3D視覺(jué)之心 ? 2024-04-08 10:17 ? 次閱讀

很多公司在工程上是用VINS(VINS-Mono或VINS-Fusion)做里程計(jì),而不是ORB-SLAM,但是好像ORB-SLAM比VINS效果更好,這是為什么呢?且看大家是怎么說(shuō)的

簡(jiǎn)單回顧

ORB-SLAM是一種基于特征的單目視覺(jué)SLAM系統(tǒng),廣泛用于實(shí)時(shí)三維地圖構(gòu)建和機(jī)器人定位。該系統(tǒng)使用ORB特征進(jìn)行高效的視覺(jué)識(shí)別和地圖重建,支持關(guān)鍵幀技術(shù)和回環(huán)檢測(cè)來(lái)優(yōu)化地圖的準(zhǔn)確性。ORB-SLAM能夠在多種環(huán)境下穩(wěn)定工作,適用于動(dòng)態(tài)場(chǎng)景和長(zhǎng)時(shí)間操作,因其出色的性能和靈活性,被廣泛應(yīng)用于自動(dòng)駕駛、增強(qiáng)現(xiàn)實(shí)等領(lǐng)域。

VINS(Visual-Inertial Navigation System)是一種結(jié)合視覺(jué)信息和慣性測(cè)量單元(IMU)數(shù)據(jù)的SLAM框架,能夠提供高精度的實(shí)時(shí)定位和地圖構(gòu)建功能。VINS通過(guò)融合相機(jī)和IMU的數(shù)據(jù),即使在視覺(jué)信息不足的情況下也能保持較高的定位精度,使其適用于快速運(yùn)動(dòng)或低光照條件下的場(chǎng)景。VINS框架因其魯棒性和準(zhǔn)確性,在無(wú)人機(jī)導(dǎo)航、移動(dòng)機(jī)器人等領(lǐng)域得到了廣泛應(yīng)用。

24dc11fe-f545-11ee-a297-92fbcf53809c.png

看看大家怎么說(shuō)

袁博融說(shuō)

因?yàn)榇蟛糠?a target="_blank">工程師對(duì)SLAM都沒(méi)有深入了解。要么是都試試,哪個(gè)能跑通效果好就用哪個(gè),要么是跟著主流意見(jiàn)走。而主流意見(jiàn)未必就是對(duì)的,很大程度上也是受公眾號(hào)自媒體影響。其實(shí)VINS和ORB-SLAM都不是適合工程使用的好方案。

工程應(yīng)用首先應(yīng)保證前端的魯棒性,其次才是精度。畢竟你要先能收斂,看精度才有意義。運(yùn)行時(shí)但凡飄一下,之前精度再高也是打水漂。VINS和ORB-SLAM對(duì)于corner cases是沒(méi)啥特殊處理的,連ZUPT都沒(méi)做,這就注定魯棒性不足。VINS長(zhǎng)時(shí)間運(yùn)行會(huì)發(fā)散是必然的。

大家覺(jué)得VINS和ORB-SLAM精度高,那是它們?cè)趲讉€(gè)公開(kāi)數(shù)據(jù)集上表現(xiàn)好。但這并不意味著它們?cè)诠こ虘?yīng)用中也一定表現(xiàn)好。實(shí)際上,應(yīng)用中對(duì)精度影響更大的反而是數(shù)據(jù)質(zhì)量,而不是算法本身。比如傳感器的標(biāo)定誤差、同步精度、曝光、對(duì)比度、噪點(diǎn)等都可能會(huì)產(chǎn)生顯著影響。在這種情況下,算法本身的差異甚至可以忽略不計(jì)。即便你出廠標(biāo)定的再好,產(chǎn)品在整個(gè)生命周期里的參數(shù)漂移也是要考慮的吧。這些都是工程問(wèn)題。

我一直不建議SLAM研究者只拿數(shù)據(jù)集做測(cè)試。數(shù)據(jù)集的固定序列難以讓我們認(rèn)識(shí)算法表現(xiàn)的隨機(jī)性。我見(jiàn)過(guò)在某些序列上基礎(chǔ)的VO比VINS和ORB-SLAM精度更高。但這顯然是隨機(jī)性引起的,因?yàn)榫C合多個(gè)序列的結(jié)果還是VINS和ORB-SLAM更好。我經(jīng)常手持設(shè)備去跑測(cè)試,即便走同樣的線路,多次的表現(xiàn)也會(huì)有差異。如果一個(gè)算法多次表現(xiàn)起伏很大,我們至少可以說(shuō)它在這個(gè)場(chǎng)景中沒(méi)有處于合適的工作窗口。

作為開(kāi)發(fā)者不能總是照顧算法的特性,而應(yīng)該多創(chuàng)造可能產(chǎn)生退化的極端場(chǎng)景做研究。這就是為什么我之前甚至錄了過(guò)山車數(shù)據(jù)來(lái)做SLAM測(cè)試。

我自己實(shí)現(xiàn)的VIO方案可以跑完這條序列,但我不覺(jué)得VINS或ORB-SLAM能做到。我開(kāi)源這套數(shù)據(jù)后也一直沒(méi)有其他人說(shuō)能跑通。即便我的方案能跑通這種極端場(chǎng)景,也不意味著它在其它看起來(lái)更簡(jiǎn)單的場(chǎng)景中就不會(huì)出問(wèn)題。事實(shí)上我們?cè)谄渌?xiàng)目中也遇到過(guò)各種挑戰(zhàn),也是花了幾個(gè)月的時(shí)間去分析和優(yōu)化,現(xiàn)在也還在繼續(xù)迭代。

VINS和ORB-SLAM的后端其實(shí)都不算先進(jìn),應(yīng)該說(shuō)還不如RTAB-Map。這幾個(gè)后端其實(shí)都在用BoW,但RTAB-Map還有內(nèi)存管理等高級(jí)特性。我一直奇怪咋還不更新成VLAD,是因?yàn)榇蠹遗艿膱?chǎng)景不夠大嗎?反正RTAB-Map很快會(huì)支持VLAD的,因?yàn)槲乙彩撬牡诙筘暙I(xiàn)者。但我并不是說(shuō)RTAB-Map比VINS或ORB-SLAM更好,而是它們根本不好比。RTAB-Map最初就是個(gè)VSLAM后端框架,后來(lái)才加的前端。我前面說(shuō)的基礎(chǔ)的VO就是RTAB-Map后來(lái)加的實(shí)現(xiàn)。而你甚至可以在RTAB-Map中用VINS或ORB-SLAM做前端。這也是為什么我要另外做VIO方案,因?yàn)镽TAB-Map本來(lái)就沒(méi)提供這些,它只是預(yù)留了模板。RTAB-Map不是個(gè)算法而是個(gè)框,什么都可以往里裝。

ORB-SLAM的最大硬傷就是它用的是ORB特征。ORB特征除了性能好一些,在各類任務(wù)上都沒(méi)什么優(yōu)勢(shì)。不知道有多少研究者仔細(xì)測(cè)試和比較過(guò),其實(shí)傳統(tǒng)特征描述子最好的還是SIFT(而且專利也到期了),后來(lái)的沒(méi)一個(gè)能打的。但SIFT檢測(cè)開(kāi)銷大也是眾所周知的。而SIFT檢測(cè)+SIFT描述子也不是最好的。我目前知道的最好的組合是GFTT(Shi-Tomasi)+SIFT描述子,回環(huán)檢測(cè)能力吊打其它各種組合。CV領(lǐng)域就是這么神奇,最老的反而是最好的。GFTT本身開(kāi)銷就低,還方便做硬件加速。ORB做硬件加速都要更麻煩一些。我自己方案就是用GFTT+RootSIFT或SuperPoint(HF-Net)。不考慮后端的話,GFTT+KLT其實(shí)都非常好了。

所以如果你要問(wèn)工程上哪個(gè)方案最好,我會(huì)告訴你RTAB-Map不錯(cuò),但它只能做后端,你還需要一個(gè)好的前端。我們的前端方案今年會(huì)推產(chǎn)品,RTAB-Map這一兩年也還會(huì)有重量級(jí)更新。除了VLAD部分還會(huì)有iSAM2,Gaussian Splatting等。目標(biāo)就是純視覺(jué)做超大場(chǎng)景(至少城市級(jí)吧)VSLAM+三維重建。

樂(lè)知者說(shuō)

論文與實(shí)際有差別。

這就看你把orbslam和vinsmono用來(lái)干什么了。

先作為Vio來(lái)說(shuō),結(jié)論vinsmono優(yōu)于orb3(沒(méi)有了回環(huán)檢測(cè)、多地圖功能和重定位的orb3,不如vins一根毛)。理由如下:

1、運(yùn)行資源。orb3遠(yuǎn)比vins消耗的多,不解釋。

2、前段跟蹤穩(wěn)定性。lk光流跟蹤比orb3 track跟蹤穩(wěn)定很多。orb3在實(shí)際場(chǎng)景中,tracklocalmap容易失敗。orb3在室外場(chǎng)景中容易reset,然后新建地圖。

3、后端優(yōu)化這塊。怎么說(shuō)呢,orb3確實(shí)強(qiáng),但是不符合導(dǎo)航要求的定位。因?yàn)槟銜?huì)經(jīng)??吹剿鏖_(kāi)始跟飛很遠(yuǎn),然后又給你突然拉回來(lái)。這種跟飛又來(lái)回來(lái)很蛋疼。沒(méi)有vins-mono那邊平滑。

4、精度這塊(假設(shè)你成功運(yùn)行完一個(gè)數(shù)據(jù)集),精度orb3會(huì)比vins強(qiáng)(vio初始化好的話,orb3可以到達(dá)1%)。然并軟,因?yàn)閛rb3并不穩(wěn)定,跑同一個(gè)書(shū)籍,你可能得到的結(jié)果都差異很大。

5、外參和實(shí)延。orb受外參數(shù)影響特別大,不如vins一根毛。

6、調(diào)試。vins參數(shù)量小于orb3,且穩(wěn)定性比orb3強(qiáng)多了,不然你都不知道這次結(jié)果比上次好到底是什么原因?qū)е碌摹?/p>

結(jié)論:

vio1 vins-mono+orb3初始化策略

vio2 msckf前段+orb后端

這兩個(gè)YYDS。

作為slam (三維重建,語(yǔ)義地圖),orb3遠(yuǎn)優(yōu)越于vins。自己理解。忠告:遠(yuǎn)離vslam或者Vio,擁抱感知或者激光。

余世杰說(shuō)

說(shuō)下自己的理解,ORB強(qiáng)在是一個(gè)完整的系統(tǒng),代碼結(jié)構(gòu)邏輯非常清晰,比較模塊化,要做修改替換啥的比較方便,同時(shí)地圖的部分對(duì)于需要的項(xiàng)目來(lái)說(shuō)很省事兒,可以直接拿來(lái)用。缺點(diǎn)是,代碼中還是存在一些致命的bug,會(huì)跑崩(程序掛了),以及作為一個(gè)VIO系統(tǒng)來(lái)說(shuō),穩(wěn)定性不夠強(qiáng),若視覺(jué)失效,幾乎立馬就整體丟了,所以精度高的意義沒(méi)那么大了又。若要求視覺(jué)必須穩(wěn)定,那為啥我還要加IMU呢,這也是一個(gè)ORB3精度可能不如ORB2的一個(gè)原因。

VINS強(qiáng)在一個(gè)對(duì)外參依耐性沒(méi)那么強(qiáng),畢竟自己可以估計(jì),導(dǎo)致就算初始化有點(diǎn)點(diǎn)問(wèn)題,也可以很快穩(wěn)定下來(lái)。而穩(wěn)定性更是不用說(shuō),在視覺(jué)失效個(gè)5秒左右,系統(tǒng)都能比較正常的跑下來(lái)。還可以融合GPS輸出個(gè)對(duì)齊結(jié)果,對(duì)于需要的項(xiàng)目也是一個(gè)加分項(xiàng)。缺點(diǎn)的話,大概就是缺少了地圖一部分吧,自身是比較強(qiáng)的。

格雷茨卡說(shuō)

因?yàn)閂INS-Mono在真實(shí)場(chǎng)景中的穩(wěn)定性遠(yuǎn)遠(yuǎn)好于ORB-SLAM3,雖然ORB-SLAM3在論文中的精度指標(biāo)大幅度好于VINS-Mono,但是,你總不能一直在那幾個(gè)數(shù)據(jù)集刷指標(biāo)吧,在工程中的應(yīng)用就要求一個(gè)系統(tǒng)必須能夠魯棒穩(wěn)定,本人實(shí)測(cè)ORB-SLAM3對(duì)外參,特別是rotation,非常敏感,標(biāo)定差一些直接就跑飛了,而VINS就不會(huì)有這個(gè)問(wèn)題,可能雖然整體誤差有一些大,但是實(shí)時(shí)性和魯棒性足夠了,ORB-SLAM3的VI初始化很耗時(shí)間,同時(shí)在自己實(shí)際設(shè)備上的有效性一般,VINS的初始化簡(jiǎn)單明了,實(shí)測(cè)也不會(huì)跑飛,而且又有一個(gè)250HZ的IMU預(yù)積分線程,能夠很好的保證實(shí)時(shí)性,因此工程應(yīng)用無(wú)腦VINS,會(huì)省很多事情

審核編輯:黃飛

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

    關(guān)注

    210

    文章

    27984

    瀏覽量

    205533
  • 移動(dòng)機(jī)器人

    關(guān)注

    2

    文章

    755

    瀏覽量

    33512
  • SLAM
    +關(guān)注

    關(guān)注

    23

    文章

    411

    瀏覽量

    31738
  • 增強(qiáng)現(xiàn)實(shí)

    關(guān)注

    1

    文章

    706

    瀏覽量

    44886
  • 自動(dòng)駕駛
    +關(guān)注

    關(guān)注

    782

    文章

    13523

    瀏覽量

    165724

原文標(biāo)題:為什么工程上選擇VINS而不是ORB-SLAM?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ORB_FPGA單層圖像金字塔的ORB特征提取方案分析

    ORB特征是一種圖像識(shí)別、追蹤和匹配中常用的特征,大名鼎鼎的ORB-SLAM就是使用的這一特征。它提取FAST特征點(diǎn),并通過(guò)特征點(diǎn)附近的窗口矩計(jì)算特征點(diǎn)的方向,含方向的FAST特征也被稱為oFAST
    的頭像 發(fā)表于 09-26 11:43 ?5167次閱讀
    <b class='flag-5'>ORB</b>_FPGA單層圖像金字塔的<b class='flag-5'>ORB</b>特征提取方案<b class='flag-5'>分析</b>

    請(qǐng)問(wèn)用樹(shù)莓派運(yùn)行ORB-SLAM2算法可行嗎?

    最近想用樹(shù)莓派3B跑ORB-SLAM2,現(xiàn)在的問(wèn)題就是Pangolin無(wú)法執(zhí)行,每次執(zhí)行都報(bào)錯(cuò) Pangolin X11: Unable to retrieve framebuffer
    發(fā)表于 03-15 22:30

    視覺(jué)SLAM特征點(diǎn)法與直接法對(duì)比分析

    視覺(jué)SLAM——特征點(diǎn)法與直接法對(duì)比以及主流開(kāi)源方案對(duì)比 ORB LSD SVO DSO
    發(fā)表于 06-02 16:56

    如何理解SLAM用到的傳感器輪式里程計(jì)IMU、雷達(dá)、相機(jī)的工作原理與使用場(chǎng)景?精選資料分享

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

    ADμC812 芯片實(shí)踐中幾點(diǎn)注意

    ADμC812 芯片實(shí)踐中幾點(diǎn)注意
    發(fā)表于 05-16 14:16 ?10次下載

    EDA 技術(shù)在教學(xué)實(shí)踐中的應(yīng)用2

    EDA 技術(shù)在教學(xué)實(shí)踐中的應(yīng)用2 摘 要: EDA 在電子技術(shù)教學(xué)實(shí)踐中的應(yīng)用是現(xiàn)代教育發(fā)展的一種趨勢(shì), 本文通過(guò)數(shù)字式測(cè)溫儀這一綜合性設(shè)計(jì)實(shí)例,比較全面地說(shuō)明
    發(fā)表于 12-07 13:50 ?0次下載

    機(jī)器人SLAM實(shí)現(xiàn)

    針對(duì)復(fù)雜環(huán)境下機(jī)器人的同時(shí)定位與地圖構(gòu)建( SLAM)存在實(shí)時(shí)性與魯棒性下降等問(wèn)題,將一種基于ORB特征點(diǎn)的關(guān)鍵幀閉環(huán)檢測(cè)匹配算法應(yīng)用到定位與地圖構(gòu)建巾。研究并分析了特征點(diǎn)提取與描述符建立、幀間配準(zhǔn)
    發(fā)表于 03-26 10:57 ?6次下載

    光纖涂覆機(jī)在科研及工程實(shí)踐中詳細(xì)應(yīng)用步驟(圖文)

    光纖涂覆機(jī)在科研及工程實(shí)踐中詳細(xì)應(yīng)用步驟(圖文)國(guó)產(chǎn)光纖涂覆機(jī)
    發(fā)表于 02-27 14:30 ?677次閱讀

    SLAM還是存在許多開(kāi)放性的問(wèn)題

    我看來(lái),vslam得發(fā)展也就是從MonoSLAM->PTAM->圖優(yōu)化SLAM->ORB-SLAM為代表的現(xiàn)代slam,其中可能還有許多內(nèi)容,不過(guò)這些開(kāi)源SLAM一定程度上體現(xiàn)了
    的頭像 發(fā)表于 06-18 10:40 ?1543次閱讀
    <b class='flag-5'>SLAM</b>還是存在許多開(kāi)放性的問(wèn)題

    基于ORB特征的三維定位與地圖構(gòu)建算法

    SLAM框架上面我肯定自己寫(xiě)不了,這里研究了一下午,使用了ORB-SLAM。
    的頭像 發(fā)表于 08-16 10:57 ?1253次閱讀

    ORB SLAM涉及的一些基礎(chǔ)概念

    ORB-SLAM 3提供了多地圖的存儲(chǔ)和拼接功能,在跟蹤丟失后可以嘗試將現(xiàn)有地圖和歷史地圖進(jìn)行匹配、融合,并更新當(dāng)前的活躍地圖(Active Map)
    的頭像 發(fā)表于 10-28 14:28 ?1231次閱讀

    基于視覺(jué)傳感器的ORB-SLAM系統(tǒng)的學(xué)習(xí)

    視覺(jué)SLAM是一種基于視覺(jué)傳感器的 SLAM 系統(tǒng),與激光傳感器相比,視覺(jué)傳感器具有成本低、保留環(huán)境語(yǔ)義信息的優(yōu)點(diǎn),能夠與深度學(xué)習(xí)進(jìn)行大量結(jié)合。
    的頭像 發(fā)表于 11-02 15:02 ?987次閱讀

    OV2SLAM(高速視覺(jué)slam)簡(jiǎn)析

    視覺(jué)里程計(jì)最近幾年越來(lái)越受到學(xué)術(shù)界以及工業(yè)界的認(rèn)可,以ORBVINS為代表的視覺(jué)SLAM已經(jīng)可以滿足絕大多數(shù)場(chǎng)景,而OV2SLAM在其他VSLAM
    的頭像 發(fā)表于 03-21 17:16 ?1447次閱讀

    ORB-SLAM3整體流程詳解

    ORB-SLAM2相比,ORB-SLAM3在處理大視差和長(zhǎng)時(shí)間未觀測(cè)到的場(chǎng)景時(shí)效果更好。它還提供了更準(zhǔn)確的幀間運(yùn)動(dòng)估計(jì)和更快的處理速度。
    的頭像 發(fā)表于 06-19 09:28 ?3043次閱讀
    <b class='flag-5'>ORB-SLAM</b>3整體流程詳解

    科研及工程實(shí)踐中光纖涂覆機(jī)詳細(xì)操作步驟(圖文)

    電子發(fā)燒友網(wǎng)站提供《科研及工程實(shí)踐中光纖涂覆機(jī)詳細(xì)操作步驟(圖文).pdf》資料免費(fèi)下載
    發(fā)表于 11-02 15:07 ?0次下載