定位、建图与 SLAM

地点识别

地点识别,是机器人能看一眼自己此刻所在之处,并有把握地说出“我以前是否到过这个同一地点”的能力。它就是人类那种认出自家大门、或某个特定街角时心头一震的机器版。机器人把当前的视野——一张相机图像或一次激光扫描——与一路收集来的视野记忆相比较,问道:这和我已经见过的东西有没有对得上的?一旦冒出强烈的吻合,它就认出了这个地方。

把每一帧新视野与每一帧存下来的视野逐像素地比,会慢得无法接受,所以机器人会把每个场景浓缩成一枚紧凑的“指纹”——一段抓住其要旨的简短概括:角点、纹理或形状的样式。同一个地点的两帧视野,即便角度或光照略有不同,也会产生相似的指纹,而不同地点则往往产生不同的指纹。于是识别就变成了快速地搜出与当前指纹最相像的那枚存档指纹,而不是一帧一帧慢慢地干瞪眼。

这个能力是纠正机器人漂移的核心。机器人四处游走时,一步一步的微小误差会悄悄累积,它对自身位置的感觉会慢慢偏离真实。当地点识别宣布“我以前来过这里”的那一刻,系统就得到一条强有力的线索:它记忆中的路径上有两个点其实是同一个地方,于是整条路径都能被拉回正确的形状——这个修正就叫回环检测。其中的危险是误报:两条不同却长得很像的走廊可能骗到它,所以好的系统会在相信一次匹配之前,要求强有力且经过反复核对的证据。

一台配送机器人绕街区转了一圈,又回到了先前经过的同一座喷泉旁;地点识别标记出这次匹配,系统于是意识到自己的路径弯了,便把它重新拉直。

认出一个旧地点,正是让机器人得以消除漂移的触发点。

在基于相机的系统里,场景指纹常用“视觉词袋”来构建——也就是对一些反复出现的小图像块做的统计,很像用一篇文档包含哪些关键词来概括它。

又称
loop detection回环识别迴環辨識