视觉单词模型、词袋模型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 ...
随机推荐
- # Writing your first Django app, part 2
创建admin用户 D:\desktop\todoList\Django\mDjango\demoSite>python manage.py createsuperuser 然后输入密码 进入a ...
- Java API学习(一) ArrayList源码学习
ArrayList在平常用的还挺多的,用起来十分舒服,顺手.这里来学习一下它的源码. 类定义 下面是类的定义: public class ArrayList<E> extends Abst ...
- TP v5中环境变量在项目中的应用
环境变量,顾名思义就是在不同的系统环境,同一个变量的值可以有所不同. 如开发环境.测试环境与正式环境下,数据库配置.静态资源文件Url前缀.缓存.各种key等配置都不相同,对于提交到仓库中的代码,理论 ...
- require.js+knockout.js+.underscore模板引擎的使用
第一种使用方式: HTML: <ul data-bind="template: { name: 'peopleList' }"></ul> <scri ...
- Class类文件结构
平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现.不仅使用Java编译器可以把Java代码编译成存储字节码的Cla ...
- drupal drush 在windows下的安装和配置
一.windows下drupal的安装 参考官网:https://www.drupal.org/node/594744 drush下载:https://github.com/drush-ops/dru ...
- 【css】关于 hr 在各浏览器中的问题
在做页面是有时候会用到分割线 hr,但是在 ie6 和 ie7 下显示很蛋疼,本文将教你如何写出兼容各浏览器的 hr. 首页我们先了解下 hr 在各浏览器下的差异,如下表格: 正常浏览器 ie6. ...
- C++ StringBuilder类
#ifndef __GTL_STRINGBUILDER_H_ #define __GTL_STRINGBUILDER_H_ #include <list> #include <str ...
- Spring加载静态资源的方式
解决方法1:在web.xml里添加如下的配置 <servlet-mapping> <servlet-name>default</servlet-name> < ...
- 反编译CMD命令
1.反XML命令 E:\HuaWei Tools\android\apktool-install-windows-r04-brut1 java -jar AXMLPrinter2.jar guide ...