多用于图像检索、分类

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的更多相关文章

  1. 第十九节、基于传统图像处理的目标检测与识别(词袋模型BOW+SVM附代码)

    在上一节.我们已经介绍了使用HOG和SVM实现目标检测和识别,这一节我们将介绍使用词袋模型BOW和SVM实现目标检测和识别. 一 词袋介绍 词袋模型(Bag-Of-Word)的概念最初不是针对计算机视 ...

  2. 计算机视觉中的词袋模型(Bow,Bag-of-words)

    计算机视觉中的词袋模型(Bow,Bag-of-words) Bag-of-words 读 'xw20084898的专栏'的blogBag-of-words model in computer visi ...

  3. 词袋模型bow和词向量模型word2vec

    在自然语言处理和文本分析的问题中,词袋(Bag of Words, BOW)和词向量(Word Embedding)是两种最常用的模型.更准确地说,词向量只能表征单个词,如果要表示文本,需要做一些额外 ...

  4. NLP基础——词集模型(SOW)和词袋模型(BOW)

    (1)词集模型(Set Of Words): 单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个. (2)词袋模型(Bag Of Words): 如果一个单词在文档中出现不止一 ...

  5. DBoW2 词袋模型笔记

    DBoW算法用于解决Place Recognition问题,ORB-SLAM,VINS-Mono等SLAM系统中的闭环检测模块均采用了该算法.来源于西班牙的Juan D. Tardos课题组. 主要是 ...

  6. 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)概念介绍

    例句: Jane wants to go to Shenzhen. Bob  wants to go to Shanghai. 一.词袋模型 将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个 ...

  7. 词袋模型(BOW, bag of words)

    词集模型:单词构成的集合,每个单词只出现一次. 词袋模型:把每一个单词都进行统计,同时计算每个单词出现的次数. 在train_x中,总共有6篇文档,每一行代表一个样本即一篇文档.我们的目标是将trai ...

  8. R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...

  9. 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析

    原文地址:http://www.cnblogs.com/zjiaxing/p/5548265.html 在目前实际的视觉SLAM中,闭环检测多采用DBOW2模型https://github.com/d ...

随机推荐

  1. Domain应用之 根据某个Many2one的对象的 X2many对象 过滤

    如果两者都是many2one类型的对象,过滤非常简单,在xml中添加domain过滤即可,比如 国家.省市之间的联动关系. 如果想要根据某个对象的X2many类型的字段进行过滤该如何去做呢? 答案是利 ...

  2. mongo的身份验证和授权

    问题来源 刚装好的mongo,准备登陆进去测一把的,结果就给我报这个错,鄙人是新手,还不太清楚这个,现学一下~ Mongo的身份验证 在上一篇安装mongo的博客中(https://www.cnblo ...

  3. 华为路由器GRE配置

    1. 协议简介 gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议 ...

  4. Java异常处理之InvocationTargetException(反射异常)

     Java异常处理之InvocationTargetException(反射异常) InvocationTargetException异常由Method.invoke(obj, args...)方法抛 ...

  5. Sublime Text 3中文乱码问题的解决(最有效)

    Sublime Text 3中文乱码问题的解决(最有效) Sublime Text 3是很好的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开 ...

  6. UIWebview交互之自己定义传值跳转

    UIWebview常常会用到和原生页面的跳转.有的可能还须要传值跳转.自己写了一个自己定义跳转的webview,能够跳转到指定控制器并传值,这须要和后台协商好.html中怎样传值跳转,即:html中的 ...

  7. How get a String Width in Libgdx?

    http://stackoverflow.com/questions/16600547/how-get-a-string-width-in-libgdx

  8. 关于Unity中坐标系的种类

    坐标空间 1:物体空间: 3D物体自己的坐标空间 一般设计时几何体以中心为原点,人物以双脚为原点; 2: 世界空间: 3D物体在场景中的世界坐标, 整个游戏场景的空间; 3: 摄像机空间: 以观察摄像 ...

  9. Linux强制杀进程命令行工具

    需求, 有时候我们会有手动启动程序, 但是又在后台, 没有像服务那样有start, 和stop的程序, 这时候需要用强制杀进程方式 涉及工具, awk, sed, xargs, kill 需求一: 已 ...

  10. 自定义python web框架

    -- Bootstrap http://www.bootcss.com/ -- Font Awesome http://fontawesome.io/ -- bxslider http://bxsli ...