SPM空间金字塔匹配模型

来源:互联网 发布:人工智能计算器v3.6.0 编辑:程序博客网 时间:2024/05/16 06:26
 

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


    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/


2 1