视觉词袋 visual bag of words

视觉词袋

许多应用中需要快速的图像特征匹配,比如视觉SLAM中的回环检测环节,需要实时判断当前图像帧是否在之前的图像数据库中出现,为了满足实时场景,对时间要求非常敏感。
目前特征提取,包括SIFT、SURF等,在执行特征匹配时往往比较耗时,视觉词袋的设计则在一定程度解决了这一问题。

视觉词袋是一种利用视觉词汇表将图像转换为稀疏分层向量的技术手段,从而可以操作数量较大的图像集合。 本文中介绍的词袋模型主要参考《Bags of Binary Words for Fast Place Recognition in Image Sequences》文献,以FAST提取特征,BRIEF提取描述,为256 bit。

视觉词汇表通过离线的将2进制描述空间离散为 W 个词汇,在分层的词汇表中,将其表示为树结构。通过在图像数据集中提取大量的特征描述,并将其通过聚类方法将其离散为kw个群集,这些群集构成了树的第一层结构,之后的层级可以在每一个节点上重复该聚类过程,直到进行 Lw 次。最终可以得到有 W 个叶节点的树,如下图所示:


词袋树层次结构

每个单词带有权重,该权重通过训练过程中的相关性进行确定,降低出现频率非常大但区别很小的词汇的权重,比如采用tf-idf算法。
每张图像(在线的)It转换为词袋向量 vtRW ,该转换过程为图像特征的描述由树的根节点向叶节点搜索,每次选择汉明距离最小的节点。

反续表(Inverse index)

反续表为每个词汇 wi 存储一个图像列表,该列表中图像均含有该词汇,列表中每个元素表示为 <It,vit> <script type="math/tex" id="MathJax-Element-1017"> </script>。对于在数据库中快速检索含有相同词汇的场景非常有用。该反续表在图像加入时进行更新。

直接表(Direct index)

还有一种场景,需要在图像之间寻找最相似特征,直接表则可以派上用场。直接表可以有效的存储图像的特征,并提供比对。我们按照树结构在每一层 l 上分割节点,这些节点在出现的图像It中存储相关的特征列表 ftj ,如上图所示。通常在使用时,需要设定好在哪一层上选定节点,然后比较同一节点的特征描述。

词汇相似度

s(v1,v2)=112v1v1v2v2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值