您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)視覺SLAM是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
近年來,SLAM技術(shù)取得了驚人的發(fā)展,領(lǐng)先一步的激光SLAM已成熟的應(yīng)用于各大場景中,視覺SLAM雖在落地應(yīng)用上不及激光SLAM,但也是目前研究的一大熱點,今天我們就來詳細聊聊視覺SLAM的那些事兒。
視覺SLAM是什么?
視覺SLAM主要是基于相機來完成環(huán)境的感知工作,相對而言,相機成本較低,容易放到商品硬件上,且圖像信息豐富,因此視覺SLAM也備受關(guān)注。
目前,視覺SLAM可分為單目、雙目(多目)、RGBD這三類,另還有魚眼、全景等特殊相機,但目前在研究和產(chǎn)品中還屬于少數(shù),此外,結(jié)合慣性測量器件(Inertial Measurement Unit,IMU)的視覺SLAM也是現(xiàn)在研究熱點之一。從實現(xiàn)難度上來說,大致將這三類方法排序為:單目視覺>雙目視覺>RGBD。
單目相機SLAM簡稱MonoSLAM,僅用一支攝像頭就能完成 SLAM 。最大的優(yōu)點是傳感器簡單且成本低廉,但同時也有個大問題,就是不能確切的得到深度。
一方面是由于絕對深度未知,單目SLAM不能得到機器人運動軌跡及地圖的真實大小,如果把軌跡和房間同時放大兩倍,單目看到的像是一樣的,因此,單目SLAM只能估計一個相對深度。另一方面,單目相機無法依靠一張圖像獲得圖像中物體離自己的相對距離。為了估計這個相對深度,單目SLAM要靠運動中的三角測量,來求解相機運動并估計像素的空間位置。即是說,它的軌跡和地圖,只有在相機運動之后才能收斂,如果相機不進行運動時,就無法得知像素的位置。同時,相機運動還不能是純粹的旋轉(zhuǎn),這就給單目SLAM的應(yīng)用帶來了一些麻煩。
而雙目相機與單目不同的是,立體視覺既可以在運動時估計深度,亦可在靜止時估計,消除了單目視覺的許多麻煩。不過,雙目或多目相機配置與標(biāo)定均較為復(fù)雜,其深度量程也隨雙目的基線與分辨率限制。通過雙目圖像計算像素距離,是一件非常消耗計算量的事情,現(xiàn)在多用FPGA來完成。
RGBD相機是2010年左右開始興起的一種相機,它最大的特點是可以通過紅外結(jié)構(gòu)光或TOF原理,直接測出圖像中各像素離相機的距離。因此,它比傳統(tǒng)相機能夠提供更豐富的信息,也不必像單目或雙目那樣費時費力地計算深度。
視覺SLAM框架解讀
1.傳感器數(shù)據(jù)
在視覺SLAM中主要為相機圖像信息的讀取和預(yù)處理。如果在機器人中,還可能有碼盤,慣性傳感器等信息的讀取和同步。
2.視覺里程計
視覺里程計的主要任務(wù)是估算相鄰圖像間相機運動以及局部地圖的樣子,最簡單的是兩張圖像之間的運動關(guān)系。計算機是如何通過圖像確定相機的運動的。在圖像上,我們只能看到一個個的像素,知道他們是某些空間點在相機的成像平面投影的結(jié)果。所以必須先了解相機跟空間點的幾何關(guān)系。
Vo(又稱為前端)能夠通過相鄰幀間的圖像估計相機運動,并恢復(fù)場景的空間結(jié)構(gòu),稱它為里程計。被稱為里程計是因為它只計算相鄰時刻的運動,而和再往前的過去信息沒有關(guān)聯(lián)。相鄰時刻運動串聯(lián)起來,就構(gòu)成了機器人的運動軌跡,從而解決了定位問題。另一方面,根據(jù)每一時刻的相機位置,計算出各像素對應(yīng)的空間點的位置,就得到了地圖。
3.后端優(yōu)化
后端優(yōu)化主要是處理slam過程中噪聲的問題。任何傳感器都有噪聲,所以除了要處理“如何從圖像中估計出相機運動”,還要關(guān)心這個估計帶有多大的噪聲。
前端給后端提供待優(yōu)化的數(shù)據(jù),以及這些數(shù)據(jù)的初始值,而后端負責(zé)整體的優(yōu)化過程,它往往面對的只有數(shù)據(jù),不必關(guān)系這些數(shù)據(jù)來自哪里。在視覺slam中,前端和計算接視覺研究領(lǐng)域更為相關(guān),比如圖像的特征提取與匹配等,后端則主要是濾波和非線性優(yōu)化算法。
4.回環(huán)檢測
回環(huán)檢測也可以稱為閉環(huán)檢測,是指機器人識別曾到達場景的能力。如果檢測成功,可以顯著地減小累積誤差。回環(huán)檢測實質(zhì)上是一種檢測觀測數(shù)據(jù)相似性的算法。對于視覺SLAM,多數(shù)系統(tǒng)采用目前較為成熟的詞袋模型(Bag-of-Words, BoW)。詞袋模型把圖像中的視覺特征(SIFT, SURF等)聚類,然后建立詞典,進而尋找每個圖中含有哪些“單詞”(word)。也有研究者使用傳統(tǒng)模式識別的方法,把回環(huán)檢測建構(gòu)成一個分類問題,訓(xùn)練分類器進行分類。
5.建圖
建圖主要是根據(jù)估計的軌跡建立與任務(wù)要求對應(yīng)的地圖,在機器人學(xué)中,地圖的表示主要有柵格地圖、直接表征法、拓撲地圖以及特征點地圖這4種。而特征點地圖是用有關(guān)的幾何特征(如點、直線、面)表示環(huán)境,常見于視覺SLAM技術(shù)中。這種地圖一般通過如GPS、UWB以及攝像頭配合稀疏方式的vSLAM算法產(chǎn)生,優(yōu)點是相對數(shù)據(jù)存儲量和運算量比較小,多見于最早的SLAM算法中。
視覺SLAM工作原理
大多數(shù)視覺SLAM系統(tǒng)的工作方式是通過連續(xù)的相機幀,跟蹤設(shè)置關(guān)鍵點,以三角算法定位其3D位置,同時使用此信息來逼近推測相機自己的姿態(tài)。簡單來說,這些系統(tǒng)的目標(biāo)是繪制與自身位置相關(guān)的環(huán)境地圖。這個地圖可以用于機器人系統(tǒng)在該環(huán)境中導(dǎo)航作用。與其他形式的SLAM技術(shù)不同,只需一個3D視覺攝像頭,就可以做到這一點。
通過跟蹤攝像頭視頻幀中足夠數(shù)量的關(guān)鍵點,可以快速了解傳感器的方向和周圍物理環(huán)境的結(jié)構(gòu)。所有視覺SLAM系統(tǒng)都在不斷的工作,以使重新投影誤差(Reprojection Error)或投影點與實際點之間的差異最小化,通常是通過一種稱為Bundle Adjustment(BA)的算法解決方案。vSLAM系統(tǒng)需要實時操作,這涉及到大量的運算,因此位置數(shù)據(jù)和映射數(shù)據(jù)經(jīng)常分別進行Bundle Adjustment,但同時進行,便于在最終合并之前加快處理速度。
視覺SLAM與激光SLAM有什么區(qū)別?
在業(yè)內(nèi),視覺SLAM與激光SLAM誰更勝一籌,誰將成為未來主流趨勢這一問題,成為大家關(guān)注的熱點,不同的人也有不同的看法及見解,以下將從成本、應(yīng)用場景、地圖精度、易用性幾個方面來進行詳細闡述。
1.成本
從成本上來說,激光雷達普遍價格較高,但目前國內(nèi)也有低成本的激光雷達解決方案,而VSLAM主要是通過攝像頭來采集數(shù)據(jù)信息,跟激光雷達一對比,攝像頭的成本顯然要低很多。但激光雷達能更高精度的測出障礙點的角度和距離,方便定位導(dǎo)航。
2.應(yīng)用場景
從應(yīng)用場景來說,VSLAM的應(yīng)用場景要豐富很多。VSLAM在室內(nèi)外環(huán)境下均能開展工作,但是對光的依賴程度高,在暗處或者一些無紋理區(qū)域是無法進行工作的。而激光SLAM目前主要被應(yīng)用在室內(nèi),用來進行地圖構(gòu)建和導(dǎo)航工作。
3.地圖精度
激光SLAM在構(gòu)建地圖的時候,精度較高,思嵐科技的RPLIDAR系列構(gòu)建的地圖精度可達到2cm左右;VSLAM,比如常見的,大家也用的非常多的深度攝像機Kinect,(測距范圍在3-12m之間),地圖構(gòu)建精度約3cm;所以激光SLAM構(gòu)建的地圖精度一般來說比VSLAM高,且能直接用于定位導(dǎo)航。
視覺SLAM的地圖建立
4.易用性
激光SLAM和基于深度相機的視覺SLAM均是通過直接獲取環(huán)境中的點云數(shù)據(jù),根據(jù)生成的點云數(shù)據(jù),測算哪里有障礙物以及障礙物的距離。但是基于單目、雙目、魚眼攝像機的視覺SLAM方案,則不能直接獲得環(huán)境中的點云,而是形成灰色或彩色圖像,需要通過不斷移動自身的位置,通過提取、匹配特征點,利用三角測距的方法測算出障礙物的距離。
總體來說,激光SLAM相對更為成熟,也是目前最為可靠的定位導(dǎo)航方案,而視覺SLAM仍是今后研究的一個主流方向,但未來,兩者融合是必然趨勢。
看完上述內(nèi)容,你們對視覺SLAM是什么有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。