【CV知识学习】【转】beyond Bags of features for rec scenen categories。基于词袋模型改进的自然场景识别方法
原博文地址:http://www.cnblogs.com/nobadfish/articles/5244637.html
原论文名叫Byeond bags of features:Spatial Pyramid Matching for Recognizing Natural Scene Categories.
这篇文章的中心思想就是基于词袋模型+金字塔结构的识别算法。首先简单介绍词袋模型。
1.词袋模型
Bag of words模型也成为“词袋”模型,在最初多是用来做自然语言处理,Svetlana在进行图片分类时,使用了“词袋”模型。词袋模型的主要思想是利用每一个“word”的频率作为特征来分类,忽略它的单词顺序和语法、句法等要素。
在图像分类应用时,图像每一个提取出来的特征被当做一个单词来考虑,那么一张图片就是一篇文章的,只不过这个文章是由图片特征组成,在此我们并不考虑特征的前后顺序。
Bag Of Words 主要有两步,第一步基础特征提取,第二步,字典生成(高级特征),最后一步,分类器分类。
1.1基础特征提取
Svetlana在此篇论文中选取的基础特征是SIFT算子,每一个SIFT点会提取一个128维的特征向量。SIFT特征点的提取,和特征向量的计算在其他的博客有所介绍不赘述,本实验代码中提取SIFT特征的代码是用的vlfeat库的vl_sift函数。
1.2 字典生成
基础特征提取之后,我们就获得到了“word”,由于word之间有一定的信息冗余和噪音干扰,并且数据量往往很大,直接用来分类可能效果并不好。因此我们需要设计一些“bag”。在此我们是通过聚类实现的,本文中的聚类方法选择的是K-means算法构造,构造的“bag”数量为400。
生成“bag”之后,我们会将“word”在各个bag中的频率作为一幅图像的特征描述向量。如下图

1.3分类器
分类器选用的是比较简单的线性SVM分类器。
2.金字塔结构
对原始的词袋模型加入金字塔结构。
典型词袋模型只是在原图上进行直方图统计,在金字塔结构中,每一层都会将图像分成不同的区域,分别统计直方图。整个金字塔空间统计出的直方图向量则为最终的特征向量,可以用来分类。示意图如图,此图为3层金字塔结构的直方图统计。

【CV知识学习】【转】beyond Bags of features for rec scenen categories。基于词袋模型改进的自然场景识别方法的更多相关文章
- 【CV知识学习】神经网络梯度与归一化问题总结+highway network、ResNet的思考
这是一篇水货写的笔记,希望路过的大牛可以指出其中的错误,带蒟蒻飞啊~ 一. 梯度消失/梯度爆炸的问题 首先来说说梯度消失问题产生的原因吧,虽然是已经被各大牛说烂的东西.不如先看一个简单的网络结构 ...
- 【CV知识学习】early stop、regularation、fine-tuning and some other trick to be known
深度学习有不少的trick,而且这些trick有时还挺管用的,所以,了解一些trick还是必要的.上篇说的normalization.initialization就是trick的一种,下面再总结一下自 ...
- 【CV知识学习】Fisher Vector
在论文<action recognition with improved trajectories>中看到fisher vector,所以学习一下.但网上很多的资料我觉得都写的不好,查了一 ...
- 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)
紧接着:网络知识学习1 1.IP地址 IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...
- HTML5标签汇总及知识学习线路总结
HTML5标签汇总,以及知识学习线路总结.
- 安全测试3_Web后端知识学习
其实中间还应该学习下web服务和数据库的基础,对于web服务大家可以回家玩下tomcat或者wamp等东西,数据库的话大家掌握基本的增删该查就好了,另外最好掌握下数据库的内置函数,如:concat() ...
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- 毕业设计预习:VHDL入门知识学习(一) VHDL程序基本结构
VHDL入门知识学习(一) VHDL程序基本结构 简介 VHDL程序基本结构 简介 概念: HDL-Hardware Description Language-硬件描述语言-描述硬件电路的功能.信号连 ...
- 「日常训练&知识学习」单调栈
这几天的知识学习比较多,因为时间不够了.加油吧,为了梦想. 这里写几条简单的单调栈作为题解记录,因为单调栈的用法很简单,可是想到并转化成用这个需要一些题目的积淀. 相关博客参见:https://blo ...
随机推荐
- 发生在升级OS X Yosemite后:修复各种开发环境
本博文最初发布于我的个人博客<Jerry的乐园> 终于还是忍不住升级了,促使我升级的原动力居然是Alfred的Yosemite theme居然比初始theme好看很多!在升级前就预想到我的 ...
- RaspberryPi cProfile使用
使用sudo python -m cProfile -o 1.cprof your.py生成cprof文件 windows下安装snakeviz:pip install -i https://pypi ...
- Java 遍历Map对象的4种方法
http://blog.csdn.net/tjcyjd/article/details/11111401
- Linux学习日记之Deepin下查看crontab运行日志
Deepin使用 journalctl 替代了 syslog 来处理系统日志 故查看crontab运行日志应使用 journalctl -f /usr/sbin/cron
- navicat创建存储过程报错
搞了半天这个恶心的报错,最后发现竟然是存储过程的一个varchar类型的参数没给长度,如varchar(64)长度必须指定不然就会报错: mark一记
- Hibernate+Spring整合开发步骤
Hibernate是一款ORM关系映射框架+Spring是结合第三方插件的大杂烩,Hibernate+Spring整合开发效率大大提升. 整合开发步骤如下: 第一步:导入架包: 1.Hibernate ...
- CAD如何设置系统变量
主要用到函数说明: MxDrawXCustomFunction::Mx_SetSysVar 设置系统变量.详细说明如下: 参数 说明 CString sVarName 系统变量名 Value 需要设置 ...
- CAD得到所有实体2
主要用到函数说明: IMxDrawSelectionSet::Select2 构造选择集.详细说明如下: 参数 说明 [in] MCAD_McSelect Mode 构造选择集方式 [in] VARI ...
- java_IO_装饰器
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...
- 【转载】Java下利用Jackson进行JSON解析和序列化
参考资料: https://blog.csdn.net/sdut406/article/details/85647982 Java下常见的Json类库有Gson.JSON-lib和Jackson等,J ...