稀疏编码系列:

  • (一)----Spatial Pyramid 小结
  • (二)----图像的稀疏表示——ScSPM和LLC的总结
  • (三)----理解sparse coding
  • (四)----稀疏模型与结构性稀疏模型

---------------------------------------------------------------------------

SPM [1]全称是Spatial Pyramid Matching,出现的背景是bag of visual words模型被大量地用在了Image representation中,但是BOVW模型完全缺失了特征点的位置信息。文章被引用了3400多次。文章的贡献,看完以后觉得其实挺简单的,和分块直方图其实是一个道理------将图像分成若干块(sub-regions),分别统计每一子块的特征,最后将所有块的特征拼接起来,形成完整的特征。这就是SPM中的Spatial。在分块的细节上,作者采用了一种多尺度的分块方法,即分块的粒度越大越细(increasingly fine),呈现出一种层次金字塔的结构,这就是SPM中的Pyramid。M就是Matching,没什么可说的。

具体地介绍Pyramid Matching:

-------假设存在两个点集X和Y( 每个点都是D维的,以下将它们所在的空间称作特征空间)。将特征空间划分为不同的尺度,在尺度l下特征空间的每一维划出个cells,那么d维的特征空间就能划出个bins;

-------两个点集中的点落入同一个bin就称这两个点Match。在一个bin中match的总数定义为 min(Xi, Yi),其中Xi和Yi分别是两个点集中落入第i个bin的点的数目;

-------统计各个尺度下match的总数(就等于直方图相交)。由于细粒度的bin被大粒度的bin所包含,为了不重复计算,每个尺度的有效Match定义为match的增量

-------不同的尺度下的match应赋予不同权重,显然大尺度的权重小,而小尺度的权重大,因此定义权重为

-------最终,两点集匹配的程度定义为:

        (1)

在作者提出的SPM中,作者实际采用了图像的空间坐标来代替第三段假设中提到的特征空间。因此就有作者的SPM:

-------将图像空间用构造金字塔的方法分解为多个scale的bins(通俗地说就是切分成不同尺度的方形);

-------像BOW一样构造一本大小为M的dictionary,这样每个特征都能投影到dictionary中的一个word上。其中字典的训练过程是在特征空间中完成。论文中的特征利用的dense SIFT。

-------统计每个bin中各个words的数目,最终两幅图像的匹配程度定义为:

                          (2)

注意,当L=0时,模型就退化成为BOW了。

SPM介绍了两幅图像匹配的方法。如要用于场景分类,注意(2)式就等于M(L+1)个直方图相交运算的和,其实也就等于一个更大的向量直接进行直方图相交运算而已。而这个向量,就等于每个被划分的图像子区域上的visual words直方图连在一起。这个特征,就是用来分类的特征。

作者在实验中表明,不同L下,M从200取到400对分类性能影响不大,也就是降低了码书的大小对分类效果的影响。

在本文最开始也提到了,这个方法可以作为一个模板,每个sub-region中统计的直方图可以多种多样,简单的如颜色直方图,也可以用HOG,这就形成了PHOG。SPM的matlab代码也可以从作者的主页上下载到(here)。只不过这种空间分类信息仍然有局限性-----一幅相同的图像旋转90度,匹配的结果就不会太高了。所以模型隐含的假设就是图像都是正着存储的(人都是站立的,树都是站立的.......)。Spatial BOW [2]好像可以解决这个问题。另外空间Pyramid的分块方法也没有考虑图像中object的信息(仅仅是利用SIFT特征来描述了Object),这也是作者在文中承认的缺点。

update @2014.5.29

最近有几位网友提问,说SPM解决了图像匹配的时候如何计算相似度。但是很多时候我们要解决分类问题,怎么联系在一起。我就在这一段谈谈我的理解。当然可能有不正确的地方,大家可以留言与我讨论。

匹配的过程中,我们通过(2)式计算相似度,相似度衡量了两组特征之间的匹配程度。而分类问题和匹配是紧密相连的。我们以最经典的SVM分类器为例子,SVM最终的分类决策函数可以写成:

             (3)

其中xi是所有的训练样本,x是待分类的样本,α只有对应的支持向量才会大于0(非支持向量都等于0)。(3)式的截图是从pluskid博客上偷来的,如果大家已经忘了SVM的推导可以看看他的博客(点这里),一个非常好的介绍SVM的系列。相似的公式也可以在李航的《统计学习方法》P106-107找到。

我们可以再把(3)式稍微改写一下,把训练样本分成正负样本两类:

       (4)

好了,(4)式的结果就比较直观了。等式右边第一项其实就是待分类的样本与所有正样本的内积(也就是(2)式所描述的相似度,SVM可以用核函数代替内积,在(2)式中也是用了直方图相交的核函数代替内积,而内积是欧式距离对应的核函数。SPM原文中所提到用在分类问题中,就是用Chi-squre Kernel的SVM,这与直方图相交一样都是L1距离对应的核函数),第二项是与所有负样本的内积。中间是减号,表明与所有负样本的内积大,f(x)就偏负,而与正样本的内极大,f(x)就偏正。因此,SVM无非就是正负训练样本之间的一场拔河,谁力气大(和哪一类最像),x就归谁(属于那一类)。而SVM的学习过程,无非就是学习α和b这些参数的过程。这些参数对各个训练样本进行加权,权重大的训练样本决定性就强。因而,分类问题本质上就是一个测试样本与训练样本一一匹配的问题了。

我觉得说到这,分类和匹配的关系就讲明白了吧。

Reference:

      [1]   Lazebnik S, Schmid C, Ponce J. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories[C]//Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. IEEE, 2006, 2: 2169-2178.
    [2]  Cao Y, Wang C, Li Z, et al. Spatial-bag-of-features[C]//Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010: 3352-3359.

--------------

作者:jiang1st2010

原文地址:http://blog.csdn.net/jwh_bupt/article/details/9625469

空间金字塔匹配Spatial Pyramid Matching 小结相关推荐

  1. Spatial Pyramid Matching 小结

    稀疏编码系列: (一)----Spatial Pyramid 小结 (二)----图像的稀疏表示--ScSPM和LLC的总结 (三)----理解sparse coding (四)----稀疏模型与结构 ...

  2. Spatial Pyramid Matching

    稀疏编码系列: (一)----Spatial Pyramid 小结 (二)----图像的稀疏表示--ScSPM和LLC的总结 (三)----理解sparse coding (四)----稀疏模型与结构 ...

  3. SPM——Spatial Pyramid Matching

    本文主要介绍:SPM(空间金字塔匹配)的基本原理和计算方法. 1 基本介绍 SPM 全称是Spatial Pyramid Matching,出现的背景是bag of visual words模型被大量 ...

  4. SPM空间金字塔匹配模型

    SPM:Spatial Pyramid Matching for Recognizing Natural Scene Categories 空间金字塔匹配 SPM即Spatial Pyramid Ma ...

  5. 空间金字塔匹配 matlab,基于核函数匹配的空间金字塔物体识别方法

    基于核函数匹配的空间金字塔物体识别方法 [技术领域]: [0001] 本发明涉及机器视觉领域,特别涉及一种基于核函数匹配的空间金字塔物体识别 方法. [背景技术]: [0002] 随着计算机和多媒体技 ...

  6. 空间金字塔方法表示图像

    注:本学习笔记是自己的理解,如有错误的地方,请大家指正,共同学习进步. 本文学习自CVPR论文<Discriminative Spatial Pyramid>.<Discrimina ...

  7. 空间金字塔Spatial Pyramid的BOW和Pyramid HOG的多核

    经过我的实验,发现在基于模板法的object detection或者classification中,将Pyramid Histogram of Oriented Gradients (PHOG)和Sp ...

  8. 用于视觉识别的深度卷积网络空间金字塔池化方法

    摘要 现有的深卷积神经网络(CNN)需要一个固定大小的神经网络(例如224x224)的输入图像.这种要求是"人为的",可能会降低对任意大小/尺度的图像或子图像的识别精度.在这项工作 ...

  9. SPM空间金字塔模型

    1 基本介绍 SPM 全称是Spatial Pyramid Matching,出现的背景是bag of visual words模型被大量地用在了图像表示(Image representation)中 ...

最新文章

  1. threejs画面拖动事件判断
  2. php去除数组中的第一个元素,php如何删除数组的第一个元素和最后一个元素
  3. boost::mp11::mp_transform_third相关用法的测试程序
  4. 【转】c#数字图像处理(四)线性点运算
  5. python开发效率高吗_从运行效率与开发效率比较Python和C++
  6. [转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择
  7. mysql global locks_mysql8 参考手册--NDB群集线程状态
  8. android 修改APK
  9. 四大门户金融业务接连中招,流量这把钥匙正被氧化
  10. Oracle等待事件之Enqueue(锁)
  11. java 有限状态机_有限状态机( Finite State Machine )JAVA 版
  12. python微信机器人
  13. 解决PyCharm出现“更新 TKK 失败,请检查网络连接”的问题
  14. 中国为何与诺贝尔奖无缘?
  15. DB9公头母头的定义
  16. 2015网页导航设计趋势案例大搜罗
  17. Mac Docker配置阿里云镜像(最新)
  18. 面试经历——2月17日
  19. 麻省理工学院的学生们愚弄了谷歌图像识别技术,计算机视觉算法仍然很容易被骗
  20. 这大概是今年介绍云原生最清晰明了的文章!

热门文章

  1. 深度学习训练的小技巧,调参经验。总结与记录。
  2. 卷积神经网络在自然语言处理的应用
  3. 世界上最浪费时间的三件事
  4. 显示lib包_【手把手教你】股市技术分析利器之TA-Lib(一)
  5. MySQL-binlog格式对主从复制的影响MySQL主从复制的过程
  6. 05APR2022 日期格式这样的怎么转换成日期?
  7. Java实现List中某个对象属性中的字符串参数首字母进行排序
  8. java4_Java 4
  9. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...
  10. inner join和left join还有right join的区别