作者:張長(zhǎng)鴻 湖南大學(xué)
校稿:董亞微
編輯:鄭欣欣@一點(diǎn)人工一點(diǎn)智能
原文地址:視覺SLAM:模型介紹、算法框架及應(yīng)用場(chǎng)景
目錄
01?什么是SLAM
?1.1?相機(jī)模型
1.2?相機(jī)運(yùn)動(dòng)
1.3 建圖
02 SLAM算法框架
03 SLAM的應(yīng)用場(chǎng)景
3.1 自動(dòng)駕駛的高精度定位
3.2 自主移動(dòng)機(jī)器人
知識(shí)擴(kuò)展:
組合導(dǎo)航(GNSS/INS)
二維碼導(dǎo)航/磁導(dǎo)航
3.3 室內(nèi)場(chǎng)景的三維重建:AR(增強(qiáng)現(xiàn)實(shí)技術(shù))等
04? 結(jié)語(yǔ)
參考文獻(xiàn):
本文主要想使用盡量少的專業(yè)詞匯來解釋清楚視覺SLAM是如何進(jìn)行定位的(在某些表述上可能并不嚴(yán)謹(jǐn)),希望對(duì)視覺SLAM有興趣的伙伴能在剛接觸SLAM時(shí)有個(gè)基本的了解,本文同時(shí)介紹了視覺SLAM的經(jīng)典框架和應(yīng)用場(chǎng)景。想要深入學(xué)習(xí)的伙伴,還請(qǐng)參考更專業(yè)更系統(tǒng)的書籍和文獻(xiàn)。
01?什么是SLAM
SLAM(Simultaneous Localization and Mapping),也就是同時(shí)定位與地圖構(gòu)建,它是指搭載特定傳感器的車輛、無人機(jī)等移動(dòng)機(jī)器人,在沒有環(huán)境先驗(yàn)信息(什么是先驗(yàn)信息?可以自己查一下)的情況下,在運(yùn)動(dòng)過程中,估計(jì)自己的運(yùn)動(dòng)狀態(tài),同時(shí)建立環(huán)境模型的一系列任務(wù)。
目前大家接觸比較多的,已經(jīng)將SLAM技術(shù)應(yīng)用于實(shí)際生活中的,就是掃地機(jī)器人了。我們來想一下:掃地機(jī)器人來到一個(gè)陌生的環(huán)境后,是怎樣去清掃一個(gè)垃圾呢?一個(gè)直觀的想法就是機(jī)器人先確定自己的位置,然后確定垃圾相對(duì)于自身的位置,這樣就有了一個(gè)起點(diǎn)和終點(diǎn),機(jī)器人只需要從起點(diǎn)移動(dòng)到終點(diǎn)就能清掃這個(gè)垃圾了。但是這是很直觀的想法,而這個(gè)想法的前提是:我們清楚房間的地圖構(gòu)造,這樣我們才能更好地完成垃圾清掃的任務(wù)。所以掃地機(jī)器人需要完成的流程應(yīng)該是:了解自己周圍的環(huán)境,構(gòu)建房間地圖,確認(rèn)自己與垃圾的位置,然后規(guī)劃路線,移動(dòng)過去,完成清掃。而這整個(gè)流程中,構(gòu)建地圖、進(jìn)行自身的定位,就是咱們SLAM的主要任務(wù)了。
通過這樣一個(gè)小例子,就可以體現(xiàn)出SLAM的作用,通俗地講,SLAM要解決的主要是兩個(gè)問題:
1. 我在什么地方?----定位
2. 周圍環(huán)境是什么樣??----建圖
而根據(jù)傳感器類型的不同,SLAM可以分為不同的類型,如表1所示

本文主要介紹的就是以相機(jī)為傳感器的視覺SLAM。視覺SLAM是根據(jù)一張張連續(xù)輸入的圖像,從中推斷相機(jī)的運(yùn)動(dòng),以及周圍環(huán)境的情況。接下來將介紹相機(jī)模型和相機(jī)運(yùn)動(dòng),我們將看到相機(jī)模型是如何利用已知的圖像信息構(gòu)造觀測(cè)方程,并從觀測(cè)方程解出相機(jī)運(yùn)動(dòng),而獲取相機(jī)運(yùn)動(dòng)后,到此也就完成了定位。我們先從相機(jī)模型開始,一步步推導(dǎo)到最后完成定位。
?1.1?相機(jī)模型
相機(jī)的成像模型表示的是一個(gè)真實(shí)世界中的三維點(diǎn)到圖像二維像素點(diǎn)的對(duì)應(yīng)關(guān)系,即相機(jī)視野中的三維點(diǎn)可以在圖像上找到對(duì)應(yīng)的像素點(diǎn),在不考慮畸變的情況下,單目相機(jī)成像的理想模型為針孔模型,如圖1所示,光心O即鏡頭的中心,光軸即經(jīng)過光心與物理成像平面垂直的直線,f代表焦距,即針孔到物理成像平面的距離,代表在相機(jī)坐標(biāo)系下任意的三維空間點(diǎn),經(jīng)過光心,投影到二維物理成像平面中點(diǎn),每個(gè)三維空間點(diǎn)對(duì)應(yīng)物理成像平面上的一個(gè)像素。
針孔模型通過成像過程中的幾何關(guān)系建立三維世界到二維像素平面的映射關(guān)系,在數(shù)學(xué)上的描述就是一個(gè)函數(shù)關(guān)系式,即
,也稱之為觀測(cè)方程。其中,二維像素坐標(biāo),三維空間點(diǎn)坐標(biāo)P,K為相機(jī)內(nèi)參矩陣,由相機(jī)自身的特性決定。


1.2?相機(jī)運(yùn)動(dòng)
了解相機(jī)運(yùn)動(dòng)之前,需要先了解幾個(gè)基本概念:
世界坐標(biāo)系:在視覺SLAM中,通常把拍攝第一張圖像時(shí)的相機(jī)坐標(biāo)系指定為世界坐標(biāo)系,在被指定后不變且唯一,可以將世界坐標(biāo)系理解為笛卡爾坐標(biāo)系中的原點(diǎn)。
相機(jī)坐標(biāo)系:以相機(jī)的光心(小孔)作為原點(diǎn)的坐標(biāo)系,其隨相機(jī)的移動(dòng)而發(fā)生變化。
相機(jī)的運(yùn)動(dòng)是剛體運(yùn)動(dòng),剛體運(yùn)動(dòng)的坐標(biāo)變換可由一個(gè)旋轉(zhuǎn)矩陣(R)和一個(gè)平移向量(t)表示,考慮一個(gè)三維空間點(diǎn)P,P點(diǎn)在世界坐標(biāo)系下的觀測(cè)值為,在相機(jī)坐標(biāo)系下的觀測(cè)值為,點(diǎn)P在不同坐標(biāo)系下的觀測(cè)值轉(zhuǎn)換關(guān)系如下所示:
通過以上內(nèi)容的介紹,我們就可以按照以下幾個(gè)步驟了解定位是如何完成的:
(1)視覺SLAM系統(tǒng)輸入的信息是不同時(shí)刻的相機(jī)圖像,我們所要利用的就是圖像的像素信息,假設(shè)在第一幀坐標(biāo)系下,已知某一個(gè)空間點(diǎn),在第一幀圖像和第二幀圖像上的成像點(diǎn)分別是。
(2)通過相機(jī)模型,可以得到如下兩個(gè)觀測(cè)方程,和代表著第一幀坐標(biāo)系到第二幀坐標(biāo)系的旋轉(zhuǎn)和平移 。
(3)可以根據(jù)8個(gè)這樣的匹配點(diǎn)對(duì),求解上述方程,得到。
(4)即代表著兩個(gè)坐標(biāo)系的轉(zhuǎn)換關(guān)系,通常情況下,第一幀坐標(biāo)系將被定為世界坐標(biāo)系,由于世界坐標(biāo)系是固定不變的,因此就可以得到第二幀相機(jī)坐標(biāo)系的位置和姿態(tài),也即完成了定位,定位也就是獲得任意時(shí)刻的相機(jī)坐標(biāo)系相對(duì)于世界坐標(biāo)系的位置和姿態(tài)。
以上的幾個(gè)步驟是對(duì)問題做了很多簡(jiǎn)化才得到的,實(shí)際情況下考慮的因素要多得多,如相機(jī)類型的差異,相機(jī)運(yùn)動(dòng)表示方法的不同,對(duì)應(yīng)的具體的求解過程都是不同的,需要更深入的研究和學(xué)習(xí)。
1.3 建圖
建圖是指構(gòu)建地圖的過程。地圖是對(duì)環(huán)境的描述,這種描述有很多種形式,要根據(jù)需求的不同構(gòu)建相應(yīng)的地圖,地圖的表現(xiàn)形式,主要被分為度量地圖和拓?fù)涞貓D兩類。在SLAM領(lǐng)域,研究者更關(guān)注度量地圖。
度量地圖強(qiáng)調(diào)精確地表示地圖中物體的位置關(guān)系。度量地圖又分為稠密地圖和稀疏地圖兩類,其中,稀疏地圖僅表示環(huán)境中有代表性的空間點(diǎn),如桌子的邊緣等較容易從圖像中識(shí)別的點(diǎn),而其它不具有代表意義的點(diǎn)則被忽略,稀疏地圖主要用于SLAM的定位。相對(duì)于稀疏地圖,稠密地圖則重建環(huán)境中所有的空間點(diǎn),如桌子的整個(gè)平面,二維的稠密地圖由正方形的網(wǎng)格組成,三維的稠密地圖由立方體的網(wǎng)格組成。通常,一個(gè)小塊含有占據(jù)、空閑、未知三個(gè)狀態(tài),以表達(dá)該網(wǎng)格內(nèi)是否有物體,稠密地圖主要用于機(jī)器人或智能汽車的導(dǎo)航和避障。
02 SLAM算法框架
經(jīng)典的視覺SLAM算法框架如圖3所示,主要包括:傳感器信息讀取,前端(里程計(jì)),后端,回環(huán)檢測(cè)和建圖。需要說明的是,不同類型的SLAM技術(shù)僅在前端的處理有所不同,后端所采用的優(yōu)化算法都是通用的。本節(jié)中出現(xiàn)的專業(yè)名詞會(huì)略多,如果不清楚的話,需要耐心的多讀幾遍,涉及到前沿的研究方向如果感興趣的話,可以找到原文了解一下。

輸入:采集相機(jī)圖像,并進(jìn)行預(yù)處理。
前端(視覺里程計(jì)):根據(jù)短時(shí)間內(nèi)采集到的相機(jī)圖像,計(jì)算相機(jī)的在移動(dòng)機(jī)器人坐標(biāo)系中的位置和姿態(tài),也就是位姿,并建立局部地圖。
前端的主流方法有特征點(diǎn)法(間接法)和直接法兩種。特征點(diǎn)由關(guān)鍵點(diǎn)和描述子兩部分組成,關(guān)鍵點(diǎn)是指該特征點(diǎn)在圖像中的位置,它可以在多幀圖像中被檢測(cè)到,并通過比較描述子來建立配對(duì)關(guān)系,通過最小化重投影誤差來優(yōu)化相機(jī)位姿,最經(jīng)典的間接法是orb-SLAM2。直接法沒有特征提取的步驟,直接利用像素的灰度信息,通過最小化像素的光度誤差來優(yōu)化位姿,最經(jīng)典的直接法是DSO。
間接法和直接法的理論基礎(chǔ)已經(jīng)較為完善,目前的改進(jìn)方向就是在已有的理論框架中增加先驗(yàn)約束如:尺度約束,平面特征約束,平行線特征約束等,2022年美團(tuán)在ICRA學(xué)術(shù)會(huì)議上發(fā)表的工作《EDPLVO:Efficient Direct Point-Line Visual Odometry》即對(duì)前端做了改進(jìn),將線特征擴(kuò)展到直接法中,獲得了最佳導(dǎo)航論文獎(jiǎng)。
后端:根據(jù)不同時(shí)刻視覺里程計(jì)計(jì)算的相機(jī)位姿,3維地圖點(diǎn)和回環(huán)檢測(cè)信息,對(duì)位姿和3維地圖點(diǎn)進(jìn)行全局的優(yōu)化,后端處理的是SLAM過程中的噪聲問題,在數(shù)學(xué)上被建模為最大后驗(yàn)概率估計(jì)問題來解決,主流的方法有以擴(kuò)展卡爾曼濾波為代表的濾波器方法和非線性優(yōu)化方法。濾波器方法形式更簡(jiǎn)潔,適用于計(jì)算資源受限的場(chǎng)景。非線性優(yōu)化方法能更精確的優(yōu)化相機(jī)位姿和地圖點(diǎn)位置,但計(jì)算時(shí)間更長(zhǎng),所需計(jì)算資源更多。
回環(huán)檢測(cè):判斷機(jī)器人是否到達(dá)過先前的位置,如果檢測(cè)到回環(huán),可以提供時(shí)隔更加久遠(yuǎn)的約束,可以消除累積誤差,主要是通過圖像之間的相似性來判斷,最經(jīng)典的方法是詞袋模型。隨著深度學(xué)習(xí)的快速發(fā)展,基于CNN(卷積神經(jīng)網(wǎng)絡(luò))和RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))的方法可以有效提高回環(huán)檢測(cè)的效率。
建圖:根據(jù)估計(jì)的軌跡,建立與任務(wù)要求對(duì)應(yīng)的地圖。對(duì)于SLAM來說,地圖是用來輔助定位的,但對(duì)于導(dǎo)航、避障和三維重建等任務(wù)來說,地圖在其中扮演著更重要的角色,為了完成不同的任務(wù),地圖的形式也是不同的,常見的地圖類型包括占據(jù)網(wǎng)格地圖、八叉樹地圖、語(yǔ)義地圖等
以上是視覺SLAM發(fā)展近20年所形成的經(jīng)典框架,是研究者們多年工作的結(jié)晶,也是我們開展自己研究的基礎(chǔ),對(duì)于視覺SLAM這個(gè)領(lǐng)域來說,目前越來越多的工作是結(jié)合深度學(xué)習(xí)開展的,包括語(yǔ)義分割網(wǎng)絡(luò)、深度估計(jì)網(wǎng)絡(luò)、注意力機(jī)制等,這些網(wǎng)絡(luò)可以與視覺SLAM的許多環(huán)節(jié)相結(jié)合,如特征提取和匹配、深度估計(jì)、姿態(tài)估計(jì)和重定位等,來提高視覺SLAM的整體性能,當(dāng)然結(jié)合深度學(xué)習(xí)的視覺SLAM技術(shù)現(xiàn)在還不夠成熟,確定做視覺SLAM的伙伴,不妨一試哦~
03 SLAM的應(yīng)用場(chǎng)景
這部分將主要介紹SLAM的三大應(yīng)用場(chǎng)景:自動(dòng)駕駛的高精度定位、自主移動(dòng)機(jī)器人和室內(nèi)場(chǎng)景的三維重建。在不同場(chǎng)景下,對(duì)算法的精度,計(jì)算資源和計(jì)算速度的需求是不一樣的。針對(duì)不同的場(chǎng)景,要選擇合適的算法。
3.1 自動(dòng)駕駛的高精度定位
定位是高階自動(dòng)駕駛的關(guān)鍵一環(huán),目前高速場(chǎng)景下的自動(dòng)駕駛定位主要依賴于組合導(dǎo)航技術(shù),高速場(chǎng)景下路況簡(jiǎn)單,車輛交互少,也無需頻繁換道,在該場(chǎng)景下達(dá)到車道級(jí)/分米級(jí)的定位精度即可,組合導(dǎo)航(GNSS/INS)技術(shù)就可以滿足該場(chǎng)景下的精度要求。
在低速城區(qū)場(chǎng)景中,車道較窄,車流量大,尤其在十字路口這樣復(fù)雜的場(chǎng)景下,還會(huì)出現(xiàn)車道變化,為了避免車輛變道壓線或車輛碰撞,這時(shí)就需要車輛達(dá)到厘米級(jí)的定位精度,在該場(chǎng)景下,通常需要組合導(dǎo)航、視覺SLAM、激光SLAM等多種技術(shù)進(jìn)行融合定位,來達(dá)到厘米級(jí)的定位精度。
在沒有GNSS信號(hào)的地下車庫(kù),隧道等場(chǎng)景,此時(shí)組合導(dǎo)航(GNSS/INS)算法失效,就必須依賴于視覺SLAM或激光SLAM進(jìn)行定位。

3.2 自主移動(dòng)機(jī)器人
隨著移動(dòng)機(jī)器人的智能化程度逐漸提升,自動(dòng)移動(dòng)機(jī)器人已經(jīng)開始出現(xiàn)在家庭服務(wù)、物流倉(cāng)儲(chǔ)與搬運(yùn)、故障檢測(cè)等領(lǐng)域當(dāng)中,曾經(jīng)只存在于工業(yè)特種場(chǎng)景下的移動(dòng)機(jī)器人,正逐漸走進(jìn)我們的日常生活中。
不同場(chǎng)景下的機(jī)器人需要執(zhí)行不同的復(fù)雜任務(wù),但良好的自主導(dǎo)航是完成絕大多數(shù)復(fù)雜任務(wù)的前提要求,導(dǎo)航是指機(jī)器人能夠從當(dāng)前位置行駛至指定目標(biāo)點(diǎn),而準(zhǔn)確的實(shí)現(xiàn)定位是自主導(dǎo)航的關(guān)鍵,如果錯(cuò)誤的估計(jì)了自身的位置,最后導(dǎo)航的結(jié)果可能就會(huì)差十萬八千里,機(jī)器人自然就不可能完成指定的任務(wù)。
SLAM技術(shù)就可以滿足機(jī)器人定位的需求,可以使機(jī)器人在未知環(huán)境下,在行進(jìn)過程中同時(shí)完成自身的定位與建圖,當(dāng)確定了機(jī)器人在地圖中的位置以及周圍環(huán)境后,便可以設(shè)計(jì)路徑規(guī)劃算法,計(jì)算出機(jī)器人到達(dá)指定位置的軌跡,然后控制機(jī)器人沿著指定的軌跡運(yùn)動(dòng),即完成了導(dǎo)航任務(wù)。目前視覺SLAM和激光SLAM技術(shù)在移動(dòng)機(jī)器人上都有應(yīng)用,由于激光傳感器受環(huán)境影響較小,并且激光SLAM發(fā)展技術(shù)較早,目前已經(jīng)可以大規(guī)模商用落地。相較于激光SLAM算法,由于相機(jī)易受光照和環(huán)境結(jié)構(gòu)的影響,視覺SLAM算法的魯棒性還無法和激光SLAM達(dá)到同一水準(zhǔn),因此需要借助和IMU的結(jié)合,實(shí)現(xiàn)更好的魯棒性和更高的精度。
對(duì)于SLAM技術(shù)來說,要完成導(dǎo)航任務(wù),構(gòu)建地圖是必要的,地圖可以實(shí)現(xiàn)路標(biāo)以及環(huán)境的可視化,此外,地圖可以輔助機(jī)器人進(jìn)行更優(yōu)的定位以及丟失位置后的重新定位,移動(dòng)機(jī)器人需要的是3D稠密地圖,而地圖的規(guī)模是隨著場(chǎng)景的增大而增大的,地圖越大就意味著我們需要更多的內(nèi)存資源去存儲(chǔ)地圖,因此如何判斷是否更新地圖,如何高效存儲(chǔ)、表征和更新地圖是值得我們研究的。

知識(shí)擴(kuò)展:
除了SLAM,目前主流的移動(dòng)機(jī)器人定位技術(shù)還有組合導(dǎo)航(GPS/INS)、二維碼導(dǎo)航/磁導(dǎo)航。
組合導(dǎo)航(GNSS/INS)
GNSS技術(shù)是指通過觀測(cè)GNSS衛(wèi)星獲得坐標(biāo)系內(nèi)絕對(duì)定位坐標(biāo)的測(cè)量技術(shù),中國(guó)的北斗導(dǎo)航系統(tǒng)和美國(guó)的GPS都屬于GNSS技術(shù),在空曠處單一的GNSS的定位誤差小于5米,在城市環(huán)境下GNSS信號(hào)易被遮擋,此時(shí)GNSS的定位誤差可能會(huì)達(dá)到幾十米。因此現(xiàn)在大多采用組合導(dǎo)航(GNSS/INS)的方式,能極大的提高組合導(dǎo)航的魯棒性,當(dāng)然其應(yīng)用場(chǎng)景主要還是在空曠的室外。
二維碼導(dǎo)航/磁導(dǎo)航
AGV最初是用來運(yùn)輸港口的集裝箱,AGV最初是采用磁導(dǎo)航的,這種方式需要按照一定的間隔,在機(jī)器人行駛道路上提前埋上磁釘,AGV小車通過自身安裝的磁導(dǎo)航傳感器接收磁釘信息,從而完成自身的定位,其運(yùn)動(dòng)路徑也就是由磁釘?shù)牟贾脹Q定,降低了路徑規(guī)劃技術(shù)的要求,該技術(shù)適用于港口,工廠自動(dòng)搬運(yùn)這類封閉且有固定行駛路徑的機(jī)器人。而這種技術(shù)的缺點(diǎn)在于:磁釘會(huì)出現(xiàn)老化的問題,更換磁釘?shù)拇鷥r(jià)很大,不能輕易變更機(jī)器人運(yùn)營(yíng)路線,這個(gè)缺點(diǎn)很大程度上制約了AGV技術(shù)更大范圍的運(yùn)用。當(dāng)然AGV發(fā)展到現(xiàn)在,也出現(xiàn)了采用二維碼導(dǎo)航的方式,通過AGV小車掃描天花板或者地板上二維碼的方式獲取當(dāng)前位置信息,在倉(cāng)儲(chǔ)物流行業(yè)和服務(wù)送餐機(jī)器人都有運(yùn)用。

3.3 室內(nèi)場(chǎng)景的三維重建:AR(增強(qiáng)現(xiàn)實(shí)技術(shù))等
AR可以被理解為這樣一項(xiàng)技術(shù):通過圖像和其他傳感器信息計(jì)算相機(jī)的位置和三維環(huán)境結(jié)構(gòu),并結(jié)合3D渲染提供更自然的人機(jī)交互能力。舉一個(gè)簡(jiǎn)單的場(chǎng)景,你可以在VR設(shè)備中擁有一只虛擬的小貓,在一個(gè)周末的午后,它會(huì)懶洋洋的躺在你的腳邊,并不時(shí)打著哈欠。要實(shí)現(xiàn)這樣的一個(gè)場(chǎng)景,AR設(shè)備需要具備以下三個(gè)功能:
·?自我定位:指定位出AR設(shè)備在空間中的位置,這樣AR設(shè)備才能將虛擬物體渲染在合適的位置上,將“小貓”渲染在腳邊就需要知道自身在空間的位置。
·?環(huán)境感知:指感知到周圍環(huán)境的三維幾何信息,這樣才能讓虛擬物體和真實(shí)世界發(fā)生交互,如果想讓“小貓”跳到桌子上,就必須知道桌子的空間位置和形狀。
·?人機(jī)交互:要理解來自周圍環(huán)境的輸入,如人類的語(yǔ)言、手勢(shì),并給出反饋。
而想要實(shí)現(xiàn)自我定位和環(huán)境感知的功能就需要SLAM技術(shù),具體而言,需要的是視覺慣導(dǎo)SLAM技術(shù),視覺慣導(dǎo)SLAM也是當(dāng)前實(shí)現(xiàn)AR的主流方案,相比于單純依靠相機(jī)的純視覺SLAM方案,視覺慣導(dǎo)SLAM通過從相機(jī)輸入的圖像信息和IMU的速度、加速度信息完成更準(zhǔn)確的定位,同時(shí)圖像信息能提供更豐富的環(huán)境信息,更有利于后續(xù)算法理解環(huán)境,以完成人機(jī)交互。再加上由于制造工藝的成熟,MIU和相機(jī)設(shè)備體積更小重量更輕,價(jià)格也相對(duì)便宜,綜合以上因素考慮,視覺慣導(dǎo)SLAM技術(shù)要更為契合AR設(shè)備的需求。那么,最為經(jīng)典的視覺慣導(dǎo)SLAM算法是vins-mono算法。

當(dāng)然,目前的視覺慣導(dǎo)SLAM算法只能說基本滿足了AR設(shè)備的需求,但為了讓消費(fèi)者獲得更好的體驗(yàn),AR設(shè)備必然會(huì)往更小,更輕的方向上發(fā)展,實(shí)際上,硬件的小型化和輕量化確實(shí)也是更為迫切的需求。當(dāng)然,并不是說算法就不重要了,相比于自動(dòng)駕駛汽車和移動(dòng)機(jī)器人,AR設(shè)備對(duì)SLAM算法的要求要更高。
首先,SLAM算法的計(jì)算效率要更高,小的設(shè)備往往意味著更少的計(jì)算資源,如何使用更少的計(jì)算量完成同樣的效果是一個(gè)可以長(zhǎng)期研究的方向;
其次,相比于自動(dòng)駕駛汽車和機(jī)器人,AR設(shè)備要更容易出現(xiàn)一些極端情況,比如你的身體突然轉(zhuǎn)動(dòng)了180°,這對(duì)于佩戴AR設(shè)備的你來說是正常的,但AR設(shè)備可能因?yàn)檫@樣強(qiáng)烈的旋轉(zhuǎn)出現(xiàn)定位失敗的情況,這就對(duì)SLAM算法的魯棒性提出了更高的要求;
最后,如何使用更短的時(shí)間和更少的動(dòng)作來快速完成初始化也是很重要的,就如同你希望你的筆記本電腦的開機(jī)速度越快越好一樣,你也不想在穿戴好AR設(shè)備后,要等待30s并且完成某些動(dòng)作后才能開始使用你的設(shè)備。
04? 結(jié)語(yǔ)
整體而言,SLAM涉及的知識(shí)面很多,前端包括相機(jī)圖像處理、激光雷達(dá)點(diǎn)云處理、IMU數(shù)據(jù)處理,后端的優(yōu)化算法包括卡爾曼濾波、非線性優(yōu)化,回環(huán)檢測(cè)更多的屬于機(jī)器學(xué)習(xí)的范疇以及各類的建圖算法,更進(jìn)一步的還需要深度學(xué)習(xí)的知識(shí)。如果想要了解或者入行SLAM的話,首先推薦高翔博士的視覺SLAM十四講,在第一遍學(xué)習(xí)的過程中,可以快一些,快速掌握SLAM由哪些部分組成,每一部分的目的是什么,第一遍學(xué)完后,可以將綜述性的論文、經(jīng)典論文、十四講的代碼和理論知識(shí)結(jié)合起來學(xué)習(xí)。在基礎(chǔ)打好后,就可以看一下前沿的學(xué)術(shù)論文,選定其中一個(gè)方向進(jìn)行研究,這里要注意的是,研究方向是偏向就業(yè)還是偏向做學(xué)術(shù),需要視個(gè)人情況而定。同時(shí)不要放過每一次和同行交流的機(jī)會(huì),可以是師兄、論壇、交流群等等,SLAM涉及的技術(shù)太多,要開闊自己的視野,不斷地刷新自己的學(xué)習(xí)路線。
參考文獻(xiàn):
[1] 視覺SLAM14講:從理論到實(shí)踐 第2版
[2] An Overview on Visual SLAM: From Tradition to Semantic
[3]?https://mp.weixin.qq.com/s/3YRQMAk6eaqBCQSLkxWjKQ文章來源:http://www.zghlxwxcb.cn/news/detail-795047.html
[4] A Comprehensive Survey of Visual SLAM Algorithms文章來源地址http://www.zghlxwxcb.cn/news/detail-795047.html
到了這里,關(guān)于視覺SLAM:模型介紹、算法框架及應(yīng)用場(chǎng)景的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!