计算机视觉学习 BOW模型图像搜索

本文详细介绍了BOW(Bag of Words)模型在计算机视觉中的应用,特别是图像搜索领域。首先解释了BOW模型的基本原理,通过将图像分割成patch并计算SIFT特征,然后使用K-Means算法构造单词表。接着,讨论了如何利用单词表表示图像,以及在图像分类中的三个主要步骤:特征提取和描述、视觉词典构造、单词表示图像。最后,提到了代码实现的相关脚本。
摘要由CSDN通过智能技术生成

BOW模型 bag of words

1.简介
bag of words是文档的一种建模方法,它可以把一个文档表示成向量数据,从而使计算机处理文档数据更加方便。
例如:
在这里插入图片描述
把文档中的单词抽取出来,可以构成一个单词表:
{
“John”: 1,
“likes”: 2,
“to”: 3,
“watch”: 4,
“movies”: 5,
“also”: 6,
“football”: 7,
“games”: 8,
“Mary”: 9,
“too”: 10
}
这个单词表中有10个不同的词,根据单词表中每个词的索引号,可以把两个文档表示成如下的两个含有10个元素的向量:
在这里插入图片描述
其中,元素值代表其索引号在单词表中对应的词在文档中出现的次数。比如第一个文档对应的向量,前两个元素值为1和2,1代表“John”在该文档中的出现1次,2代表“likes”在该文档中出现2次。
这样的建模,只提取了单词,忽略了语法和语序,等于把单词一个一个放进一个袋子里,所以是词袋模型。

2, BOW在图像中的应用
详见 http://blog.sina.com.cn/s/blog_65f81ec601012sd5.html

要应用到图像中,我们要把一幅图看成一个文档,图片分割成的patch对应的sift特征看成单词。所以首先要做的是单词表的构造。由于图像中的词汇不像文本文档中的那样是现成的,我们需要首先从图像中提取出相互独立的视觉词汇,这通常需要经过三个步骤:(1)特征检测,(2)特征表示,(3)单词本的生成。如图:
在这里插入图片描述
bow模型的实现主要有以下三步:
1)把图像分割成一个个patch,并对每个patch的中心点计算sift特征。sift算法可以提取图像中的局部不变特征,这一步是做dense sift.
在这里插入图片描述
2)利用K-Means算法构造单词表。将这些patch的中心点的sift特征聚成为k个类,用这k个聚类中心来构造单词表。因为一幅图像中能提取出成千上万个sift向量,而每个sift向量是128维的,为了减小计算量,需要对这些sift向量做聚类,把相似的patch合并,取聚类中心作代表,构造单词表。

3)利用单词表的中词汇表示图像。利用SIFT算法,可以从每幅图像中提取很多个特征点,这些特征点都可以用单词表中的单词近似代替,通过统计单词表中每个单词在图像中出现的次数,可以将图像表示成为一个

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值