Lazy Data Association For Image Sequences Matching Under Substantial Appearance Changes
2015,图像序列数据,GPS(可选),视觉导航,定位,场景识别
论文摘要
在室外机器人导航任务中,能够稳定的处理场景外表的季节性变化问题是一项非常重要的能力。
本文提出了一种基于CNN特征的、启发式的惰性数据融合方法来做图像序列的匹配
论文总结
现有工作能够在线(实时)的都不能处理场景的季节性变化,能够处理季节性变化的都不能实时。本文通过增量式的建立数据有向无环图解决了这个问题。 以往工作都是基于手工特征(sift,hog),性能不如CNN特征(即本文方法)
本文将序列匹配问题建模为图搜索问题,使用CNN提特征。在CV领域2015年的文章算比较老的了,但是的确看了之后比较容易懂,用的东西都是上课讲过的内容(除了具体实现的边边角角)
论文介绍: LAZY MATCHING FOR ONLINE OPERATION
解决的问题:在外貌极大变化的场景中,通过图像序列信息进行实时的全局定位
Q:从sensor中实时获取到的序列
D:数据库中需要比对的序列
该算法在内存中仅存储图像的index 和 特征(cnn-based),具体图像存储在磁盘中
A. Data Association Graph
搜索结构主要为有向无环图G=(X,E),将图像序列匹配问题建模为:在数据关联图中的最短路径搜索问题
-
x:node,代表两幅图之间可能的连接,有两种节点:
- start node (source/root node) Xs:初始节点
- matching node Xij:代表图像i(from Q)与图像j(from D)之间的一个匹配,两幅图片越相似,越有可能代表同一个场景,相似度Zij用两幅图像的特征描述子之间的余弦距离描述。
-
E :edge,有两种边:
- Es:连接source node 和 matching node
- Ex:连接两个matching nodes
- Es:连接source node 和 matching node
这里K可以理解为一个序列窗(搜索范围),在序列窗以内的图像才会被考虑。K直接决定了计算速度。
- weights/cost:边的权重是相似度的倒数:
B. Computing Image Similarity
这里介绍图像相似度的度量方法:基于lecun提出的OVERFeat网络提取特征,来代替传统的手工特征,对比效果如下:
相似度矩阵
左边是HOG特征,右边是OVERFeat特征,OverFeat特征产生更明显的相似值。这导致在数据关联图中实例化的节点数量减少(绿色),如第二行所示,计算量也更少
C. Image Sequence Matching through Graph Search
接下来说如何完成匹配:
问题转化为如何在root node 和其他node之间寻找最短路径。
对于在线匹配任务应当尽量避免节点实例化以减少计算量,之前的工作是使用A*算法来进行搜索,但是需要获取对未来的预测(很难获取),为此文本提出了一种基于 已有知识的限制对比次数的方法:
建立一个存储了nodes的优先队列F,node中存储的key为从root node到达该node的cost。
每接收到一帧图像,记为L:
- 从F中pop 出一个node;
- 使用启发式函数评估该节点是否值得扩展,不值得则pop下一个,否则:
- 扩展该节点(即计算其孩子节点的cost,孩子节点指搜索窗内的所有节点),然后连接该节点和孩子节点
- 如果孩子节点中有节点位于第L层,说明匹配找到,结束,否则返回1
上述搜索需要一个有效的、可接受的启发式函数来估计抵达L层的代价,论文这里提出使用基于统计学的方法:
-
取最佳path的平均cost作为新路径上一个节点x的匹配代价的预测值,记为u_cost(x)
-
最终计算出的期望代价即为:
g(X_ij)表示从root node到xij的cost
论文对该启发式函数的评价是,有用,不保证可接受(不一定能搜索到最佳路径),但是可以使搜索在线执行。
D. Exploiting Location Priors for Online Matching
加入一些位置的先验信息,比如GPS等,可以使提升搜索的表现以及更好的处理回环问题
-
接下来介绍如何将先验信息加入到有向无环图中:
根据位置先验可以确定图像i在数据库序列图像中的邻接帧:
其中dist(i,j)是根据位置先验信息计算得到的、当前帧i和数据库图像j之间的距离。不在N(i)中的图像不被考虑,这样大大减少了比对的数目,减少了计算量
- 根据以上做法,会使得graph有disconnected的问题,本文通过扩展孩子节点的定义来解决disconnected的问题:
这里的C是怎么定义的,论文里没说(??)
实验评估
证明三个结论:
- 能够以增量的方式运行,只扩展很少的节点,可以实现在线本地化运行
- 本文定义的启发式函数的搜索性能
- 算法能够利用位置先验信息处理机器人轨迹中的回环
A. Matching Performance ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/641e6baf9a2f1ba4185d80154f808fa7.png)
这里 α 是启发式函数中的权值。
算法比较了5693135个可能的匹配中29317个图像,使得计算成本降低了99.5%,同时获得了相似的匹配性能
B. Node Expansion
本文的启发式算法得到了类似的匹配结果,而随着扩展参数α的增加,需要执行的图像比较数量急剧下降,正如所有精确召回图所示,本文算法性能优于OpenSeqSLAM以及FLANN基线
最终选择α=0.6作为匹配性能和计算速度之间的一个很好的折衷。
C. Exploitation of Additional Location Priors
最后一个实验目的是证明 在存在附加但可能有噪声的位置先验的情况下,本文算法能够处理查询和数据库轨迹中的循环以及与数据库的偏差,即访问未知区域。
D. OverFeat vs. HOG Features
最后论文还对比了基于HOG和基于OVER Feat特征的性能,见之前的图
E.Timing
标准笔记本上约1fps。
计算OverFeat特征花费的时间最多,大约为500毫秒。扩展单个节点(即比较两个特征)需要8毫秒。最短路径的增量更新平均需要40毫秒左右。