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

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

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

3天內不再提示

視覺SLAM技術以及其應用詳解

傳感器技術 ? 2018-01-09 13:09 ? 次閱讀

當今科技發展速度飛快,想讓用戶在AR/VR、機器人無人機、無人駕駛領域體驗加強,還是需要更多前沿技術做支持,SLAM就是其中之一。實際上,有人就曾打比方,若是手機離開了WIFI和數據網絡,就像無人車和機器人,離開了SLAM一樣。

什么是SLAM

SLAM的英文全稱是 Simultaneous Localization and Mapping,中文稱作「同時定位與地圖創建」。

SLAM試圖解決這樣的問題:一個機器人在未知的環境中運動,如何通過對環境的觀測確定自身的運動軌跡,同時構建出環境的地圖。SLAM技術正是為了實現這個目標涉及到的諸多技術的總和。

SLAM通常包括如下幾個部分,特征提取,數據關聯,狀態估計,狀態更新以及特征更新等。

我們引用知乎上的一個解釋把它翻譯成大白話,就是:

當你來到一個陌生的環境時,為了迅速熟悉環境并完成自己的任務(比如找飯館,找旅館),你應當做以下事情:

a.用眼睛觀察周圍地標如建筑、大樹、花壇等,并記住他們的特征(特征提?。?/p>

b.在自己的腦海中,根據雙目獲得的信息,把特征地標在三維地圖中重建出來(三維重建)

c.當自己在行走時,不斷獲取新的特征地標,并且校正自己頭腦中的地圖模型(bundle adjustment or EKF)

d.根據自己前一段時間行走獲得的特征地標,確定自己的位置(trajectory)

e.當無意中走了很長一段路的時候,和腦海中的以往地標進行匹配,看一看是否走回了原路(loop-closure detection)。實際這一步可有可無。

以上五步是同時進行的,因此是simultaneous localization and mapping.

傳感器與視覺SLAM框架

智能機器人技術在世界范圍內得到了大力發展。人們致力于把機器人用于實際場景:從室內的移動機器人,到野外的自動駕駛汽車、空中的無人機、水下環境的探測機器人等等,均得到了廣泛的關注。

沒有準確的定位與地圖,掃地機就無法在房間自主地移動,只能隨機亂碰;家用機器人就無法按照指令準確到達某個房間。此外,在虛擬現實(Virtual Reality)和增強現實技術(Argument Reality)中,沒有SLAM提供的定位,用戶就無法在場景中漫游。在這幾個應用領域中,人們需要SLAM向應用層提供空間定位的信息,并利用SLAM的地圖完成地圖的構建或場景的生成。

當我們談論SLAM時,最先問到的就是傳感器。SLAM的實現方式與難度和傳感器的形式與安裝方式密切相關。傳感器分為激光和視覺兩大類,視覺下面又分三小方向。下面就帶你認識這個龐大家族中每個成員的特性。

1. 傳感器之激光雷達

激光雷達是最古老,研究也最多的SLAM傳感器。它們提供機器人本體與周圍環境障礙物間的距離信息。常見的激光雷達,例如SICK、Velodyne還有我們國產的rplidar等,都可以拿來做SLAM。激光雷達能以很高精度測出機器人周圍障礙點的角度和距離,從而很方便地實現SLAM、避障等功能。

主流的2D激光傳感器掃描一個平面內的障礙物,適用于平面運動的機器人(如掃地機等)進行定位,并建立2D的柵格地圖。這種地圖在機器人導航中很實用,因為多數機器人還不能在空中飛行或走上臺階,仍限于地面。在SLAM研究史上,早期SLAM研究幾乎全使用激光傳感器進行建圖,且多數使用濾波器方法,例如卡爾曼濾波器與粒子濾波器等。

激光的優點是精度很高,速度快,計算量也不大,容易做成實時SLAM。缺點是價格昂貴,一臺激光動輒上萬元,會大幅提高一個機器人的成本。因此激光的研究主要集中于如何降低傳感器的成本上。對應于激光的EKF-SLAM理論方面,因為研究較早,現在已經非常成熟。與此同時,人們也對EKF-SLAM的缺點也有較清楚的認識,例如不易表示回環、線性化誤差嚴重、必須維護路標點的協方差矩陣,導致一定的空間與時間的開銷,等等。

2.、傳感器之視覺SLAM

視覺SLAM是21世紀SLAM研究熱點之一,一方面是因為視覺十分直觀,不免令人覺得:為何人能通過眼睛認路,機器人就不行呢?另一方面,由于CPU、GPU處理速度的增長,使得許多以前被認為無法實時化的視覺算法,得以在10 Hz以上的速度運行。硬件的提高也促進了視覺SLAM的發展。

以傳感器而論,視覺SLAM研究主要分為三大類:單目、雙目(或多目)、RGBD。其余還有魚眼、全景等特殊相機,但是在研究和產品中都屬于少數。此外,結合慣性測量器件(Inertial Measurement Unit,IMU)的視覺SLAM也是現在研究熱點之一。就實現難度而言,我們可以大致將這三類方法排序為:單目視覺>雙目視覺>RGBD。

單目相機SLAM簡稱MonoSLAM,即只用一支攝像頭就可以完成SLAM。這樣做的好處是傳感器特別的簡單、成本特別的低,所以單目SLAM非常受研究者關注。相比別的視覺傳感器,單目有個最大的問題,就是沒法確切地得到深度。這是一把雙刃劍。

一方面,由于絕對深度未知,單目SLAM沒法得到機器人運動軌跡以及地圖的真實大小。直觀地說,如果把軌跡和房間同時放大兩倍,單目看到的像是一樣的。因此,單目SLAM只能估計一個相對深度,在相似變換空間Sim(3)中求解,而非傳統的歐氏空間SE(3)。如果我們必須要在SE(3)中求解,則需要用一些外部的手段,例如GPS、IMU等傳感器,確定軌跡與地圖的尺度(Scale)。

另一方面,單目相機無法依靠一張圖像獲得圖像中物體離自己的相對距離。為了估計這個相對深度,單目SLAM要靠運動中的三角測量,來求解相機運動并估計像素的空間位置。即是說,它的軌跡和地圖,只有在相機運動之后才能收斂,如果相機不進行運動時,就無法得知像素的位置。同時,相機運動還不能是純粹的旋轉,這就給單目SLAM的應用帶來了一些麻煩,好在日常使用SLAM時,相機都會發生旋轉和平移。不過,無法確定深度同時也有一個好處:它使得單目SLAM不受環境大小的影響,因此既可以用于室內,又可以用于室外。

相比于單目,雙目相機通過多個相機之間的基線,估計空間點的位置。與單目不同的是,立體視覺既可以在運動時估計深度,亦可在靜止時估計,消除了單目視覺的許多麻煩。不過,雙目或多目相機配置與標定均較為復雜,其深度量程也隨雙目的基線與分辨率限制。通過雙目圖像計算像素距離,是一件非常消耗計算量的事情,現在多用FPGA來完成。

RGBD相機是2010年左右開始興起的一種相機,它最大的特點是可以通過紅外結構光或Time-of-Flight原理,直接測出圖像中各像素離相機的距離。因此,它比傳統相機能夠提供更豐富的信息,也不必像單目或雙目那樣費時費力地計算深度。目前常用的RGBD相機包括Kinect/Kinect V2、Xtion等。不過,現在多數RGBD相機還存在測量范圍窄、噪聲大、視野小等諸多問題。出于量程的限制,主要用于室內SLAM。

SLAM框架之視覺里程計

視覺SLAM幾乎都有一個基本的框架。一個SLAM系統分為四個模塊(除去傳感器數據讀取):VO、后端、建圖、回環檢測

Visual Odometry,即視覺里程計。它估計兩個時刻機器人的相對運動(Ego-motion)。在激光SLAM中,我們可以將當前的觀測與全局地圖進行匹配,用ICP求解相對運動。而對于相機,它在歐氏空間里運動,我們經常需要估計一個三維空間的變換矩陣——SE3或Sim3(單目情形)。求解這個矩陣是VO的核心問題,而求解的思路,則分為基于特征的思路和不使用特征的直接方法。

特征匹配

基于特征的方法是目前VO的主流方式。對于兩幅圖像,首先提取圖像中的特征,然后根據兩幅圖的特征匹配,計算相機的變換矩陣。最常用的是點特征,例如Harris角點、SIFT、SURF、ORB。如果使用RGBD相機,利用已知深度的特征點,就可以直接估計相機的運動。給定一組特征點以及它們之間的配對關系,求解相機的姿態,該問題被稱為PnP問題(Perspective-N-Point)。PnP可以用非線性優化來求解,得到兩個幀之間的位置關系。

不使用特征進行VO的方法稱為直接法。它直接把圖像中所有像素寫進一個位姿估計方程,求出幀間相對運動。例如,在RGBD SLAM中,可以用ICP(Iterative Closest Point,迭代最近鄰)求解兩個點云之間的變換矩陣。對于單目SLAM,我們可以匹配兩個圖像間的像素,或者像圖像與一個全局的模型相匹配。直接法的典型例子是SVO和LSD-SLAM。它們在單目SLAM中使用直接法,取得了較好的效果。目前看來,直接法比特征VO需要更多的計算量,而且對相機的圖像采集速率也有較高的要求。

SLAM框架之后端

在VO估計幀間運動之后,理論上就可以得到機器人的軌跡了。然而視覺里程計和普通的里程計一樣,存在累積誤差的問題(Drift)。直觀地說,在t1和t2時刻,估計的轉角比真實轉角少1度,那么之后的軌跡就全部少掉了這1度。時間一長,建出的房間可能由方形變成了多邊形,估計出的軌跡亦會有嚴重的漂移。所以在SLAM中,還會把幀間相對運動放到一個稱之為后端的程序中進行加工處理。

早期的SLAM后端使用濾波器方式。由于那時還未形成前后端的概念,有時人們也稱研究濾波器的工作為研究SLAM。SLAM最早的提出者R. Smith等人就把SLAM建構成了一個EKF(Extended Kalman Filter,擴展卡爾曼濾波)問題。他們按照EKF的形式,把SLAM寫成了一個運動方程和觀測方式,以最小化這兩個方程中的噪聲項為目的,使用典型的濾波器思路來解決SLAM問題。

當一個幀到達時,我們能(通過碼盤或IMU)測出該幀與上一幀的相對運動,但是存在噪聲,是為運動方程。同時,通過傳感器對路標的觀測,我們測出了機器人與路標間的位姿關系,同樣也帶有噪聲,是為觀測方程。通過這兩者信息,我們可以預測出機器人在當前時刻的位置。同樣,根據以往記錄的路標點,我們又能計算出一個卡爾曼增益,以補償噪聲的影響。于是,對當前幀和路標的估計,即是這個預測與更新的不斷迭代的過程。

21世紀之后,SLAM研究者開始借鑒SfM(Structure from Motion)問題中的方法,把捆集優化(Bundle Adjustment)引入到SLAM中來。優化方法和濾波器方法有根本上的不同。它并不是一個迭代的過程,而是考慮過去所有幀中的信息。通過優化,把誤差平均分到每一次觀測當中。在SLAM中的Bundle Adjustment常常以圖的形式給出,所以研究者亦稱之為圖優化方法(Graph Optimization)。圖優化可以直觀地表示優化問題,可利用稀疏代數進行快速的求解,表達回環也十分的方便,因而成為現今視覺SLAM中主流的優化方法。

SLAM框架之回環檢測

回環檢測,又稱閉環檢測(Loop closure detection),是指機器人識別曾到達場景的能力。如果檢測成功,可以顯著地減小累積誤差。回環檢測實質上是一種檢測觀測數據相似性的算法。對于視覺SLAM,多數系統采用目前較為成熟的詞袋模型(Bag-of-Words, BoW)。詞袋模型把圖像中的視覺特征(SIFT, SURF等)聚類,然后建立詞典,進而尋找每個圖中含有哪些“單詞”(word)。也有研究者使用傳統模式識別的方法,把回環檢測建構成一個分類問題,訓練分類器進行分類。

回環檢測的難點在于,錯誤的檢測結果可能使地圖變得很糟糕。這些錯誤分為兩類:1.假陽性(False Positive),又稱感知偏差(Perceptual Aliasing),指事實上不同的場景被當成了同一個;2.假陰性(False Negative),又稱感知變異(Perceptual Variability),指事實上同一個場景被當成了兩個。感知偏差會嚴重地影響地圖的結果,通常是希望避免的。一個好的回環檢測算法應該能檢測出盡量多的真實回環。研究者常常用準確率-召回率曲線來評價一個檢測算法的好壞。

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

目前,SLAM(即時定位與地圖構建)技術主要被運用于無人機、無人駕駛、機器人、AR、智能家居等領域,從各應用場景入手,促進消費升級。

機器人

激光+SLAM是目前機器人自主定位導航所使用的主流技術。激光測距相比較于圖像和超聲波測距,具有良好的指向性和高度聚焦性,是目前最可靠、穩定的定位技術。激光雷達傳感器獲取地圖信息,構建地圖,實現路徑規劃與導航。

無人駕駛

無人駕駛是近年來較火的話題之一,Google、Uber、百度等企業都在加速研發無人駕駛相關技術,搶占先機。

隨著城市物聯網和智能系統的完善,無人駕駛必是大勢所趨。無人駕駛利用激光雷達傳感器(Velodyne、IBEO等)作為工具,獲取地圖數據,并構建地圖,規避路程中遇到的障礙物,實現路徑規劃。跟SLAM技術在機器人領域的應用類似,只是相比較于SLAM在機器人中的應用,無人駕駛的雷達要求和成本要明顯高于機器人。

無人機

無人機在飛行的過程中需要知道哪里有障礙物,該怎么規避,怎么重新規劃路線。顯然,這是SLAM技術的應用。但無人機飛行的范圍較大,所以對精度的要求不高,市面上其他的一些光流、超聲波傳感器可以作為輔助。

AR

AR通過電腦技術,將虛擬的信息應用到真實世界,真實的環境和虛擬的物體實時地疊加到了同一個畫面或空間同時存在。這一畫面的實現,離不開SLAM技術的實時定位。雖然在AR行業有很多可代替技術,但是,SLAM技術是最理想的定位導航技術。

相較于SLAM在機器人、無人駕駛等領域的應用,在AR行業的應用則有很多不同點。

1、精度上:AR一般更關注于局部精度,要求恢復的相機運動避免出現漂移、抖動,這樣疊加的虛擬物體才能看起來與現實場景真實地融合在一起。但在機器人和無人駕駛領域則一般更關注全局精度,需要恢復的整條運動軌跡誤差累積不能太大,循環回路要能閉合,而在某個局部的漂移、 抖動等問題往往對機器人應用來說影響不大。

2、效率上:AR需要在有限的計算資源下實時求解,人眼的刷新率為24幀,所以AR的計算效率通常需要到達30幀以上; 機器人本身運動就很慢,可以把幀率降低,所以對算法效率的要求相對較低。

3、配置上:AR對硬件的體積、功率、成本等問題比機器人更敏感,比如機器人上可以配置魚眼、雙目或深度攝像頭、高性能CPU等硬件來降低SLAM的難度,而AR應用更傾向于采用更為高效、魯邦的算法達到需求。

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

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

    關注

    2548

    文章

    50664

    瀏覽量

    751941
  • 機器人
    +關注

    關注

    210

    文章

    28191

    瀏覽量

    206505
  • SLAM
    +關注

    關注

    23

    文章

    419

    瀏覽量

    31786
  • 無人駕駛
    +關注

    關注

    98

    文章

    4029

    瀏覽量

    120293

原文標題:視覺SLAM技術

文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    常見室內定位技術詳解及其發展

    ?常見的室內定位技術主要包括紅外線定位、超聲波定位、射頻識別(RFID)定位、超寬帶(UWB)定位、WiFi定位、藍牙定位等?。以下是這些技術詳解及其發展概述: ?紅外線定位
    的頭像 發表于 11-15 18:09 ?176次閱讀

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

    同時定位與地圖構建(SLAM)是一項關鍵技術,允許移動機器人在部分或完全未知的環境中自主導航。它包括使用機載傳感器同時估計機器人狀態和構建傳感器檢測到的環境地圖。SLAM可以根據傳感器和地圖構建
    的頭像 發表于 11-12 11:26 ?193次閱讀
    最新圖優化框架,全面提升<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>(第 2 部分)

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

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

    機器視覺圖像采集卡及其使用接口概述

    本文我們將研究機器視覺圖像采集器及其使用的各種接口。首先,我們將概述外圍計算機卡,然后探討圖像采集器中使用的不同類型的機器視覺接口。讓我們從一個常見的問題開始:什么是外圍計算機卡,以及
    的頭像 發表于 06-27 18:15 ?523次閱讀
    機器<b class='flag-5'>視覺</b>圖像采集卡<b class='flag-5'>及其</b>使用接口概述

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

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

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

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

    什么是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><b class='flag-5'>技術</b>深度解析

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

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

    詳解時域瞬態分析技術

    詳解時域瞬態分析技術
    的頭像 發表于 12-07 14:45 ?749次閱讀
    <b class='flag-5'>詳解</b>時域瞬態分析<b class='flag-5'>技術</b>

    基于視覺SLAM的研究現狀

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