电竞比分网-中国电竞赛事及体育赛事平台

分享

視覺SLAM漫談 (三): 研究點(diǎn)介紹

 謝興l4nztpvbdk 2017-07-18

1.  前言

  讀者朋友們大家好?。ê芫煤芫茫┲埃覀?yōu)榇蠹医榻B了SLAM的基本概念和方法。相信大家對(duì)SLAM,應(yīng)該有了基本的認(rèn)識(shí)。在忙完一堆寫論文、博士開題的事情之后,我準(zhǔn)備回來(lái)繼續(xù)填坑:為大家介紹SLAM研究的方方面面。如果前兩篇文章算是"初識(shí)",接下來(lái)幾篇就是"漸入佳境"了。在第三篇中,我們要談?wù)凷LAM中的各個(gè)研究點(diǎn),為研究生們(應(yīng)該是博客的多數(shù)讀者吧)作一個(gè)提綱挈領(lǐng)的摘要。然后,我們?cè)倬透鱾€(gè)小問題,講講經(jīng)典的算法與分類。我有耐心講,你是否有耐心聽呢?

  在《SLAM for Dummy》中,有一句話說(shuō)的好:"SLAM并不是一種算法,而是一個(gè)概念。(SLAM is more like a concept than a single algorithm.)"所以,你可以和導(dǎo)師、師兄弟(以及師妹,如果有的話)說(shuō)你在研究SLAM,但是,作為同行,我可能更關(guān)心:你在研究SLAM中的哪一個(gè)問題。有些研究者專注于實(shí)現(xiàn)一個(gè)具體的SLAM系統(tǒng),而更多的人則是在研究SLAM里某些方法的改進(jìn)。做應(yīng)用和做理論的人往往彼此看不起,不過(guò)二者對(duì)科研都是有貢獻(xiàn)的。作為研究生,我還是建議各位抓住SLAM中一個(gè)小問題,看看能否對(duì)現(xiàn)有的算法進(jìn)行改進(jìn)或者比較。不要覺得這種事情膚淺,它是對(duì)研究有實(shí)際幫助和意義的。同時(shí),我也有一些朋友,做了一個(gè)基于濾波器/圖優(yōu)化的SLAM實(shí)現(xiàn)。程序是跑起來(lái)了,但他/她不知道自己有哪些貢獻(xiàn),鉆研了哪個(gè)問題,寫論文的時(shí)候就很頭疼。所以,作為研究生,我建議你選擇SLAM中的一個(gè)問題,改進(jìn)其中的算法,而不是先找一堆程序跑起來(lái)再說(shuō)。

  那么問題來(lái)了:SLAM方面究竟有哪些可以研究的地方呢?我為大家上一個(gè)腦圖。

  這個(gè)圖是從我筆記本上拍下來(lái)的(請(qǐng)勿吐槽字和對(duì)焦)??梢钥吹?,以SLAM為中心,有五個(gè)圈連接到它。我稱它為Basic Theory(基礎(chǔ)理論)、Sensor(傳感器)、Mapping(建圖)、Loop Detection(回環(huán)檢測(cè))、Advanced Topic(高級(jí)問題)。這可以說(shuō)是SLAM的研究方向。下面我們"花開五朵,各表一枝"。

2.  基本理論

  SLAM的基本理論,是指它的數(shù)學(xué)建模。也就是你如何用數(shù)學(xué)模型來(lái)表達(dá)這個(gè)問題。為什么說(shuō)它"基本"呢?因?yàn)閿?shù)學(xué)模型影響著整個(gè)系統(tǒng)的性能,決定了其他問題的處理方法。在早先的研究中(86年提出[1]至21世紀(jì)前期[2]),是使用卡爾曼濾波器的數(shù)學(xué)模型的。那里的機(jī)器人,就是一個(gè)位姿的時(shí)間序列;而地圖,就是一堆路標(biāo)點(diǎn)的集合。什么是路標(biāo)點(diǎn)的集合?就是用(x,y,z)表示每一個(gè)路標(biāo),然后在濾波器更新的過(guò)程中,讓這三個(gè)數(shù)慢慢收斂。

  那么,請(qǐng)問這樣的模型好不好?

  好處是可以直接套用濾波器的求解方法??柭鼮V波器是很成熟的理論,比較靠譜。

  缺點(diǎn)呢?首先,濾波器有什么缺點(diǎn),基于它的SLAM就有什么缺點(diǎn)。所以EKF的線性化假設(shè)啊,必須存儲(chǔ)協(xié)方差矩陣帶來(lái)的資源消耗啊,都成了缺點(diǎn)(之后的文章里會(huì)介紹)。然后呢,最直觀的就是,用(x,y,z)表示路標(biāo)?萬(wàn)一路標(biāo)變了怎么辦?平時(shí)我們不就把屋里的桌子椅子挪來(lái)挪去的嗎?那時(shí)候?yàn)V波器就掛了。所以啊,它也不適用于動(dòng)態(tài)的場(chǎng)合。

  這種局限性就是數(shù)學(xué)模型本身帶來(lái)的,和其他的算法無(wú)關(guān)。如果你希望在動(dòng)態(tài)環(huán)境中跑SLAM,就要使用其他模型或改進(jìn)現(xiàn)有的模型了。

  SLAM的基本理論,向來(lái)分為濾波器和優(yōu)化方法兩類。濾波器有擴(kuò)展卡爾曼濾波(EKF)、粒子濾波(PF),F(xiàn)astSLAM等,較早出現(xiàn)。而優(yōu)化方向用姿態(tài)圖(Pose Graph),其思想在先前的文章中介紹過(guò)。近年來(lái)用優(yōu)化的逐漸增多,而濾波器方面則在13年出現(xiàn)了基于Random Finite Set的方法[3],也是一個(gè)新興的浪潮[4]。關(guān)于這些方法的詳細(xì)內(nèi)容,我們?cè)诮窈蟮奈恼轮性龠M(jìn)行討論。

  作為SLAM的研究人員,應(yīng)該對(duì)各種基本理論以及優(yōu)缺點(diǎn)有一個(gè)大致的了解,盡管它們的實(shí)現(xiàn)可能非常復(fù)雜。

3.  傳感器

  傳感器是機(jī)器人感知世界的方式。傳感器的選擇和安裝方式,決定了觀測(cè)方程的具體形式,也在很大程度上影響著SLAM問題的難度。早期的SLAM多使用激光傳感器(Laser Range Finder),而現(xiàn)在則多使用視覺相機(jī)、深度相機(jī)、聲吶(水下)以及傳感器融合。我覺得該方向可供研究點(diǎn)有如下幾個(gè):

  • 如何使用新興傳感器進(jìn)行SLAM。    要知道傳感器在不斷發(fā)展,總有新式的東西會(huì)出來(lái),所以這方面研究肯定不會(huì)斷。
  • 不同的安裝方式對(duì)SLAM的影響。    舉例來(lái)說(shuō),比如相機(jī),頂視(看天花板)和下視(看地板)的SLAM問題要比平視容易很多。為什么容易呢?因?yàn)轫?下視的數(shù)據(jù)非常穩(wěn)定,不像平視,要受各種東西的干擾。當(dāng)然,你也可以研究其他的安裝方式。
  • 改進(jìn)傳統(tǒng)傳感器的數(shù)據(jù)處理。        這部分就有些困難了,因?yàn)榻?jīng)常傳感器已經(jīng)有很多人在使用,你做的改進(jìn),未必比現(xiàn)有的成熟方法更好。

4.  建圖

  建圖,顧名思議,就是如何畫地圖唄。其實(shí),如果知道了機(jī)器人的真實(shí)軌跡,畫地圖是很簡(jiǎn)單的一件事。不過(guò),地圖的具體形式也是研究點(diǎn)之一。比如說(shuō)常見的有以下幾種:

  • 路標(biāo)地圖。       

  地圖由一堆路標(biāo)點(diǎn)組成。EKF中的地圖就是這樣的。但是,也有人說(shuō),這真的是地圖嗎(這些零零碎碎的點(diǎn)都是什么啊喂)?所以路標(biāo)圖盡管很方便,但多數(shù)人對(duì)這種地圖是不滿意的,至少看上去不像個(gè)地圖啊。于是就有了密集型地圖(Dense map)。

  • 度量地圖(Metric map)    

  通常指2D/3D的網(wǎng)格地圖,也就是大家經(jīng)常見的那種黑白的/點(diǎn)云式地圖。點(diǎn)云地圖比較酷炫,很有種高科技的感覺。它的優(yōu)點(diǎn)是精度比較高,比如2D地圖可以用0-1表示某個(gè)點(diǎn)是否可通過(guò),對(duì)導(dǎo)航很有用。缺點(diǎn)是相當(dāng)吃存儲(chǔ)空間,特別是3D,把所有空間點(diǎn)都存起來(lái)了,然而大多數(shù)角角落落里的點(diǎn)除了好看之外都沒什么意義……

  • 拓?fù)涞貓D(Topological map)       

  拓?fù)涞貓D是比度量地圖更緊湊的一種地圖。它將地圖抽象為圖論中的"點(diǎn)"和"邊",使之更符合人類的思維。比如說(shuō)我要去五道口,不知道路,去問別人。那人肯定不會(huì)說(shuō),你先往前走621米,向左拐94.2度,再走1035米……(這是瘋子吧)。正常人肯定會(huì)說(shuō),往前走到第二個(gè)十字路口,左拐,走到下一個(gè)紅綠燈,等等。這就是拓?fù)涞貓D。

  • 混合地圖。        

  既然有人要分類,就肯定有人想把各類的好處揉到一起。這個(gè)就不多說(shuō)了吧。

5.  回環(huán)檢測(cè)

  回環(huán)檢測(cè),又稱閉環(huán)檢測(cè)(Loop closure detection),是指機(jī)器人識(shí)別曾到達(dá)場(chǎng)景的能力。如果檢測(cè)成功,可以顯著地減小累積誤差。

  回環(huán)檢測(cè)目前多采用詞袋模型(Bag-of-Word),研究計(jì)算機(jī)視覺的同學(xué)肯定不會(huì)陌生。它實(shí)質(zhì)上是一個(gè)檢測(cè)觀測(cè)數(shù)據(jù)相似性的問題。在詞袋模型中,我們提取每張圖像中的特征,把它們的特征向量(descriptor)進(jìn)行聚類,建立類別數(shù)據(jù)庫(kù)。比如說(shuō),眼睛、鼻子、耳朵、嘴等等(實(shí)際當(dāng)中沒那么高級(jí),基本上是一些邊緣和角)。假設(shè)有10000個(gè)類吧。然后,對(duì)于每一個(gè)圖像,可以分析它含有數(shù)據(jù)庫(kù)中哪幾個(gè)類。以1表示有,以0表示沒有。那么,這個(gè)圖像就可用10000維的一個(gè)向量來(lái)表達(dá)。而不同的圖像,只要比較它們的向量即可。

  回環(huán)檢測(cè)也可以建成一個(gè)模型識(shí)別問題,所以你也可以使用各種機(jī)器學(xué)習(xí)的方法來(lái)做,比如什么決策樹/SVM,也可以試試Deep Learning。不過(guò)實(shí)際當(dāng)中要求實(shí)時(shí)檢測(cè),沒有那么多時(shí)間讓你訓(xùn)練分類器。所以SLAM更側(cè)重在線的學(xué)習(xí)方法。

6.  高級(jí)話題

  前面的都是基礎(chǔ)的SLAM,只有"定位"和"建圖"兩件事。這兩件事在今天已經(jīng)做的比較完善了。近幾年的RGB-D SLAM[5], SVO[6], Kinect Fusion[7]等等,都已經(jīng)做出了十分炫的效果。但是SLAM還未走進(jìn)人們的實(shí)際生活。為什么呢?

  因?yàn)閷?shí)際環(huán)境往往非常復(fù)雜。燈光會(huì)變,太陽(yáng)東升西落,不斷的有人從門里面進(jìn)進(jìn)出出,并不是一間安安靜靜的空屋子,讓一個(gè)機(jī)器人以2cm/s的速度慢慢逛。論文中看起來(lái)酷炫的算法,在實(shí)際環(huán)境中往往捉襟見肘,處處碰壁。向?qū)嶋H環(huán)境挑戰(zhàn),是SLAM技術(shù)的主要發(fā)展方向,也就是我們所說(shuō)的高級(jí)話題。主要有:動(dòng)態(tài)場(chǎng)景、語(yǔ)義地圖、多機(jī)器人協(xié)作等等。

7.  小結(jié)

  本文向大家介紹了SLAM中的各個(gè)研究點(diǎn)。我并不想把它寫成綜述,因?yàn)椴灰欢ㄓ腥嗽敢饪匆欢训膮⒖嘉墨I(xiàn),我更想把它寫成小故事的形式。

  最后,讓我們想象一下未來(lái)SLAM的樣子吧:

  有一天,小蘿卜被領(lǐng)進(jìn)了一家新的實(shí)驗(yàn)樓。在短暫的自我介紹之后,他飛快地在樓里逛了一圈,記住了哪里是走廊,哪兒是房間。他刻意地觀察各個(gè)房間特有的物品,以便區(qū)分這些看起來(lái)很相似的房間。然后,他回到了科學(xué)家身邊,協(xié)助他的研究。有時(shí),科學(xué)家會(huì)讓他去各個(gè)屋里找人,找資料,有時(shí),也帶著他去認(rèn)識(shí)新安裝的儀器和設(shè)備。在閑著沒事時(shí),小蘿卜也會(huì)在樓里逛逛,看看那些屋里都有什么變化。每當(dāng)新的參觀人員到來(lái),小蘿卜會(huì)給他們看樓里的平面圖,向他們介紹各個(gè)樓層的方位與狀況,為他們導(dǎo)航。大家都很喜歡小蘿卜。而小蘿卜明白,這一切,都是過(guò)去幾十年里SLAM研究人員不斷探索的結(jié)果。

 

References:

[1].    Smith, R.C. and P. Cheeseman, On the Representation and Estimation of Spatial Uncertainty. International Journal of Robotics Research, 1986. 5(4): p. 56--68.

[2].    Se, S., D. Lowe and J. Little, Mobile robot localization and mapping with uncertainty using scale-invariant visual landmarks. The international Journal of robotics Research, 2002. 21(8): p. 735--758.

[3].    Mullane, J., et al., A Random-Finite-Set Approach to Bayesian SLAM. IEEE Transactions on Robotics, 2011.

[4].    Adams, M., et al., SLAM Gets a PHD: New Concepts in Map Estimation. IEEE Robotics Automation Magazine, 2014. 21(2): p. 26--37.

[5].    Endres, F., et al., 3-D Mapping With an RGB-D Camera. IEEE Transactions on Robotics, 2014. 30(1): p. 177--187.

[6].    Forster, C., M. Pizzoli and D. Scaramuzza, SVO: Fast semi-direct monocular visual odometry. 2014, IEEE. p. 15--22.

[7].    Newcombe, R.A., et al., KinectFusion: Real-time dense surface mapping and tracking. 2011, IEEE. p. 127--136.

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多