visual place recognition 综述翻译与学习
原文地址: https://ieeexplore.ieee.org/document/7339473?arnumber=7339473
一、 视觉位置识别的主要问题和概念
无论是人、动物还是机器人,想要完成对位置的识别都要求以下两点:首先,需要一个内部表示,也可以说是需要一个地图,它的作用是与新输入的图像做对比;其次,需要一个判断机制,即当前的图像所代表的位置是已经在地图中出现过的还是新的,如果已经出现过,那么是哪一个,如果未出现过,如何更新地图。
在这个过程中可能出现的问题包括:
1) 位置的外观、结构等变化,如何匹配以及如何更新地图。
2) 不同位置具有相似或相同的结构,如何进行区分来正确匹配。
3) 机器人视角不同,或在不同时刻存在不同情况的遮挡,如何使匹配具有不变性。
1948年,心理学学科的若托尔曼提出了认知地图的概念,这一概念影响巨大。城市规划领域的教授林奇提出了认知地图是基于路径、边、节点、区域和地标的。而在机器人领域,认知地图促进了建图方法的发展,继而产生了空间语义层次结构。随着神经科学的发展,对位置的识别被认为是由“位置细胞”放电来完成的。
在视觉位置识别中,我们希望得到精确的全局地图和自我定位,SLAM就是这两个目的结合,但很显然我们是很难达到这样的目的的。保持精确的地图需要大量的计算,这对实际的应用来说不方便,在这一点上,可以用拓扑图这样的结构来表示地图中的位置关系,拓扑图中的节点和边分别代表位置和路径信息。这样虽然一定程度上解决了计算量的问题,但是也仍然存在难点:如何来抽象出节点和边的信息以及如何用这些信息构建出拓扑地图。
在对位置进行定位时,可以选择用时间密度或者空间密度进行定义,这样通过时间步长或者空间距离即可得到相应的位置信息。也可以选择用外观信息来定义,通过描述图像中在外观上具有显著差异的部分,即place signature或者叫place description。拓扑地图中的place一般被认为具有外观特征,place在外观上出现明显变化的边界被称为“gateway”。语义数据与导航信息相辅相成,例如位置识别中对目标的检测可以得到语义信息;而对于语义为“厨房”或者“办公室”,又可以帮助定位。
二、 图像处理模块
视觉位置描述技术可以分为两种:有选择的提取图像中的兴趣点或者注意点(local feature descriptors),或者直接对整幅图像进行处理(global descriptors)。
1. local feature descriptors
如图(a)所示,图中的小圆圈代表的是选择的兴趣点。一般一幅图像中有几百个兴趣点,直接对图像特征进行匹配十分低效。bag-of-words【附录1】模型可以有效提高效率。在词袋模型中的描述符是具有位姿不变性的,所以无论相机从哪个角度观察都可以。但是,如果能够在外观信息之外再加上传感器提供的几何信息,可以提高位置匹配的鲁棒性。
关于词袋的更新问题
2. global descriptors
早期的全局描述符包括颜色直方图、PCA主成分分析等。lamon【105引】利用边、角、色块等信息来作为图像的特征,将这些特征按照0到360度的顺序进行排序,就可以将位置识别简化为字符串匹配,同时使用全向摄像机,允许在每个位置进行旋转不变匹配。
全局描述符也可以通过预先定义关键点来生成,例如基于SURF feature的WI-SURF和基于Brief描述符的BRIEF-Gist。
Gist是一个比较通用的全局描述符。Gist使用不同方向和频率的Gabor滤波器从图像中提取信息。结果被平均产生一个紧凑的向量,代表一个位置的“gist”。
对比局部特征描述符和全局描述符,各有利弊。但是从性能表现来看,局部特征描述符的效果是全面优于全局特征描述符的。
三、 映射模块(建图)
1.纯图像检索
单纯的图像检索假定匹配是仅仅依靠外观上的相似性进行的,并应用计算机视觉中不特定于基于位置的信息的技术。没有相对位置信息的情况下,会丢掉很多有价值的信息,但是却提供了更高效的检索技术。随着机器人接受到的位置信息越来越多,位置索引也更加复杂。如果使用词袋模型,我们可以利用倒序索引来加快索引的速度。
层次词汇树 FAB-MAP2.0
2.拓扑地图
单纯的拓扑地图包含这些位置的相对信息,但是不包含这些位置如何相关的度量信息。拓扑信息有利于增加正确匹配的数量同时过滤错误匹配。
仍以FAB-MAP为例,这是一个概率型的系统,是在检索过程中先假设一个固定的位置,但是如果能够加入贝叶斯滤波或者类似的具有转换信息的技术,性能就会得到提升。
与图像检索可以通过倒序索引来进行查找相对应,拓扑地图可以通过位置来加速匹配,机器可以仅搜索上一个位置附近的几个位置的信息即可。一种基于采样的方法——粒子滤波,粒子会根据最可能的位置重新采样,如果机器人丢失了位置,粒子就分布到整个坏境中。计算时间与粒子数量成正比。
稀疏凸L1(范式)最小化。
3.拓扑-度量地图
在拓扑地图可以通过在图像边缘加入度量信息例如:距离、方向来提高性能表现。example:FAB-MAP+CAT-SLAM、SeqSLAM+SMART
度量信息的存储:as a sparse landmark map or as a dense occupancy grid map
四、 识别模块
1. 位置识别与SLAM
位置识别通过提供闭环候选在位姿图(基于视图的表示)SLAM算法中起到重要作用。
相当于,对于有多个闭环的在线地图更新,每次形成闭环时都会进行局部度量校正;而对于单独的全局闭环建图过程,回环检测就是用于关于这个循环。
如果位置描述是基于外观的,不包含任何度量信息,但是地图包含位置之间的度量距离,系统仍然可以使用loop闭包在位置级别执行度量校正。但是,如果位置描述包含与图像特征相关的度量信息,就像FrameSLAM的情况一样,那么可以执行更精确的校正。纯拓扑映射不提供任何度量位姿校正。在以上这些情况下,系统仅识别最有可能的位置。
位置识别映射包含位置描述内部和之间的度量信息,可以用来执行完整的度量SLAM解决方案。
2. 拓扑位置识别
如果多个数据流可用,可以使用一个投票机制。Ulrich and Nourbakhsh使用多个色带来表示可能的位置,每一票投给相应数据流对应的最可能的位置。根据投票结果,计算出相应的置信度,如果被判定为自信(在置信区间内?)且总的置信度超过了一定阈值,那么就表明系统当前判定的位置是充分自信的;反之,如果不一致或不达到阈值则为不确定的;如果置信带完全与当前位置不同,则系统为confused。
3. 位置识别系统的评估
精度-召回 曲线
准确率和召回率
TP:true positive FP: false positive FN:false negative
positive 被匹配的 negative:未被匹配的
人们提出了几种利用拓扑信息来纠正假阳性匹配的方法[189]-[191],人们的注意力已经从消除所有假阳性转向寻找许多潜在的位置匹配,然后在拓扑后处理步骤中纠正任何不匹配。
将识别的优先级设置为避免错误匹配,因为错误匹配可能导致灾难性的失败。100%精确度的召回是场所识别成功的关键指标。消除FP已经有成熟的方法,现在人们的注意力主要放在增加潜在匹配上。
目标:增加潜在匹配。
此外,随着位置识别系统从演示(通常使用预先录制的数据集)过渡到部署(在自动车辆上实时操作),性能评估方法可能会进一步改变,以包括考虑环境中位置匹配的空间分布。
五、 环境变化带来的挑战及应对
在长时间的导航中,如何不断调整前面的各个部分。
1. 描述符
- 使用条件无关的描述符
a. 结合最成功的SURF变体U-SURF[73],使用epipolar约束进行一致性检查,在小(40幅图像)数据集内实现了80% - 100%的正确匹配。
C. Valgren and A. Lilienthal, “SIFT, SURF & seasons: Appearancebased
long-term localization in outdoor environments,” Robot. Auton.
Syst., vol. 58, no. 2, pp. 149–156, 2010.
b. 在每幅图像中预定义特征关键点,只测试特征描述符的方差,与Valgren和Lilienthal[100][194]的工作相反,他们测试了特征检测器和描述符的组合效果
c. 边缘特征可以使用,因为光照、方向和比例都不会改变边缘信息。但是利用边缘信息进行数据关联会有挑战性。
d. 阴影去除技术、光照不变性色彩空间
e. 基于硬件的解决方案:扫描激光测距仪,可在黑暗中进行测试。也可以是红外、热成像。
f. 卷积神经网络。中层特征对外观变化具有较强的鲁棒性,而高层特征对视点变化具有较强的鲁棒性,并携带更多的语义信息,可以用来划分搜索空间[207]。
g. 颜色信息。
2) 以词袋为例,分割描述符空间,然后系统的学习这些词汇的概率分布。分布在相同环境下多次训练得到,在不同光照条件下进行特征匹配,得到概率分布。
2. 地图
- 记忆与遗忘
学习人类的记忆机制,数据有一个从短期记忆变成长期记忆的过程。而长期未被访问的地图数据就会被遗忘。 - 多重表征
例如一个空间,在24小时之内的视觉变化基本上每天都是重复的,可以利用多幅图像来表征循环方式出现的场景。例如,办公室环境在24小时内出现的场景可以用3到4幅图像来完全表示,达到良好的定位效果。地图不应该不断地记住和忘记信息,而是应该在一个地方或在整个地图级别保存该区域的多个表示。
或统计频率,学习最有可能是的地图。
在当机器人的观察结果与静态地图不匹配时,将会创建临时映射,而当临时地图在多个连续的时间步骤上不能与机器人的观测结果匹配时,临时地图就是被丢弃。
- 识别
将外观变化集成到位置识别系统中,需要对置信生成过程进行一些关键的修改。
首先,如上所述,更改环境需要每个位置的多个表示。如果是这样,系统可能会根据当前传感器数据选择最佳地图[226],或者它可能会尝试预测最可能匹配[18]的外观。
或者,位置识别系统可以并行运行多个假设。Churchill和Newman[15]为每个保存的体验分配了自己的本地化器,用于报告机器人是否在该环境中成功本地化,Morris等[220]则对可能的地图配置和可能的机器人姿态进行过滤。
在不断变化的环境中进行位置识别的一个因素是,随着传入的传感器数据越来越不可靠,越来越难以与以前的观测结果相匹配,拓扑信息变得越来越重要[118],[119]。已有研究发现,一般来说,匹配图像序列而不是单个图像可以改善位置识别,特别是在不断变化的环境中。
六、附录
1.bag of words
CSDN介绍地址:https://www.cnblogs.com/shihuajie/p/5782515.html
github地址:https://github.com/bikz05/bag-of-words.git
https://github.com/shackenberg/Minimal-Bag-of-Visual-Words-Image-Classifier.git
2.倒序索引
地址:https://blog.csdn.net/qq_22912803/article/details/52238655
3.Gist
全局特征信息,为位置的低维签名?(特征码)向量。GIST概念最初源自1979年Friedman A的论文,后于2001年被Oliva等人借用来代指空间包络特征,随后就是2003年由Torralba等人的继续研究。
4. SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建。
5.精度-回召曲线
6.闭环检测
7.特征描述子综述
http://ijcsit.com/docs/Volume 5/vol5issue06/ijcsit20140506168.pdf
http://www.sigvc.org/bbs/thread-165-1-1.html