Spatial Pyramid 小结

本文详细解析了SPM(Spatial Pyramid Matching)方法的工作原理及其在图像分类中的应用。介绍了如何通过多尺度分块和特征匹配来保留图像的空间信息,并讨论了其优缺点。
部署运行你感兴趣的模型镜像

稀疏编码系列:

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

    

      SPM全称是Spatial Pyramid Matching,出现的背景是bag of visual words模型被大量地用在了Image representation中,但是BOVW模型完全缺失了特征点的位置信息。文章被引用了2600多次。文章的贡献,看完以后觉得其实挺简单的,和分块直方图其实是一个道理------将图像分成若干块(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:

       -------将图像空间用构造金字塔的方法分解为多个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度,匹配的结果就不会太高了。所以模型隐含的假设就是图像都是正着存储的(人都是站立的,树都是站立的.......)。另外空间Pyramid的分块方法也没有考虑图像中object的信息(仅仅是利用SIFT特征来描述了Object),这也是作者在文中承认的缺点。DPM,应该是考虑了这个问题的吧。

 

Reference:

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

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

作者:jiang1st2010

原文地址:http://blog.youkuaiyun.com/jwh_bupt/article/details/9625469


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>嗯,用户这次询问的是空间金字塔表示(Spatial Pyramid Representation)的介绍及应用。结合之前的引用内容,特别是引用[1]中提到了"Spatial Pyramid Matching"项目,以及引用[4]涉及视频动作识别中的特征表示相关内容,需要系统地梳理这个技术的核心概念和应用场景。 用户可能正在研究图像分类或视频分析领域,需要了解特征表示方法。从引用[4]提到的IDT(改进密集轨迹)和2-stream网络来看,用户或许在探索如何将空间金字塔思想应用到视频分析中。虽然用户明确要求介绍SPR,但深层需求可能是想了解如何提升当前项目的特征表示能力。 空间金字塔表示的核心价值在于其分层空间匹配机制。需要解释清楚三个关键点:一是区域划分的金字塔层级结构(如1x1, 2x2, 4x4),二是局部特征聚合方式(词袋或稀疏编码),三是加权匹配策略。应用方面要突出其在传统图像分类(Scene15/Pascal VOC)的基础地位,也要呼应引用[4]提到的视频动作识别延伸应用——比如说明IDT特征如何通过时空金字塔扩展。 特别注意避免技术堆砌。比如提到稀疏编码时,要关联引用[1]列出的Locality-constrained Linear Coding项目;讲视频应用时自然带出用户关注的两篇论文(WangQT_CVPR15和MED_CNN)。最后补充Deep时代的发展时,暗示空间金字塔的思想在SPPNet中的延续,这样既能满足当前查询,又铺垫了可能的后续研究方向。 </think>空间金字塔表示(Spatial Pyramid Representation)是一种用于**图像分类与识别**的特征编码方法,其核心思想是通过**分层空间匹配**来捕捉图像的局部结构与全局布局信息。以下是详细介绍: --- ### **一、核心原理** 1. **分块策略** 将图像划分为**多尺度网格**(金字塔层级): - 层级0:整张图像视为1个区域(1×1) - 层级1:划分为2×2=4个子区域 - 层级2:划分为4×4=16个子区域 *更高层级可继续细分* 2. **局部特征聚合** 在每个网格内独立提取并聚合局部特征(如SIFT、HOG),常用方法: - **词袋模型(BoW)**:统计视觉单词频率直方图 - **稀疏编码(Sparse Coding)**:优化特征表示[^1][^3] - **局部约束线性编码(LLC)**:保留局部几何结构[^1] 3. **加权特征融合** 不同层级的特征赋予不同权重(高层级权重更高),最终拼接成统一特征向量: $$ \mathbf{F} = [w_0 \cdot \mathbf{h}_0; w_1 \cdot \mathbf{h}_1; ... ; w_L \cdot \mathbf{h}_L] $$ 其中 $\mathbf{h}_l$ 为第 $l$ 层特征,$w_l$ 为权重。 --- ### **二、关键优势** - **空间鲁棒性**:兼顾局部细节与全局布局,对物体变形、视角变化更稳健 - **可扩展性**:兼容多种底层特征(SIFT, SURF, CNN特征等) - **判别性提升**:层级结构保留空间上下文,优于无序词袋模型 --- ### **三、典型应用** 1. **图像分类** - **场景分类**(如室内/室外):在Scene 15、Pascal VOC等数据集表现优异[^1] - **物体识别**:结合SIFT+SPM成为2010年前后主流方法 2. **视频动作识别** - 扩展为**时空金字塔(Spatiotemporal Pyramid)** - 融合IDT(Improved Dense Trajectories)特征提升视频分类精度[^4] 3. **图像检索与匹配** - 分层匹配提升相似性计算准确性(如[Pyramid Match Kernel](http://people.csail.mit.edu/jjl/pubs/pyramid_cvpr2005.pdf)) 4. **深度学习的预处理层** - SPPNet(Spatial Pyramid Pooling)将SPM集成到CNN中,支持任意尺寸输入[^2] --- ### **四、改进方向** | 方法 | 贡献 | |---------------------|----------------------------------------------------------------------| | LLC(局部约束编码) | 增强编码局部性,提升分类精度 [^1] | | 多核学习(MKL) | 融合不同金字塔层级的核函数,优化特征组合 [^1] | | 深度特征+SPM | 用CNN特征替代手工特征,在Caltech101等数据集实现>90%准确率 [^2][^4] | --- ### **五、实例代码(Matlab)** ```matlab % 空间金字塔匹配示例(需VLFeat工具箱) images = load_image_set('caltech101'); % 加载数据集 vocab = vl_kmeans(sift_features, 500); % 构建500维视觉词典 pyramid = [1, 2, 4]; % 定义金字塔层级 for img = images feats = extract_sift(img); for lev = pyramid grids = divide_grid(img, lev); % 划分网格 for cell = grids hist = vl_phow(cell, 'Vocabulary', vocab); % 计算直方图 end level_feat = weighted_pool(hist, 1/lev); % 层特征加权 end final_feat = [level_feat{:}]; % 拼接所有层特征 end ``` --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值