BoW(词袋)模型详细介绍
最近学习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(词袋)模型详细介绍相关推荐
- 软件过程各类模型详细介绍(重要)
软件过程各类模型详细介绍(重要) 瀑布模型 瀑布模型的优点 瀑布模型的缺点 瀑布模型适合的项目类型 V过程模型 V过程模型的特点 V过程模型适合的项目 原型模型 原型模型的特点 原型模型的优点 增量模 ...
- 相机标定(五)—— 相机模型详细介绍
相机模型 相机与图像的一些基本概念 针孔相机模型 坐标系介绍 世界坐标系 相机坐标系(光心坐标系) 图像坐标系 像素坐标系 成像过程的数学模型 世界坐标系->相机坐标系 相机坐标系–>像平 ...
- Windows Socket五种I/O模型详细介绍(精)
如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的.Windows操作系统提供了选择(Select).异步选择(WSAAsyncSelect).事件选择(WSAEventSel ...
- 使用select模型详细介绍并使用此模型来监视标准输入缓冲区stdin里是否还有数据
select是sock通讯下的一个api,主要用来检查sock文件描述符所指向的文件缓冲区里的状态,最常用的检查缓冲区里是否还有数据,在sock模型下凡事从网络中发来的数据都会临时存放到缓冲区里,然后 ...
- BoW(词袋Bag of words)
Bag-of-words词袋模型最初被用在信息检索领域.例如检索一篇文档,只需考虑文档中出现单词的频率,而不用考虑语法语序等.在图像领域,如果把一幅图像当作文档,图像中的图像块的特征向量视为文档内的词 ...
- javabean是描述java什么模型_JSP和JavaBean模型详细介绍
本文向大家介绍JSP和JavaBean模型,可能好多人还不知道JSP和JavaBean模型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 运用JSP/Servlet实现的web动态交 ...
- css布局模型详细介绍
文章出自个人博客https://knightyun.github.io/2018/05/04/css-layout-model转载请申明 HTML中元素有三种布局模型:流动模型.浮动模型.层模型. 流 ...
- 访问控制模型详细介绍
1.访问控制模型 为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用.保证用户在系统安全策略下正常工作,拒绝非法用户的非授权访问请求,拒绝合法用户越权的服务 ...
- 词袋 图像检索 matlab,词袋模型BoW图像检索Python实战
前几天把HABI哈希图像检索工具包更新到V2.0版本后,小白菜又重新回头来用Python搞BoW词袋模型,一方面主要是练练Python,另一方面也是为了CBIR群开讲的关于图像检索群活动第二期而准备的 ...
最新文章
- 兵器工业计算机应用研究所刘培志,一种双目视觉立体匹配算法_2
- keras 提取某一层的feature_map
- json字符串与对象互相转换
- C语言寻找错误是哪个快捷键,求大佬改正寻找一下错误,
- 文件系统之-JAVA Sftp远程操作:
- java 同域名下怎么访问同事的项目_喜大普奔,两个开源的前后端分离项目可以在线体验了...
- features its own
- linux系统里route -n不起作用,Linux系统中traceroute命令使用详解
- android沉浸模式代码,Android沉浸式的两种方法
- Windows 2003系统安全+IIS下Web与FTP的完美结合(下)
- 纯虚函数的类为什么不能被实例化
- Socket套接字简介
- 在线ps,修改证件照背景色
- 84 岁 iOS 女程序员,不得不服!
- 华为S5700交换机开启Telnet和SSH服务
- 移位运算(左移和右移)
- 综述:神经网络的优化-优化器,动量,自适应学习率,批量归一化
- 2020年全省彩礼排名_2020国人彩礼地图:哪个省的彩礼最贵?
- 网络安全之文件上传漏洞
- cgm 转jpg java_获取图片,音频,视频,压缩包文件类型的工具类