翻譯——《SLAM的過去發展、現狀、及未來前景:面向魯棒-感知的新紀元》(一)
更新2018-5-19:評論區說泡泡機器人已經翻譯過了,於是我特地搜了一下,的確是已經有人翻譯過了,而且翻譯得要比我的好多了,更加專業,更加通順,所以要是想對文章理解得更到位,還是推薦大家去讀泡泡機器人翻譯的此文O(∩_∩)O
大四寒假的時候,老師讓我翻譯了這篇文章,當時真的被這文章的內容量嚇住了,第一次翻譯論文就給了這麼大的任務量,小白實在傷不起,但還是借著谷歌翻譯、字典,硬著頭皮翻譯完了這篇文章,差不多花了半個月的時間,,最近由於畢設的需要,又把這篇文章的一些當時翻譯不好的地方潤色了一下,儘可能地通順一些。從文章了解了不少SLAM領域的進展,覺得還是很有必要和大家分享一下的,畢竟,要是硬著頭皮讀原文,也是一件非常痛苦的事情。。。翻譯不好的地方,希望大家能夠不吝賜教O(∩_∩)O。
https://arxiv.org/pdf/1606.05830v2.pdf這是原文,文章的參考文獻就不羅列了,太多了,大家就自己去原文看吧
摘要——同時定位與建圖(SLAM)由環境的即時構建與機器人在該環境中的狀態估計而構成。在過去的30多年中,SLAM社區已經做出了很多驚人的進展,促進其在大尺度、真實世界環境的應用,並且見證了這一技術向工業方向的穩定轉變。我們調查了SLAM的發展現狀,及其未來發展方向。我們首先介紹SLAM的實際標準制定。然後回顧相關的工作,包括魯棒性、長期建圖中的可擴展性、建圖的度量與語義、理論性能保證、主動SLAM和探索、以及其他的一些前沿問題。本論文可以同時作為各個SLAM作者的立場文件和教程。通過用批判性的眼光回顧已發表的研究,去勾畫出那些具有挑戰性的公開問題與最新的並仍值得仔細研究的觀點。本文還包括作者對兩個問題的看法,且都是在機器人會議上討論的問題:機器人是否需要SLAM?SLAM是否已經解決了?
關鍵詞——因子圖,定位,建圖,最大後驗估計,感知,機器人,感測,同時定位與建圖
Ⅰ. 引言
SLAM包括同時估計載有感測器的機器人的運動狀態與感測器檢測到的環境模型的構建。舉一個簡單的例子,機器人狀態可由它的位姿(位置與姿態)來描述,雖然還可能有其他的變數,例如機器人速度、感測器偏差和標定參數。另一方面,建圖是對機器人運行的環境中感興趣方面(例如,地標的位置、障礙)的描述。
對於為什麼需要使用環境的地圖,主要因為兩個方面:第一,地圖經常會被其他任務所用到;例如,一個地圖可以用來做路徑規劃或者為操作人員提供直觀的可視化。第二,地圖可以限制在估計機器人狀態時的誤差校正。在缺少地圖時,航位推算隨著時間的推移,很快就會發生漂移;另一方面,有了地圖,如一系列可區分的地標,機器人就可以在來到之前已經到過的區域時修正其定位誤差(因此被稱之為「迴環檢測」)。所以,SLAM在很多沒有先驗地圖可用,並且需要建圖的情況下,都能找到其用武之地。
在一些機器人應用中,地標的位置是已知的。例如,在工廠地板工作的機器人,會被提供其所在的工作環境的人造信標地圖。另一個例子是為機器人提供GPS(GPS衛星可以被認為是已知位置的移動信標)。在這種情況下,若定位可以由已知地標來很可靠地完成,則SLAM或許並不需要。
SLAM問題的普及與室內移動機器人的應用有關。在室內,是沒法使用GPS來消除定位誤差;另外,SLAM構建地圖則為用戶提供了一個吸引人的選擇,這表明在缺少專門的定位設施時,機器人運行也是可能的。
Durrant-Whyte和Bailey在兩篇調查中給出了SLAM問題的頭二十年的全面歷史回顧[8,70]。主要包括了我們所說的「經典時期」(1986-2004);經典時期主要見證了SLAM概率解釋的介紹,包括基於擴展卡爾曼濾波器的方法、Rao-Blackwellized粒子濾波器,以及極大似然估計;另外,它描繪了與效率和強大的數據關聯相關的基本挑戰。另外兩篇很出色地描述了經典時期的三個主要SLAM制定的參考文獻是Thrun,Burgard和Fox寫的一本書,其中的Srachniss章節等[234]。隨後的時期是我們所說的「演算法-分析時期」(2004-2015),其部分由Dissanayake等人的文章涵蓋了[65]。演算法-分析時期見證了對SLAM基本性質的研究,包括可觀察性、收斂性和一致性。在本時期中,理解了稀疏效應對有效的SLAM求解的關鍵作用,並且SLAM的主要開源庫也得到了發展。
表1展示了我們對SLAM研究的調查,顯然最近的調查只涉及了SLAM的幾個特定的領域或子方向。如果考慮到SLAM涉及到的全部領域,那麼SLAM在過去30年的普及就不足為奇了。在較低層次中(也就是在Ⅱ節中所講的「前端」),SLAM涉及到一些其他的學科,如計算機視覺和信號處理;在較高的層次(後面我們稱之為「後端」),SLAM顯然與幾何學、圖論、優化以及概率估計相交叉。最後,一個SLAM專家必須去處理從感測器標定到系統集成等實際問題。
本論文對SLAM的現狀進行了廣泛的介紹,並提供了部分社區對SLAM的公開問題和未來展望的調查。我們的主要目標在於尺度和語義SLAM,我們向讀者介紹Lowryetal[160]最近的一項調查,該調查提供了基於視覺的位置識別和拓撲SLAM的綜合評述。
在深入本文之前,我們先討論兩個在機器人會議上常被熱議的問題:自主機器人是否需要SLAM?並且SLAM問題是否已在學術研究層次上被解決?稿件結束後我們將重新回顧這些問題。
若想回答「自主機器人是否需要SLAM」這個和問題,則必須清楚是什麼讓SLAM變得如此獨特。SLAM旨在於利用移動測量和迴環封閉來構建環境的全局一致的描述。這裡的關鍵詞是「迴環封閉」:如果我們不使用迴環封閉,則SLAM就只是一個里程計。在早期應用中,里程計由集成車輪編碼器構成。由測量輪速得到的位姿估計很快就會發生漂移,使得在幾米後估計就變得不可靠[128,Ch.6];這是發展SLAM的主要原因之一:外部地標的觀測對於減少軌跡漂移是很有幫助的,並且有可能將其修正[185]。然而,最近幾年的里程計演算法是基於視覺和慣性信息的,只有很小的漂移(<軌跡長度的0.5%[83])。於是,這個問題變得很合理:我們是否需要SLAM?我們的回答包含三方面。
第一,我們注意到在過去的十年中,SLAM研究已經有了很先進的、並具有代表性的視覺-慣性里程計演算法[163,175];在這層意義上來說,視覺-慣性導航(VIN)就是SLAM:VIN可以認為是不使用迴環封閉(或地點識別)的縮減版SLAM系統。更一般的,SLAM已經直接推動了在比其他文獻中先前考慮的更具挑戰性的設置(即,沒有GPS,低質量感測器)下的感測器融合的研究(例如,航天工程中的慣性導航)。
第二,SLAM考慮到了環境的真實拓撲結構。機器人只執行里程計而忽略迴環封閉則會將世界解釋為一個「無限的走廊」(見圖1-左),機器人在其中進行無限次地探索新區域。迴環封閉事件告訴機器人該「走廊」是保持自交的。(見圖1-右)。迴環封閉的優勢現在變得很清晰:通過找出迴環封閉,機器人可以理解真實環境的拓撲結構,並且能夠找出位置之間的捷徑(例如,地圖中的B和C)。所以,得到環境的正確拓撲結構是SLAM的優點之一,為什麼不幹脆不要尺度信息,只做地點識別呢?回答很簡單:尺度信息可以讓地點識別更簡單、更魯棒;度量重建會通知機器人迴環封閉的機會,並允許丟棄虛假閉環[150]。所以,雖然理論上SLAM可能有些多餘,但SLAM為錯誤的數據關聯和感知別名提供了自然的防禦,這些問題對於與環境中不同位置相對應的相似外觀的場景將會欺騙場景識別。在這層意義上來說,SLAM建圖可以提供可預見的未來測量結果:我們相信該機制是魯棒控制的關鍵。
第三,在很多應用中都需要SLAM,無論是隱式的還是顯式的,都需要全局一致的地圖。舉個例子,在很多軍用和民用中,機器人的目標是去探索未知的環境,並且將地圖報告給操作人員,確保對環境有全面的了解。另一個例子就是機器人必須檢查結構(如建築物的結構,橋的結構等等);同樣在這種情況下,一個全局一致的三維結構是成功操作的必要條件。
在機器人社區,經常會問到「SLAM是否已經解決了?」。這個問題很難回答,因為SLAM已經成為如此廣泛的話題,所以這個問題只適用於給定的機器人/環境/性能組合。特別是,一旦以下方面被指定如下,可以評估SLAM問題的成熟度:
1)機器人:運動類型(如,動力學、最大速度),可用的感測器(如,解析度,採樣率),可用的計算資源。
2)環境:平面或者三維的,具有自然或人工的地標,動態元素的數量,對稱的數量,以及感知混疊的風險。注意到,其中許多方面取決於感測器-環境間的關係:例如,對於二維激光掃描儀來說,兩個房間或許看起來是一樣的(感知混疊),但對相機來說,可以從外觀上區分它們。
性能要求:對機器人狀態估計的期望的精度,精確性。以及環境的描述類型(例如,是基於地標的,還是密度的),成功率(滿足精度範圍的測試的百分比),估計延遲,最大操作時間,以及建圖區域的最大尺寸。
舉個例子,用一個裝備了車輪編碼器和激光掃描儀,滿足精度和魯棒性(或者說,低的失敗率)的機器人去構建一個二維環境的地圖,可以說,這類問題基本是解決了(一個工業上的SLAM系統的例子就是Kuka Navigation Solution[145])。類似的,基於視覺SLAM的移動較慢的機器人(例如,火星探測器[166],家用機器人[2])和視覺-慣性的里程計可以說是很成熟的研究領域了。
換言之,其他的機器人/環境/性能組合仍有很多的基礎研究。當機器人的運動或者環境太有挑戰性的時候,當前的SLAM演算法很容易失效(例如,機器人快速運動,很高的動態環境);類似的,SLAM演算法經常無法應對嚴格的性能要求,例如,快速迴環封閉控制的高速度估計。這項調查將提供這些公開問題的綜合概述。
在本文章中,我們認為我們正在進入SLAM的第三個時期,「魯棒-感知時期」,其中典型的關鍵要求如下:
1)魯棒性能:在很多情況下,SLAM系統能夠長時間以低錯誤率工作;SLAM系統具有故障安全機制並且能夠自我修復,因為它可以調整系統參數,從而適應於當前的場景。
2)高層次的理解:SLAM系統不只是能夠做基礎的幾何重建,更能夠對環境有高層次的理解(例如,高級的幾何,語義,物理,啟示)。
3)資源意識:SLAM系統會針對可用的感測器和計算資源來量身定製,並且根據可用的資源來提供調整計算負載的方式。
4)任務驅動的感知:SLAM系統能夠選擇相關的感知信息並濾掉不相關的感測數據,從而支持機器人執行的任務,並且SLAM系統產生自適應預測,其複雜性可能取決於當前的任務。
A. 論文組織結構
本論文首先講述SLAM的標準形式和結構(見Ⅱ節)。Ⅲ節中講述長期SLAM的魯棒性。Ⅳ節處理可擴展性。Ⅴ節討論如何去描述環境的幾何結構。Ⅵ節將環境表徵的問題擴展到語義信息的建模。Ⅶ節將提供當前SLAM理論方面的成就的綜述。Ⅷ節擴大了討論範圍,並回顧了被用來改善SLAM結果質量的主動SLAM問題的決策制定。Ⅸ節提供SLAM的最近的發展趨勢的綜述。Ⅹ節給出了最後的評論。貫穿全文,我們提供了很多機器人社區之外的相關工作引導。儘管SLAM具有獨特的特性,但它遇到的問題與計算機視覺中、計算機圖形學和控制理論是息息相關的,並且,這些領域的交叉是促進快速發展的必要條件。
對於那些不是該領域的專家的讀者,在深入本文之前,我們建議去閱讀Durrant-Whyte和Bailey的SLAM教程[8,70]。更多經驗豐富的研究人員可以直接跳到感興趣的部分,在那裡將會找到關於最新和開放問題的概述。
Ⅱ. 現代SLAM系統的剖析
SLAM系統的體系結構包括兩個主要部分:前端與後端。前端將感測器數據抽象成適用於估計的模型,而後端在這些經由前端處理的抽象數據上執行推理。該體系結構在圖2中總結。我們從後端開始回顧這兩部分。
A. 最大後驗估計(MAP)估計與SLAM後端
目前SLAM事實上的標準制定起源於Lu和Milios的開創性論文,其次是Gutmann和Konolige [102]的工作。從那以後,許多方法都提高了SLAM問題的底層優化的效率和魯棒性[64,82,101,125,192,241]。這些方法都將SLAM問題制定為最大後驗估計問題,通常用因子圖的形式來推斷變數之間的關係。
假設我們想估計一個未知變數 ;正如之前所說的,在SLAM問題中,典型的變數包括機器人的軌跡(作為一組離散的位姿)和環境中地標的位置。我們給出一系列的測量 ,於是每個測量都可以由的函數來表示,如 ,其中, 是已知的函數(測量或觀測模型), 是隨機測量的雜訊。
在最大後驗估計中,我們將使得後驗 達到最大值的賦值給,作為其估計值(依賴於給定的測量結果)。
(1)
上式是由貝葉斯理論推導得到的。在(1)式中, 是給定X的測量結果Z的似然, 是 的先驗概率。先驗概率包括的先驗知識;在沒有先驗知識的情況下,
變成一個常數(均勻分布),不過這並不重要的,在優化的時候可以忽略掉。在這種情況下,MAP退化為極大似然估計。注意到,與卡爾曼濾波器不同,MAP估計不需要明確區分運動模型和觀測模型:這兩種模型都被視為因素,直接加入優化當中。另外,值得注意的是,卡爾曼濾波器和MAP在線性高斯情況下返回同樣的估計結果,但通常情況下是不會發生這種狀況的。
假設測量結果是獨立的(例如,雜訊是不相關的),則問題(1)分解為:
(2)
其中,等號的右邊,我們注意到 只依賴於 。
問題(2)可以根據因子圖[143]的推導來解釋。在因子圖中,變數對應著節點。術語 和先驗的 被稱為因子,他們在節點的子集上編碼概率約束。因子圖是編碼第k個因子(及其它的測量結果 )與對應的變數之間的依賴關係的圖模型。因子圖解釋的第一個優點就是能夠將問題進行易於理解的可視化。圖3顯示了一個簡單的SLAM問題下的因子圖的例子。圖中顯示了變數,即機器人位姿,地標位置和相機標定參數,以及在這些變數之間施加約束的因素。第二個優點是通用性:一個因子圖可以模擬具有異構變數和因素的複雜推理問題,以及任意的相互連接。此外,因子圖的連通性又影響了SLAM問題的稀疏性,如下所述。
為了將(2)式寫成更展開的形式,假設測量噪音是符合均值為零,信息矩陣為 的高斯分布。然後,(2)式中的測量似然變為:
(3)
其中我們標記 。類似的,假設先驗可寫為:
由於求後驗的最大值與求負對數後驗的最小值是等價的,(2)式的MAP估計可以變為:
(4)
這是一個非線性最小二乘問題,因為在大多數機器人問題中,是一個非線性函數。注意到,(4)式是遵循符合正態分布的雜訊的假設。對於雜訊分布的其他假設會帶來不同的代價函數;舉個例子,如果雜訊遵循拉普拉斯分布,則(4)中的平方L2範數被替換成L1範數。為了提高對異常值的適應性,通常也會將(4)中的平方L2範數替換成魯棒的損失函數(例如,Huber或者Tukey損失)[113]。
計算機專業或許會注意到Structure from Motion問題中(4)式與bundle adjustment之間的相似性;(4)和BA都確實源於最大後驗公式。但是,兩個關鍵特性使SLAM變得獨一無二。首先,(4)中的因子並沒有像BA中那樣對模型有投影幾何約束,而是包括各種各樣的感測器模型,例如,慣性感測器,車輪編碼器,GPS,等等。例如,在基於激光的建圖中,這些因素通常會被限制對應於不同觀測點的相對位姿,而在視覺SLAM的直接法中,這些因子懲罰場景的相同部分的不同視圖中的像素強度的差異。第二個與BA的不同之處是,在一個SLAM場景中,問題(4)通常需要逐步地解決:隨著機器人的移動,在每個時間步驟都會提供新的測量結果。
問題(4)的最小化通常用連續的線性化來解決,例如,高斯-牛頓法(Gauss-Newton)或者列文伯格-馬爾夸特法(Levenberg-Marquardt)(Ⅶ節回顧了基於凸鬆弛和拉格朗日對偶的替代方法)。連續線性化方法迭代地進行,從給定的初始猜測 開始,並且以二次代價函數近似處的成本函數,其可以通過求解一個線性方程組(也稱為法向方程)來以閉合形式進行優化。這些方法可以直接地推廣到屬於平滑流形(例如旋轉)的變數,這些變數對機器人技術很有用[1,83]。
現代SLAM方法的關鍵亮點在於正則方程中出現的矩陣是稀疏的,並且其稀疏結構是由因子圖的拓撲結構來決定的。這種稀疏性可以用快速的線性求解方法[125,126,146,204]。此外,它允許設計增量(或在線)解算器,在獲取新的觀測值時更新X的估計值[125,126,204]。當前許多SLAM庫(例如,GTSAM[62],g2o [146],Ceres [214],iSAM [126]和SLAM ++ [204])都可以在幾秒鐘就解決有成千上萬的變數的問題。動手教程[62,98]提供了兩個最流行的SLAM庫的很好的介紹;每個庫還包括一系列用來展示實際SLAM問題的例子。
目前所描述的SLAM公式通常被稱為最大後驗估計、因子圖優化、圖SLAM,全平滑、光滑和映射(SAM)。這個框架的流行變體是位姿圖優化,其中待估計的變數是從機器人運動軌跡中採集到的位姿,並且每個因子對一對位姿施加一個約束。
MAP估計已經被證明了對基於非線性濾波的SLAM原始方法具有更好的效率和更高的精確度。我們將調查[8,70]推薦給讀者,可以對濾波方法有全面的了解,並且[236]給出了濾波與平滑之間的比較。我們注意到一些基於EKF方法的SLAM已經被證明了具有很出色的表現。基於EKF的SLAM系統的優秀實例包括Mourikis和Roumeliotis的Multistate Constraint Kalman濾波器[175]以及Kottas等人的VIN系[139]和Hesch等人的[106]。毫不奇怪,當EKF的線性化點準確時(如在視覺-慣性導航問題中發生的),使用滑動窗口濾波器時,以及當EKF保留的潛在不一致性來源時,濾波和MAP估計之間的性能失配會變得更小[106,109,139]。
正如要在下一節討論的一樣,MAP估計通常用在已經被處理的感測器數據上。在這個意義上,它經常被用在SLAM的後端中。
A. 使用感測器的SLAM前端
在特定的機器人應用中,或許很難直接寫出感測器的測量結果,如狀態的分析函數,正如MAP估計中需要使用的。舉個例子,如果未處理的感測器數據是一個圖像,可能很難將每個像素的強度表達為SLAM的狀態函數;對於更簡單的感測器也會出現同樣的困難(例如,一個單光束的激光)。在這兩個情況中,該問題與我們無法設計出一個充分一般的表達式來表述環境的事實有關。甚至是一個十分一般的表達式,都很難寫出該表達式的與測量有關的參數。
出於這個原因,在SLAM後端之前,通常需要有一個模塊,稱之為前端,可以從感測器數據中提取出相關的特徵。例如,在視覺SLAM中,前端從環境中提取出幾個可區分點的像素位置;觀測到這些點的像素現在就可以很容易地在後端中建模。前端還負責將每個測量結果與環境中的特定地標(如三維點)相關聯:因此也稱之為數據關聯。更抽象地,數據關聯模型將每個測量結果 與未知變數 的子集關聯上,例如 。
最後,前端也可以為(4)的非線性優化提供一個變數的初始猜測。比如,基於特徵的單目SLAM的前端通常會對地標的位置採用多視角的三角化來對地標進行初始化。
圖2給出了一個典型的SLAM系統的圖形表示。前端的數據關聯模型包括一個短期的數據關聯模塊和一個長期的。短期數據關聯負責在連續的感測器測量中關聯相應的特徵;例如,短期數據關聯將跟蹤連續幀中的2個像素測量結果描繪相同的3-D點的事實。另一方面,長期數據關聯(或迴環封閉)負責將新的測量結果與舊的地標相聯繫。我們注意到,後端通常會將信息反饋給前端,如支持迴環封閉檢測和驗證。
這個發生在前端的過程是依賴於感測器的,因為特徵標記的變化是取決於我們所考慮的輸入數據流。
Ⅲ. 長期自主性Ⅰ:魯棒性
SLAM系統可能在許多方面上很脆弱:失敗可能是演算法導致的或者是硬體的原因。前一類包括由現有的SLAM演算法限制所引起的故障模式(例如,很難處理極端的動態或惡劣的環境)。後者包括由於感測器或致動器老化而導致的故障。明確地處理這些失效模式對於長期運行是至關重要的,在這種情況下,人們不能再對環境結構做簡單假設(例如,環境的大部分都是靜止的)或完全依靠感測器。在本節中,我們會回顧演算法魯棒性的主要挑戰,然後討論公開的問題,包括針對與硬體有關的失敗的魯棒性問題。
演算法失敗的另一個主要原因是數據關聯。正如Ⅱ節中所提到的數據關聯將每一測量結果與和測量有關的部分狀態進行匹配。例如,在基於特徵的視覺SLAM中,將每一個視覺特徵與特定的地標相關聯。感知混淆,即不同的感官輸入導致相同的感測器測量標籤的現象使得這個問題特別困難。由於感知混淆,數據關聯會建立錯誤的測量-狀態匹配(異常值,或假陽性),這會導致後端給出錯誤的估計。另一方面,當數據關聯錯誤地將感測器測量判定為假(假陰性)時,可用於估計的測量結果就更少了,導致估計精度下降。
在環境中若出現無法建模的情況,如短期和季節變化,情況會變得更糟,這會欺騙短期和長期數據關聯。現在的SLAM方法都會做一個普遍的假設,就是在機器人運行時,周圍的環境是靜止不變的(換言之,地標都是靜止的)。這個靜止世界假設在小尺度環境中進行單一的建圖時是有效的,只要沒有長期的動態事物(例如,人和周圍移動的物體)。但在一個長時間尺度和大的環境中建圖時,則變化是沒法忽視的。
魯棒性的另一個方面是在惡劣的環境下進行SLAM,如水下[74,131]。在這種情況下的挑戰是有限的可視性,不斷變化的條件以及使用無法使用傳統的感測器(例如,激光掃描儀)。
A. 簡短的調查
在SLAM系統中,前端和後端都可以解決與數據關聯相關的魯棒性問題。在傳統的方法中,前端已經被委託建立正確的數據關聯。短期數據關聯是很容易解決的:如果感測器的採樣率相對於機器人的運動速度而言較快,則追蹤對應同一三維地標的特徵是很容易的。舉個例子,如果我們想在連續的圖像中追蹤一個三維點,並且假設幀率足夠高,則基於描述子匹配或者光流的標準方法就可以保證可靠的追蹤。直覺上,在高幀率下,感測器的觀測點不會有明顯的變化,所以在t+1時刻的特徵與t時刻的特徵就會很接近。在前端中的長期數據關聯就更有挑戰性了,並且需要設計迴環封閉檢測與驗證,對於前端中的迴環封閉檢測,暴力匹配的方法就變得不現實了,比如在當前測量結果中檢測特徵,然後嘗試與之前所有檢測到的特徵快速匹配,這很不現實。詞袋模型模型[226]通過量化特徵空間並允許更有效的搜索來避免這種棘手的問題。詞袋模型可以將特徵安排到層次化的辭彙樹[189]中,以便在大規模數據集中進行有效的查詢。基於詞袋模型的方法,例如[54]已經在單迴環封閉的任務中展示出了可靠的性能。然而,當視覺單詞發生嚴重的照明變化時,這種方法就無法進行匹配了。這促使了新的方法的研究,通過匹配序列[173]來明確地說明這種變化,將不同的視覺外觀聚合成一個統一的表示[49],或使用空間和外觀信息[107]。Lowry等人對可視地點識別進行了詳細的調查。基於特徵的方法也被用於檢測基於激光的SLAM前端中的迴環封閉; 例如,Tipaldi等人[242]提出了2D激光掃描的FLIRT特徵。
而環路閉合驗證則由附加的幾何驗證步驟組成,以確定環路閉合的質量。在基於視覺的應用中,RANSAC是用來做幾何驗證和異常值排除的很常用的方法,可以參見[218]以及該文中引用的論文。在基於激光的應用中,可以通過檢查當前激光掃描與現有地圖匹配程度來進行迴環封閉的檢測(例如,掃描匹配結果的誤差有多小)。
儘管在前端進行閉環檢測取得了進展,但是在存在感知混疊的情況下,錯誤的迴環封閉被饋送到後端是不可避免的。錯誤的迴環封閉會對MAP估計的質量造成嚴重的擾亂[238]。為了處理這個問題,最近一系列的研究[34,150,191,238]提出了使SLAM能夠抵禦虛假測量的技術。這些方法通過查看優化期間由約束引起的殘差來推斷迴環約束的有效性。相反,其他方法試圖通過識別里程計不支持的錯誤迴環封閉來先驗地檢測異常值。
在動態環境中,這種挑戰有兩個方面。第一,SLAM系統必須執行檢測、丟棄或者追蹤變化。儘管主流的方法嘗試丟棄場景中的動態部分[180],但仍有一些工作將動態元素囊括進來,作為模型的一部分[12,253]。第二個挑戰是SLAM系統必須模擬永久性或半永久性的變化,並理解如何以及何時更新相應的事實。處理動態場景的當前SLAM系統或者保持同一位置的多個(與時間相關的)地圖[61],或者具有由一些時變參數[140]參數化的單個表示。
B. 公開的問題
在本節中,我們回顧長期SLAM中的公開問題與新的研究問題。
1) 故障安全SLAM和恢復:儘管在SLAM後端已經有了進展,但當前SLAM解算器在存在異常值的情況下仍然很脆弱。這主要是因為幾乎所有強大的SLAM技術都是基於非凸成本的迭代優化。這有兩個後果:第一,剔除掉異常值取決於優化的初始質量;第二,該系統本質上就很脆弱:包括一個異常值就會降低估計的質量,這反過來會降低以後辨別異常值的能力。這些類型的故障導致不正確的線性化點,尤其是在增量式設置中。一個理想的SLAM方法應該具有故障保證和故障感知,例如,系統需要知道即將發生的故障(例如由異常值或簡併引起的),並且提供能夠重建合適的可操作的恢復機制。現有的SLAM方法都不具備這些功能。實現這一目標的一種可能的方法是在前端和後端之間進行更緊密的整合,但是如何實現這一目標還是一個懸而未決的問題。
2) 魯棒的硬體故障:雖然解決硬體故障可能不屬於SLAM範疇,但是這些故障會影響SLAM系統,而後者可能在檢測和減輕感測器和運動故障方面發揮關鍵作用。如果由於故障,非標稱條件或老化導致感測器的精度降低,感測器測量的質量(例如雜訊,偏差)與後端使用的雜訊模型不匹配。這自然會帶來不同的研究問題:我們如何檢測感測器操作性能下降? 我們如何才能相應地調整感測器雜訊統計量(協方差,偏差)呢?更一般的,我們如何解決來自不同感測器的信息之間的衝突?這在以安全為重點的應用(例如自動駕駛車輛)中似乎是至關重要的,在這種應用中,感測器數據的誤解可能使人的生命處於危險之中。
3) 尺度重建:雖然基於外觀的方法,不用於基於特徵的,能夠在照明變化或季節變化間封閉迴環,但是這種迴環封閉只是自然的拓撲結構。對於尺度重建(例如,根據之間建立的地圖來估計相對位姿),基於特徵的方法仍然很一般;然而,現在的特徵描述子缺乏足夠的不變性來可靠地處理不確定的情況。空間信息,SLAM問題固有的屬性,如軌跡匹配,或許可以用來客服這些局限。另外,使用一個感測器模型(例如,3D激光雷達)進行建圖和使用不同的感測器模型(例如相機)在相同的地圖中定位可以很好地結合起來。Wolcott等人的工作[260]就是該方向所邁出的第一步。
4) 時變和可變形的地圖:主流的SLAM方法在剛體和靜態世界的假設下已經發展了很多;但是,真實世界並不是剛體的也不是靜態的,因為事物都是運動的,並且物體本身就是可變形的。一個理想的SLAM解決方案應該能夠推理環境中的動態性,包括非剛性,長時間工作生成「全地形」地圖,並且能夠實時工作。在計算機視覺社區中,自從80年代以來,為了從非剛性物體恢復形狀而進行了多次嘗試,但其使用範圍受到限制。最近的一些非剛體SfM研究例如[92,97]就受的限制較少了,但只能工作在小場景中。在SLAM社區中,Newcombe等人[182]已經解決了非剛體的小尺度重建。然而,在大尺度上解決非剛體的建圖的工作仍然乏善可陳。
5) 自動參數調整:為了能夠對給定的場景正常工作,SLAM系統(特別是數據關聯模塊)需要大量的參數調整才可以。這些參數包括控制特徵匹配的閾值、RANSAC參數,以及決定何時往圖中加入因子或何時啟動迴環封閉演算法來搜索匹配的準則。如果SLAM必須能夠在任意場景中開箱即用,則自動調整相關參數的方法必須考慮到。
Ⅳ. 長期自主性Ⅱ:尺度性
雖然現代SLAM演算法已經成功地在室內建築環境中成功演示,但在許多應用中,機器人必須在較大範圍內運行一段較長的時間。這些應用包括環境監測的海洋探測,在不斷變化的城市中的持續工作的清潔機器人,或大規模精準農業。對於這些應用,由於對新地點的持續探索和操作時間的增加,SLAM的因子圖會無限地增長下去。實際上,計算時間和內存佔用量受機器人資源的限制。所以,設計一個可以在計算和存儲上留有一定裕度的SLAM方法是很重要的。
在最壞的情況下,基於直接線性求解器的連續線性化方法意味著存儲器消耗在變數數量上以二次方增長。當使用迭代線性求解器(例如,共軛梯度[63])時,存儲器消耗在變數數量上線性增長。這種情況更加複雜的是,當多次重訪一個地方時,因為節點和邊連續地增加了空間區域,所以因子圖優化變得不夠有效,從而損害了圖的稀疏結構。
在本節,我們回顧一些當前的方法來控制或至少減少問題規模的增長,並討論公開挑戰。
A. 簡短的調查
我們主要討論兩個降低因子圖優化的複雜性的方法:1)稀疏方法,這為內存和計算效率權衡信息損失,以及2)外核和多機器人方法,這可以使得許多機器人/處理器之間的計算分開。
1)節點和邊的稀疏化:這一系列方法通過減少添加到圖中的節點數量或修剪較少的「信息」節點和因素來解決尺度性問題。Ila等人[115]使用資訊理論的方法,只將非冗餘節點和高度信息量的測量結果添加到圖中。Johannsson等人[120]在可能的情況下,通過避免在現有節點之間引入新的約束來添加新節點,使得變數的數量只隨著探索空間的大小而不是映射持續時間增長。Kretzschmar等人[141]提出了一種基於信息的標準,用於確定哪些節點在姿態圖優化中被邊緣化。Carlevaris-Bianco和Eustice[29],Mazuran等人[170]分別介紹了通用線性約束(GLC)因子和非線性圖稀疏(NGS)方法。這些方法在邊緣節點的馬爾可夫覆蓋層上運行,並計算覆蓋層的稀疏近似。Huang等人通過求解一個L1正則化最小化問題來稀疏Hessian矩陣(在正規方程中出現)。
允許減少隨時間估計的參數數量的另一個工作是連續時間軌跡估計。這類的第一個SLAM方法是由Bibby和Reid提出的,用三次樣條來表示機器人的連續軌跡[13]。在它們的方法中,因子圖中的節點代表了以滑動窗口方式進行優化的樣條的控制點(節點)。隨後,Furgale等人[89]提出了在批次優化公式中,使用基函數,特別是B樣條來近似機器人軌跡。滑動窗口B樣條形式也應用在帶有捲簾門式的相機SLAM中,其中採用Patron-Perez等人提出的基於地標的形式,以及Kim等人的半稠密直接法。最近,Mueggler等人[177]將連續時間的SLAM形式應用到基於事件的相機中。Bosse等人[22]將[20]的連續三維掃描匹配形式推廣到大尺度SLAM應用。隨後,Anderson等人[5]和Dube等人[68]分別使用小波或在軌跡上採樣不均勻結提出了更有效的實現。Tong等人[243]將軌跡的參數化從基礎曲線改變為高斯過程表示,其中因子圖中的節點是實際的機器人位姿,並且可以通過計算給定時間的後驗均值來內插任何其他姿態。需要代價較高的批次Gauss-Newton優化來解決這個第一個建議中的狀態。Barfoot等人[4]然後提出了一個精確稀疏的逆核的高斯過程,大大減少了批量解的計算時間。
2)外核SLAM:並行外核SLAM演算法將因子圖優化分配給多個處理器。其關鍵思想是將因子圖分解為若干個不同的子圖,然後通過輪流對每個子圖進行局部優化和全局優化,從而實現對整個圖的優化。相關的演算法經常被引用為「子建圖演算法」,其思想可以追溯到最初嘗試解決大規模地圖的問題[19]。Ni等人[187]和Zhao等人[267]提出了因子圖優化的子建圖方法,以二叉樹結構組織子圖。Grisetti等人[99]提出一個子圖層次結構:無論何時得到一個觀測,層級的最高級別被修改,只有受到實質影響的區域才會在較低級別上發生變化。其他的一些方法大致解耦兩個並行運行的線程中的定位和建圖,如Klein和Murray[135]。其他方法可以並行解決不同的階段:受到[223]的啟發,Strasdat等人[235]採用兩階段的方法,優化第一個局部位姿-特徵圖,然後優化位姿-位姿圖;Williams等人[259]將因子圖優化分配到同步的高頻濾波器和低頻平滑器來處理。
3)分散式多機器人SLAM:大尺度環境建圖的另一個方法就是部署多個機器人做SLAM,並且將場景分解為若干個更小的區域,其中每一個由不同的機器人來建圖。這種方法有兩個主要的變數:集中式機器人,機器人建立子圖並將本地信息傳輸到執行推理的中心站[67,210],以及分散的,沒有中央數據融合,agents利用本地通信在共同的地圖上達成一致。Nerurkar等人[181]提出基於分散式共軛梯度的合作定位的演算法。Araguez等人[6]研究以共識為基礎的地圖融合方法。Knuth和Barooah[137]採用分散式梯度下降來估計三維位姿。在Lazaro等人[151]的文章中,機器人交換它們的部分因子圖,這些因子圖以壓縮測量的形式近似以最小化通信。Cunnigham等人[55]使用高斯消元法,並且開發出了稱之為DDF-SAM的方法,其中每個機器人在分離器上交換高斯邊緣(即,由多個機器人共享的變數)。多機器人SLAM方法的最新研究可以在[216]文中找到。
雖然高斯消元已經是一個很受歡迎的演算法,但仍有兩個缺點。第一,機器人之間交換的邊緣是稠密的,並且通信成本是分離器數量的二次方。這促使使用稀疏化方法來降低通信成本[197]。第二個缺點是高斯消元是用在線性問題上的,所以諸如DDF-SAM這樣的方法需要很好的線性化點和複雜的簿記來保證機器人之間的線性點的一致性。高斯消元的一種替代方法就是Choudhary等人[48]的高斯-賽德爾法,這意味著分離器數量上的通信負擔是線性的。
B. 公開問題
儘管已經做了很多工作來降低因子圖優化的複雜性,但在長期工作的一些方面上仍有很多問題尚待解決。
1)地圖表述:一個尚未解決的問題是如何在長期工作中存儲地圖。即使當存儲並不受限時,例如將數據存放在雲中,原生的地圖表述如點雲或者體積圖(見Ⅴ節)是對存儲的一種浪費;類似的,存儲視覺SLAM的特徵描述子很快就會變得很麻煩。最近有人提出了一些初始解決方案,用於針對壓縮的已知地圖進行定位[163],以及用於存儲有效密集重建[136]。
2)學習、遺忘和記憶:一個和長期建圖的相關問題就是如何經常更新地圖中包含的信息以及如何去決定何時這個信息過時了需要扔掉。什麼時候能遺忘?在哪種情況下,什麼樣的信息可以被遺忘,什麼又是很重要的需要保留下來?地圖的一部分可以「卸載」並在需要時調用?儘管這明顯是要具體問題具體分析的,但目前還沒有給出可靠的答案。
3)魯棒分散式建圖:雖然在單一機器人情況中排除異常值的方法已經剔除了,但對於多機器人SLAM,卻幾乎還沒有針對這類問題的方法提出。處理虛假測量問題是很具有挑戰性的,原因有兩點:第一,機器人或許無法分享一個共同的參考幀,這導致檢測和排除迴環封閉變得更加困難。第二,在分散式配置中,機器人必須從十分局限的信息中檢測出異常值。文獻[85]是比較早的一次嘗試,其中機器人在融合信息之前使用會合策略主動驗證位置假設。Indelman等人[117]提出了用概率的方法,在面對虛假信息時建立一個公共的參考幀。
4)資源受限的平台:另一個相關的為解決的問題是如何將現有的SLAM演算法應用到計算資源有限的機器人平台中。當機器人平台很小時,這個問題十分重要,例如手機、小型飛行器或者機器昆蟲等[261]。許多SLAM演算法對這些平台而言是很昂貴的,直至於無法使用,並且具有可以調節的「旋鈕」的演算法是可取的,該「旋鈕」允許以精確的計算成本來平衡折衷。類似的觀點在多機器人配置中提出:當面臨嚴格的帶寬限制和通信丟失時,我們如何保證多機器人團隊的可靠運行?Cieslewski等人[50]的「版本控制」方法是這個方向的第一個研究。
Ⅴ. 表示Ⅰ:度量地圖模型
本節討論如何對SLAM進行幾何建模。更正式地說,度量表示(或度量地圖)是編碼環境的幾何結構的符號結構。我們主張理解如何為SLAM(並且擴展當前在機器人中使用的一組或多個表示)選擇合適的度量表示對很多研究領域都會產生影響,包括長期導航、與環境的物理交互,以及人機交互。
在二維的情況下,幾何建模相對簡單一些,僅有兩個主要的範例:基於地標的地圖和佔用柵格地圖。前一個將環境建模為稀疏的地標,而後一個則將環境分解為若干個子塊,然後為每一個子塊分配佔用概率。在二維情況下,這些標準化問題已經由IEEE RAS Map Data Representation Working Group解決了,最近發布了機器人技術中的二維地圖標準[114];該標準為平面場景環境定義了兩個主要的度量表示,以促進數據交換,基準測試和技術轉讓。
三維幾何建模的問題就更加的精巧了,並且對於在建圖過程中如何有效建立三維幾何模型的理解尚處於起步階段。在本節中,我們回顧度量表示,從機器人學、計算機視覺、計算機輔助設計(CAD)和計算機圖形學等多個角度展開廣泛的研究。我們的分類是從[81,209,221]中汲取靈感,並且包含了更近期工作的一些指引。
A. 基於地標的稀疏表示
大多數SLAM方法將場景表示為一組三維地標,並且這些三維地標與環境中可區分的特徵是相對應的(如,線條,交點)[179];圖4(左)展示了一個例子。這些通常被稱為基於地標或基於特徵的表示,自早期的定位和建圖工作以來,便已經在移動機器人技術中得到了廣泛的應用,並且在從運動中恢復結構[3,244]的計算機視覺中被廣泛使用。在這些表示下都有一個共同的假設:地標是可區分的,例如,感測器數據測量地標的某些幾何方面,但也提供描述子,從而建立了每一個測量與相應的地標之間的數據關聯。之前的工作也研究了不同三維地標的參數化,包括全局和局部的笛卡爾模型,以及逆深度參數化[174]。儘管大部分工作都集中在點特徵的估計問題上,但機器人學文獻也包括對更複雜的幾何地標的研究,比如線條,分割或圓弧[162]。
A. 低級原始稠密表示
與基於地標的表示相反,稠密表示則試圖提供一個三維幾何的高解析度表示;這些模型更適合避障,或者可視化和渲染,見圖4(右)。在稠密模型中,原始表示通過大量非結構化點(即點雲)或多邊形(即多邊形湯[222])來描述三維幾何。點雲已廣泛用於機器人技術,與立體和RGB-D相機以及三維激光掃描儀[190]結合使用。這些表示方式最近在單目SLAM中很受歡迎,與直接法[118,184,203]結合使用,直接從圖像的所有像素強度值來估計機器人的軌跡和三維模型。稍微複雜的表示法是面元貼圖,它將幾何圖形編碼為一系列的片[105,257]。儘管這些表示看起來很不錯,但它們通常很麻煩,因為它們需要存儲大量的數據。另外,他們給出了幾何的低級描述,卻忽略了例如障礙這樣的拓撲結構。
B. 邊界和空間分區稠密表示
這些表示超出了非結構化的低級基元集(例如,點),並試圖明確地表示表面(或邊界)和體積。這些表示方式更適合運動或路徑規劃、避障、操縱以及其他基於物理的推理(如接觸推理)等任務。邊界表示(b-reps)從三維物體的平面邊界的角度上來對其進行的定義。特別的,簡單的邊界表示為基於平面的模型,已經在[45,124,162]的建圖中得到了應用。更一般的b-reps包括基於曲線的表示(例如,NURBS或B樣條的張量積)、表面網路模型(與多邊形相關),以及隱式曲面表示。後者將固體表面指定為由R3上定義的函數的過零點所得到的[17];這樣的函數的例子包括徑向基函數[39]、符號距離函數[56],以及截斷標籤距離函數(TSDF)[264]。TSDF是現在機器人學中比較流行的一種視覺SLAM的表示,在開創性工作[183]之後得到越來越多的關注。網路模型已經在[258,257]中得到了應用。
空間分區稠密表示將三維物體定義為一組連續的不相交的基元。最流行的空間分區表示法就是所謂的空間佔用枚舉,它將三維空間分解為排列在常規三維網格中的相同立方體(體素)。更有效的分區方案包括八叉樹,多邊形地圖八叉樹和二進位空間分區樹。在機器人學中,八叉樹表示已被用於三位建圖中[76],而常用的佔用網格圖[72]可以認為是空間分區表示的一種概率變體。在沒有懸掛障礙物的三維環境中,也使用2.5-D立面圖[24]。在談論更高級的表示前,讓我們先更好地了解一下視覺SLAM中稀疏(基於特徵的)表示(和演算法)與稠密表示之間的比較。
哪一個更好:基於特徵的還是直接法?基於特徵的方法已經相當成熟了,並且有著悠久的成功史[60]。它們允許建立具備自動重定位和迴環封閉[179]的精確魯棒的SLAM系統。然而,這樣的系統依賴於環境中特徵的可用性、檢測和匹配的閾值,並且大多數特徵檢測器只考慮了對運行速度的優化,而非精確性。另一方面,直接法使用原始像素信息和稠密直接法來利用圖像中的所有信息,甚至是圖像中梯度很小的區域;於是,它們在質地差,散焦和運動模糊[184,203]的場景表現得要優於基於特徵的方法。但是,它們需要很高的計算能力(GPU)才能獲得實時性能。此外,如何同時估計密集的結構和運動仍然是一個懸而未決的問題(目前它們只能相互估計)。為了避免基於特徵的方法的缺陷,我們有兩種選擇。半稠密法通過只利用強梯度的像素(例如,邊)來克服對高計算能力的要求[73,84];相反,半直接法利用稀疏特徵(如角點或邊緣)和直接方法[84],並被證明是最有效的[84];另外,因為它們依賴於稀疏特徵,所以它們允許對結構和運動進行聯合估計。
C. 高級的基於對象的表示
儘管點雲和邊界表示是稠密建圖測繪的主流,但我們認為更高級的表示,包括物體和立體形狀,會在SLAM的未來發展中起著關鍵作用。在SLAM中包含基於對象的推理的早期技術有Salas-Moreno等人的「SLAM ++」[217],Civera等人的[51],和Dame等人的[57]。實體表示可以明確地將物體編碼為三維的,而不是一維(即點)或二維(表面)的。將對象建模為實體形狀允許關聯物理概念,例如每個物體的體積和質量,這對於與環境交互的機器人是很重要的。幸運的是,
CAD和計算機圖形學的現有文獻為這些發展鋪平了道路。接下來,我們列出幾個尚未在SLAM中使用的實體表示:
1)參數化基元實例:依賴於物體族的定義(如,圓柱體,球體)。對每一個族,定義了一組參數(例如半徑,高度),這些參數唯一地標識了一個族的成員(或實例)。這種表示可能對SLAM很有意義,因為它能夠使用非常緊湊的模型,同時仍然可以捕獲人造環境中的許多元素。
2)掃描表示:將實體定義為沿空間軌跡的二維或三維物體的掃描。典型的掃描表示有平移掃描(或擠壓)和旋轉掃描。例如,圓柱可以表示為一個圓沿著與圓的平面正交的軸的平移掃描。二維截面的掃描在計算機視覺中被稱為廣義圓柱體[14],並且它們已被用於機器人抓取[200]的工作中。這種表示看起來特別適合於那些通過利用對稱性來推理場景的遮擋部分。
3)建設性實體幾何:通過基元之間的布爾運算來定義複雜的實體[209]。一個對象被存儲為一棵樹,樹的葉子是基元,邊緣表示操作。這種表示可以對相當複雜的幾何圖形進行建模,並廣泛用於計算機圖形學。
我們通過提及存在其他類型的表示來總結這一評論,包括CAD[220],基於字典的表示[266],基於可供性模型[134],生成和程序模型[172]以及場景圖[121]中的基於特徵的模型。特別是,基於字典的表示法將固體定義為字典中的原子組合,該法已經在機器人和計算機視覺中被考慮到了,其中字典從數據[266]中學習或利用現有的對象模型庫[149,157]。
D. 公開問題
關於SLAM的度量表示的以下問題仍然是未知的,因此值得大量的基礎研究。
1)SLAM中的高級表達表示:雖然現在機器人社區的重點在用點雲或TSDF來建立三維模型,但這些表示有兩點不足。第一,它們很浪費內存。例如,即便是很簡單的環境,比如一個簡單的空屋子,兩個表示都需要用到很多參數(比如,點,體素)。第二,這些表示不需要對三維模型有任何高級的理解。舉個例子,考慮機器人必須確定它是否在房間或走廊中移動的情況。點雲不需要提供關於環境類型的真實有用的信息(如房間或走廊)。另一方面,更複雜的模型(例如,參數化基元實例)可以給出容易的方法來辨別這兩個場景(例如,通過查看定義該基元的參數)。因此,在SLAM中使用更高級的表示可以保證這三點。第一,使用更緊湊的表示可以在大尺度建圖中提供很自然的建圖工具。第二,高級表示可以提供物體幾何的更高級的描述,這對於促進數據關聯、場景識別、語義理解,以及人機交互是很重要的;這些表示還將為SLAM提供有力的支持,從而能夠推理障礙,利用形狀先驗,並給出物體的物理特性的通知推理/建圖過程(例如重量,動力學)。最後,使用豐富的三維表示可以實現符合現代建築施工和管理標準的交互,包括CityGML[193]和IndoorGML[194]。目前還沒有一種SLAM技術能夠在構建更高級別的表示上超越點雲,網格模型,表面模型和TSDF。最近在這方面的努力包括[18,52,231]。
2)最佳表示:儘管在三維模型的各種表示上已經有了相當多的文獻,但對理解如何制定一個對特定模型選擇的標準方面的工作乏善可陳。直觀地說,在簡單的室內環境中,人們應該更喜歡參數化的基元,因為很少的參數就可以充分描述三維幾何;另一方面,在複雜的室外環境中,更偏向於網格模型。所以,我們應該如何比較不同的表示,以及如何選擇「最優」的表示?Requicha[209]確定了固體表示的幾個基本性質,可以比較不同的表示形式。在這些性質中,我們發現:域(可以表示的真實對象集),簡潔性(用於存儲和傳輸的「大小」),易於創建(在機器人技術中,這是構建表示所需的「推論」時間), 以及在應用環境中的有效性(這取決於使用該表示的任務)。因此,「最佳」表示是一種能夠預先執行給定任務的表示,同時簡潔且易於創建。Soatto和Chiuso[229]將最優表示定義為執行給定任務的最小足夠統計量,以及它對擾動因子的最大不變性。尋找一個通用但容易處理的框架來為任務選擇最佳表示方式仍然是一個懸而未決的問題。
3)自動調整參數:傳統上,表示方法的選擇已委託給機器人專家設計系統負責,但是這有兩個缺點。第一,設計一個合適的表示方法是一個費時的任務,需要一個專家。第二,不具備任何的靈活性:一旦系統設計完畢,就不能更換了;理想情況下,我們希望機器人能根據任務和環境的複雜性來使用或多或少的複雜表示。最優表示的自動設計會對長期導航產生很大的影響。
推薦閱讀:
※免費送:吳恩達新書《Machine Learning Yearning》
※K-means,高斯混合模型及其EM步驟詳解
※生成式和判別式
※馬庫斯:DeepMind新出的機器心智網路不錯,但有誤導性
※我的人工智慧學習筆記(一)
TAG:機器學習 | 科技 | 同時定位和地圖構建SLAM |