SLAM回环检测中的(Bag-of-Words)词袋模型

视觉里程计仅用相邻帧图像估计运动,存在累积误差

      • 回环检测通过发现到达过的地方,可以有效修正运动轨迹

 消除累积误差

      • 从而保证了轨迹与地图的全局一致性Globally Consistent

我们可以看到上图绿色回路没有闭合,经过回环检测后的红色轨迹已经闭合。

词袋模型如何实现?

 

Bag-of-words模型应用于图像表示。为了表示一幅图像,我们可以将图像看作文档,即若干个“视觉词汇”的集合。

 

     •利用FAST算法,从每类图像中提取视觉词汇,将所有的视觉词汇集合在一起;

     •利用K-Means算法构造单词表,合并词义相近的视觉词汇,构造一个包含K个词汇的单词表;

     •统计单词表中每个单词在图像中出现的次数,从而将图像表示成为一个K维数值向量。

举一个简单的例子:

其实词袋模型最初用作文本分类,现在我们将词袋用作图像表示,将一幅图像看作是一个文档,即若干个“视觉词汇”组成的集合。

利用FAST算法,从每类图像中提取视觉词汇,将所有视觉词汇集合在一起,如下图:

                                                 

                       

                             从图像中提取相互独立的视觉词汇

                                                          

利用k-means算法进行聚类,合并词义相近的视觉词汇,构造包含k个词汇的单词表;使每一簇内具有较高的相似度。如下图:

•统计单词表中每个单词在图像中出现的次数,从而构成一个直方图。针对人脸、自行车、吉他三个文档,抽取相似的部分合并为一类,构造一个词典,即Directory={1:“自行车“,2.“人脸”,3.“吉他”,4.“人脸类”}

         

在论文Galvez-López D, Tardos J D. Bags of Binary Words for Fast Place Recognition in Image Sequences[J]. IEEE Transactions on Robotics, 2012, 28(5):1188-1197.中,词袋模型是这样建立的:

字典建立步骤:

  1.从一些训练图像中离线提取丰富的特征集;

  2.将提取的特征用 k-means++种子进行k-中值聚类,将描述子空间划分成 k 类;

  3.将划分的每个子空间,继续利用 k-means++ 算法做聚类 ;

  4.按照上述循环,将描述子建立树形结构.

整个算法流程图:

下图为词袋树:

其中词袋树中还包括了正向索引(Direct index )和反向索引(Inverse index):

•Direct index :正向索引存储图像特征,以及词汇树某一层上相关联节点的特征。

在回环检测的最后阶段——几何结构验证阶段,可以加速匹配候选图像与当前图像之间的特征点对

•Inverse index: 反向索引存储了图像中单词出现的权重。可以加快待比较的图像搜索速度。

当向数据库添加新图像时,将更新反向索引以及当数据库搜索某些图像时,将访问反向索引。

•计算两个词袋向量v1和v2之间的相似性:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值