mean shitf算法

近段时间学习了mean shitf算法,现在在这里做个总结,主要从以下几个方面进行

1、mean shift的发展

2、最初的mean shift算法

3、改进的meanshitf算法

4、meanshift算法的推导

5、meanshitf算法的应用


1、mean shift的发展

mean shift早在1975年即有Fukunaga等人提出,真正发展起来是在1995年,Yizong Cheng发表的一篇关于Meanshift的文章,其在mean shift算法加入了kernel的概念,并加入了权重系数,极大的扩大了mean shift算法的应用空间,图像平滑,图像分割,tracking等一系列应用


2、最初的mean shift算法

mean shift函数定义式:


其中Sk为d维空间中的点集,xi代表Sk中的点,x维空间中一点,k表示xi的点数,Sk的定义式可表示如下:


更加形象一点的图可见下图:


其中黑点表示x,空心点表示xi,从黑点到空心点的箭头向量表示xi-x,整个圆圈表示Sk,所有Xi-X的向量相加,平均得到一个向量,该向量即可表示均值漂移向量m(x),将m(x)的值赋值个x,x = m(x),经过多次反复迭代,最终,当m(x)- x < h (h表示一个阈值常量)时,停止迭代,此时找到的m(x)点即为原始点x的均值漂移点

下面三个图可以为三次迭代过程:

空间中任意一点x


中心点漂移:

最终迭代找到密度稠密位置:


3、改进的meanshitf算法

从(1)式我们可以看出,只要是落入Sk的采样点,无论其离远近,对最终的计算的贡献是一样的,然而我们知道,一般的说来,离x越近的采样点对估计周围的统计特性越有效,因此我们引进核函数的概念,在计算时可以考虑距离的影响;同时我们也可以认为在这所有的样本点中,重要性并不一样,因此我们对每个样本都引入一个权重系数w(x).

MeanShift形式扩展为:



4、meanshift算法的推导

对一个概率密度函数f(x),已知d维空间中n个采样点,i=1,…,n,f(x) 的核函数估计为:


另外我们有两个如下定义:

核函数K(x)的剖面函数k(x),使得K(x)=k(||x||^2)

K(x)的负导函数g(x),即g(x)=-k'(x) ,其对应的核函数G(x)= g(||x||^2)

概率密度函数f(x)的梯度如下:



5、meanshitf算法的应用

图像平滑:

mean shift 算法可以让我们找到与当前像素点关系最紧密点,因此我们对图像中每一个像素进行一次mean shift算法,用均值漂移后点的像素代替当前点像素即可得到图像平滑的效果

图像分割:

图像分割与平滑一样,将所有收敛到同一像素点的所有像素点分割成一部分

tracking:

我们用一个物体的收敛中心来表示这个物体,将候选物体中心与该收敛中心进行对比,即可实现tracking



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值