Linear Spatial Pyramid Matching Using Sparse Coding for Image Classification 理解

来源:互联网 发布:c语言字符串比较 编辑:程序博客网 时间:2024/06/05 07:27
       最近又重新阅读了Yang Jianchao的文章“Linear Spatial Pyramid Matching Using Sparse Coding for Image Classification”,浅谈自己的理解。
       文章有三个创新点:1,将稀疏编码sparse coding引入到了BOF model中。2,在pooling这一步采用max pooling,由于在特征提取的时候采用了pyramid结构,pooling也用了pyramid。3,SVM采用linear kernel。

  这里主要谈谈第一步。在传统的feature coding的时候,是将得到的特征,比如SIFT特征映射到无监督方式学习到的codebook(dictionary)中,这里常用的无监督学习方式就是k-mean方式的矢量量化(vector quantifcaition)。具体的公式如下:。在这里,表示的是特征空间,表示的是聚类中心,它们的集合就是codebook。公式1也可以用下面的公式代替:,在这个公式中,u表示聚类关系的指示器,也就是说如果某个特征被映射到某个单词,该指示器显示为1,否则为0。公式2的限制条件表示的就是这个意思。

       作者认为这个限制条件太大,于是对其进行松弛,首先将这个约束条件松弛。先说说这这个公式的意思,它规定U矩阵的每一列um的基数为1,也就是只有一个非0元素。取而代之的是L1范数下的正则项。同时对vk加L2范数约束,防止trivial solutions。于是得到了和稀疏编码相似的目标函数:

       介绍完基本的公式推导之后,就开始将其应用到BOF model上。作者首先用在了最初的目标,codebook的学习上。参考的代码是NIPS 2006年的“Efficient sparse
coding algorithms”文章。区别只是一个是学习image的patch,这里是学习的SIFT feature。需要强调的是,在具体的优化过程中,如果同时对u和v进行优化的时候,目标函数时非凸的,但是如果固定其中一个,对另外一个优化的时候就是凸优化的。

       比如固定V的时候,优化问题变成了:

      当固定U的时候,优化问题变成:

      提上面的两个公式是因为,下面的feature coding需要用到上述的公式。因为在BOF模型中,当我们获得了codebook之后,也就相当于V是固定的了,我们需要做的是feature coding。这个就可以利用公式10来实现sparse coding而已。当然,feature coding有很多的方法,比如hard assignment ,soft assignment,local linear coding等等。于是作者利用sparse coding学习了一个codebook,然后利用sparse coding实现了feature encoding。

     再谈谈自己的理解:个人认为coding本质上是一种space tranform。好的space transform能够实现好的feature representation。

原创粉丝点击