一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

OV2SLAM(高速視覺slam)簡析

3D視覺工坊 ? 來源:古月居 ? 2023-03-21 17:16 ? 次閱讀

0. 簡介

視覺里程計最近幾年越來越受到學(xué)術(shù)界以及工業(yè)界的認(rèn)可,以O(shè)RB和VINS為代表的視覺SLAM已經(jīng)可以滿足絕大多數(shù)場景,而OV2SLAM在其他VSLAM中脫穎而出,其實時性以及具體的回環(huán)性能在測試中都得到了認(rèn)可。

1.OV2SLAM與ORB-SLAM2的對比

下圖為OV2SLAM的示意圖

172c802e-bbd6-11ed-bfe3-dac502259ad0.png

下圖為ORB-SLAM2示意圖

17409a3c-bbd6-11ed-bfe3-dac502259ad0.png

下面是兩個算法的對比

175c101e-bbd6-11ed-bfe3-dac502259ad0.png

我們從上表中可以看到相比于ORB-SLAM2而言,OV2SLAM有以下四個主要的區(qū)別點

1.放棄了ORB算子,采用了LK光流來代替。這樣可以大大的節(jié)省前端特征點提取的時間

2.在輸出實時pose的時候,ORBSLAM2精度比OV2SLAM高,相比于ORBSLAM2使用TrackLocalMap來進(jìn)行motion-only的BA而言,OV2SLAM輸出的實時pose是通過PnP計算出來的。雖然OV2SLAM也有TrackLocalMap,但是他這一步僅進(jìn)行特征點的re-track, 沒有進(jìn)行位姿計算。

3.在回環(huán)檢測部分ORBSLAM2使用的是DBOW 離線訓(xùn)練字典,而OV2SLAM使用的是iBowLCD 在線構(gòu)建字典,這就導(dǎo)致OV2SLAM可以適應(yīng)更多的場景

4.最后也是最關(guān)鍵的就是全局位姿輸出,ORBSLAM2使用的是FullBA 優(yōu)化來優(yōu)化全部關(guān)鍵幀的位姿和3D點,而OV2SLAM使用的是looselyBA,這個優(yōu)化方式僅優(yōu)化當(dāng)前幀和回環(huán)幀關(guān)聯(lián)的信息。所以使用FullBA 可以影響到包括losselyBA以及其余關(guān)鍵幀的pose和3D點。

2 視覺前端

這部分內(nèi)容其實都大同小異,值得一提的是:

圖像預(yù)處理(image pre-processing )關(guān)鍵點追蹤(keypoint tracking)離群值濾波(outlier filtering)位姿估計(pose estimation)觸發(fā)條件,創(chuàng)建關(guān)鍵幀(keyframe creation triggering)

17797bae-bbd6-11ed-bfe3-dac502259ad0.png

下面我們來簡述一下具體流程:

1.圖像預(yù)處理:通過CLAHE進(jìn)行對比度增強,這既增加了動態(tài)范圍,又限制了曝光適應(yīng)引起的強度變化。

2.關(guān)鍵點追蹤:關(guān)鍵點跟蹤是通過引導(dǎo)的從粗到精的光流法來執(zhí)行的。使用具有9×9像素窗口和金字塔比例因子為2的反向組合Lucas-Kanade(LK)算法[12]的金字塔實現(xiàn)來單獨跟蹤關(guān)鍵點。

這里提到2D點和3D點這兩種,對于3D關(guān)鍵點(即已經(jīng)三角化的3D關(guān)鍵點),會先使用勻速運動模型估計當(dāng)前幀的初始位姿,然后將3D keyoints對應(yīng)的3D點投影到當(dāng)前幀,作為該3D keypoints在當(dāng)前幀的初始位置。

對于2D關(guān)鍵點-即那些沒有關(guān)于其真實3D位置的先驗信息的關(guān)鍵點,會將其在當(dāng)前幀的初始位置設(shè)置為在上一幀中的位置

3.離群值濾波:采用基于核線約束的RANSAC濾波,使用3D關(guān)鍵點估計基礎(chǔ)矩陣(Essential Matrix)然后用它來過濾不一致的2D關(guān)鍵點。

4.位姿估計:使用穩(wěn)健的Huber成本函數(shù)最小化3D關(guān)鍵點重投影誤差來執(zhí)行姿態(tài)估計,也就是我們上文提到的PnP計算位姿并更新運動模型

5.創(chuàng)建關(guān)鍵幀:跟蹤的3D關(guān)鍵點的數(shù)量w.r.t.。最后一個關(guān)鍵幀低于閾值(跟蹤的關(guān)鍵點少于85%),或者如果檢測到明顯的視差(平均15個像素的未旋轉(zhuǎn)關(guān)鍵點運動),則會創(chuàng)建新的關(guān)鍵幀。

值得一提的是OV2SLAM將每張圖像分為nbwcells*nbhcells個網(wǎng)格,是基于網(wǎng)格的特征提取。每一幀的更新也是只保留了一個指向當(dāng)前幀的指針pcurframe,用于實時記錄當(dāng)前幀跟蹤到的2D、3D特征點以及位姿信息。

接受到新圖像時只更新時間戳和幀號,在光流跟蹤以及計算位姿后分別更新當(dāng)前幀的特征點、位姿信息并更新運動模型。

3. 建圖線程

主要處理兩個任務(wù),負(fù)責(zé)三角化以及局部地圖的跟蹤,在雙目的配置情況下會增加立體匹配的功能。

3.1 三角化

mapping中的三角化是整個系統(tǒng)中唯一生成3D點的地方,包括初始化成功后的生成初始地圖。三角化的主要功能是在當(dāng)前關(guān)鍵幀與共視關(guān)鍵幀之間產(chǎn)生新的地圖點,使得跟蹤更穩(wěn)。

具體過程為:對于當(dāng)前關(guān)鍵幀中的每一個2D特征點,將當(dāng)前2D點與第一次觀測到該2D點的關(guān)鍵幀中的對應(yīng)2D點進(jìn)行三角化。相比ORB-SLAM中將當(dāng)前關(guān)鍵幀與其共視程度最高的20幀至少有15個共視點的相鄰關(guān)鍵幀通過詞袋進(jìn)行特征匹配,再將成功匹配的點對進(jìn)行三角化的策略,二者的效果有待進(jìn)一步實驗對比。

下圖為ORB-SLAM的LocalMapping中的三角化搜索范圍。這個操作和ORB-SLAM2類似

17b51024-bbd6-11ed-bfe3-dac502259ad0.png

3.2 暫時三角化

通常用于單目初始化3D地圖,本文發(fā)現(xiàn)在雙目情況下可以用于在當(dāng)前關(guān)鍵幀之前,已經(jīng)正確追蹤到,但找不到雙目匹配的關(guān)鍵點。這時所有成功三角化的地圖點立刻應(yīng)用于前端進(jìn)行定位,然后這些3D位置通過BA進(jìn)行重新優(yōu)化。

3.3 局部地圖追蹤

類似于ORB-SLAM2局部地圖,局部地圖包括當(dāng)前關(guān)鍵幀或共視圖關(guān)鍵幀觀察到的3D地圖點。

局部地圖追蹤的目標(biāo)是找出屬于局部地圖的3D地圖點是否可以與當(dāng)前幀的關(guān)鍵點相匹配。這種重追蹤的操作可以看做是基本的回環(huán)檢測。

任意這樣的3D地圖點,在當(dāng)前關(guān)鍵幀的投影與一個關(guān)鍵點的距離少于兩個像素點時被定義為候選匹配。計算3D地圖點和其他幾個候選點的距離,接受最近距離的候選。

4. 狀態(tài)估計線程

使用局部BA來精煉已選擇的關(guān)鍵幀位姿和3D地圖點位置,此外過濾冗余的關(guān)鍵幀來限制外來局部BA的運行時間。

4.1 局部地圖的優(yōu)化

這里的優(yōu)化與ORB-SLAM相近,優(yōu)化當(dāng)前關(guān)鍵幀和與其至少有25個共視點的相鄰關(guān)鍵幀的位姿以及這些關(guān)鍵幀對應(yīng)的地圖點的3D坐標(biāo),對于那些不在這些關(guān)鍵幀范圍內(nèi),但是可以觀測到這些地圖點的關(guān)鍵幀,也將觀測添加到BA中但是不對這些關(guān)鍵幀的位姿進(jìn)行優(yōu)化。

4.2 關(guān)鍵幀過濾

刪去關(guān)鍵幀的標(biāo)準(zhǔn)為:該關(guān)鍵幀觀測到的95%3D點已經(jīng)被至少其他4個關(guān)鍵幀觀測到

5. 在線詞袋回環(huán)檢測器

回環(huán)檢測主要負(fù)責(zé)檢測回環(huán)和重定位,即校正當(dāng)前姿勢估計和當(dāng)前幀與已檢測到LC的已傳遞關(guān)鍵幀之間的估計軌跡。這是一個重要的創(chuàng)新點。主要流程主要分為關(guān)鍵幀預(yù)處理、使用iBoW-LCD算法檢測候選關(guān)鍵幀、驗證候選關(guān)鍵幀、位姿圖優(yōu)化以及l(fā)ooseBA。

5.1 關(guān)鍵幀預(yù)處理以及選取候選關(guān)鍵幀

作者在論文中提到,出于定位的考慮,OV2SLAM并不會跟蹤太多的特征點(大概只有200多)。在這里為了更新詞袋樹,對每幅圖像額外提取300個FAST特征并計算其描述子,然后將此關(guān)鍵幀傳給iBoW-LCD用于更新詞袋樹,當(dāng)關(guān)鍵幀數(shù)量大于100幀時,在詞袋樹中查找當(dāng)前關(guān)鍵幀的閉環(huán)候選關(guān)鍵幀。

5.2 驗證候選關(guān)鍵幀

發(fā)現(xiàn)一個好的LC候選,首先確定不是一個假陽性。對當(dāng)前關(guān)鍵幀Ki和候選關(guān)鍵幀Klc,首先應(yīng)用一個k最近鄰暴力匹配算法在這兩個關(guān)鍵幀的描述子中。

而不明確的匹配首先由經(jīng)典的ratio test進(jìn)行過濾。然后使用RANSAC方法進(jìn)行計算基礎(chǔ)矩陣Essential Matrix 以便只保持滿足極線幾何(對極幾何)的匹配。

使用這種內(nèi)在維持方法,我們使用P3P-RANSAC方法用回環(huán)候選關(guān)鍵幀Klc觀測到的剩余3D地圖點對當(dāng)前關(guān)鍵幀Ki進(jìn)行一個假設(shè)位姿計算。

若計算出一個可靠位姿,由大量內(nèi)參器(inliers)確定,我們得到候選關(guān)鍵幀Klc的局部地圖,然后搜索在當(dāng)前關(guān)鍵幀Ki的額外的匹配,將3D地圖點的投影使用P3P的方法計算位姿。

然后,使用等式(1)基于到目前為止發(fā)現(xiàn)的所有匹配來精煉假設(shè)位姿,并且基于由Huber魯棒成本函數(shù)檢測到的離群值來執(zhí)行最后的過濾步驟。

5.3 位姿圖優(yōu)化

最終如果保留30個內(nèi)點,我們驗證回環(huán)檢測,并執(zhí)行位姿圖優(yōu)化(PGO)來矯正完整軌跡。

目的是將誤差均攤到檢測到的關(guān)鍵幀與當(dāng)前關(guān)鍵幀之間的所有關(guān)鍵幀之間。

5.4 looseBA

與ORB-SLAM中的fullBA相比,OV2SLAM只對受閉環(huán)檢測影響的關(guān)鍵幀以及地圖點進(jìn)行優(yōu)化,這樣減輕了BA的負(fù)擔(dān),但是仍然要花費數(shù)秒的時間

6. OV2SLAM總結(jié)

OV2SLAM整體精度比ORBSLAM2略微下降,但是速度明顯提升。通過PnP、looselyBA 等方法能夠快速的構(gòu)建出我們想要的地圖。對于OV2SLAM而言相較于ORBSLAM2增加了異常點剔除、估算位姿準(zhǔn)確性等操作。

當(dāng)然對于ORB-SLAM3來說除了會判斷遠(yuǎn)點和近點,遠(yuǎn)點只用于優(yōu)化旋轉(zhuǎn),尺度信息只能依靠近點以外,還是用了極大后驗概率(MAP)估計應(yīng)用于利用幾何BA(光束平差法)最小化特征重投影誤差中。并將歷史數(shù)據(jù)一起加入約束中一起計算BA。

除此以外,ORB-SLAM3中還提出新的位置識別算法,現(xiàn)在當(dāng)前候選關(guān)鍵幀進(jìn)行幾何一致性檢測,然后檢測候選關(guān)鍵幀與三個共視關(guān)鍵幀的局部一致性,以計算成本為代價換來高召回率。

除此以外相較于這兩篇文章,ORB-SLAM3還提出了 ORB-SLAM Atlas,該地圖集提供了ORB-SLAM3的多地圖SLAM特性,ORB-SLAM地圖集中存有一系列非活動的地圖,并且這些地圖可以進(jìn)行位置識別、相機重定位、回環(huán)檢測以及精準(zhǔn)的無縫地圖拼接。

7. OV2SLAM 安裝

安裝 OpenGV

git clone https://github.com/laurentkneip/opengv
cd opengv
mkdir build
cd build/
cmake ..
sudo make -j4 install

安裝OV2SLAM

xxxxxxxxxx
cd ~/catkin_ws/src/
git clone https://github.com/ov2slam/ov2slam.git
cd ~/catkin_ws/src/ov2slam
chmod +x build_thirdparty.sh
./build_thirdparty.sh
cd ~/catkin_ws/src
catkin_make --pkg ov2slam

運行 OV2SLAM

xxxxxxxxxx
rosrun ov2slam ov2slam_node /home/crp/catkin_ws/src/ov2slam/parameters_files/accurate/euroc/euroc_mono.yaml
cd ~/catkin_ws/src/ov2slam
rviz -d ov2slam_visualization.rviz
rosbag play MH_04_difficult.bag




審核編輯:劉清

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

    關(guān)注

    34

    文章

    4480

    瀏覽量

    170161
  • SLAM
    +關(guān)注

    關(guān)注

    23

    文章

    431

    瀏覽量

    32251
  • RANSAC
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7969
  • orb
    orb
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9996

原文標(biāo)題:經(jīng)典文獻(xiàn)閱讀之—OV2SLAM(高速視覺slam)

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

收藏 人收藏

    評論

    相關(guān)推薦

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎(chǔ)算法的應(yīng)用

    SLAM在結(jié)構(gòu)化環(huán)境中更穩(wěn)定,而視覺SLAM(如ORB-SLAM3)更適合動態(tài)場景。 SLAM Toolbox的實踐應(yīng)用
    發(fā)表于 05-03 19:41

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+ROS2應(yīng)用案例

    地圖構(gòu)建,包括算法原理介紹、安裝與配置方法、仿真環(huán)境中的SLAM以及真實機器人上的SLAM。 這一過程不僅涉及到計算機視覺和機器人學(xué)的知識,還需要對ROS 2的節(jié)點管理和數(shù)據(jù)處理有一定
    發(fā)表于 04-27 11:42

    一種基于點、線和消失點特征的單目SLAM系統(tǒng)設(shè)計

    本文提出了一種穩(wěn)健的單目視覺SLAM系統(tǒng),該系統(tǒng)同時利用點、線和消失點特征來進(jìn)行精確的相機位姿估計和地圖構(gòu)建,有效解決了傳統(tǒng)基于點特征的SLAM的局限性。
    的頭像 發(fā)表于 03-21 17:07 ?309次閱讀
    一種基于點、線和消失點特征的單目<b class='flag-5'>SLAM</b>系統(tǒng)設(shè)計

    托盤“智”運,SLAM導(dǎo)航 地牛式AGV機器人,“7*24小時”工作!

    AGV地牛小巧靈活,載重大,采用激光SLAM導(dǎo)航,可智能控制路線。支持定制化云平臺監(jiān)控,多級安全措施保障安全。適用于多行業(yè)倉儲物流,提高搬運效率,降低人力投入。
    的頭像 發(fā)表于 02-11 17:56 ?305次閱讀
    托盤“智”運,<b class='flag-5'>SLAM</b>導(dǎo)航  地牛式AGV機器人,“7*24小時”工作!

    一種基于MASt3R的實時稠密SLAM系統(tǒng)

    精心設(shè)計的集成式硬件與軟件堆棧,實現(xiàn)穩(wěn)健且精準(zhǔn)的視覺SLAM已成為可能。然而,SLAM尚未能成為一種即插即用的算法,因其需要硬件方面的專業(yè)知識以及校準(zhǔn)操作。即便對于僅配備單個攝像頭且無諸如IMU等額外傳感器的最
    的頭像 發(fā)表于 12-27 15:25 ?1066次閱讀

    用于任意排列多相機的通用視覺里程計系統(tǒng)

    如何讓多相機視覺SLAM系統(tǒng)更易于部署且對環(huán)境更具魯棒性?本文提出了一種適用于任意排列多相機的通用視覺里程計系統(tǒng)。在KITTI-360和MultiCamData數(shù)據(jù)集上驗證了該方法對于任意放置相機的魯棒性。與其他立體和多相機
    的頭像 發(fā)表于 12-13 11:22 ?590次閱讀
    用于任意排列多相機的通用<b class='flag-5'>視覺</b>里程計系統(tǒng)

    用于SLAM中點云地圖綜合評估的開源框架

    SLAM中評估大規(guī)模的點云地圖仍頗具挑戰(zhàn),主要原因在于缺乏統(tǒng)一、穩(wěn)健且高效的評估框架。本文提出了MapEval,這是一個用于點云地圖綜合評估的開源框架。在模擬數(shù)據(jù)集和真實世界數(shù)據(jù)集上開展的大量實驗
    的頭像 發(fā)表于 12-13 11:18 ?720次閱讀
    用于<b class='flag-5'>SLAM</b>中點云地圖綜合評估的開源框架

    利用VLM和MLLMs實現(xiàn)SLAM語義增強

    語義同步定位與建圖(SLAM)系統(tǒng)在對鄰近的語義相似物體進(jìn)行建圖時面臨困境,特別是在復(fù)雜的室內(nèi)環(huán)境中。本文提出了一種面向?qū)ο?b class='flag-5'>SLAM的語義增強(SEO-SLAM)的新型SLAM系統(tǒng),借
    的頭像 發(fā)表于 12-05 10:00 ?914次閱讀
    利用VLM和MLLMs實現(xiàn)<b class='flag-5'>SLAM</b>語義增強

    最新圖優(yōu)化框架,全面提升SLAM定位精度

    的類別進(jìn)行分類,如視覺SLAM、激光SLAM、慣性SLAM等。 解決SLAM問題的經(jīng)典方法可以分為基于濾波的方法和基于圖的方法。在19
    的頭像 發(fā)表于 11-12 11:26 ?1012次閱讀
    最新圖優(yōu)化框架,全面提升<b class='flag-5'>SLAM</b>定位精度

    激光雷達(dá)在SLAM算法中的應(yīng)用綜述

    SLAM算法運行的重要傳感器?;诩す饫走_(dá)的SLAM算法,對激光雷達(dá)SLAM總體框架進(jìn)行介紹,詳細(xì)闡述前端里程計、后端優(yōu)化、回環(huán)檢測、地圖構(gòu)建模塊的作用并總結(jié)所使用的算法;按由2D到
    的頭像 發(fā)表于 11-12 10:30 ?2039次閱讀
    激光雷達(dá)在<b class='flag-5'>SLAM</b>算法中的應(yīng)用綜述

    MG-SLAM:融合結(jié)構(gòu)化線特征優(yōu)化高斯SLAM算法

    同步定位與地圖構(gòu)建 (SLAM) 是計算機視覺中的一個基本問題,旨在在同時跟蹤相機姿勢的同時對環(huán)境進(jìn)行地圖構(gòu)建。基于學(xué)習(xí)的密集 SLAM 方法,尤其是神經(jīng)輻射場 (NeRF) 方法,在捕獲密集光度
    的頭像 發(fā)表于 11-11 16:17 ?704次閱讀
    MG-<b class='flag-5'>SLAM</b>:融合結(jié)構(gòu)化線特征優(yōu)化高斯<b class='flag-5'>SLAM</b>算法

    從算法角度看 SLAM(第 2 部分)

    作者: Aswin S Babu 正如我們在[第 1 部分]中所討論的,SLAM 是指在無地圖區(qū)域中估計機器人車輛的位置,同時逐步繪制該區(qū)域地圖的過程。根據(jù)使用的主要技術(shù),SLAM 算法可分為三種
    的頭像 發(fā)表于 10-02 16:39 ?645次閱讀
    從算法角度看 <b class='flag-5'>SLAM</b>(第 <b class='flag-5'>2</b> 部分)

    一種適用于動態(tài)環(huán)境的實時視覺SLAM系統(tǒng)

    既能保證效率和精度,又無需GPU,行業(yè)第一個達(dá)到此目標(biāo)的視覺動態(tài)SLAM系統(tǒng)。
    的頭像 發(fā)表于 09-30 14:35 ?964次閱讀
    一種適用于動態(tài)環(huán)境的實時<b class='flag-5'>視覺</b><b class='flag-5'>SLAM</b>系統(tǒng)

    機器人高效導(dǎo)航定位背后SLAM專用芯片的崛起

    電子發(fā)燒友網(wǎng)報道(文/李寧遠(yuǎn))對移動機器人來說,導(dǎo)航定位是最基本最核心的功能之一,機器人自主移動能力建立在出色的導(dǎo)航定位基礎(chǔ)上。目前移動機器人應(yīng)用得最廣泛的導(dǎo)航定位技術(shù)無疑是SLAM技術(shù)
    的頭像 發(fā)表于 05-28 00:20 ?4214次閱讀