最近学习BoW模型,将自己网上看到的资料及对论文的理解,将BoW模型总结如下!

BoW模型

Bag-of-words model (BoW model) 最早出现在自然语言处理(Natural Language Processing)和信息检索(Information Retrieval)领域.。该模型忽略掉文本的语法和语序等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的。BoW使用一组无序的单词(words)来表达一段文字或一个文档.。近年来,BoW模型被广泛应用于计算机视觉中。

基于文本的BoW模型的一个简单例子如下:

首先给出两个简单的文本文档如下:

John likes to watch movies. Mary likes too.

John also likes to watch football games.

基于上述两个文档中出现的单词,构建如下一个词典 (dictionary):

{"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, 1, 1, 0, 0, 0, 1, 1]

[1, 1,1, 1, 0, 1, 1, 1, 0, 0]

该向量与原来文本中单词出现的顺序没有关系,而是词典中每个单词在文本中出现的频率。

BoW模型用于图像分类

2004年Gabriella Csurka、Christopher R. Dance等人基于词袋模型提出了一种图像的分类方法--Bag of Keypoints。图像中的单词(words)被定义为一个图像块(image patch)的特征向量(feature vector),图像的BoW模型即 “图像中所有图像块的特征向量得到的直方图”。

关于BoW模型用于图像分类提取特征直方图包含以下几个步骤:

1 特征提取

提取训练样本图像块中的特征向量,提取特征向量的方法可以使SIFT、SUFR等。该步骤生成的图像特征的描述子应该具有不变性对于光照的的变化、变形、碰撞等。

图1表示一幅通过SURF方法提取的特征点图像。

图1 SURF方法检测特征点

2 构建词典(Vocabulary)

通过上步的特征提取,我们得到了所有训练样本图像中的特征。比如有N张训练图片,使用SIFT方法提取图像特征,我们最终将得到个特征点。接下来我们将使用NF个特征点构建词典,构建词典过程需要使用一些聚类算法,通常选用k-means方法。首先选取n个聚类中心,通过迭代算法算出最终的n个聚类中心。

图2为K均值聚类示意图。其中菱形、圆形、长方形、五边形代表四个类(由黄色圆框分别包围),通过K均值聚类算法后,将形成4个新的聚类中心,如图2中4个蓝色实心原点表示。

图2 K均值聚类示意图

n个聚类中心即我们构建的词典,以后每来一个新的特征点,都将该新特征点映射到n个聚类中心中的一个。

3 计算图像特征直方图

通过K均值聚类算法后,得到n个新的聚类中心,即得到了特征直方图的一个基,如图3所示。

图3 特征直方图的基

接下来我们将图像的特征点聚类到n个已经生成的词典(即n个聚类中心)中,并且统计落入每个词典中的特征点的个数。这样我们可以得到一幅图像的特征直方图。

不同类别的特征直方图不一样,图4表示类1的特征直方图,图5表示类2的特征直方图,图6是一幅真实图像的特征直方图。

图4 类1的特征直方图

图5 类2的特征直方图

图6 真实图像的特征直方图

上面是关于Bow用于图像分类提取特征直方图的基本方法,关于BOW模型用于图像分类,使用SVM训练请看下篇博文!

如有不正确希望多多包涵,欢迎指出共同交流学习。

Surf和Sift特征提取代码下载地址http://download.csdn.net/detail/u010213393/8159185


BoW(词袋)模型详细介绍相关推荐

  1. 软件过程各类模型详细介绍(重要)

    软件过程各类模型详细介绍(重要) 瀑布模型 瀑布模型的优点 瀑布模型的缺点 瀑布模型适合的项目类型 V过程模型 V过程模型的特点 V过程模型适合的项目 原型模型 原型模型的特点 原型模型的优点 增量模 ...

  2. 相机标定(五)—— 相机模型详细介绍

    相机模型 相机与图像的一些基本概念 针孔相机模型 坐标系介绍 世界坐标系 相机坐标系(光心坐标系) 图像坐标系 像素坐标系 成像过程的数学模型 世界坐标系->相机坐标系 相机坐标系–>像平 ...

  3. Windows Socket五种I/O模型详细介绍(精)

    如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的.Windows操作系统提供了选择(Select).异步选择(WSAAsyncSelect).事件选择(WSAEventSel ...

  4. 使用select模型详细介绍并使用此模型来监视标准输入缓冲区stdin里是否还有数据

    select是sock通讯下的一个api,主要用来检查sock文件描述符所指向的文件缓冲区里的状态,最常用的检查缓冲区里是否还有数据,在sock模型下凡事从网络中发来的数据都会临时存放到缓冲区里,然后 ...

  5. BoW(词袋Bag of words)

    Bag-of-words词袋模型最初被用在信息检索领域.例如检索一篇文档,只需考虑文档中出现单词的频率,而不用考虑语法语序等.在图像领域,如果把一幅图像当作文档,图像中的图像块的特征向量视为文档内的词 ...

  6. javabean是描述java什么模型_JSP和JavaBean模型详细介绍

    本文向大家介绍JSP和JavaBean模型,可能好多人还不知道JSP和JavaBean模型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 运用JSP/Servlet实现的web动态交 ...

  7. css布局模型详细介绍

    文章出自个人博客https://knightyun.github.io/2018/05/04/css-layout-model转载请申明 HTML中元素有三种布局模型:流动模型.浮动模型.层模型. 流 ...

  8. 访问控制模型详细介绍

    1.访问控制模型 为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用.保证用户在系统安全策略下正常工作,拒绝非法用户的非授权访问请求,拒绝合法用户越权的服务 ...

  9. 词袋 图像检索 matlab,词袋模型BoW图像检索Python实战

    前几天把HABI哈希图像检索工具包更新到V2.0版本后,小白菜又重新回头来用Python搞BoW词袋模型,一方面主要是练练Python,另一方面也是为了CBIR群开讲的关于图像检索群活动第二期而准备的 ...

最新文章

  1. 兵器工业计算机应用研究所刘培志,一种双目视觉立体匹配算法_2
  2. keras 提取某一层的feature_map
  3. json字符串与对象互相转换
  4. C语言寻找错误是哪个快捷键,求大佬改正寻找一下错误,
  5. 文件系统之-JAVA Sftp远程操作:
  6. java 同域名下怎么访问同事的项目_喜大普奔,两个开源的前后端分离项目可以在线体验了...
  7. features its own
  8. linux系统里route -n不起作用,Linux系统中traceroute命令使用详解
  9. android沉浸模式代码,Android沉浸式的两种方法
  10. Windows 2003系统安全+IIS下Web与FTP的完美结合(下)
  11. 纯虚函数的类为什么不能被实例化
  12. Socket套接字简介
  13. 在线ps,修改证件照背景色
  14. 84 岁 iOS 女程序员,不得不服!
  15. 华为S5700交换机开启Telnet和SSH服务
  16. 移位运算(左移和右移)
  17. 综述:神经网络的优化-优化器,动量,自适应学习率,批量归一化
  18. 2020年全省彩礼排名_2020国人彩礼地图:哪个省的彩礼最贵?
  19. 网络安全之文件上传漏洞
  20. cgm 转jpg java_获取图片,音频,视频,压缩包文件类型的工具类

热门文章

  1. k8s学习笔记(一)
  2. oracle免费版本下载地址,Oracle各版本下载地址和方法
  3. gdb打印errno显示cant find thread-local storage xxxx
  4. PDF文档是什么,如何修改PDF文档
  5. 面向协议与面向对象的区别
  6. 从ElasticSearch 认识到实战(SpringBoot集成ES)
  7. 服务器 网站流量监控,网站服务器流量监控工具
  8. 清华大学刘知远组:文本分类任务中,将知识融入Prompt-tuning过程
  9. okhttp post请求
  10. QQ和360干起来了,中国互联网2大服务商进行白刃战