视觉单词模型、词袋模型BoW
多用于图像检索、分类
3.2.1.4 视觉单词模型
视觉词袋(BoVW,Bag of Visual Words)模型,是“词袋”(BoW,Bag of Words)模型从自然语言处理与分析领域向图像处理与分析领域的一次自然推广。对于任意一幅图像,BoVW模型提取该图像中的基本元素,并统计该图像中这些基本元素出现的频率,用直方图的形式来表示。通常使用“图像局部特征”来类比BoW模型中的单词,如SIFT、SURF、HOG等特征,所以也称视觉词袋模型。图像BoVW模型表示的直观示意图如图所示。
图3-3 图像表示为视觉单词模型
利用BoVW模型表示图像,获得图像的全局直方图表示,主要有四个关键步骤:
Step 1:图像局部特征提取(Image Local Features Extrication)。根据具体应用考虑,综合考虑特征的独特性、提取算法复杂性、效果好坏等选择特征。利用局部特征提取算法,从图像中提取局部特征。
Step 2:视觉词典构造(Visual Dictionary Construction)。一般是从图像库中选取一部分来自不同场景或类别的图像来组成训练图像集,并提取其局部特征,然后对训练图像的所有局部特征向量通过适当的去冗余处理得到一些有代表性的特征向量,将其定义为视觉单词。通常所采用的处理方法是对训练图像的所有局部特征向量进行聚类分析,将聚类中心定义为视觉单词。所有视觉单词组成视觉词典,用于图像的直方图表示。
Step 3:特征向量量化(Feature Vector Quantization)。BoVW模型采用向量量化技术实现。现对图像局部特征的编码。向量量化结果是将图像的局部特征向量量化为视觉单词中与其距离最相似的视觉单词。向量量化过程实际上是一个搜索过程,通常采用最近邻搜索算法,搜索出与图像局部特征向量最为匹配的视觉单词。
Step 4:用视觉单词直方图表示图像,也称为量化编码集成(Pooling)。一幅图像的所有局部特征向量被量化后,可统计出视觉词典中每个视觉单词在该图像中出现的频数,得到一个关于视觉单词的直方图,其本质是上一步所得量化编码的全局统计结果,是按视觉单词索引顺序组成的一个数值向量(各个元素的值还可以根据一定的规则进行加权)。该向量即为图像的最终表示形式。
3.2.1.5 非结构图像数据的结构化描述
图像数据的结构化描述,可以用图像稀疏特征学习的统一框架进行表示。图像稀疏特征学习问题,是在提取图像局部特征的基础上,采用学习方法实现对图像的稀疏表示,最终以一个稀疏向量的形式来表示图像,描述图像的视觉内容。其本质仍然是一个图像特征提取问题:以图像局部特征集为数据源提取可以表征其信息的单个稀疏特征(向量)。在机器学习或稀疏表示研究领域,也称之为特征学习或稀疏学习问题。图像原始数据或图像局部特征数据本身都是高维的,它们从不同的层次(像素层、比像素高一级的特征层)对图像内容进行了描述,但往往都不是稀疏的。高维度和稀疏性是形成图像有效特征表示的重要属性。基于图像局部特征的稀疏学习的实现过程可用图3-4示意。
图3-4 稀疏学习的实现过程
具体地,选取图像库中的全部或部分图像作为训练图像,提取底层局部特征,通过词典学习方法(如聚类方法或基于稀疏学习的方法)得到超完备视觉词典,然后以此视觉词典作为编码码本,对库图像的局部特征进行特征编码,如采用向量量化编码、稀疏编码或局部编码等方法,得到每幅库图像的局部稀疏编码矩阵,进一步进行特征集成,如采用Sum Pooling、MaxPooling等集成函数或SPM空间集成策略,就可得到图像库中每幅图像的稀疏特征(即全局稀疏表示);另一方面,应用系统的输入图像的局部特征被提取,并利用训练好的视觉词典对其进行相同的特征编码和特征集成操作,就可得到输入图像的全局稀疏特征。
【其他文献】
图像视觉特征与视觉单词构造-2016年 - 百度文库 https://wenku.baidu.com/view/072358f15ff7ba0d4a7302768e9951e79b89699f.html
视觉词袋模型(BOVW) - 一双拖鞋走天下 - 博客园 https://www.cnblogs.com/chensheng-zhou/p/5056547.html
视觉词典BOW小结 - Darlingqiang的博客 - CSDN博客 https://blog.csdn.net/darlingqiang/article/details/81358531
视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析(1) - jason来自星星 - 博客园 https://www.cnblogs.com/zjiaxing/p/5548265.html
计算机视觉课程作业 基于词袋模型的图像分类算法 - 蒋_X_X Blog - CSDN博客 https://blog.csdn.net/baidu_28563321/article/details/46348439
视觉单词模型、词袋模型BoW的更多相关文章
- 第十九节、基于传统图像处理的目标检测与识别(词袋模型BOW+SVM附代码)
在上一节.我们已经介绍了使用HOG和SVM实现目标检测和识别,这一节我们将介绍使用词袋模型BOW和SVM实现目标检测和识别. 一 词袋介绍 词袋模型(Bag-Of-Word)的概念最初不是针对计算机视 ...
- 计算机视觉中的词袋模型(Bow,Bag-of-words)
计算机视觉中的词袋模型(Bow,Bag-of-words) Bag-of-words 读 'xw20084898的专栏'的blogBag-of-words model in computer visi ...
- 词袋模型bow和词向量模型word2vec
在自然语言处理和文本分析的问题中,词袋(Bag of Words, BOW)和词向量(Word Embedding)是两种最常用的模型.更准确地说,词向量只能表征单个词,如果要表示文本,需要做一些额外 ...
- NLP基础——词集模型(SOW)和词袋模型(BOW)
(1)词集模型(Set Of Words): 单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个. (2)词袋模型(Bag Of Words): 如果一个单词在文档中出现不止一 ...
- DBoW2 词袋模型笔记
DBoW算法用于解决Place Recognition问题,ORB-SLAM,VINS-Mono等SLAM系统中的闭环检测模块均采用了该算法.来源于西班牙的Juan D. Tardos课题组. 主要是 ...
- 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)概念介绍
例句: Jane wants to go to Shenzhen. Bob wants to go to Shanghai. 一.词袋模型 将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个 ...
- 词袋模型(BOW, bag of words)
词集模型:单词构成的集合,每个单词只出现一次. 词袋模型:把每一个单词都进行统计,同时计算每个单词出现的次数. 在train_x中,总共有6篇文档,每一行代表一个样本即一篇文档.我们的目标是将trai ...
- R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...
- 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析
原文地址:http://www.cnblogs.com/zjiaxing/p/5548265.html 在目前实际的视觉SLAM中,闭环检测多采用DBOW2模型https://github.com/d ...
随机推荐
- 阿里云RDS上用mysqldump导入导出
文章转载自: http://blog.csdn.net/jk0803_wantao/article/details/9179217 1. 开通云服务器服务.2. 开通RDS服务,如果开通成功,会返回给 ...
- JDK 5.0 注解的使用
了解注解 在编写代码时,除了源程序以外,我们还会使用Javadoc标签对类.方法或成员变量进行注解,以便使用Javadoc工具生成和源代码配套的Javadoc文档. /** * 重写toString ...
- 【Unity笔记】用代码动态修改Animator状态机的状态
通常情况下,Animator修改状态机,是在Animator定义参数(变量),状态之间建立切换的条件(箭头),然后代码中修改参数(变量),实现状态之间的切换. 而另一种情况下,不需要预先准备定义参数( ...
- HTTP 响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding
Tomcat 中响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding 客户端(PC浏览器或者手机浏览器)在接受到Tomcat的响 ...
- webstorm 设置jsp支持ZenCoding
setting -> File Type - html 里面增加*.jsp
- CentOS服务器简单判断CC攻击的命令
使用下面的命令,可以分析下是否在被CC攻击. 第一条命令: tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*' 正常的输出结果类似 ...
- java 生成指定区间随机数
int randNumber =rand.nextInt(MAX - MIN + 1) + MIN; // randNumber 将被赋值为一个 MIN 和 MAX 范围内的随机数
- [maven] settings 文件 本地maven仓库
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- MyBatis SqlSessionDaoSupport实例
在前面的章节中,我们已经讲到了基本的 mybatis 操作,但都是基于 mapper 隐射操作的,在 mybatis3 中这个 mapper 接口貌似充当了以前在ibatis 2中的 DAO 层的作用 ...
- Android 开发规范
一. 总包命名规范: 1. 主程序:com . 公司简写 . 项目名称简写 如彩票主程序: com.whszzy.caipiao 2. 独立模块:com . 公司简写 . 项目名称简写 . 模块名称 ...