SparseCoding(1)_金字塔匹配核函数(The Pyramid Match Kernel)

来源:互联网 发布:网络大电影审批 编辑:程序博客网 时间:2024/05/17 01:00

The Pyramid Match Kernel: Discriminative Classification with Sets of Image Features, 2005, ICCV

主要是对论文的翻译和总结。
这篇论文是Sparse Coding for Image Classification的一个源头(虽然这篇并未提及Sparse Coding)。这个专题会依次总结到目前最新的成果,形成一个系统的体系。

Introduction

众所周知,SVM是通过寻找特征空间中最优分类超平面进行分类。然而,很多情况下特征向量未必线性可分,这时则需要利用核函数机器将特征空间映射到更高的维度,使其线性可分。
任何线性方法,只要能通过核函数间接实现对输入空间的非线性变换,都可以采用核函数技巧进行非线性化。


这里写图片描述

如上图所示,原本的特征空间是二维非线性,但是通过核函数将其映射到三维空间中则可以找到最优分类超平面,使其线性可分。

而这篇论文最主要的贡献就是提出了一种基于隐式对应关系的核函数,解决了无序的、变长的向量集合的分类问题。这个核函数是正定的,并且实现起来很高效。

这个方法的主要思想是,将特征集合映射到多分辨率直方图中,然后利用加权直方图的交集进行比较,进而估计出特征集之间的最佳部分匹配的相似程度。

由于所有的输入集合都要转换为超分辨率直方图,故这个核被称为金字塔匹配核函数(The Pyramid Match Kernel)。

The Pyramid Match Kernel

考虑空间 X 中的 d 维特征向量集合,假设这些向量分布在一个直径为 D 的求求体内并且向量间最小的距离为d2

X={x|x={[f11,...,f1d],...,[fmx1,...,fmxd]}}...(1)

特征提取函数 ψ 定义为:

Ψ(x)=[H1(x),H0(x),...,JL(x)]...(2)

其中,L=log2D,xX,Hi(x) 通过 x 利用 d 维边长为 2i 的bins得到,并且, Hi(x)ri 维,其中,ri=(D2id)d。换句话说, ψ是一个级联直方图的集合,并且后一个直方图的bins的数目是前一个的二倍,而 H1的bins足够多(即距离足够小),使得每个特征点都能落入一个单独的bins中去,之后,逐步扩大bins的尺寸,使得最终所有的特征点落入同一个bins中去。


译注:文中这段话有点晦涩,举个例子:
假设一个20人的班级举行期末考试,其成绩分布在[0,100],且两两不同,成绩最相近的两个人相差 d 分,这样,第一个直方图就是统计下列每个区间中的人数:

{[0,d],[d+1,2d],...,[kd+1,(k+1)d]}

第二个直方图就是统计下列每个区间中的人数:

{[0,2d],[2d+1,4d],...,[2md+1,(2m+1)d]}

最后一个直方图就是统计下列每个区间中的人数:

{[0,100]}

这里假设每个直方图的区间都恰好把 [0,100]分开,这样,前一个直方图的区间数目则为后一个的二倍。


而两个直方图间的相似程度则可以用以下函数来衡量:

KΔ(Ψ(y),Ψ(x))=ΣLi=0wiNi...(3)

其中,Ni表示两个特征向量中,第 i 个直方图的新的匹配数目。所谓新的匹配,是指在之前的直方图中并未配对。


译注:举个例子
还是期末考试,同前,A班[51,55]内0人,[56,60]内1人;B班[51,55]内1人,[56,60]内0人。
显然,在size=5的直方图中,这两个区间并未配对(相等),但是在[50,60]这个bins中,A、B班都是1人,所以这个是新配对的。


KΔ 的值反映了特征向量间的整体相似程度:每一个在第i层新的配对整体的相似度都贡献了wi,且于bins的大小成正比。

注意公式(3)的下标是从0开始,这是因为i=-1时一定不存在相互匹配的点(根据定义,此时每个bins中只有一个点)。

核通过直方图交集函数 Θ 计算 Ni,即两个bins之间的重叠程度:

Θ(A,B)=Σrj=1min(A(j),B(j))...(4)

其中,AB 是两个r bins的直方图,A(j) 表示直方图 A 的第 j 个bin。

下图是该方法的一个例子:


这里写图片描述

直方图的交集高效地计算了两个集合中在给定的量化层次上形成匹配的点的数量,即落在同一个bin中的点的数量。为了计算第 i 个直方图中新匹配的数目 Ni ,只需要计算连续的两个直方图的交集数量的差值:

Ni=Θ(Hi(y),Hi(z))Θ(Hi1(y),Hi1(z))...(5)

其中,Hi 是公式(2)中,Ψ中得到的第 i 个直方图。需要注意的是,核函数并没有显式地寻找某两个相似的点,实际上,它从未计算过两个点之间的距离,而是简单地计算每个层次直方图的交集的变化量,作为每一层上发生匹配的数量。

在金字塔中,每一层新发生的匹配都被赋予基于直方图的bins的长度的权重:大的bins赋予更少的权重,小的bins赋予更大的权重。在第 i 个直方图新产生的匹配被赋予 12i 的权重,以反映该层上匹配的点的相似程度。

根据(3)(4)(5)式,我们可以得到未归一化的金字塔匹配核函数:

K˜Δ(Ψ(y),Ψ(z))=ΣLi=012i(Θ(Hi(y),Hi(z))Θ(Hi1(y),Hi1(z)))

其中,y,zXHi 是公式(2)中,Ψ中得到的第 i 个直方图 。归一化的核函数:

KΔ(P,Q)=1CKΔ(P,Q)

其中,C=KΔ(P,P)KΔ(Q,Q)

为了缓解离散直方图带来的量化效应,可以将不同尺度的Pyramid Match Kernel值进行级联,并比较最终结果。那么就会得到多个超分辨率的级联直方图:[Ψ1(y),Ψ2(y),...,ΨT(y)]。对于输入 yz ,级联之后产生的核函数的值是:

ΣTj=1KΔ(Ψj(y),Ψj(z))

Partial Match Correspondences

由于该核函数允许集合的元素数目不等,所以该方法可以用于局部匹配,即将小的集合映射到大的集合的子集。但与之前不同的是,局部匹配只判定最相似的部分,而其余的部分将被忽略,其结果则为一种鲁棒的相似性测量。由于在图像的目标识别中,往往有不同的背景,也可能有噪声,物体的姿势也会有所不同,所以,上述性质是很实用的性质。


译注:有点类似于综艺节目中,去掉一个最低分去掉一个最高分,而将其他评委的分数进行均值来评定一个选手一样,即为局部匹配的思想。


当具有相同的基数时,直方图的交运算可以退化为 L1 距离:

Θ(H(y),H(z))=m12||H(y)H(z)||L1

其中,m=|y|=|z|

Efficiency


这里写图片描述


以下为论文中的实验部分


Approximate Partial Matchings

实验中,生成两个数据集,其中,每个数据集包含100个二维点集,其中点的坐标分布在[1,1000]。在第一个数据集中,每个点集所包含的点的数量相同(每个点集包含100个点),而在第二个数据集中,每个点集所包含的点的数量为[5,100]的随机数。

下图展示了实验的结果,其中,左图为第一个数据集的测试结果,右图为第二个数据集的测试结果。由于每个数据集中有100个点集,所以,将点集两两比较会比较10000次,而每次比较会计算这两个集合间的 L1 范数、优化匹配和金字塔匹配。在图中,画出了距离(纵坐标),并且按照优化匹配的结果大小进行了排序,使得其更加直观。


这里写图片描述

从左图可以看出,L1 和金字塔匹配都产生了很好的估计,其相比于优化匹配的误差均小于9%;然而,在右图中,L1 相比于优化匹配的平局误差则为400%,而本文的方法(金字塔匹配)相比于优化匹配的误差仍为9%。

0 0
原创粉丝点击