1、ThSxyyxyxh (2)k 表示在这 n 个样本点ix中,有 k 个点落入hS区域中.我们可以看到ixx是样本点ix相对于点x的偏移向量,(1)式定义的 Mean Shift 向量()hMx就是对落入区域hS中的 k 个样本点相对于点x的偏移向量求和然后再平均.从直观上看,如果样本点ix从一个概率密度函数 f x中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说,hS区域内的样本点更多的落在沿着概率密度梯度的方向.因此,对应的,Mean Shift 向量()hMx应该指向概率密度梯度的方向.图 1,Mean Shift 示意图 如上图所示,大圆圈所圈定的范围就是
2、hS,小圆圈代表落入hS区域内的样本点ihxS,黑点就是 Mean Shift 的基准点x,箭头表示样本点相对于基准点x的偏移向量,很明显的,我们可以看出,平均的偏移向量()hMx会指向样本分布最多的区域,也就是概率密度函数的梯度方向.扩展的扩展的 Mean Shift 核函数核函数 首先我们引进核函数的概念.定义定义:X代表一个 d 维的欧氏空间,x是该空间中的一个点,用一列向量表示.x的模2Txx x.R表示实数域.如果一个函数:K XR存在一个剖面函数:0,kR,即 2()K xkx (3)并且满足:(1)k是非负的.(2)k是非增的,即如果ab那么()()k ak b.(3)k是分段连
3、续的,并且0()k r dr 那么,函数()K x就被称为核函数.举例举例:在 Mean Shift 中,有两类核函数经常用到,他们分别是,单位均匀核函数:1 if 1()0 if 1 xF xx (4)单位高斯核函数:2()xN xe (5)这两类核函数如下图所示.图 2,(a)单位均匀核函数(b)单位高斯核函数 一个核函数可以与一个均匀核函数相乘而截尾,如一个截尾的高斯核函数为,2 if()0 if xexN Fxx (6)图 3 显示了不同的,值所对应的截尾高斯核函数的示意图.图 3 截尾高斯核函数(a)11N F(b)0.11NF Mean Shift 扩展形式扩展形式 从(1)式我们
4、可以看出,只要是落入hS的采样点,无论其离x远近,对最终的()hMx计算的贡献是一样的,然而我们知道,一般的说来,离x越近的采样点对估计x周围的统计特性越有效,因此我们引进核函数的概念,在计算()hMx时可以考虑距离的影响;同时我们也可以认为在这所有的样本点ix中,重要性并不一样,因此我们对每个样本都引入一个权重系数.如此以来我们就可以把基本的 Mean Shift 形式扩展为:11()()()()()nHiiiinHiiiGxx w xxxM xGxx w x (7)其中:1/21/2()HiiGxxHG Hxx ()G x是一个单位核函数 H是一个正定的对称dd矩阵,我们一般称之为带宽矩阵
5、 ()0iw x 是一个赋给采样点ix的权重 在实际应用的过程中,带宽矩阵H一般被限定为一个对角矩阵221diag,.,dHhh,甚至更简单的被取为正比于单位矩阵,即2Hh I.由于后一形式只需要确定一个系数h,在 Mean Shift 中常常被采用,在本文的后面部分我们也采用这种形式,因此(7)式又可以被写为:11()()()()()niiiihniiixxGw xxxhMxxxGw xh (8)我们可以看到,如果对所有的采样点ix满足(1)()1iw x (2)1 if 1()0 if 1 xG xx 则(8)式完全退化为(1)式,也就是说,我们所给出的扩展的 Mean Shift 形式在
6、某些情况下会退化为最基本的 Mean Shift 形式.Mean Shift 的物理含义的物理含义 正如上一节直观性的指出,Mean Shift 指向概率密度梯度方向,这一节将证明 Mean Shift 向量 hMx是归一化的概率密度梯度.在本节我们还给出了迭代 Mean Shift 算法的详细描述,并证明,该算法会收敛到概率密度函数的一个稳态点.概率密度梯度概率密度梯度 对一个概率密度函数()f x,已知 d 维空间中 n 个采样点ix,i=1,n,()f x的核函数估计(也称为 Parzen 窗估计)为,11()()()niiindiixxKw xhf xhw x (9)其中()0iw x
7、 是一个赋给采样点ix的权重()K x是一个核函数,并且满足()1k x dx 我们另外定义:核函数()K x的剖面函数剖面函数()k x,使得2()K xkx (10);()k x的负负导函数导函数()g x,即()()g xk x,其对应的核函数2()G xgx (11)概率密度函数()f x的梯度()f x的估计为:21212()()()()niiiindiixxxx kw xhf xf xhw x (12)由上面的定义,()()g xk x,2()G xgx,上式可以重写为 21212112112()()()()()2 ()()niiiindiininiiiiiindniiiiixxx
8、x Gw xhf xhw xxxxxxx Gw xGw xhhxxhhw xGw xh (13)上式右边的第二个中括号内的那一部分就是(8)式定义的 Mean Shift 向量,第一个中括号内的那一部分是以()G x为核函数对概率密度函数()f x的估计,我们记做()Gfx,而(9)式定义的()f x我们重新记做()Kfx,因此(11)式可以重新写为:()f x()Kfx 22()Ghfx Mxh (14)由(12)式我们可以得出,2()12()KhGfxMxhfx (15)(15)式表明,用核函数 G 在x点计算得到的 Mean Shift 向量 hMx正比于归一化的用核函数K 估计的概率密
9、度的函数()Kfx的梯度,归一化因子为用核函数 G 估计的 x 点的概率密度.因此 Mean Shift 向量 hMx总是指向概率密度增加最大的方向.Mean Shift 算法算法 算法步骤算法步骤 我们在前面已经指出,我们在提及 Mean Shift 向量和 Mean Shift 算法的时候指代不同的概念,Mean Shift向量是名词,指的是一个向量;而Mean Shift算法是动词,指的是一个迭代的步骤.我们把(8)式的x提到求和号的外面来,可以得到下式,11()()()()niiiihniiixxGw x xhMxxxxGw xh (16)我们把上式右边的第一项记为()hm x,即 1
10、1()()()()()niiiihniiixxGw x xhm xxxGw xh (17)给定一个初始点x,核函数()G X,容许误差,Mean Shift 算法循环的执行下面三步,直至结束条件满足,(1).计算()hm x(2).把()hm x赋给x(3).如果()hm xx,结束循环;若不然,继续执行(1).由(16)式我们知道,()hhm xxMx,因此上面的步骤也就是不断的沿着概率密度的梯度方向移动,同时步长不仅与梯度的大小有关,也与该点的概率密度有关,在密度大的地方,更接近我们要找的概率密度的峰值,Mean Shift 算法使得移动的步长小一些,相反,在密度小的地方,移动的步长就大一
11、些.在满足一定条件下,Mean Shift 算法一定会收敛到该点附近的峰值,这一收敛性由下面一小节给出证明.算法的收敛性证明算法的收敛性证明 我们用 jy,1,2,.j 来表示 Mean Shift 算法中移动点的痕迹,由(17)式我们可写为,111()()()()nijiiijnijiixyGw x xhyxyGw xh,1,2,.j (18)与jy对应的概率密度函数估计值()jf y可表示为,11()()()nijiiKjndiixyKw xhfyhw x (19)下面的定理将证明序列 jy和()jf y的收敛性.定定理理:如果核函数()K x有一个凸的,单调递增的剖面函数,核函数()G
12、x由式(10)和(11)定义,则序列 jy和()jf y是收敛的.证明证明:由于 n 是有限的,核函数()(0)K xK,因此序列()jf y是有界的,所以我们只需要证明()jf y是严格递增的的,即要证明,对所有 j=1,2,如果1jjyy,那么 ()jf y1()jf y (20)不失一般性,我们可以假设0jy,由(19)式和(10)式,我们可以得到 1()jf y()jf y221111 ()()nijijinidiixyxykkw xhhhw x (21)由于剖面函数()k x的凸性意味着对所有12,0,)x x 且12xx,有 2121()()()()k xk xk x xx (22
13、)因为()()g xk x,上式可以写为,2112()()()()k xk xg x xx (23)结合(21)与(23)式,可以得到,1()jf y()jf y 222111211 ()()nijijiinidiixygxyxw xhhw x 221111211 2()()nijTjijinidiixygyxyw xhhw x 12221211112()()()jnnTiiiijindiiiixxyx gw xygw xhhhw x (24)由(18)式我们可以得出,1()jf y()jf y2211211()nijnidiixyghhw x (25)由于剖面函数()k x是单调递减的,所以求和项210niixgh,因此,只要10jjyy(25)式的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1