国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

ORB SLAM中涉及的一些基礎概念

新機器視覺 ? 來源:深藍學院 ? 作者:深藍學院 ? 2022-10-28 14:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文總結于上交感知與導航研究所科研助理——劉國慶關于【視覺SLAM開源算法ORB-SLAM3 原理與代碼解析】的公開課。

ORB-SLAM最早的版本在2014年的RSS上發布,在2016年作者又發布了ORB-SLAM2,接著在去年(2020年)發布了ORB-SLAM 3。ORB-SLAM1只能針對單目相機數據進行處理;ORB-SLAM 2 增加了對于雙目和RGB-D相機的處理,在回環檢測模塊增加了Full Global BA的處理;ORB-SLAM 3則增加了對于IMU融合的支持,兼容魚眼相機模型,并且增加了Altas多地圖的支持;同時,回環檢測為了支持多地圖的模式,提供了一種叫Welding BA的優化方式。ORB -SLAM的作者將上述提到的各版本項目都開源了,為學術研究還是工程落地都提供了很好的參考。

1

首先來介紹一下ORB SLAM中涉及的一些基礎概念。

幀&關鍵幀:視覺SLAM都是對一個圖像序列進行處理,每一張圖像被稱為幀,而關鍵幀則是通過一定篩選機制得到的、具有一定代表性的圖像幀。

地圖點/路標點:將圖像上被觀察到的特征點通過三角化等方式進行深度恢復,我們就可以得到其對應的在三維空間的位置,同時包含幀的觀測信息,這種點就被稱為地圖點或路標點。

共視:當一個地圖點被多幀觀察到時,我們就可以稱這幾幀有基于該地圖點的共視關系。

共視圖&本質圖:我們可以把共視關系作用邊表示,關鍵幀用節點表示,就可以建立共視圖,而本質圖在共視圖基礎上只保留具有較強共視關系的邊。

19664f5c-5680-11ed-a3b6-dac502259ad0.png

Altas(地圖集):ORB-SLAM 3提供了多地圖的存儲和拼接功能,在跟蹤丟失后可以嘗試將現有地圖和歷史地圖進行匹配、融合,并更新當前的活躍地圖(Active Map)

數據關聯:在語義SLAM中,第k幀檢測到物體Obj1、Obj2,第k+1幀檢測到物體Obj3、Obj4,確定Obj1和Obj3、Obj4中的哪一個是對真實世界中同一個物體的多次觀測,這是數據關聯的一個直觀例子。在間接法(特征法)SLAM中,表現為不同幀中的特征,哪些是對應于同一個空間路標點/地圖點的。在ORB3中考慮到的數據關聯包括短期內滑動窗口中關鍵幀觀測到的路標點和圖像特征的數據關聯;中期的數據關聯是指圖像特征與局部地圖點的關聯;長期的數據關聯包括利用場景識別技術和詞袋模型,在回環檢測、重定位等過程中的數據關聯;而多地圖的數據關聯還可以實現地圖之間地圖點的匹配和融合。

ORB-SLAM 3的基本流程和此前的ORB版本沒有顯著的改變,只是也增加了部分新特性。基于詞袋模型的關鍵幀數據和之前差不多,每一個關鍵幀均會被存入數據庫用于回環檢測。地圖結構上進行了改進,ORB-SLAM3使用Altas地圖集的結構,地圖中包含一個Active Map和若干個Non-active Map,每個Map均包括地圖點,關鍵幀,共視圖,Spanning Tree等信息。跟蹤線程添加了IMU的積分,并且和以前一樣進行關鍵幀的判斷和構造;在LocalMapping線程中中執行IMU的初始化,以及和之前相同的冗余關鍵幀和地圖點剔除、新地圖點的創建等工作;在回環檢測部分主要添加了多地圖的融合。

198b1c38-5680-11ed-a3b6-dac502259ad0.png

ORB-SLAM 3框架

總結一下,ORB-SLAM3的貢獻包括:

1、提供了一個單雙目VI-SLAM的系統;

2、改善召回率的場景識別技術;

3、多地圖機制;

4、抽象的相機表示。

2

抽象相機模型介紹

為什么ORB-SLAM3需要一個抽象的相機模型呢?

相比于傳統相機,魚眼相機超過180度的廣視角可以獲取更多的信息,但是因為它不符合針孔模型數學建模的假設,導致uniform reprojection error的假設失效;如果對于圖像直接進行裁剪,將會導致外圍圖像丟失,反而喪失了魚眼相機大視角的優勢。在ORB-SLAM3中,相機成像模型提供投影、反投影和相關的雅克比計算等函數,并且將此前系統中的EPNP更換為MAP-PNP, 從而實現了相機成像模型與SLAM部分的解耦,還可以擴展,能將相同的SLAM pipeline用于大部分類型的相機。

此外,針對雙目相機模型,ORB-SLAM3也提供了一定的改善。ORB-SLAM2假設我們針對雙目相機預先進行了極線矯正,但是很多時候由于無法保證左右目相機光軸的絕對平行,極線糾正的效果也往往不好;而有些時候,我們需要使用兩個參數不同的相機進行觀測,而ORB-SLAM2無法兼容這類雙目相機,如類似RGB-D相機中焦距、分辨率相差巨大的彩色相機+近紅外相機,如果將彩色圖像和近紅外圖像組成雙目圖像,ORB-SLAM2無法綜合利用這對圖像估計相機位姿。在ORB-SLAM3中將左右兩目相機視作為具有固定位姿變換的兩臺單目相機使用,并且也不再限制兩臺相機必須具有足夠面積的、重疊的共視區域,解決了這個問題。

3

VISLAM實現和IMU初始化

ORB-SLAM3中VI-SLAM在ORB-SLAM-VI上進行了改進,包括:提供快速,準確的IMU初始化;支持單雙目VI-SLAM;支持針孔/魚眼相機模型。在視覺和IMU融合方面,ORB-SLAM3在位姿求解時所建立優化問題的殘差項,包括所有關鍵幀和上一幀IMU估計的殘差項,以及所有路標點觀測的視覺誤差項。其中針對視覺路標點的觀測,為了避免錯誤匹配造成的極端值的影響,嵌套了魯棒核函數。

IMU初始化的目的是為了得到Body系速度、重力方向和IMU偏置。ORB-SLAM3中初始化流程的設計建立在作者的幾點思考上:

1、ORB-SLAM純單目已經可以初始化得到精確的地圖,尺度信息可以通過IMU得到;雙目圖像輸入下則尺度客觀,可以不考慮尺度信息的問題;

2、如果將尺度單獨作為優化變量進行表示和優化,效果比在BA中的隱式表達收斂更快;

3、IMU初始化過程中必須考慮傳感器的不確定性,否則會產生難以預測的巨大誤差。

接下來的討論IMU初始化問題時,均指單目輸入時的初始化。ORB3中IMU初始化的步驟包含三步,第一步是純視覺最大后驗估計(MAP),第二步是純慣性MAP,第三步是視覺+慣性MAP。針對純視覺MAP,我們提取初始化后2s內10幀圖像進行純視覺BA,從而得到沒有尺度信息的相機位姿和路標點位置。接下來我們進行只有IMU參與的初始化,最終得到的優化結果是:幀位姿、速度和地圖點,并都具有正確的尺度;Body系Z軸將被旋轉到和重力方向一致;IMU的偏置被更新。第三步是視覺IMU聯合后驗估計,ORB-SLAM3只需要2秒就可以完成尺度的初始化,誤差在5%左右,此外,ORB-SLAM3還將進行只包含尺度因子和重力方向的優化,10秒一次,用于避免傳感器運動緩慢時IMU激勵不夠的情況。

ORB-SLAM3中的跟蹤和建圖和ORB-SLAM-VI類似,在短期跟丟后,在滿足一定條件時會嘗試利用IMU積分得到的位姿信息進行重定位;當丟失持續一定時間后,將會重新初始化,創建新的Active map。

4

改進的回環檢測與多地圖融合

這一部分的內容很大程度上和ORB-SLAM2是相同的,我們首先來回顧一下基本概念。

準確率(PrecisionRate):檢測到的回環中正確的比率。

召回率(RecallRate):檢測到的回環占總真實回環數的比率。

在ORB-SLAM1/2中,僅通過DBoW詞袋數據庫就可實現50%~80%的準確率和召回率。在回環時,通過增加幾何一致性和時間一致性檢驗,犧牲召回率來增加準確率。ORB-SLAM3改進了回環檢測的速度,提高了召回率,并且增加了多地圖的部分。

尋找閉環幀的過程可以分為六步:

1.針對每一個新關鍵幀,在數據庫中查詢到三個最相似的關鍵幀;

2.嘗試對新關鍵幀及其共視關鍵幀,和候選關鍵幀及其共視關鍵幀進行數據關聯;

3.利用匹配的特征點和地圖點求解位姿轉換;

4.利用位姿變換的初始估計,進行點云重投影尋找新的匹配,并且進行位姿的優化求精

5.對時間一致性的檢驗,此前的步驟相對復雜,在ORB-SLAM3中局部地圖里面已有關鍵幀的共視信息進行判斷;

6.利用重力方向對于回環結果進行檢查。

回環檢測后是進行回環還是地圖合并,取決于當前關鍵幀檢測到的回環關鍵幀是在當前的active map還是在其他map。當對non-active map和active map進行融合時,共視圖和本質圖同步更新,active map中的信息被追加到歷史地圖中,匹配到的non-active map變成新的map。

5

總結

總體來說,ORB-SLAM3的流程和ORB-SLAM1/2非常相似,對于ORB-SLAM系列熟悉的同學應該很容易上手;相機模型的抽象處理,使得SLAM位姿求解過程和相機成像模型解耦,理論上支持絕大多數成像模型的相機;通過對于IMU的支持,ORB-SLAM系列加入了VI-SLAM的大家庭,也表明多傳感器融合的SLAM是目前一大發展趨勢;多地圖的機制有利于跟丟后保留盡可能多的信息用于后續補救,也為后續實現多機器協同的SLAM提供了工作基礎。

審核編輯 :李倩

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

    關注

    23

    文章

    4784

    瀏覽量

    98038
  • SLAM
    +關注

    關注

    24

    文章

    457

    瀏覽量

    33322
  • orb
    orb
    +關注

    關注

    0

    文章

    21

    瀏覽量

    10184

原文標題:視覺SLAM開源算法ORB-SLAM3 原理與代碼解析

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    爬壁機器人磁鐵的一些常見問題

    爬壁機器人近幾年比較火,它是類能夠在垂直墻面、天花板、傾斜表面上移動和作業的特種機器人,今天我們不聊其它,只聊下關于磁吸附應用的磁鐵,以下是小編整理的關于爬壁機器人中磁鐵的一些常見問題。
    的頭像 發表于 01-09 10:06 ?256次閱讀
    爬壁機器人磁鐵的<b class='flag-5'>一些</b>常見問題

    貼片電容精度J±5%的一些詳細知識

    貼片電容精度J±5%表示電容的實際值與標稱值之間的偏差范圍在±5%以內 ,以下是關于貼片電容精度J±5%的一些詳細知識: 、精度等級含義 J±5% :字母“J”在貼片電容的標識通常表示標稱精度
    的頭像 發表于 11-20 14:38 ?642次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細知識

    FPGA和GPU加速的視覺SLAM系統特征檢測器研究

    特征檢測是SLAM系統中常見但耗時的模塊,隨著SLAM技術日益廣泛應用于無人機等功耗受限平臺,其效率優化尤為重要。本文首次針對視覺SLAM流程開展硬件加速特征檢測器的對比研究,通過對比現代SoC平臺
    的頭像 發表于 10-31 09:30 ?659次閱讀
    FPGA和GPU加速的視覺<b class='flag-5'>SLAM</b>系統<b class='flag-5'>中</b>特征檢測器研究

    Whetstone代碼涉及的浮點指令匯編分析

    對benchmark的whetstone進行代碼分析,通過反匯編統計所出現的浮點指令,共有26種,如下 特點是只涉及單精度的浮點指令,并且存在有浮點Load/Store的壓縮指令,還有一些偽代碼不過不影響
    發表于 10-22 08:11

    全新輕量級ViSTA-SLAM系統介紹

    無需相機內參、極致輕量的前端(前端模型大小僅為同類35%),實時單目視覺SLAM,ViSTA-SLAM。與現有方法相比,ViSTA-SLAM不僅更輕、更快,在相機跟蹤和密集3D重建質量方面也均表現出色。
    的頭像 發表于 09-22 15:53 ?913次閱讀
    全新輕量級ViSTA-<b class='flag-5'>SLAM</b>系統介紹

    種適用于動態環境的自適應先驗場景-對象SLAM框架

    由于傳統視覺SLAM在動態場景容易會出現嚴重的定位漂移,本文提出了種新穎的基于場景-對象的可靠性評估框架,該框架通過當前幀質量指標以及相對于可靠參考幀的場景變化,全面評估SLAM
    的頭像 發表于 08-19 14:17 ?872次閱讀
    <b class='flag-5'>一</b>種適用于動態環境的自適應先驗場景-對象<b class='flag-5'>SLAM</b>框架

    基于深度學習的增強版ORB-SLAM3詳解

    ORB-SLAM3雖是當前最先進的SLAM,但由于使用傳統的ORB(定向FAST和旋轉BRIEF)特征,在尺度、旋轉和光照發生顯著變化時可能會表現出局限性。
    的頭像 發表于 07-14 17:21 ?1698次閱讀
    基于深度學習的增強版<b class='flag-5'>ORB-SLAM</b>3詳解

    種適用于動態環境的實時RGB-D SLAM系統

    近期用于視覺SLAM的3D高斯潑濺(3DGS)技術在跟蹤和高保真建圖方面取得了顯著進展。然而,其順序優化框架以及對動態物體的敏感性限制了其在現實場景的實時性能和魯棒性。為此,我們提出
    的頭像 發表于 07-04 15:14 ?1288次閱讀
    <b class='flag-5'>一</b>種適用于動態環境的實時RGB-D <b class='flag-5'>SLAM</b>系統

    在低功耗藍牙產品開發的過程,會涉及一些參數的選擇和設定,這些參數是什么意思,該如何設定呢?(藍牙廣播)

    在低功耗藍牙產品開發的過程,會涉及一些參數的選擇和設定,這些參數是什么意思,該如何設定呢?在此介紹一些: 藍牙的廣播類型(Advertising Type) 可連接廣播(ADV_I
    發表于 06-25 18:25

    三維高斯潑濺大規模視覺SLAM系統解析

    仍未得到探索。本文提出種基于立體相機的三維高斯潑濺大規模視覺SLAM系統LSG-SLAM。通過在EuRoC數據集上的廣泛評估,LSG-SLAM展示了其在大規模室外場景
    的頭像 發表于 05-27 14:13 ?1565次閱讀
    三維高斯潑濺大規模視覺<b class='flag-5'>SLAM</b>系統解析

    Debian和Ubuntu哪個好一些

    兼容性對比Debian和Ubuntu哪個好一些,并為您揭示如何通過RAKsmart服務器釋放Linux系統的最大潛能。
    的頭像 發表于 05-07 10:58 ?1134次閱讀

    【「# ROS 2智能機器人開發實踐」閱讀體驗】視覺實現的基礎算法的應用

    SLAM在結構化環境更穩定,而視覺SLAM(如ORB-SLAM3)更適合動態場景。 SLAM Toolbox的實踐應用
    發表于 05-03 19:41

    【「# ROS 2智能機器人開發實踐」閱讀體驗】+ROS2應用案例

    地圖構建,包括算法原理介紹、安裝與配置方法、仿真環境SLAM以及真實機器人上的SLAM。 這過程不僅涉及到計算機視覺和機器人學的知識,
    發表于 04-27 11:42

    樹莓派在自動化控制項目中的一些潛在應用

    自動化控制項目中的一些潛在應用。之前,我們已經為Arduino平臺探討了相同的話題。我們確定Arduino是個出色的教育工具,但由于一些限制,它無法在工業環境完全
    的頭像 發表于 03-25 09:45 ?611次閱讀
    樹莓派在自動化控制項目中的<b class='flag-5'>一些</b>潛在應用

    種基于點、線和消失點特征的單目SLAM系統設計

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