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

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

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

3天內不再提示

高翔博士分享:單目SLAM在移動端應用的實現難點有哪些?

QQ475400555 ? 來源:zhihu ? 2023-06-07 15:02 ? 次閱讀

提綱如下:

單目SLAM難點

視覺SLAM難點

可能的解決思路

圖片中非原創部分均已加引用,請勿盜圖,轉載請私信告知。

單目slam的障礙來自于理論和實踐兩個方面。理論障礙可以看做是固有的,無法通過硬件選型或軟件算法來解決的,例如單目初始化和尺度問題。實踐問題包括計算量,視野等,可以依靠選型、算法、軟件設計等方法來優化。不過在同等硬件水平下,優化也存在極限的。比如對O(1)的算法不滿意從而設計O(1/n)的算法似乎是不可能的……

單目SLAM難點

單目的優點是成本低,最大的局限性是測不到空間物體的距離,只有一個圖像。所以早期視覺SLAM也被稱為“只有角度的SLAM”(Bearing Only)。距離在定位中至關重要,雙目和RGBD相機的使用就是為了能夠計算(或測量)這個距離。上一個圖你們直觀體會一下距離的重要性:

5f33adca-04e7-11ee-90ce-dac502259ad0.jpg

很顯然,沒有距離信息,我們不知道一個東西的遠近——所以也不知道它的大小。它可能是一個近處但很小的東西,也可能是一個遠處但很大的東西。只有一張圖像時,你沒法知道物體的實際大小——我們稱之為尺度(Scale)。

可以說,單目的局限性主要在于我們沒法確定尺度,而在雙目視覺、RGBD相機中,距離是可以被測量到的(當然測量也有一定的量程和精度限制)。雙目視覺和人眼類似,通過左右眼圖像的差異來計算距離——也就是所謂的立體視覺(Stereo)。RGBD則是把(通常是紅外)光投射到物體表面,再測量反射的信息來計算距離的。具體原理分結構光和ToF兩種,在此不多做解釋,還是上圖直觀感受一下。

5f3cc356-04e7-11ee-90ce-dac502259ad0.png

5f481864-04e7-11ee-90ce-dac502259ad0.png

距離未知導致單目SLAM存在以下問題:

需要初始化

尺度不確定

尺度漂移

而一旦我們擁有了距離信息,上述幾條就都不是問題,這也是雙目和RGBD存在的意義。下面分別講一下以上幾條。

---------------我是分割線-----------------

1.1 初始化

單目SLAM剛開始時,只有圖像間的信息,沒有三維空間的信息。于是一個基本問題就是:怎么通過兩張圖像確定相機自身運動,并且確定像素點的距離。這個問題稱為單目SLAM初始化問題。一般是通過匹配圖像特征來完成的。

5f59d522-04e7-11ee-90ce-dac502259ad0.png

匹配好的特征點給出了一組2D-2D像素點的對應關系,但由于是單目,沒有距離信息。初始化的意義是求取兩個圖像間的運動和特征點距離,所以初始化完畢后你就知道這些特征點的3D位置了。后續的相機運動就可以通過3D點-2D點的匹配信息來估計。后續的問題叫PnP(Perspective n Point)。

對,你想的沒錯,單目的流程就是:初始化——PnP——PnP——……

初始化的運動是通過對極幾何來求解的,結構是由三角測量得到的。初始化問題是一個2D-2D求運動和結構的問題,比3D-2D的PnP要難(信息更少,更不確定)。我不展開對極幾何求運動的原理,但是理解它,對理解單目局限性是很有幫助的。如題主感興趣,請看Multiple View Geometry第8章。如果在知乎上寫,會占掉很大的篇幅。

對極幾何最終會分解一個本質矩陣(Essential Matrix)(或基本矩陣(Fundametal Matrix))來得到相機運動。但分解的結果中,你會發現對平移量乘以任意非零常數,仍滿足對極約束。直觀地說,把運動和場景同時放大任意倍數,單目相機仍會觀察到同樣的圖像!這種做法在電影里很常見。例用用相機近距離拍攝建筑模型,影片看起來就像在真實的高樓大廈一樣(比如奧特曼打怪獸實際是兩個穿著特攝服裝的演員,多么無情的現實)。

這個事實稱為單目的尺度不確定性(Scale Ambiguity)。所以,我們會把初始化的平移當作單位1,而之后的運動和場景,都將以初始化時的平移為單位。然而這個單位具體是多少,我們不知道(攤手)。并且,在初始化分解本質矩陣時,平移和旋轉是乘在一起的。如果初始化時只有旋轉而沒有平移,初始化就失敗了——所以業界有種說法,叫做“看著一個人端相機的方式,就知道這個人有沒有研究過SLAM”。有經驗的人會盡量帶平移,沒經驗的都是原地打轉……

所以,從應用上來說,單目需要一個帶平移的初始化過程,且存在尺度不確定問題,這是它理論上的障礙。

員工:老板你這樣移動相機不行啊,要有平移的……

老板:我花20k請你來做slam,一個初始化都搞不定?

1.2 結構問題

由于單目沒有距離信息,所有特征點在第一次出現時都只有一個2d投影,實際的位置可能出現在光心與投影連線的任意一處。只有在相機運動起來以后,才可能通過三角測量,估計特征點的距離。

三角測量的應用范圍很廣,傳說高斯在十幾歲的時候就已經用最小二乘法測量山的距離,來吊打這些二十大幾還在水paper的博士們。現代天文學測星星的距離也使用三角測量。

5f9c2fd0-04e7-11ee-90ce-dac502259ad0.png

然而三角測量的前提是——你得有三角啊。

高斯用三角測量是站在兩座山上去量另一座,這就構成了三角。雙目視覺左右兩個相機,存在一定的平移,和目標點也構成了三角。但在單目情形下,你必須移動相機之后,才可能去估計空間點的3D位置。換句話說,如果相機擺在那兒不動——就沒有三角了。這導致單目在機器人避障中應用存在困難,不過既然在談AR我們就先不說機器人吧。

1.3 尺度漂移

用單目估計出來的位移,與真實世界相差一個比例,叫做尺度。這個比例在初始化時確定,但單純靠視覺無法確定這個比例到底有多大。進而,由于SLAM過程中噪聲的影響,這個比例還不是固定不變的。當你用單目SLAM,會發現,咦怎么跑著跑著地圖越來越小了……

5fb0b266-04e7-11ee-90ce-dac502259ad0.png

這種現象在當前state-of-the-art的單目開源方案出亦會出現,修正方法是通過回環檢測。但是有沒有出現回環,則要看實際的運動方式。所以……

員工:老板你這樣移動相機不行啊,要經常把它移回去……

老板:我花20k請你來做slam,怎么搞的地圖一會兒大一會兒小,這怎么用?

---------------我是分割線-----------------

視覺SLAM的困難

雙目相機和RGBD相機能夠測量深度數據,于是就不存在初始化和尺度上的問題了。但是,整個視覺SLAM的應用中,存在一些共同的困難,主要包括以下幾條:

相機運動太快

相機視野不夠

計算量太大

遮擋

特征缺失

動態物體或光源干擾

2.1 運動太快

運動太快可能導致相機圖像出現運動模糊,成像質量下降。傳統卷簾快門式的相機,在運動較快時將產生明顯的模糊現象。不過現在我們有全局快門的相機了,即使動起來也不會模糊的相機,只是價格貴一些。

5fc83152-04e7-11ee-90ce-dac502259ad0.png

(你真以為啥圖都可以用來SLAM嗎?拿衣服啊,圖片來自TUM數據集)

5fd7282e-04e7-11ee-90ce-dac502259ad0.png

(全局快門相機在拍攝高速運動的物體仍是清晰的,圖片來自網絡

運動過快的另一個結果就是兩個圖像的重疊區(Overlap)不夠,導致沒法匹配上特征。所以視覺SLAM中都會選用廣角、魚眼、全景相機,或者干脆多放幾個相機。

2.2 相機視野不夠

如前所述,視野不夠可能導致算法易丟失。畢竟特征匹配的前提是圖像間真的存在共有的特征。

2.3 計算量太大

基于特征點的SLAM大部分時間會花在特征提取和匹配上,所以把這部分代碼寫得非常高效是很有幫助的。這里就有很多奇技淫巧可以用了,比如選擇一些容易計算的特征/并行化/利用指令集/放到硬件上計算等等,當然最直接的就是減少特征點啦。這部分很需要工程上的測試和經驗??偠灾卣鼽c的計算仍然是主要瓶頸所在。要是哪天相機直接輸出特征點就更好了。

2.4 遮擋

相機可能運動到一個墻角,還存在一些邪惡的開發者刻意地用手去擋住你的相機。他們認為你的視覺SLAM即使不靠圖像也能順利地工作。這些觀念是毫無道理的,所以直接無視他們即可。

2.5 特征缺失、動態光源和人物的干擾

老實說SLAM應用還沒有走到這一步,這些多數是研究論文關心的話題(比如直接法)?,F在AR能夠穩定地在室內運行就已經很了不起了。

---------------我是分割線-----------------

可能的解決思路

前邊總結了一些單目視覺可能碰到的困難。我們發現大部分問題并不能在當下的視覺方案能夠解決的。你或許可以通過一些工程技巧加速特征匹配的過程,但像尺度、遮擋之類的問題,明顯無法通過設計軟件來解決。

所以怎么辦呢?——既然視覺解決不了,那就靠別的來解決吧。畢竟一臺設備上又不是只有一塊單目相機。更常見的方案是,用視覺+IMU的方式做SLAM。

當前廣角單目+IMU被認為是一種很好的解決方案。它價格比較低廉,IMU能在以下幾點很好地幫助視覺SLAM:

IMU能幫單目確定尺度

IMU能測量快速的運動

IMU在相機被遮擋時亦能提供短時間的位姿估計

所以不管在理論還是應用上,都出現了一些單目+IMU的方案[2,3,4]。眾所周知的Tango和Hololens亦是IMU+單目/多目的定位方式。

5fe1d6ac-04e7-11ee-90ce-dac502259ad0.png

(用Tango玩MC,缺點是蓋的房子尺寸和真實世界一樣。蓋二樓你就得真跑到樓上去蓋——這怎么造圓明園?)

6075d852-04e7-11ee-90ce-dac502259ad0.png

(這貨就是靠后邊這魚眼+IMU做跟蹤的)

(Hololens圖就不上了吧……橫豎也不是自己的)

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

    關注

    23

    文章

    4601

    瀏覽量

    92653
  • 圖像
    +關注

    關注

    2

    文章

    1083

    瀏覽量

    40418
  • SLAM
    +關注

    關注

    23

    文章

    419

    瀏覽量

    31788

原文標題:高翔博士分享:單目SLAM在移動端應用的實現難點有哪些?

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

收藏 人收藏

    評論

    相關推薦

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

    LSD-SLAM 即 Large-Scale Direct SLAM,兼容相機和雙目相機。LSD-SLAM是一種基于光流跟蹤的直接法
    發表于 02-26 09:41 ?8990次閱讀
    從基本原理到應用的<b class='flag-5'>SLAM</b>技術深度解析

    SLAM技術的應用及發展現狀

    )、無人機、自動駕駛等都有應用,大疆位工程師甚至說過“所有關于無人機的夢想都建立SLAM之上”,可見SLAM技術的關鍵性。 工業用途主要是集中
    發表于 12-06 10:25

    讓機器人完美建圖的SLAM 3.0到底是何方神圣?

    ,控制與建圖中心斷開連接時地圖數據不會丟失,移動沒有斷電的情況下地圖數據不會丟失。    最后,看一下SLAM 3.0的實際建圖效果吧
    發表于 01-21 10:57

    激光SLAM與視覺SLAM什么區別?

    機器人運動控制系統架構中,可分為最底層、中間通信層和決策層三大層面,最底層包含了機器人本身的電機驅動和控制部分,中間通信層是底層部分和決策層的通信通路,而決策層則是實現機器人的定位建圖及導航。
    發表于 07-05 06:41

    SLAM的相關知識點分享

    小小的雀躍,千里之行始于足下,但愿能夠一步一個腳印的走下去!感謝公司實驗室Leonardo博士的大力支持和指導,出學校后遇到的一位良心導師,萌萌的,很負責任的領導!另外感謝來自意大...
    發表于 08-30 06:13

    基于SLAM移動機器人設計

    題目:基于SLAM移動機器人設計嵌入式PPT應具有的幾個部分1、哪些硬件  1)小車  2)STM32F429開發板  3)樹莓派3b+開發板  4)4g通信模塊  5)GPS模塊  6
    發表于 11-08 06:17

    目視覺SLAM仿真系統的設計與實現

    實現目視覺同時定位與建圖(SLAM)仿真系統,描述其設計過程。該系統工作性能良好,其SLAM算法可擴展性強,可以精確逼近真實目視覺
    發表于 04-15 08:50 ?82次下載

    WebServer的嵌入式實現與交互式設計_高翔

    WebServer的嵌入式實現與交互式設計_高翔
    發表于 03-19 11:28 ?1次下載

    視覺SLAM深度解讀

    ,根據生成的點云數據,測算哪里障礙物以及障礙物的距離。但是基于、雙目、魚眼攝像機的視覺SLAM方案,則不能直接獲得環境中的點云,而是形成灰色或彩色圖像,需要通過不斷
    的頭像 發表于 09-11 22:01 ?1939次閱讀

    激光SLAM與視覺SLAM必將融合 移動機器人核心技術將不斷升級

    近年來,伴隨移動機器人在各行各業的廣泛應用,SLAM這個“名字”逐漸被更多的人所熟悉,但是SLAM具體是什么、SLAM哪些應用領域、激光
    發表于 01-18 17:43 ?3335次閱讀

    實際應用中,SLAM技術是如何實現

    SLAM作為機器人自主定位導航的重要突破口正不斷引起業內重視,它是實現機器人自主行走的關鍵技術,可幫助機器人實現即時定位與地圖構建,實際應用中,S
    的頭像 發表于 12-26 09:23 ?783次閱讀

    密集SLAM的概率體積融合概述

    我們提出了一種利用深度密集 SLAM 和快速不確定性傳播從圖像重建 3D 場景的新方法。所提出的方法能夠密集、準確、實時地 3D 重建場景,同時對來自密集
    的頭像 發表于 01-30 11:34 ?656次閱讀

    立體視覺:我用相機求了個體積!

    一般而言,是無法依靠自身來完成測量的,企業選擇讓相機動起來,但是一旦動起來實際上也是雙目,不再是
    的頭像 發表于 03-01 11:19 ?1036次閱讀

    使用python和opencv實現攝像機測距

    我的論文方向目前是使用攝像頭實現機器人對人的跟隨,首先攝像頭與kinect等深度攝像頭最大的區別是無法有效獲取深度信息,那就首先從這
    的頭像 發表于 07-03 10:01 ?2932次閱讀
    使用python和opencv<b class='flag-5'>實現</b><b class='flag-5'>單</b><b class='flag-5'>目</b>攝像機測距

    探頭的應用范圍哪些?

    探頭的應用范圍哪些? 探頭是一種常用的測量儀器,廣泛應用于工業、科研、醫療等領域。下面將詳細介紹
    的頭像 發表于 01-08 11:19 ?507次閱讀