zoukankan      html  css  js  c++  java
  • 计算机视觉中的词袋模型(Bow,Bag-of-words)

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

    读 'xw20084898的专栏'的blog Bag-of-words model in computer vision

    Bag-of-words 模型

    之前教研室有个小伙伴在做文本方面的东西,经常提及词袋模型,只知道是文本表示的一种,可是最近看的关于CV的论文中也出现BoW模型,就很好奇BoW到底是个什么东西。

    BoW起始可以理解为一种直方图统计,开始是用于自然语言处理和信息检索中的一种简单的文档表示方法。 和histogram 类似,BoW也只是统计频率信息,并没有序列信息。而和histogram不同的是,histogram一般统计的某个区间的频数,BoW是选择words字典,然后统计字典中每个单词出现的次数。
    比如下面两个文档

    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}

    那么两篇文档统计出来的BoW 向量就是
    [1,2,1,1,1,0,0,0,1,1]
    [1,1,1,1,0,1,1,1,0,0]

    BoW model in CV

    2003年以来,BoW出现在CV中,如图像分类、图像检索等。
    其大概过程首先提取图像集特征的集合,然后通过聚类的方法聚出若干类,将这些类作为dictionary,即相当于words,最后每个图像统计字典中words出现的频数作为输出向量,就可以用于后续的分类、检索等操作。

    以sift特征为例,假设图像集中包含人脸、自行车、吉他等,我们首先对每幅图像提取sift特征,然后使用如kmeans等聚类方法,进行聚类得到码本(dictionary)

     

    enter description here

    1477448323465.jpg

     

    之后在每一幅图像中统计sift特征点在码本上的频数分布,得到的向量就是该图像的BoW向量。

     

    enter description here

    1477448445032.jpg

    最后就可以使用这些向量进行模式识别的其他操作了。

     

    下图中给出了一个整体的过程

     

    enter description here

    1477448501616.jpg

     

  • 相关阅读:
    ES6, CommonJS, AMD, CMD,UMD模块化规范介绍及使用
    前端项目开发框架选型需考虑的4个方面
    初识webSocket及其使用
    动态组件 —— 2种方式实现动态组件的切换
    mac下anaconda安装新包
    新版docker设置国内镜像
    记一次解决Original error: UiAutomator quit before it successfully launched
    linux clion cmakelisits undefined reference 未定义引用
    苹果设备插入PC不能识别问题解决办法
    用Cucumber理解BDD行为驱动开发
  • 原文地址:https://www.cnblogs.com/YiXiaoZhou/p/5999357.html
Copyright © 2011-2022 走看看