3 什么是地点?
机器人学中地点的概念出自机器人导航和建图。实际的机器人传感器和致动器是会出错的,所以构建一个度量准确的世界地图,并用来自定位是具有挑战性的。而这两个目标的结合,称为SLAM [37] - [41],更难实现。
相对于维护一个精确的度量地图,替代方法是维护一个“关系地图,其具有弹性和可扩展性的,而不是在一个2D坐标系”(见[40])。这样的拓扑地图在概念上类似于生物学中的认知图。节点表示世界中可能的地点,边表示这些地点之间可能的路径。机器人导航可以抽象地定义为沿着节点之间的边走。地点表示路线之间的关键交叉点、决策点[42],[43]或最终目标点。
这种拓扑导航方法在实践中也有困难。机器人必须将抽象路线和地点与实际物理位置和路径相关联,并且需要理清机器人传感器数据,机器人控制信号以及机器人对世界的拓扑度量描述之间的复杂关系[26]。另一个问题是机器人如何生成拓扑地图。如果机器人可以获取环境的度量栅格地图,那它可以从中提取拓扑信息,并突出相关的导航信息,如开放的空间和通道[44]。或者,机器人也可以通过视觉数据及其处理后的信息创建拓扑图。
地点的定义取决于导航背景,它可以是一个精确的位置——“一个地方,将环境的一部分描述为零维点”(见[26]),或一个更大的区域——“一个区域的抽象”,这里的一个区域“代表环境的一个二维子集”(见[26])。例如,建筑物中的一个房间,在某些情况下,可能是一个地点,而在其他情况下,它也可能包含许多不同的地点。根据环境或机器人的需求,一个地点也可以是三维的。与机器人位姿不同,地点不具有方向性,并且场景识别中的一个长期挑战是姿态无关性——确保机器人在地点内任意方向上都能识别出来。
无论是一维点还是更大的区域,每个地点的位置都可以基于空间或时间密度来确定。在该方法中,根据特定的时间步长,或者,当机器人行进了一定距离时添加新地点。一个地方可以根据其外观定义。Kuipers和Byun [25]根据地点标签或地点描述来定义地点。虽然拓扑地图没有固定的标准,但是要具有特定的外观形态[45],[46],外观变化显著时要有一个物理边界,称为“冲要”[47]。
具有视觉相似性的拓扑区域需要被量化——也就是说,场景识别系统如何将环境分割成不同的地方?Ranganathan[48]指出,它与视频分割中的变化点检测有相似之处[49],[50],Ranganathan使用变化点检测算法,如Bayesian surprise[50]和分割回归[51] 来定义拓扑图中的地点[48],[52]。传感器测量环境的外观,当它与当前环境模型差异较大时,创建新的地点。类似地,Korrapati等使用图像排序分割技术将视觉上相似的图像归类为拓扑图节点,而Chapoulie等人 [54]使用了Kalman滤波与Neyman-PearsonLemma结合的方法来完成这一步骤。Murphy和Sibley [55]结合动态词汇构建[56]和增量式主题建模[57],不断地学习环境中新的拓扑区域,Volkov等人 [58]使用coresets [59]来分割环境。主题建模,coresets和Bayesian surprise的技术也可用于机器人导航的其他方面,比如,总结机器人已有的经验[ 60 ]–[ 62 ],或确定勘探策略[ 63 ]。
外观和密度,如距离,时间,或传感器值[ 64 ],为可测量的量,所以,基于外观和密度的地点选择方法比较实用。使用诸如“门”或“路口”的语义标签来增强外观信息,虽然比较有挑战性,但是这样它们可以基于决策点的数据在线匹配地点。地图中语义数据的添加有利于规划和导航[65],它要求场景识别与其他识别和分类任务相关联,特别是场景分类和物体识别。他们的关系是相互的:场景识别可以为物体检测提供标检测的情境以及物体位置的先验信息,从而改善物体检测[66],反过来,物体识别也有利于场景识别[67] - [70],特别是室内环境,我们可以从室内的东西来判断它的用途,比如“厨房”或“办公室”,然后结合语义标签地图来定位[71]。
4 地点描述:图像处理模块
基于视觉的地点描述技术分为两大类:一类是选择性地提取一些有意义的图像部分;另一类是无选择性地描述整个场景。局部特征描述子属于第一类,例如尺度不变特征(SIFT)[72]和加速鲁棒特征(SURF)[73]。局部特征描述子首先要检测图像中的局部特征[见图 4(a)]。而全局图像描述子,如Gist [74],[75]没有检测阶段,但需要处理整张图像[见图4(b)]。
A.局部特征描述子
SIFT [72]在场景识别中应用广泛 [76] - [83]。随着技术的发展,其他局部特征检测和描述方法也用于视觉定位和场景识别问题中。例如,Ho和Newman [84]使用了Harris affine regions[85],Murillo等人 [86]和Cummins与Newman[87]使用了SURF [73],而FrameSLAM [2]使用了CenSurE [88]。局部特征提取包含特征检测与描述子提取两个步骤,每个步骤可以使用不同的技术。例如,Mei等人 [89]使用FAST检测方法 [90]来找到图像中的关键点,然后通过SIFT描述子进行描述。类似地,Churchill and Newman [15]使用FAST提取,再用BRIEF [91]描述。
[图4 基于视觉的地点描述技术分为两大类。(a)选择图像中感兴趣或突出的部分用来提取,描述和存储。例如,SURF [73|提取并描述图像中的兴趣点。圆圈中是该图像内的SURF选择的兴趣点。特征的数量取决于图像中检测到的感兴趣点。(b)以预定方式描述图像,例如这里的网格,而不是先检测兴趣点。全图像描述子,如Gist [74|,75| 不管图片内容,直接处理每个块。
每张图像都包含数百个局部特征,所以直接匹配图像特征效率很低。词袋模型[92] [93]通过量化局部特征,使其变为检索词汇 [94]来提高效率。词袋模型将特征空间(例如SIFT或SURF描述子)分成视觉词汇。一般词汇量为5000–10000字,但FAB-MAP 2的词汇量有100000个[ 87]。图像中的每个特征点为一个特定的词,然后忽略几何或空间结构,将图像压缩到二进制串或长度为n的直方图,其中n是词库中的单词数量。
对于bag-of-words描述的图像,使用二进制串匹配(如汉明距离或直方图对比技术)效果较好。词汇树[95]可以提高大规模场景识别的效率。词汇树是针对目标识别提出的,通过分层模型来定义词,建立更大的和易分辨的词汇库,提高了查找视觉词汇的速度。使用bag-of-words方法的定位系统包括[82],[84],[87],[96],[97]等等。
因为bag-of-words忽略了地点的几何结构,所以该方法的地点描述具有姿态无关性,即,无论机器人在该地点内的位置如何,都能够识别。然而,向地点描述中添加几何信息可以提高匹配的鲁棒性,尤其是在动态环境中[14],[87],[98] - [100]。这些系统能够通过激光传感器获取3D信息[98],再使用立体视觉[14],对极约束[100],[101]或者图像内元素的位置来定义场景几何[102],[103]。姿态无关性(场景识别与机器人方向无关)以及环境无关性(外观信息变化时的场景识别)问题还有待解决,这也是当前位置识别研究领域中的一大挑战。
我们可以从训练图像序列中提取特征,来预定义Bag-of-words模型。但该方法具有局限性,因为所得到的模型依赖于环境,如果机器人移动到新的区域,则需要重新训练。Nicosevici和Garcia [56]提出了一种在线方法,根据观测结果不断更新词汇,同时仍然能与已有的观测信息进行匹配。因此, bag-of-words不需要预训练阶段也能适应环境,而且效果优于预训练模型[56]。
B. 全局描述子
早期定位系统中使用的全局地点描述子包括颜色直方图[5]和主成分分析 [104]。Lamon等人 [105]使用各种图像特征,如边缘[106],角[107]和色块组合成位置指纹。特征在0°和360°之间顺序排列,可以将位置识别简化成字符串匹配。系统使用全景相机,所以每个地点的匹配具有旋转不变性。
在局部图片(比如图像中划分出的网格)上找出关键点,然后描述其局部特征,这些局部特征描述子结合起来,形成全局描述子。Badino等人[108]使用WI-SURF(SURF特征)全局图像描述子来定位,BRIEF-Gist(RIEF特征) [109]也是类似的全局图像方式。
Gist全局图像描述子 [74],[75] 比较流行,已用于很多场合的场景识别[110] - [113]。Gist使用Gabor滤波器,以不同的方向和频率,从图像中提取信息,将结果平均,产生一个简洁向量,表示场景的“依据”。
[图 5似物性采样(object proposal)方法,如此处所示的Edge Boxes法[123|用于目标检测,也可用于识别潜在的地标。上面图像中的方框表示在一个场景中两个视点(来自122|)之间,正确匹配的地标
C. 基于局部和全局技术的描述地点
局部和全局描述子各有优缺点。局部特征不仅可以定义与先前机器人姿态相关的地点,也可以重新组合来创建未被明确观测的地点。例如,Mei等人 [114]通过covisibility定义地点:系统在地标covisibility map(共视图)中定义cliques(各种局部特征点结合在一起形成一个团体),即使当前图片中没有地标,通过 cliques也能进行场景识别。Covisibility技术优于一般的图像处理技术[78]。Lynen 等人[115]建立二维描述子投票空间,其中高投票密度的区域表示候选闭环。
局部特征与度量信息结合可以对定位进行度量修正[2],[7],[76]。全局描述子没有此功能,此外,在机器人的姿态改变时,整体图像描述子比局部描述子更易发生变化,整体图像描述方法倾向于假定相机视点相似。循环移位[116]或词袋方法,与图像块上的Gist结合[17],[110]可以改善该问题。
虽然全局描述相比于局部特征描述更具有姿态依赖性,但是当光照条件改变时,局部描述子的特征表现变差[117],在变化条件下执行场景识别时,全局描述子的性能更胜一筹[118] [119]。在图像块上使用全局描述子可以折中两种方法,足够大的图像块表现出整体图像的条件不变性,而足够小的图像块表现出局部特征的姿态不变性。McManus 等人 [120]在图像块上使用HOG [121]来学习条件不变性的场景特征,而Sünderhauf等人 [122]使用Edge Boxes似物性采样方法结合中级卷积神经网络(CNN)特征[124][123]来识别和提取图5所示的地标。
D.地点描述子中的三维信息
上述图像处理技术是基于环境外观的 ——它们“直接在视觉域中对数据建模(而不是建立几何模型)”(见[104])。然而,在度量定位系统中,外观模型必须根据度量信息进行扩展。单目图像数据不能直接提供几何地标——“与激光数据不同,不能从图像中获取世界几何信息(见[125])。许多系统使用附加传感器数据(如激光器[98]或RGB-D相机[126] - [128]),或者从常规相机计算出的几何数据,来判断机器人姿态。
度量距离可以使用立体相机采集的图片来计算[2],[129] - [131]。单目摄像机还可以使用SFM算法[132]来推断尺度信息。其他方法还包括MonoSLAM [7],PTAM [133],DTAM [134],LSD-SLAM [135]和ORB-SLAM [136]。度量信息可能是稀疏的:也就是说,测量距离与局部特征有关,如MonoSLAM [7]中的图像块,如[76]中的SIFT特征,FrameSLAM [2]中的CenSurE特征以及在ORB-SLAM [136]中的ORB特征[137]。相反,DTAM存储所有像素的度量信息(稠密),LSD-SLAM从包含结构和信息的图像块上提取深度数据(半稠密)。通过稠密度量数据,机器人可以避障、数据规划建图和定位,因此,可以自主视觉导航[16]。
通过新型传感器,如RGB-D相机,检测深度信息和图像数据,促进了稠密地图技术的发展[70],[126] - [128],[138],[139] 。这些传感器还可以利用3D信息来改善位置识别。SLAM ++ [70]存储一个3D模型数据库,在导航期间,使用该数据库进行物体识别,并用识别出的物体作为地点的高级特征。物体信息相对于低级别地点特征有以下优点:它们提供丰富的语义信息,通过语义压缩减少内存需求——在地图中存储物体标签而不是完整的物体模型[70]。
表 I 视觉场景识别的地图框架