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

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

3天內不再提示

為什么SLAM很重要 SLAM算法實現的4要素

h1654155999.2342 ? 來源:圖像處理知識庫整理 ? 作者:圖像處理知識庫整 ? 2021-08-26 16:07 ? 次閱讀

SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或并發建圖與定位。問題可以描述為:將一個機器人放入未知環境中的未知位置,是否有辦法讓機器人一邊逐步描繪出此環境完全的地圖,所謂完全的地圖(a consistent map)是指不受障礙行進到房間可進入的每個角落。SLAM最早由Smith、Self和Cheeseman于1988年提出。由于其重要的理論與應用價值,被很多學者認為是實現真正全自主移動機器人的關鍵。

詞語解釋

Simultaneous Localization and Mapping

Simultaneous Localization and Mapping, 同步定位與建圖。

SLAM問題可以描述為: 機器人在未知環境中從一個未知位置開始移動,在移動過程中根據位置估計和地圖進行自身定位,同時在自身定位的基礎上建造增量式地圖,實現機器人的自主定位和導航。

Scanning Laser Acoustic Microscope

Scanning Laser Acoustic Microscope, 激光掃描聲學顯微鏡。

激光掃描聲學顯微鏡是一種強有力的廣泛應用于諸如工業用材料和生物醫學領域的無損檢測工具,其使用的頻率范圍為10MHz ~ 500MHz。

Lymphocyte Activation Molecule

Lymphocyte Activation Molecule, 醫學用語。

Supersonic Low Altitude Missile

SLAM — Supersonic Low Altitude Missile(超音速低空導彈)的縮寫,是美國的一項導彈研制計劃。

Symmetrically Loaded Acoustic Module

SLAM是Symmetrically Loaded Acoustic Module的英文縮寫 [1] ,中文意思是平衡裝載聲學模塊。

Satellite Link Attenuation Model

SLM是Satellite Link Attenuation Model的英文縮寫 [2] ,中文意思是衛星鏈路衰減模型。

實時SLAM的未來以及深度學習與SLAM的比較

第一部分:為什么 SLAM 很重要?

視覺 SLAM 算法可以實時構建世界的 3D 地圖,并同時追蹤攝像頭(手持式或增強現實設備上的頭戴式或安裝在機器人上)的位置和方向。SLAM 是卷積神經網絡和深度學習的補充:SLAM 關注于幾何問題而深度學習是感知、識別問題的大師。如果你想要一個能走到你的冰箱面前而不撞到墻壁的機器人,那就使用 SLAM。如果你想要一個能識別冰箱中的物品的機器人,那就使用卷積神經網絡。

SLAM 是 SfM(運動恢復結構:Structure from Motion)的一種實時版本。視覺 SLAM 或基于視覺的 SLAM 是 SLAM 的一種僅使用攝像頭的變體,放棄了昂貴的激光傳感器和慣性測量單元。單眼 SLAM僅使用單個攝像頭,而非單眼 SLAM通常使用一個預校準的固定基線的立體相機套件。

SLAM 是計算機視覺領域所謂的幾何方法中最好案例。事實上,卡內基梅隆大學的機器人研究所將研究生水平的計算機視覺課程分成了一個基于學習的視覺方法和一個單獨的基于幾何的視覺方法的課程。

1.運動恢復結構 vs 視覺 SLAM

運動恢復結構(SfM)和 SLAM 所解決的問題非常相似,但 SfM 傳統上是以離線形式進行的,而 SLAM 則已經慢慢走向了低功耗/實時/單 RGB 相機的運行模式。今天許多運動恢復結構方面的專家都在為世界上一些最大的科技公司,幫助打造更好的地圖。如果沒有關于多視圖幾何、SfM 和 SLAM 的豐富知識,像谷歌地圖這種成功的地圖產品根本就不可能出現。典型的 SfM 問題遵循:給定一個單個室外結構(如大劇場/大體育館)的大型照片集合,構建該結構的 3D 模型并確定每個相機的姿勢。這個照片集合以離線形式處理,而且大型結構重建所需時間從幾小時到幾天不等。

這里給出一些流行的 SfM 相關的軟件庫:

Bundler:一個開源的運動恢復結構工具包

Libceres:一個非線性最小二乘極小化工具(對束調整(bundle adjustment)問題很有用)

Andrew Zisserman 的多視圖幾何 MATLAB 函數

2.視覺 SLAM vs 自動駕駛

研討會的組織者之一 Andrew Davison 表示,盡管自動駕駛汽車是 SLAM 最重要的應用之一,但用于自動化載具的 SLAM 應該有其自己的研究軌道。(而且正如我們所見,研討會的展示者中沒有一個談到了自動駕駛汽車。)在接下來的許多年里,獨立于任何一個圣杯級的應用而繼續在研究的角度上研究 SLAM 是有意義的。盡管在自動化載具方面存在著太多的系統級細節和技巧,但研究級的 SLAM 系統所需的不過是一個網絡攝像頭、算法知識和一點辛勞而已。視覺 SLAM 作為一個研究課題對數以千計的博士生的早期階段要友好得多,他們將首先需要好幾年的使用 SLAM 的實驗室經驗,然后才能開始考慮無人駕駛汽車等昂貴的機器人平臺。

第二部分:實時 SLAM 的未來

現在是時候正式總結和評論實時 SLAM 的未來研討會上的演講了。Andrew Davison 以一個名叫基于視覺的 SALM 的十五年的精彩歷史概述開篇,他的幻燈片中還有一個介紹機器人學課程的好內容。

你也許不知道 Andrew 是誰,他是倫敦帝國學院獨一無二的 Andrew Davison 教授。他最知名的成就是其 2003 年的 MonoSLAM 系統,他是第一個展示如何在單個攝像頭上構建 SLAM 系統的人,而那時候其他所有人都還認為打造 SLAM 系統需要一個立體的雙目攝像頭套件。最近,他的研究成果已經對戴森(Dyson)等公司的發展軌跡和他們的機器人系統的能力產生了影響(如全新的 Dyson360)。

我還記得 Davidson 教授曾在 2007 年的 BMVC(英國機器視覺大會)上給出了一個視覺 SLAM 教程。讓人驚訝的是,和主要的視覺大會上其它機器學習技術的紛繁成果相比,SLAM 的變化真是非常之少。過去八年里,對象識別已經經歷了兩三次小型變革,而今天的 SLAM 系統和其八年前的樣子看起來并沒有多大不同。了解 SLAM 的進展的最好方法是看最成功和最讓人難忘的系統。在 Davidson 的研討會介紹演講中,他討論了一些過去 10-15 年里科研界所打造的典范系統:

MonoSLAM

PTAM

FAB-MAP

DTAM

KinectFusion

1.Davison vs Horn:機器人視覺的下一篇章

Davison 還提到他正在寫一本關于機器人視覺的新書,這對計算機視覺、機器人和人工智能領域的研究者來說應該是一個激動人心的好消息。上一本機器人視覺的書是由 B.K. Horn 寫的(出版于 1986 年),現在也到該更新的時候了。

盡管我很樂意閱讀一本重在機器人視覺原理的巨著,但我個人希望該書關注的是機器人視覺的實用算法,就像 Hartley 和 Zissermann 的杰作《多視圖幾何》或 Thrun、Burgard 和 Fox 所著的《概率機器人學》那樣。這本關于視覺 SLAM 問題的書籍將會受到所有專注視覺研究者歡迎。

演講一:Christian Kerl 談 SLAM 中的連續軌跡

第一個演講來自 Christian Kerl,他提出了一種用于估計連續時間軌跡的密集跟蹤方法。其關鍵觀察結果發現:大部分 SLAM 系統都在離散數目的時間步驟上估計攝像頭的位置(要么是相隔幾秒的關鍵幀,要么是相隔大約 1/25 秒的各個幀。

Kerl 的大部分演講都集中于解決卷簾式快門相機的危害,而 Kerl 演示的系統還對建模給予謹慎的關注并消除了這些卷簾式快門的不利影響。

演講二:Jakob Engel 談半密集直接 SLAM(Semi-Dense Direct SLAM)

LSD-SLAM (大規模直接單眼 SLAM)在2014 ECCV 上公開,也是我現在最喜歡的 SLAM 系統之一!Jakob Engel 在那里展示了他的系統并向觀眾展示了當時最炫酷的一些 SLAM 可視化。對 SLAM 研究者來說,LSD-SLAM 是一個非常重要的系統,因為它不使用邊角或其它任何本地特性。

通過使用一種帶有穩健的 Huber 損失的由粗到細的算法,直接跟蹤可由圖像到圖像對準完成。這和那些基于特征的系統非常不同。深度估計使用了逆深度參數化(和許多其它系統一樣)并使用了大量或相對小的基準圖像對。該算法并不依賴于圖像特征,而是靠有效地執行紋理跟蹤。

全局映射是通過創建和解決姿態圖形的束調整優化問題而執行的,而且這所有都是實時工作的。這個方法是半密集的,因為它僅估計靠近圖像邊界的像素深度。LSD-SLAM 輸出比傳統的特征更密集,但并不如 Kinect 類型的 RGBD SLAM 那樣完全密集。

Engel 概述了原來的 LSD-SLAM 系統以及一些新成果,將它們最初的系統擴展成更有創造性的應用并實現了更有趣的部署。

全方位 LSD-SLAM是 LSD-SLAM 的一種延伸,因觀察到針孔模型不能用于大視場的觀測而被創造出來。這項成果提出于 IROS 2015(2015 年智能機器人和系統國際大會)(Caruso 是第一作者),能用于大視場(理想情況下可超過 180 度)。Engel 的演講很清楚地表示,你可以拿著相機以芭蕾舞般的動作極限旋轉在你的辦公室內走來走去。這是窄視場 SLAM 最糟糕的應用場景之一,但卻在 Omni LSD-SLAM 中效果良好。

立體 LSD-SLAM是 LSD-SLAM 的一種用于雙眼攝像頭套件的延伸。這有助于獲得沒有限制的規模,而且其初始化是瞬時的,強烈旋轉也不存在問題。盡管從學術的角度看,單眼 SLAM 是很激動人心,但如果你的機器人是一輛 30,000 美元的車或 10,000 美元的無人機原型,你應該有足夠的理由使用一套帶有兩個乃至更多攝像頭的套件。Stereo LSD-SLAM 在 SLAM 基準上表現出了相當強的競爭力。

Stereo LSD-SLAM 相當實用,能優化 SE(3) 中的姿態圖形,并包含了對自動曝光的校正。自動曝光校正的目標是讓誤差函數相對于仿射光照變化而不變。顏色空間仿射轉換的基本參數是在匹配過程中估算出來的,但也被扔掉以估計圖像到圖像變換中的錯誤。Engel 在演講中稱,離群值(outliers)(通常是由過度曝光的圖像像素造成的)往往會帶來問題,需要很仔細才能處理它們的影響。

在他后面的演示中,Engel 讓我們一窺了關于立體和慣性傳感器的整合新研究。為了了解詳情,你只能跟蹤 arXiv 上的更新或向 Usenko/Engel 本人了解。在應用方面,Engel 的演示中包含了由 LSD-SLAM 驅動的自動化四軸無人機的更新視頻。其飛行一開始是上下運動的,以獲得對尺寸的估計,然后又使用了自由空間的三維測繪(octomap)以估計自由空間,從而讓該四軸無人機可以在空間中為自己導航。

LSD-SLAM 的故事也是基于特征 vs 直接方法的故事,Engel 給了辯論雙方公正的待遇?;谔卣鞯姆椒ū辉O計用在 Harris 那樣的邊角之上,而直接方法則是用整個圖像進行對準?;谔卣鞯姆椒ǜ欤ń刂?2015 年),但直接方法在并行處理上效果很好。

離群值可以通過追溯的方法從基于特征的系統中移除,而直接方法在離群值處理上沒那么靈活。卷簾式快門是直接方法的一個更大的問題,而且使用全局快門或卷簾式快門模型是有意義的?;谔卣鞯姆椒ㄐ枰褂貌煌暾?a target="_blank">信息進行決策,而直接方法可以使用更多信息。

基于特征的方法不需要很好的初始化,而直接方法在初始化上需要更巧妙的技巧。對直接方法的研究只有 4 年,稀疏方法則有 20 多年的歷史了。Engel 樂觀地認為直接方法未來將上升成為頂級方法,我也這么想。

在 Engel 演講最后,Davison 問到了語義分割方面的問題,而 Engel 不知道語義分割是否可以在半密集的接近圖像邊界的數據上直接執行。但是,我個人的看法是,有更好的方法可將語義分割應用到 LSD 類型的 SLAM 系統上。半密集 SLAM 可以專注于靠近邊界的幾何信息,而對象識別可以專注于遠離這同一邊界的可靠語義,從而有可能創造出一個混合了幾何和語義的圖像解讀。

演講三:Torsten Sattler 談大規模定位與地圖構建面臨的挑戰

Torsten Sattler 的演講談論了大規模定位與地圖構建。這項工作的目的是在已有的地圖內執行六個自由度的定位,尤其是移動定位。演講中的一個關鍵點是:當你使用傳統的基于特征的方法時,存儲你的描述很快就將變得非常昂貴。視覺詞匯表(記得產品量化嗎?)等技術可以顯著減少存儲開銷,再加上某種程度的巧妙優化,描述的存儲將不再成為存儲瓶頸。

Sattler 的演講給出的另一個重要的關鍵信息是正確數據的數量實際上并不是相機姿態估計的很好的置信度測量。當特征點全都集中于圖像的單一一個部分時,相機定位可能會在千里之外!一個更好的置信度測量是有效正確數據計數,其可以將正確數據所在的區域作為整體圖像區域的一個部分來進行審查。你真正希望得到的是整體圖像上的特征匹配——如果信息散布在整個圖像上,你能得到更好的姿態估計。

Sattler 對未來實時 SLAM 的演講是這樣的:我們應該關注緊湊型的地圖表征,我們應該對相機姿態估計置信度有更好的理解(如樹上權重下降的特征),我們應該在更有挑戰性的場景中研發(如帶有平面結構的世界和在白天的地圖上的夜間定位)。

演講四:Mur-Artal 談基于特征的方法 vs 直接方法

ORB-SLAM 的創造者 Mur-Artal 的演講內容全部圍繞著 SLAM 領域內基于特征的方法 vs 直接方法的爭論,而他顯然站在基于特征的方法一邊。ORB-SLAM 可通過一個開源的 SLAM 軟件包獲取,而且它很難被擊敗。在他對 ORB-SLAM vs PTAM 的評價中,似乎 PTAM 實際上常常失?。ㄖ辽僭?TUM RGB-D 基準上)。LSD-SLAM 在 TUM RGB-D 基準上的錯誤通常遠高于預期。

演講五:Tango 項目和用于圖像到圖像限制的視覺環路閉合

簡單來說,谷歌的 Tango 項目是世界上第一個商業化 SLAM 的嘗試。來自 Google Zurich 的 Simon Lynen(之前屬于 ETH Zurich)帶著一個 Tango 現場演示(在一臺平板電腦上)來到了研討會,并展示了 Tango 世界的新內容。你可能不知道,谷歌希望將 SLAM 能力集成到下一代安卓設備中。

Tango 項目展示討論了一種通過在圖像到圖像匹配矩陣中尋找特定的模式以進行環路閉合的新方法。這 個方法是來自沒有固定位置的位置識別成果。他們也做帶有基于視覺的環路閉合的在線束調整。

這種圖像到圖像矩陣揭示一種尋找環路閉合的新方法??稍谠?YouTube 視頻中查看工作中的算法。

Tango 項目的人也在研究將谷歌多個眾包地圖結合起來,其目標是將由不同的人使用配置有 Tango 的設備創造的多個迷你地圖結合起來。

Simon 展示了一個山地自行車軌跡跟蹤的視頻,這在實踐中實際上是相當困難的。其中的想法是使用一個 Tango 設備跟蹤一輛山地自行車,并創建一份地圖,然后后續的目標是讓另外一個人沿著這條軌跡走。這個目前只是半有效狀態——當在地圖構建和跟蹤步驟之前有幾個小時時間時有效,但過了幾周、幾個月就沒效果了。

在 Tango 相關的討論中,Richard Newcombe 指出 Tango 項目所使用的 “特征” 在更深度地理解環境上還是相當落后的,而且看起來類似 Tango 項目的方法無法在室外場景中起作用——室外場景有非剛性大量光照變化等。所以我們有望見到為室外環境設計的不同系統嗎?Tango 項目將成為一個室內地圖構建設備嗎?

演講六:ElasticFusion 是沒有姿態圖形的密集型 SLAM

ElasticFusion 是一種需要 Kinect 這樣的 RGBD 傳感器的密集型 SLAM 技術。2-3 分鐘就能獲得單個房間的高質量 3D 掃描,這真是相當酷。許多 SLAM 系統的場景背后都使用了姿態圖形,這種技術有一種不同的(以地圖為中心)方法。該方法專注于構建地圖,但其訣竅是其構建的地圖可以變形,也因此得名 ElasticFusion(彈性融合)。其中算法融合的部分是向 KinectFusion 致敬——KinectFusion 是第一個高質量的基于 Kinect 的重建方式。Surfels 也被用作底層的基元。

恢復光源:我們一窺了來自倫敦帝國學院/戴森機器人實驗室的尚未發表的新研究成果。其中的想法是通過探測光源方向和探測鏡面反射,你可以提升 3D 重建的結果。關于恢復光源位置的炫酷視頻顯示其最多能處理 4 個獨立光源。

演講七:Richard Newcombe 的 DynamicFusion

Richard Newcombe(他最近成立的公司被 Oculus 收購)是最后一位展示者。Richard Newcombe 是 DTAM、KinectFusion 和 DynamicFusion 背后的人,見到他真是非???;他目前從事虛擬現實領域的研發。

2.研討會演示

在演示會議期間(在研討會中間舉行),許多展示者展示了他們的 SLAM 系統工作中的樣子。這些系統中許多都是以開源軟件包的形式提供的,所以如果你對實時 SLAM 感興趣,可以嘗試下載這些代碼。但是,最亮眼的演示是 Andrew Davison 展柜上他的來自 2004 年的 MonoSLAM 演示。

Andrew 不得不恢復了已有 15 年歲月的計算機(運行的是 Redhat Linux)來展示他原來的系統,運行在原來的硬件上。如果計算機視覺社區將決定舉辦一場復古視覺的演示會議,那我馬上就將會提名 Andrew 應得最佳論文獎。

看著 SLAM 系統專家揮動自己的 USB 攝像頭真是一件有趣的事——他們在展示他們的系統圍繞他們的筆記本電腦構建周圍桌子大小區域的 3D 地圖。如果你仔細看了這些專家移動攝像頭的方式(即平穩的圓圈運動),你幾乎就能看出一個人在 SLAM 領域工作了多長時間。當一位非專家級的人拿著攝像頭時,跟蹤失敗的概率明顯更高。

我有幸在演示會議期間和 Andrew 進行了交談,我很好奇這一系列的成果(過去 15 年中)中哪一個最讓他感到驚訝。他的回答是 PTAM 最讓他吃驚,因為其表明了實時束調整執行的方式。PTAM 系統本質上是 MonoSLAM++ 系統,但因為采用了一種重量級算法(束調整)而顯著提高了跟蹤效果并做到了實時——在 2000 年早期 Andrew 還認為“實時”是不可能辦到的。

第三部分:深度學習 vs SLAM

SLAM 小組討論真是樂趣無窮。在我們進入重要的深度學習 vs SLAM討論之前,我應該說明每一位研討會展示者都同意:語義對構建更大更好的 SLAM 系統是必需的。關于未來的方向,這里有很多有趣的小對話。在爭論中,Marc Pollefeys(一位知名的 SfM 和多視角幾何研究者)提醒所有人,機器人是 SLAM 的一個殺手級應用,并建議我們保持對大獎的關注。

這令人非常驚訝,因為 SLAM 傳統上是適用于機器人問題的,但過去幾十年機器人并沒有什么成功(谷歌機器人?),導致 SLAM 的關注重點從機器人轉移到了大規模地圖構建(包括谷歌地圖)和增強現實上。研討會上沒人談論過機器人。

1.將語義信息集成到 SLAM 中

人們對將語義整合到今天最出色的 SLAM 系統中有很大興趣。當涉及語義時, SLAM 社區不幸地卡在了視覺詞袋(bags-of-visual-words)的世界里,而在如何將語義信息整合進他們的系統上沒有什么新想法。在語義一端,我們現在已經看到 CVPR/ICCV/ECCV 上冒出了很多實時語義分割演示(基于卷積神經網絡);在我看來,SLAM 需要深度學習,而深度學習也一樣需要 SLAM。

2.端到端學習會主宰 SLAM 嗎?

在 SLAM 研討會小組討論結束時,Zeeshan Zia 博士提出了一個震驚所有人的問題,并引發了一場充滿能量的討論,令人難忘。你應該看看小組成員們臉上的表情。那就像是將一個深度學習的火球投向一群幾何學家。他們的面部表情表達出了他們的困惑、憤怒和厭惡。他們想:你怎么敢質疑我們?正是在這些稍縱即逝的時刻,我們才能真正體會到大會的體驗。Zia 的問題基本上是:在構建今天的 SLAM 系統時,端到端學習很快就將取代大部分人工勞動嗎?

Zia 的問題非常重要,因為端到端的可訓練系統已經慢慢進入到了很多高級的計算機問題中,相信 SLAM 會是一個例外是沒有道理的。有好幾位展示者都指出當前的 SLAM 系統過于依賴幾何,以至于讓完全基于深度學習的 SLAM 系統看起來不合理了——我們應該使用學習技術得到更好的點描述,而不要管幾何。你可以使用深度學習做一個計算器,并不意味你應該這么做。

盡管許多小組討論發言人都使用了有些肯定不行回應,但讓人驚訝的是,卻是 Newcombe 聲援了深度學習和 SLAM 聯姻的可能。

3.Newcombe 的提議:使用 SLAM 助力深度學習

盡管 Newcombe 在深度學習可能如何幫助 SLAM 上沒有提供很多證據或想法,但他卻為 SLAM 如何可能為深度學習提供幫助給出了一條清晰的路徑。想想看我們使用大規模 SLAM 已經構建出的地圖以及這些系統所提供的對應——這難道不是一個構建能幫助深度學習的萬億級圖像到圖像相關數據集的清晰路徑嗎?其基本思路是:今天的 SLAM 系統是大規模的對應引擎,可以用來生成大規模數據集,而這正是深度卷積神經網絡所需要的。

第四部分:結語

這次 ICCV 大會上主流的工作(重在機器學習)和本次實時 SLAM 研討會所呈現出現的工作(重在束調整等幾何方法)之間存在相當大的脫節。主流的計算機視覺社區在過去十年內已經見證了多次小型變革(如:Dalal-Triggs、DPM、ImageNet、ConvNets、R-CNN),而今天的 SLAM 系統和它們八年前的樣子并沒有很大的不同。Kinect 傳感器可能是 SLAM 領域唯一的最大的徹底變革的技術,但基礎算法仍舊保持著原樣。

今天的 SLAM 系統能幫助機器在幾何上理解眼前的世界(即在本地坐標系中構建關聯),而今天的深度學習系統能幫助機器進行分類推理(即在不同的對象實例之上構建關聯)??偟膩碚f,在視覺 SLAM 上,我與 Newcombe 和 Davison 一樣興奮,因為基于視覺的算法將會將增強現實和虛擬現實轉變成一個價值數十億美元的產業。但是,我們不應忘記保持對那個萬億美元市場的關注,那個將重新定義 “工作” 的市場——機器人。機器人 SLAM 的時代很快就要到來了。

SLAM的前世今生

SLAM的前世

我之前從本科到研究生,一直在導航與定位領域學習,一開始偏重于高精度的慣性導航、衛星導航、星光制導及其組合導航。出于對實現無源導航的執念,我慢慢開始研究視覺導航中的SLAM方向,并與傳統的慣性器件做組合,實現獨立設備的自主導航定位。

定位、定向、測速、授時是人們惆悵千年都未能完全解決的問題,最早的時候,古人只能靠夜觀天象和司南來做簡單的定向。直至元代,出于對定位的需求,才華橫溢的中國人發明了令人嘆為觀止的牽星術,用牽星板測量星星實現緯度估計。

1964年美國投入使用GPS,突然就打破了大家的游戲規則。軍用的P碼可以達到1-2米級精度,開放給大眾使用的CA碼也能夠實現5-10米級的精度。

后來大家一方面為了突破P碼封鎖,另一方面為了追求更高的定位定姿精度,想出了很多十分具有創意的想法來挺升GPS的精度。利用RTK的實時相位差分技術,甚至能實現厘米的定位精度,基本上解決了室外的定位和定姿問題。

但是室內這個問題就難辦多了,為了實現室內的定位定姿,一大批技術不斷涌現,其中,SLAM技術逐漸脫穎而出。SLAM是一個十分交叉學科的領域,我先從它的傳感器講起。

離不開這兩類傳感器

目前用在SLAM上的Sensor主要分兩大類,激光雷達和攝像頭。

這里面列舉了一些常見的雷達和各種深度攝像頭。激光雷達有單線多線之分,角分辨率及精度也各有千秋。SICK、velodyne、Hokuyo以及國內的北醒光學、Slamtech是比較有名的激光雷達廠商。他們可以作為SLAM的一種輸入形式。

這個小視頻里展示的就是一種簡單的2D SLAM。

這個小視頻是賓大的教授kumar做的特別有名的一個demo,是在無人機上利用二維激光雷達做的SLAM。

而VSLAM則主要用攝像頭來實現,攝像頭品種繁多,主要分為單目、雙目、單目結構光、雙目結構光、ToF幾大類。他們的核心都是獲取RGB和depth map(深度信息)。簡單的單目和雙目(Zed、leapmotion)我這里不多做解釋,我主要解釋一下結構光和ToF。

最近流行的結構光和TOF

結構光原理的深度攝像機通常具有激光投射器、光學衍射元件(DOE)、紅外攝像頭三大核心器件。

可以看到primesense的doe是由兩部分組成的,一個是擴散片,一個是衍射片。先通過擴散成一個區域的隨機散斑,然后復制成九份,投射到了被攝物體上。根據紅外攝像頭捕捉到的紅外散斑,PS1080這個芯片就可以快速解算出各個點的深度信息。

這兒還有兩款結構光原理的攝像頭。

第一頁它是由兩幅十分規律的散斑組成,最后同時被紅外相機獲得,精度相對較高。但據說DOE成本也比較高。

還有一種比較獨特的方案(最后一幅圖),它采用mems微鏡的方式,類似DLP投影儀,將激光器進行調頻,通過微鏡反射出去,并快速改變微鏡姿態,進行行列掃描,實現結構光的投射。(產自ST,ST經常做出一些比較炫的黑科技)。

ToF(time of flight)也是一種很有前景的深度獲取方法。

傳感器發出經調制的近紅外光,遇物體后反射,傳感器通過計算光線發射和反射時間差或相位差,來換算被拍攝景物的距離,以產生深度信息。類似于雷達,或者想象一下蝙蝠,softkinetic的DS325采用的就是ToF方案(TI設計的),但是它的接收器微觀結構比較特殊,有2個或者更多快門,測ps級別的時間差,但它的單位像素尺寸通常在100um的尺寸,所以目前分辨率不高。以后也會有不錯的前景,但我覺得并不是顛覆性的。

好,那在有了深度圖之后呢,SLAM算法就開始工作了,由于Sensor和需求的不同,SLAM的呈現形式略有差異。大致可以分為激光SLAM(也分2D和3D)和視覺SLAM(也分Sparse、semiDense、Dense)兩類,但其主要思路大同小異。

SLAM算法實現的4要素

SLAM算法在實現的時候主要要考慮以下4個方面吧:

1. 地圖表示問題,比如dense和sparse都是它的不同表達方式,這個需要根據實際場景需求去抉擇

2. 信息感知問題,需要考慮如何全面的感知這個環境,RGBD攝像頭FOV通常比較小,但激光雷達比較大

3. 數據關聯問題,不同的sensor的數據類型、時間戳、坐標系表達方式各有不同,需要統一處理

4. 定位與構圖問題,就是指怎么實現位姿估計和建模,這里面涉及到很多數學問題,物理模型建立,狀態估計和優化

其他的還有回環檢測問題,探索問題(exploration),以及綁架問題(kidnapping)。

這個是一個比較有名的SLAM算法,這個回環檢測就很漂亮。但這個調用了cuda,gpu對運算能力要求挺高,效果看起來比較炫。

以VSLAM舉個栗子

我大概講一種比較流行的VSLAM方法框架。

整個SLAM大概可以分為前端和后端,前端相當于VO(視覺里程計),研究幀與幀之間變換關系。首先提取每幀圖像特征點,利用相鄰幀圖像,進行特征點匹配,然后利用RANSAC去除大噪聲,然后進行匹配,得到一個pose信息(位置和姿態),同時可以利用IMU(Inertial measurement unit慣性測量單元)提供的姿態信息進行濾波融合

后端則主要是對前端出結果進行優化,利用濾波理論(EKF、UKF、PF)、或者優化理論TORO、G2O進行樹或者圖的優化。最終得到最優的位姿估計。

后端這邊難點比較多,涉及到的數學知識也比較多,總的來說大家已經慢慢拋棄傳統的濾波理論走向圖優化去了。

因為基于濾波的理論,濾波器穩度增長太快,這對于需要頻繁求逆的EKF(擴展卡爾曼濾波器),PF壓力很大。而基于圖的SLAM,通常以keyframe(關鍵幀)為基礎,建立多個節點和節點之間的相對變換關系,比如仿射變換矩陣,并不斷地進行關鍵節點的維護,保證圖的容量,在保證精度的同時,降低了計算量。

列舉幾個目前比較有名的SLAM算法:PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM。

所以大家如果想學習SLAM的話,各個高校提高的素材是很多的,比如賓大、MIT、ETH、香港科技大學、帝國理工等等都有比較好的代表作品,還有一個比較有前景的就是三維的機器視覺,普林斯頓大學的肖劍雄教授結合SLAM和Deep Learning做一些三維物體的分類和識別, 實現一個對場景深度理解的機器人感知引擎。

http://robots.princeton.edu/talks/2016_MIT/RobotPerception.pdf 這是他們的展示。

總的來說,SLAM技術從最早的軍事用途(核潛艇海底定位就有了SLAM的雛形)到今天,已經逐步走入人們的視野,掃地機器人的盛行更是讓它名聲大噪。同時基于三維視覺的VSLAM越來越顯主流。在地面/空中機器人、VR/AR/MR、汽車/AGV自動駕駛等領域,都會得到深入的發展,同時也會出現越來越多的細分市場等待挖掘。

這個是occipital團隊出的一個產品,是個很有意思的應用,國內賣4000+,大概一個月1000出貨量吧(雖然不是很多,但是效果不錯,pad可玩)虛擬家居、無人飛行/駕駛、虛擬試衣、3D打印、刑偵現場記錄、沉浸式游戲、增強現實、商場推送、設計輔助、地震救援、工業流水線、GIS采集等等,都等待著VSLAM技術一展宏圖

SLAM的今生——還存在著問題

多傳感器融合、優化數據關聯與回環檢測、與前端異構處理器集成、提升魯棒性和重定位精度都是SLAM技術接下來的發展方向,但這些都會隨著消費刺激和產業鏈的發展逐步解決。就像手機中的陀螺儀一樣,在不久的將來,也會飛入尋常百姓家,改變人類的生活。

不過說實話,SLAM在全面進入消費級市場的過程中,也面對著一些阻力和難題。比如Sensor精度不高、計算量大、Sensor應用場景不具有普適性等等問題。

多傳感器融合、優化數據關聯與回環檢測、與前端異構處理器集成、提升魯棒性和重定位精度都是SLAM技術接下來的發展方向,但這些都會隨著消費刺激和產業鏈的發展逐步解決。就像手機中的陀螺儀一樣,在不久的將來,也會飛入尋常百姓家,改變人類的生活。

(激光雷達和攝像頭兩種 SLAM 方式各有什么優缺點呢,有沒有一種綜合的方式互補各自的缺點的呢?)

激光雷達優點是可視范圍廣,但是缺點性價比低,低成本的雷達角分辨率不夠高,影響到建模精度。vSLAM的話缺點就是FOV通常不大,50-60degree,這樣高速旋轉時就容易丟,解決方案有的,我們公司就在做vSLAM跟雷達還有IMU的組合。

(請問目前基于視覺的SLAM的計算量有多大?嵌入式系統上如果要做到實時30fps,是不是只有Nvidia的芯片(支持cuda)才可以?)

第一個問題,雖然基于視覺的SLAM計算量相對較大,但在嵌入式系統上是可以跑起來的,Sparse的SLAM可以達到30-50hz(也不需要GPU和Cuda),如果dense的話就比較消耗資源,根據點云還有三角化密度可調,10-20hz也是沒有問題。

并不一定要用cuda,一些用到cuda和GPU的算法主要是用來加速SIFT、ICP,以及后期三角化和mesh的過程,即使不用cuda可以采用其他的特征點提取和匹配策略也是可以的。

最后一個問題

想了解下,您對機器人的未來趨勢怎么看?

這個問題就比較大了。

機器人產業是個很大的Ecosystem,短時間來講,可能產業鏈不夠完整,消費級市場缺乏爆點爆款。雖然大家都在談論做機器人,但是好多公司并沒有解決用戶痛點,也沒有為機器人產業鏈創造什么價值。

但是大家可以看到, 大批缺乏特色和積淀的機器人公司正在被淘汰,行業格局越來越清晰,分工逐漸完善,一大批細分市場成長起來。

從機器人的感知部分來說,傳感器性能提升、前端處理(目前的sensor前端處理做的太少,給主CPU造成了很大的負擔)、多傳感器融合是一個很大的增長點。

現在人工智能也開始揚頭,深度學習、神經網絡專用的分布式異構處理器及其協處理器成為緊急需求,我個人很希望國內有公司能把這塊做好。

也有好多創業公司做底層工藝比如高推重比電機、高能量密度電池、復合材料,他們和機器人產業的對接,也會加速機器人行業的發展。整個機器人生態架構會越來越清晰,從硬件層到算法層到功能層到SDK 再到應用層,每一個細分領域都有公司切入,隨著這些產業節點的完善,能看到機器人行業的前景還是很棒的,相信不久之后就會迎來堪比互聯網的指數式增長!

本文由圖像處理知識庫整理轉載自計算機視覺life僅用于學術交流,若侵權請聯系刪除

編輯:jq

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

    關注

    2532

    文章

    48534

    瀏覽量

    742356
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10512

    瀏覽量

    207271
  • SLAM
    +關注

    關注

    22

    文章

    398

    瀏覽量

    31624
  • 激光掃描
    +關注

    關注

    0

    文章

    105

    瀏覽量

    11374

原文標題:深度好文 | 超全SLAM技術及應用介紹

文章出處:【微信號:gh_f39db674fbfd,微信公眾號:尖刀視】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是SLAM?視覺SLAM怎么實現?

    上周的組會上,我給研一的萌新們講解什么是SLAM,為了能讓他們在沒有任何基礎的情況下大致聽懂,PPT只能多圖少字沒公式,這里我就把上周的組會匯報總結一下。 這次匯報的題目我定為“視覺SLAM:一直在
    的頭像 發表于 08-21 10:02 ?6149次閱讀
    什么是<b class='flag-5'>SLAM</b>?視覺<b class='flag-5'>SLAM</b>怎么<b class='flag-5'>實現</b>?

    SLAM技術的應用及發展現狀

    應用行業也可分為兩大類,即工業領域和商業領域。商業用途方面,目前應用最為成熟的應該是掃地機行業,而掃地機也算機器人里最早用到SLAM技術這一批了,國內的科沃斯、塔米掃地機、嵐豹掃地機通過用SLAM算法
    發表于 12-06 10:25

    SLAM大法之回環檢測

    主動式的閉環檢測。當發現了新的閉環信息后,SLAM 3.0使用Bundle Adjuestment(BA)等算法對原先的位姿拓撲地圖進行修正(即進行圖優化),從而能有效的進行閉環后地圖的修正,實現更加
    發表于 03-06 15:38

    SLAM技術目前主要應用在哪些領域

    )作為工具,獲取地圖數據,并構建地圖,規避路程中遇到的障礙物,實現路徑規劃。跟SLAM技術在機器人領域的應用類似,只是相比較于SLAM在機器人中的應用,無人駕駛的雷達要求和成本要明顯高于機器人?! o人機
    發表于 12-01 14:26

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

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

    基于視覺的slam自動駕駛

    基于視覺的slam自動駕駛,這是我們測試的視頻《基于slam算法的智能機器人》調研分析報告項目背景分析機器人曾經是科幻電影中的形象,可目前已經漸漸走入我們的生活。機器人技術以包含機械、電子、自動控制
    發表于 08-09 09:37

    SLAM的相關知識點分享

    研究生期間進行了基于2D激光雷達的SLAM的研究,當時主要做了二維激光雷達的數據處理。小弟不才,沒有入得了SLAM的坑,卻一直謎之向往,如今得以機會,決定正式邁出第一步,徹底進入SLAM的坑!心中
    發表于 08-30 06:13

    基于SLAM的移動機器人設計

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

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

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

    機器人SLAM實現

    針對復雜環境下機器人的同時定位與地圖構建( SLAM)存在實時性與魯棒性下降等問題,將一種基于ORB特征點的關鍵幀閉環檢測匹配算法應用到定位與地圖構建巾。研究并分析了特征點提取與描述符建立
    發表于 03-26 10:57 ?6次下載

    高仙SLAM具體的技術是什么?SLAM2.0有哪些優勢?

    高仙的SLAM2.0技術體系核心,是基于多傳感器融合+深度學習的架構,即語義SLAM。高仙SLAM2.0技術方案以語義分析、機器學習為基礎,結合云端實時信息處理以及專為多傳感器融合而開發的專業
    的頭像 發表于 05-15 16:48 ?8660次閱讀

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

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

    激光雷達SLAM算法有哪些?

    一般將使用單線雷達建構二維地圖的SLAM算法,稱為2D Lidar SLAM。大家熟知的2D Lidar SLAM算法有:gmapping,
    的頭像 發表于 04-18 10:18 ?1.2w次閱讀
    激光雷達<b class='flag-5'>SLAM</b><b class='flag-5'>算法</b>有哪些?

    有哪些激光雷達SLAM算法?

    一般將使用單線雷達建構二維地圖的SLAM算法,稱為2D Lidar SLAM。大家熟知的2D Lidar SLAM算法有:gmapping,
    的頭像 發表于 03-27 11:06 ?1589次閱讀

    什么是SLAM?SLAM算法涉及的4要素

    SLAM技術可以應用在無人駕駛汽車、無人機、機器人、虛擬現實等領域中,為這些領域的發展提供了支持。SLAM技術的發展已經逐漸從單純的定位和地圖構建轉向了基于場景理解的功能。
    發表于 04-04 11:50 ?637次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>