視覺SLAM學(xué)習(xí)基礎(chǔ)篇(SLAM框架及相機(jī)模型)_第1頁
視覺SLAM學(xué)習(xí)基礎(chǔ)篇(SLAM框架及相機(jī)模型)_第2頁
視覺SLAM學(xué)習(xí)基礎(chǔ)篇(SLAM框架及相機(jī)模型)_第3頁
視覺SLAM學(xué)習(xí)基礎(chǔ)篇(SLAM框架及相機(jī)模型)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、視覺SLAM學(xué)習(xí)-基礎(chǔ)篇(SLAM框架及相機(jī)模型)一例子Q于tiPi出:-兀一總丈工如上圖的小蘿卜機(jī)器人,要使其具有自主運(yùn)動(dòng)能力至少需要兩個(gè)條件:1.我在什么地方?定位。2.周圍環(huán)境是什么樣?建圖。因此它既需要知道自身的狀態(tài)-位置,也要了解所在的環(huán)境-地圖。解決這些問題的方法非常多,如攜帶于機(jī)器人本體上的傳感器,例如機(jī)器人的輪式編碼器、相機(jī)、激光等等,另一類是安裝于環(huán)境中的,例如導(dǎo)軌、二維碼標(biāo)志等等。二相機(jī)在視覺SLAM中主要是用相機(jī)去解決定位與建圖問題。按照相機(jī)的工作方式,把相機(jī)分為單目(Monocular)、雙目(Stereo)和深度相機(jī)(RGB-D)三個(gè)大類,如下圖所示。直觀看來,單目相

2、機(jī)只有一個(gè)攝像頭,雙目有兩個(gè),而RGB-D原理較復(fù)雜,除了能夠采集到彩色圖片之外,還能讀出每個(gè)像素離相機(jī)的距離。它通常攜帶多個(gè)攝像頭,工作原理和普通相機(jī)不盡相同。此外,SLAM中還有全景相機(jī)、Event相機(jī)等特殊或新興的種類。單目相機(jī):只使用一個(gè)攝像頭進(jìn)行SLAM的做法稱為單目SLAM(MonocularSLAM)。這種傳感器結(jié)構(gòu)特別的簡單、成本特別的低,所以單目SLAM非常受研究者關(guān)注,它的數(shù)據(jù)格式就是常見的照片。照片本質(zhì)上是拍照時(shí)的場景(Seene),在相機(jī)的成像平面上留下的一個(gè)投影。它以二維的形式反映了三維的世界。顯然,這個(gè)過程丟掉了場景的一個(gè)維度:也就是所謂的深度(或距離)。在單目相機(jī)

3、中,我們無法通過單個(gè)圖片來計(jì)算場景中物體離我們的距離(遠(yuǎn)近)一一之后我們會(huì)看到,這個(gè)距離將是SLAM中非常關(guān)鍵的信息。由于我們?nèi)祟愐娺^大量的圖像,養(yǎng)成了一種天生的直覺,對(duì)大部分場景都有一個(gè)直觀的距離感(空間感),它幫助我們判斷圖像中物體的遠(yuǎn)近關(guān)系。比如說,我們能夠辨認(rèn)出圖像中的物體,并且知道它們大致的大小;比如近處的物體會(huì)擋住遠(yuǎn)處的物體,而太陽、月亮等天體一般在很遠(yuǎn)的地方;再如物體受光照后會(huì)留下影子等等。這些信息可以都幫助我們判斷物體的遠(yuǎn)近,但也存在一些情況,這個(gè)距離感會(huì)失效,這時(shí)我們無法判斷物體的遠(yuǎn)近以及它們的真實(shí)大小。由于單目相機(jī)只是三維空間的二維投影,所以,如果我們真想恢復(fù)三維結(jié)構(gòu),必須

4、移動(dòng)相機(jī)的視角。在單目SLAM中也是同樣的原理。我們必須移動(dòng)相機(jī)之后,才能估計(jì)它的運(yùn)動(dòng)(Motion),同時(shí)估計(jì)場景中物體的遠(yuǎn)近和大小,稱之為結(jié)構(gòu)(Strueture)。如果相機(jī)往右移動(dòng),那么圖像里的東西就會(huì)往左邊移動(dòng)一一這就給我們推測運(yùn)動(dòng)帶來了信息。另一方面,我們還知道近處的物體移動(dòng)快,遠(yuǎn)處的物體則運(yùn)動(dòng)緩慢。于是,當(dāng)相機(jī)移動(dòng)時(shí),這些物體在圖像上的運(yùn)動(dòng),形成了視差。通過視差,我們就能定量地判斷哪些物體離得遠(yuǎn),哪些物體離的近。單目SLAM估計(jì)的軌跡和地圖,將與真實(shí)的軌跡、地圖,相差一個(gè)因子,也就是所謂的尺度(Scale)。由于單目SLAM無法僅憑圖像確定這個(gè)真實(shí)尺度,所以又稱為尺度不確定性。單目

5、相機(jī)數(shù)據(jù)雙目相機(jī)(Stereo)和深度相機(jī):雙目相機(jī)和深度相機(jī)的目的,在于通過某種手段測量物體離我們的距離,克服單目無法知道距離的缺點(diǎn)。如果知道了距離,場景的三維結(jié)構(gòu)就可以通過單個(gè)圖像恢復(fù)出來,也就消除了尺度不確定性。盡管都是為測量距離,但雙目相機(jī)與深度相機(jī)測量深度的原理是不一樣的。雙目相機(jī)由兩個(gè)單目相機(jī)組成,但這兩個(gè)相機(jī)之間的距離(稱為基線(Baseline)是已知的。我們通過這個(gè)基線來估計(jì)每個(gè)像素的空間位置一一這和人眼非常相似。我們?nèi)祟惪梢酝ㄟ^左右眼圖像的差異,判斷物體的遠(yuǎn)近,在計(jì)算機(jī)上也是同樣的道理。如果對(duì)雙目相機(jī)進(jìn)行拓展,也可以搭建多目相機(jī),不過本質(zhì)上并沒有什么不同。雙目相機(jī)數(shù)據(jù)深度相

6、機(jī)數(shù)據(jù)總結(jié):單目相機(jī):以二維的形式反應(yīng)了三維的世界,丟掉了深度,也就是物體到我們的距離。雙目相機(jī):克服了單目相機(jī)的深度問題,通過已知兩眼間的距離后大量計(jì)算。深度相機(jī)(RGB-D):克服了深度問題。原理是通過激光傳感器,通過主動(dòng)向物體發(fā)射光并接收返回的光,測出物體離相機(jī)的距離,節(jié)省了大量計(jì)算,存在的問題是范圍窄,視野小,易受日光干擾。三.經(jīng)典視覺SLAM匡架整個(gè)視覺SLAM流程分為以下幾步:傳感器信息讀取。在視覺SLAM中主要為相機(jī)圖像信息的讀取和預(yù)處理。如果在機(jī)器人中,還可能有碼盤、慣性傳感器等信息的讀取和同步。視覺里程計(jì)(VisualOdometry,VO)。視覺里程計(jì)任務(wù)是估算相鄰圖像間相

7、機(jī)的運(yùn)動(dòng),以及局部地圖的樣子。VO又稱為前端(FrontEnd)。后端優(yōu)化(Optimization)。后端接受不同時(shí)刻視覺里程計(jì)測量的相機(jī)位姿,以及回環(huán)檢測的信息,對(duì)它們進(jìn)行優(yōu)化,得到全局一致的軌跡和地圖。由于接在VO之后,又稱為后端(BackEnd)o回環(huán)檢測(LoopClosing)。回環(huán)檢測判斷機(jī)器人是否曾經(jīng)到達(dá)過先前的位置。如果檢測到回環(huán),它會(huì)把信息提供給后端進(jìn)行處理。5.建圖(Mapping)。它根據(jù)估計(jì)的軌跡,建立與任務(wù)要求對(duì)應(yīng)的地圖。四.SLAM問題的數(shù)學(xué)表述假設(shè)小蘿卜正攜帶著某種傳感器在未知環(huán)境里運(yùn)動(dòng),怎么用數(shù)學(xué)語言描述這件事呢?首先,由于相機(jī)通常是在某些時(shí)刻采集數(shù)據(jù)的,所以

8、我們也只關(guān)心這些時(shí)刻的位置和地圖。這就把一段連續(xù)時(shí)間的運(yùn)動(dòng)變成了離散時(shí)刻t=1,.,K當(dāng)中發(fā)生的事情。在這些時(shí)刻,用X表示小蘿卜自身的位置。于是各時(shí)刻的位置就記為X1,.,Xk,它們構(gòu)成了小蘿卜的軌跡。地圖方面,我們設(shè)地圖是由許多個(gè)路標(biāo)(Landmark)組成的,而每個(gè)時(shí)刻,傳感器會(huì)測量到一部分路標(biāo)點(diǎn),得到它們的觀測數(shù)據(jù)。不妨設(shè)路標(biāo)點(diǎn)一共有N個(gè),用Y1,.,YN表示它們。在這樣設(shè)定中,“小蘿卜攜帶著傳感器在環(huán)境中運(yùn)動(dòng)”,由如下兩件事情描述:1.什么是運(yùn)動(dòng)?我們要考慮從k-1時(shí)刻到k時(shí)刻,小蘿卜的位置x是如何變化的。2什么是觀測?假設(shè)小蘿卜在k時(shí)刻,于Xk處探測到了某一個(gè)路標(biāo)Yj,我們要考慮這件

9、事情是如何用數(shù)學(xué)語言來描述的。通常,機(jī)器人會(huì)攜帶一個(gè)測量自身運(yùn)動(dòng)的傳感器,比如說碼盤或慣性傳感器。這個(gè)傳感器可以測量有關(guān)運(yùn)動(dòng)的讀數(shù),但不一定直接是位置之差,還可能是加速度、角速度等信息。然而,無論是什么傳感器,我們都能使用一個(gè)通用的、抽象的數(shù)學(xué)模型:這里uk是運(yùn)動(dòng)傳感器的讀數(shù)(有時(shí)也叫輸入),wk為噪聲。注意到,我們用一個(gè)一般函數(shù)f來描述這個(gè)過程,而不具體指明f的作用方式。這使得整個(gè)函數(shù)可以指代任意的運(yùn)動(dòng)傳感器,成為一個(gè)通用的方程,而不必限定于某個(gè)特殊的傳感器上。我們把它稱為運(yùn)動(dòng)方程。與運(yùn)動(dòng)方程相對(duì)應(yīng),還有一個(gè)觀測方程。觀測方程描述的是,當(dāng)小蘿卜在xk位置上看到某個(gè)路標(biāo)點(diǎn)yj,產(chǎn)生了一個(gè)觀測數(shù)據(jù)zkj。同樣,我們用一個(gè)抽象的函數(shù)h來描述這個(gè)關(guān)系:這兩個(gè)方程描述了最基本的SLAM問題:當(dāng)我們知道運(yùn)動(dòng)測量的讀數(shù)u,以及傳感器的讀數(shù)z時(shí),如何求解定位問題(估計(jì)x)和建圖問題(估計(jì)y)?這時(shí),我們把SLAM問題建模成了一個(gè)狀態(tài)估計(jì)問題:如何通過帶有噪聲的測量數(shù)據(jù),估計(jì)內(nèi)部的、隱藏著的狀態(tài)變量。狀態(tài)估計(jì)問題的求解,與兩個(gè)方程的具體形式,以及噪聲服從哪種分布有關(guān)。按照運(yùn)動(dòng)和觀測方程是否為線性,噪聲是否服從高斯分布進(jìn)行分類,分為線性非線性和高斯非高斯系統(tǒng)。其中線性高斯系統(tǒng)(LinearGauss

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論