SPM空间金字塔模型

Posted 普通网友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SPM空间金字塔模型相关的知识,希望对你有一定的参考价值。

基本介绍

    SPM 全称是Spatial Pyramid Matching,出现的背景是bag of visual words模型被大量地用在了图像表示(Image representation)中,但是BOVW模型完全缺失了特征点的位置信息。SPM考虑空间信息,将图像分成若干块(sub-regions),分别统计每一子块的特征,最后将所有块的特征拼接起来,形成完整的特征这就是SPM中的Spatial。在分块的细节上,采用了一种多尺度的分块方法,即分块的粒度越大越细(increasingly fine),呈现出一种层次金字塔的结构,这就是SPM中的Pyramid


SPM即Spatial Pyramid Matching,是一种利用空间金字塔进行图像匹配、识别、分类的 算法 。SPM是BOF(Bag Of Features)的改进,因为BOF是在整张图像中计算特征点的分布特征,进而生成全局直方图,所以会丢失图像的局部/细节信息,无法对图像进行精确地识别。为了克服BOF的固有缺点,作者提出了SPM算法,它是在不同分辨率上统计图像特征点分布,从而获取图像的局部信息。



        如上图所示,将level(i)的图像划分为pow(4,i)个cell(bins),然后再每一cell上统计直方图特征,最后将所有level的直方图特征连接起来组成一个vector,作为图形的feature。在后文的描述中cell和bins是等价的。

        Pyramid Match Kernels:

        1)假设存在两个特征集合X、Y,其中每个特征x的维度为d。特征空间划分为不同的尺度,在尺度下把特征空间的每一维划出个bins,那么d维的特征空间就能划出个bins(论文中这么描述,但是在实际中是用K-means或BOW进行聚类,得到的每个类中心就是一个bin)。

        2)  在level(i)中,如果点x,y落入同一bin中就称x,y点Match,每个bin中匹配的点的个数为min(Xi, Yi),其中Xi, Yi代表相应level下的第i个bin。

        3)表示X、Y在level 下的直方图特征,表示level 中X、Y落入第i个bin的特征点的个数,那么在level 下匹配的点的总数为:


        在后文中,我们把简写为

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

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

       6)两个点集X、Y的匹配程度pyramid match kernel为:

       (3)

          Spatial Matching Scheme


         上面的黑圆点、方块、十字星代表一副图像上某个pitch属于kmeans后词典中的某个词;         1)将图像划分为固定大小的块,如从左到右:1*1,2*2,4*4, 然后统计每个方块中词中的不同word的个数;         2)从 从左到右,统计不同level中各个块内的直方图;         3)最后个将每个level中获得的直方图都串联起来,并且给每个level赋给相应的权重,从左到右权重依次增大;         4)将spm放入svm中进行训练和预测;

       论文中的实验过程如下:

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

        2)按照BOF相同的方法(即KMeans)构建包含M个words的dictionary。


        3)利用图像金字塔把图像划分为多个scales的bins,然后计算落入每个bins中属于不同类别的word的个数,则图像X、Y最终的匹配度为:



        4)把所有level下的直方图特征连接起来组成一个维度为的feature,作为分类的特征向量。


SPM代码下载:http://www.cs.illinois.edu/homes/slazebni/


参考文献:

1)Lazebnik S, Schmid C, Ponce J. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories[C]//CVPR 2006.


如下图,对图像采用不同的尺度进行分块,得到不同尺度的图像,不同尺度构成层次关系:


上图中,不同的点可以看作不同的特征,每层中,点的个数,可以理解为该关键点或区域特征在该层次图像出现的频率,统计每个特征在不同层次图像中分布情况,可以得到每个特征的金字塔:



     从level 2 level 0类似The Pyramid Match Kernel中,直方图取不同间隔,即把level 2看做间隔为1,有16binlevel 1间隔为2,得到4bin....因此,对于两幅图像,用相同的尺度划分层次,并统计每个层次中每个cells中某特征出现的次数,得到该特征下的金字塔。

计算方法

   可以用和The Pyramid Match Kernel相似的方法计算两个图形在该特征下的匹配程度(也可理解为相似度)。匹配方法如下:

每个层次的匹配点数:



说明:

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

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

3. 这个方法可以作为一个模板,每个分块图像(sub-region)中统计的直方图可以多种多样,简单的如颜色直方图,也可以用HOG,这就形成了PHOG(分层梯度直方图)。

4. 只不过这种空间分类信息仍然有局限性-----一幅相同的图像旋转90度,匹配的结果就不会太高了。所以模型隐含的假设就是图像都是正着存储的(人都是站立的,树都是站立的.......)。Spatial BOW Spatial-bag-of-features[C])好像可以解决这个问题。

5. 另外空间Pyramid的分块方法也没有考虑图像中目标完整性(仅仅是利用SIFT特征来描述了Object,即,在对图像分块时,可能会把一个目标分在不同块中。


理论原文Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories

以上是关于SPM空间金字塔模型的主要内容,如果未能解决你的问题,请参考以下文章

特征特征不变性尺度空间图像金字塔

特征,特征不变性,尺度空间与图像金字塔

图像特征提取方法

计算机视觉局部图像描述子:SIFT算法

线特征LSD and 描述子LBD---LBD算法

第一篇 特征提取以及openvslam中的相关实现详解