空间金字塔方法表示图像

原创 2015年07月07日 10:36:35

注:本学习笔记是自己的理解,如有错误的地方,请大家指正,共同学习进步。

本文学习自CVPR论文Discriminative Spatial Pyramid》、《Discriminative Spatial Saliency for Image Classification》及《Beyond Bags of Features: Spatial Pyramid Matching
for Recognizing Natural Scene Categories》,在此感谢论文作者。

空间金字塔方法表示图像是传统BOF(Bag Of Features)方法的改进,传统BOF方法提取图像特征时,首先提取每张图像的SIFT特征描述,之后将所有图像的兴趣点的特征描述进行聚类形成BOW视觉词袋,最后对每张图像统计所有视觉关键词出现的频次。因此BOF是在整张图像中计算特征点的分布特征,进而生成全局直方图,所以会丢失图像的空间分布信息,无法对图像进行精确地识别。为了克服BOF的这一缺点,提出了空间金字塔方法,它是在不同分辨率上统计图像特征点分布,从而获取图像的空间信息。 图像被划分为金字塔各水平上的逐渐精细的网格序列,从每个网格中导出特征并组合为一个很大的特征向量。

1、图像尺度空间

SIFT中的图像尺度空间可以理解为用高斯对图像做了卷积,图像的分辨率还是那么大,像素还是那么多,只是细节被平均(平滑)掉了,原因就是高斯了,用周围的信号比较弱的像素和中间那个信号比较强的点做平均,平均值当然比最强信号值小了,这就起到了平滑的作用。如下图所示:


尺度可变高斯函数:


2、图像金字塔

金字塔是图像多尺度表示的主要形式,图像金字塔是以多分辨率来解释图像的一种有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低的图像集合。如下图所示。 


图像金字塔化一般包括二个步骤:1、利用低通滤波器平滑图像;2、对平滑图像进行抽样,从而得到一系列尺寸缩小的图像。

3、空间金字塔表示图像

Discriminative Spatial Pyramid

原始方法是首先提取原图像的全局特征,然后在每个金字塔水平把图像划分为细网格序列,从每个金字塔水平的每个网格中提取出特征,并把它们连接成一个大特征向量。但由于图像中每个局部区域反映的信息量不同,由此提出加权空间金字塔方法,及给每层每网格分配一个权重,按权重把每层每网格特征加权串联在一起。如下图:

左边图像是原始方法,右边是加权方法。

fkl表示第l层第k网格的特征向量,特征用d维向量表示,c(l)表示l层金字塔的网格数。原始方法中,一幅图像的空间金字塔特征向量表示为fs,如下:


加权方法表示为fw,如下:



4、空间金字塔匹配SPM

Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories

空间金字塔匹配Spatial Pyramid Matching(SPM),是一种利用空间金字塔进行图像匹配、识别、分类的算法。

如下图所示,将level(i)的图像划分为pow(4,i)cellbins),然后再每一cell上统计直方图特征,最后将所有level的直方图特征连接起来组成一个vector,作为图形的feature





上面的黑圆点、方块、十字星代表一副图像上某个pitch属于k-means后词典中的某个词;

        1)将图像划分为固定大小的块,如从左到右:1*12*24*4, 然后统计每个方块中词中的不同word的个数;

        2)从从左到右,统计不同level中各个块内的直方图;

        3)最后个将每个level中获得的直方图都串联起来,并且给每个level赋给相应的权重,从左到右权重依次增大

        4)将SPM放入SVM中进行训练和预测;

       论文中的实验过程如下:

        1)用 strong feature detectorSIFT进行特征检测,patch size=16*16patch每次移动的步长spacing grid=8*8

        2)按照BOF相同的方法(即KMeans)构建包含Mwordsdictionary


3)利用图像金字塔把图像划分为多个scalesbins(空间金字塔分层分网格),然后计算落入每个bins中属于不同类别的word的个数,则图像XY最终的匹配度(M为关键词个数)(个人对此匹配度核函数的理解是:这个核函数可当作SVM中的核函数,来匹配两幅图像是否为一类)


版权声明:本文为博主原创文章,未经博主允许不得转载。

我奋斗 我迷茫 但我会继续奋斗

     纠结了很久,今天终于看完了博文视点的《我是一只IT小小鸟》。面对学长学姐们丰富的求学、竞赛、实习和就业的经历,我除了羡慕,也感到迷茫,作为软件学院中一名普通的学生,在大学中,我究竟该干什么?...

tensorflow 程序挂起的原因,即整个进程不报错又不执行的原因

一、说明:在使用tensorflow的过程中,出现过程序不报错又不接下去执行的错误,后来分析了原因是tf的数据线程没有启动,导致数据流图没办法计算,整个程序就卡在哪里。 更深层次的原因是tensorf...

SIFT中的尺度空间和传统图像金字塔比较

最近在看多视角的全景图拼接的文章,感觉自己以前草草看了Lowe的文章很是不对。其中的尺度空间的理解更是欠妥当。下文是在 丕子 的网站转载过来的,由于不知道应该如何直接转载到百度,就这样直接COPY了。...
  • yuyin86
  • yuyin86
  • 2012年07月09日 20:19
  • 643

SIFT中的尺度空间和传统图像金字塔【转】

SIFT中的尺度空间和传统图像金字塔 转自 http://www.zhizhihu.com/html/y2010/2146.html 最近自己混淆了好多概念,一边弄明白的同时,也做了一...

[转]SIFT中的尺度空间和传统图像金字塔

想要得知图像中哪些是有意义的,必须先要明确这样一个问题:在一幅图像中,只有在一定的尺度范围内,一个物体才有意义。举一个例子,树枝这个概念,只有在几厘米到几米的距离去观察它,才能感知到它的确是树枝;如果...

SIFT中的尺度空间和传统图像金字塔

【转自】http://www.zhizhihu.com/html/y2010/2146.html 最近自己混淆了好多概念,一边弄明白的同时,也做了一些记录,分享一下。最近又发现了一个好同学的博客...

采用金字塔方法进行图像分割

#include "cv.h" #include "highgui.h" #include #pragma comment(lib, "cv.lib") #pragma comment(...
  • Augusdi
  • Augusdi
  • 2013年04月28日 23:10
  • 1881

OpenCV改变图像大小的操作,resize与图像金字塔方法

OpenCV改变图像大小的操作有两类:resize与图像金字塔,但是这两类操作差别还是比较大的。 一、resize 函数原型 void resize(InputArray src, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:空间金字塔方法表示图像
举报原因:
原因补充:

(最多只允许输入30个字)