精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

OV2SLAM(高速視覺slam)簡析

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

0. 簡介

視覺里程計最近幾年越來越受到學術界以及工業界的認可,以ORB和VINS為代表的視覺SLAM已經可以滿足絕大多數場景,而OV2SLAM在其他VSLAM中脫穎而出,其實時性以及具體的回環性能在測試中都得到了認可。

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有以下四個主要的區別點

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

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

3.在回環檢測部分ORBSLAM2使用的是DBOW 離線訓練字典,而OV2SLAM使用的是iBowLCD 在線構建字典,這就導致OV2SLAM可以適應更多的場景

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

2 視覺前端

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

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

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

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

1.圖像預處理:通過CLAHE進行對比度增強,這既增加了動態范圍,又限制了曝光適應引起的強度變化。

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

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

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

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

4.位姿估計:使用穩健的Huber成本函數最小化3D關鍵點重投影誤差來執行姿態估計,也就是我們上文提到的PnP計算位姿并更新運動模型

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

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

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

3. 建圖線程

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

3.1 三角化

mapping中的三角化是整個系統中唯一生成3D點的地方,包括初始化成功后的生成初始地圖。三角化的主要功能是在當前關鍵幀與共視關鍵幀之間產生新的地圖點,使得跟蹤更穩。

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

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

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

3.2 暫時三角化

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

3.3 局部地圖追蹤

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

局部地圖追蹤的目標是找出屬于局部地圖的3D地圖點是否可以與當前幀的關鍵點相匹配。這種重追蹤的操作可以看做是基本的回環檢測。

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

4. 狀態估計線程

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

4.1 局部地圖的優化

這里的優化與ORB-SLAM相近,優化當前關鍵幀和與其至少有25個共視點的相鄰關鍵幀的位姿以及這些關鍵幀對應的地圖點的3D坐標,對于那些不在這些關鍵幀范圍內,但是可以觀測到這些地圖點的關鍵幀,也將觀測添加到BA中但是不對這些關鍵幀的位姿進行優化。

4.2 關鍵幀過濾

刪去關鍵幀的標準為:該關鍵幀觀測到的95%3D點已經被至少其他4個關鍵幀觀測到

5. 在線詞袋回環檢測器

回環檢測主要負責檢測回環和重定位,即校正當前姿勢估計和當前幀與已檢測到LC的已傳遞關鍵幀之間的估計軌跡。這是一個重要的創新點。主要流程主要分為關鍵幀預處理、使用iBoW-LCD算法檢測候選關鍵幀、驗證候選關鍵幀、位姿圖優化以及looseBA。

5.1 關鍵幀預處理以及選取候選關鍵幀

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

5.2 驗證候選關鍵幀

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

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

使用這種內在維持方法,我們使用P3P-RANSAC方法用回環候選關鍵幀Klc觀測到的剩余3D地圖點對當前關鍵幀Ki進行一個假設位姿計算。

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

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

5.3 位姿圖優化

最終如果保留30個內點,我們驗證回環檢測,并執行位姿圖優化(PGO)來矯正完整軌跡。

目的是將誤差均攤到檢測到的關鍵幀與當前關鍵幀之間的所有關鍵幀之間。

5.4 looseBA

與ORB-SLAM中的fullBA相比,OV2SLAM只對受閉環檢測影響的關鍵幀以及地圖點進行優化,這樣減輕了BA的負擔,但是仍然要花費數秒的時間

6. OV2SLAM總結

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

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

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

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

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




審核編輯:劉清

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

    關注

    34

    文章

    4411

    瀏覽量

    167082
  • SLAM
    +關注

    關注

    23

    文章

    419

    瀏覽量

    31786
  • RANSAC
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7912
  • orb
    orb
    +關注

    關注

    0

    文章

    21

    瀏覽量

    9886

原文標題:經典文獻閱讀之—OV2SLAM(高速視覺slam)

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

收藏 人收藏

    評論

    相關推薦

    最新圖優化框架,全面提升SLAM定位精度

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

    激光雷達在SLAM算法中的應用綜述

    SLAM算法運行的重要傳感器。基于激光雷達的SLAM算法,對激光雷達SLAM總體框架進行介紹,詳細闡述前端里程計、后端優化、回環檢測、地圖構建模塊的作用并總結所使用的算法;按由2D到
    的頭像 發表于 11-12 10:30 ?265次閱讀
    激光雷達在<b class='flag-5'>SLAM</b>算法中的應用綜述

    MG-SLAM:融合結構化線特征優化高斯SLAM算法

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

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

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

    一種適用于動態環境的實時視覺SLAM系統

    既能保證效率和精度,又無需GPU,行業第一個達到此目標的視覺動態SLAM系統。
    的頭像 發表于 09-30 14:35 ?388次閱讀
    一種適用于動態環境的實時<b class='flag-5'>視覺</b><b class='flag-5'>SLAM</b>系統

    深度解析深度學習下的語義SLAM

    隨著深度學習技術的興起,計算機視覺的許多傳統領域都取得了突破性進展,例如目標的檢測、識別和分類等領域。近年來,研究人員開始在視覺SLAM算法中引入深度學習技術,使得深度學習SLAM系統
    發表于 04-23 17:18 ?1238次閱讀
    深度解析深度學習下的語義<b class='flag-5'>SLAM</b>

    基于多攝像頭的高魯棒性視覺SLAM系統設計

    本文的主要目標是通過擴展ORB-SLAM2的功能來增強準確性,從多個攝像頭中的姿態估計和地圖重用開始。所有這些多攝像頭的圖像特征將被合并到跟蹤模塊中進行特征匹配,以及在閉環檢測期間進行位置識別。
    發表于 04-20 17:51 ?530次閱讀
    基于多攝像頭的高魯棒性<b class='flag-5'>視覺</b><b class='flag-5'>SLAM</b>系統設計

    工程實踐中VINS與ORB-SLAM的優劣分析

    ORB-SLAM是一種基于特征的單目視覺SLAM系統,廣泛用于實時三維地圖構建和機器人定位。該系統使用ORB特征進行高效的視覺識別和地圖重建,支持關鍵幀技術和回環檢測來優化地圖的準確性
    的頭像 發表于 04-08 10:17 ?2621次閱讀
    工程實踐中VINS與ORB-<b class='flag-5'>SLAM</b>的優劣分析

    什么是SLAMSLAM算法涉及的4要素

    SLAM技術可以應用在無人駕駛汽車、無人機、機器人、虛擬現實等領域中,為這些領域的發展提供了支持。SLAM技術的發展已經逐漸從單純的定位和地圖構建轉向了基于場景理解的功能。
    發表于 04-04 11:50 ?2198次閱讀

    什么是SLAM?基于3D高斯輻射場的SLAM優勢分析

    基于NeRF的SLAM算法采用全局地圖和圖像重建損失函數,通過可微分渲染捕獲稠密的光度信息,具有高保真度。
    的頭像 發表于 04-01 12:44 ?678次閱讀

    從基本原理到應用的SLAM技術深度解析

    LSD-SLAM 即 Large-Scale Direct SLAM,兼容單目相機和雙目相機。LSD-SLAM是一種基于光流跟蹤的直接法SLAM,但是實現了半稠密建圖,建圖規模大,可以
    發表于 02-26 09:41 ?8975次閱讀
    從基本原理到應用的<b class='flag-5'>SLAM</b>技術深度解析

    基于NeRF/Gaussian的全新SLAM算法

    基于NeRF的SLAM算法采用全局地圖和圖像重建損失函數,通過可微分渲染捕獲稠密的光度信息,具有高保真度。
    的頭像 發表于 01-26 10:48 ?614次閱讀
    基于NeRF/Gaussian的全新<b class='flag-5'>SLAM</b>算法

    動態環境中基于神經隱式表示的RGB-D SLAM

    神經隱式表示已經被探索用于增強視覺SLAM掩碼算法,特別是在提供高保真的密集地圖方面。
    的頭像 發表于 01-17 10:39 ?871次閱讀
    動態環境中基于神經隱式表示的RGB-D <b class='flag-5'>SLAM</b>

    坐標系在動態SLAM中究竟有多重要?

    大多同時定位于建圖(SLAM)系統在傳統上假定的都是靜態世界,這與現實世界的場景不符。
    的頭像 發表于 01-05 13:46 ?825次閱讀
    坐標系在動態<b class='flag-5'>SLAM</b>中究竟有多重要?

    基于視覺SLAM的研究現狀

    目前視覺SLAM系統可以在微型個人計算機(PC)和嵌入式設備中運行,甚至可以在智能手機等移動設備中運行(Klein和Murray,2009)。與室內或室外移動機器人不同,自動駕駛車輛具有更復雜的參數,尤其是當車輛在城市環境中自動駕駛時。
    發表于 12-04 09:22 ?993次閱讀
    基于<b class='flag-5'>視覺</b><b class='flag-5'>SLAM</b>的研究現狀