定位、建圖與 SLAM
地點辨識
地點辨識,是機器人能看一眼自己此刻所在之處,並有把握地說出「我以前是否到過這個同一地點」的能力。它就是人類那種認出自家大門、或某個特定街角時心頭一震的機器版。機器人把當前的視野——一張相機圖像或一次雷射掃描——與一路收集來的視野記憶相比較,問道:這和我已經見過的東西有沒有對得上的?一旦冒出強烈的吻合,它就認出了這個地方。
把每一幀新視野與每一幀存下來的視野逐像素地比,會慢得無法接受,所以機器人會把每個場景濃縮成一枚緊湊的「指紋」——一段抓住其要旨的簡短概括:角點、紋理或形狀的樣式。同一個地點的兩幀視野,即便角度或光照略有不同,也會產生相似的指紋,而不同地點則往往產生不同的指紋。於是辨識就變成了快速地搜出與當前指紋最相像的那枚存檔指紋,而不是一幀一幀慢慢地乾瞪眼。
這個能力是糾正機器人漂移的核心。機器人四處遊走時,一步一步的微小誤差會悄悄累積,它對自身位置的感覺會慢慢偏離真實。當地點辨識宣布「我以前來過這裡」的那一刻,系統就得到一條強有力的線索:它記憶中的路徑上有兩個點其實是同一個地方,於是整條路徑都能被拉回正確的形狀——這個修正就叫迴環偵測。其中的危險是誤報:兩條不同卻長得很像的走廊可能騙到它,所以好的系統會在相信一次匹配之前,要求強有力且經過反覆核對的證據。
一台配送機器人繞街區轉了一圈,又回到了先前經過的同一座噴泉旁;地點辨識標記出這次匹配,系統於是意識到自己的路徑彎了,便把它重新拉直。
認出一個舊地點,正是讓機器人得以消除漂移的觸發點。
在基於相機的系統裡,場景指紋常用「視覺詞袋」來構建——也就是對一些反覆出現的小圖像塊做的統計,很像用一篇文件包含哪些關鍵詞來概括它。
又稱
另見