mean-shift算法综述

合集下载

均值漂移算法python

均值漂移算法python

均值漂移算法python
均值漂移算法(Mean Shift Algorithm)是一种非参数化的聚类算法,用于在数据集中寻找局部密度最大的区域,从而实现数据点的聚类。

该算法的核心思想是通过计算数据点的概率密度,不断迭代调整数据点的位置,使其向密度最大的区域漂移,最终形成聚类结果。

均值漂移算法的原理相对简单,主要分为以下几个步骤:
1. 初始化:选择一个数据点作为初始种子点,并确定一个搜索窗口的大小。

2. 密度估计:对于每个种子点,在搜索窗口内计算其密度,通常使用核函数(如高斯核函数)来计算。

3. 均值漂移:根据密度估计的结果,将种子点向密度最大的方向漂移,即将种子点移动到密度估计值最大的位置。

4. 更新种子点:更新漂移后的种子点,并返回第2步,直至收敛。

5. 聚类结果:根据最终的种子点位置,将数据点归类到最近的种子点所代表的聚类中。

均值漂移算法的优点在于不需要事先设定聚类的数量,且对于聚类形状的适应性较好。

同时,均值漂移算法也具有较好的鲁棒性,对
初始种子点的选择不敏感。

在实际应用中,均值漂移算法可以广泛应用于图像分割、运动目标跟踪等领域。

例如,在图像分割中,可以利用均值漂移算法对图像进行分割,将具有相似颜色特征的像素点聚类到一起,从而实现对图像的分割。

均值漂移算法还有一些改进和扩展的方法。

例如,基于密度的均值漂移算法(Density-Based Mean Shift)可以更好地处理数据集中存在不同密度区域的情况。

均值漂移算法是一种简单而有效的聚类算法,具有较好的性能和鲁棒性。

在实际应用中,可以根据具体问题的需求选择合适的变体和改进方法,以获得更好的聚类效果。

均值偏移算法

均值偏移算法

均值偏移算法1. 概述均值偏移算法(Mean Shift algorithm)是一种非参数化的聚类算法,能够对数据进行自动的聚类分析。

该算法的原理基于密度估计和梯度下降,通过不断迭代的方式找到数据的局部最大密度区域,从而将数据划分成不同的簇。

均值偏移算法在计算机视觉、图像处理以及模式识别等领域都有应用。

2. 均值偏移原理均值偏移算法的核心思想是通过计算样本点与其邻近点之间的距离来寻找密度最大的区域,并将距离小于某个阈值的样本点划分到同一簇中。

具体步骤如下:2.1. 初始化首先,需要初始化聚类中心点。

可以选择从样本中随机选择一些点作为初始的聚类中心。

2.2. 密度估计对于每个聚类中心点,计算它与所有样本点的距离。

可以使用欧氏距离或者其他距离度量方法。

根据距离大小,将样本点按照距离聚类中心点的远近分别分为不同的簇。

2.3. 均值迁移对于每个样本点,计算它距离所属簇其他样本点的中心的平均距离,并将该样本点迁移到距离最近的中心。

重复这一过程,直到所有样本点不再发生迁移。

2.4. 聚类结果经过迭代的均值偏移过程之后,每个样本点都会被分配到一个簇中。

最终的聚类结果即为各个样本点所属的簇。

3. 实例详解下面通过一个实例来详细解释均值偏移算法的工作原理。

假设我们有一组二维数据点,如下所示:[(1, 2), (1.5, 1.8), (5, 8), (8, 8), (1, 0.6), (9, 11)]3.1. 初始化我们随机选择两个点作为初始的聚类中心,比如选择(1, 2)和(9, 11)。

3.2. 密度估计计算每个样本点与聚类中心的距离:距离中心点(1, 2)的距离:[0, 0.2828, 10.8167, 10.8167, 1.412, 13.6015]距离中心点(9, 11)的距离:[13.6015, 13.193, 4.4721, 1.4142, 11.6619, 0]根据距离的大小,可以将数据分为两个初始簇:初始簇1: [(1, 2), (1.5, 1.8), (1, 0.6)]初始簇2: [(5, 8), (8, 8), (9, 11)]3.3. 均值迁移对于簇1中的样本点(1, 2),计算其与其他样本点的平均距离,并将其迁移到距离最近的中心点。

meanshift算法简介

meanshift算法简介

怎样找到数据集合中数据最密集的地方呢?
数据最密集的地方,对应于概率密度最大的地方。我们可 以对概率密度求梯度,梯度的方向就是概率密度增加最大 的方向,从而也就是数据最密集的方向。

,假设除了有限个点,轮廓函数 的梯度对所

均存在 。将 作为轮廓函数,核函数 为:
fh,K
x
2ck ,d n nhd 2 i1
Meanshift算法的概述及其应用
Meanshift的背景
Mean Shift 这个概念最早是由Fukunaga等人于 1975年在一篇关于概率密度梯度函数的估计中提出 来的,其最初含义正如其名,就是偏移的均值向量。
直到20年以后,也就是1995年,,Yizong Cheng发 表了一篇对均值漂移算法里程碑意义的文章。对基 本的Mean Shift算法在以下两个方面做了改进,首先 Yizong Cheng定义了一族核函数,使得随着样本与 被偏移点的距离不同,其偏移量对均值偏移向量的贡 献也不同,其次Yizong Cheng还设定了一个权重系 数,使得不同的样本点重要性不一样,这大大扩大了 Mean Shift的适用范围.另外Yizong Cheng指出了 Mean Shift可能应用的领域,并给出了具体的例子。
• 一维下的无参数估计 设X1,X2, …Xn是从总体中抽出的独立同分布
的样本,X具有未知的密度函数f(x),则f (x)的核估计为:
h为核函数的带宽。常用的核函数如下:
分别是单位均匀核函数 和单位高斯核函数
多维空间下的无参密度估计:
在d维欧式空间X中,x表示该空间中的一个点, 表示该空间中的
核函数,
(5)若
,则停止;否则y0←y1转步骤②。
限制条件:新目标中心需位于原目标中 心附近。

mean-shift算法公式

mean-shift算法公式

mean-shift算法公式Mean-shift算法是一种无参聚类算法,常用于图像分割、目标跟踪和模式识别等领域。

本文将详细介绍mean-shift算法的原理、公式和实际应用场景。

一、原理Mean-shift算法的核心思想是密度估计和质心漂移。

它基于高斯核函数,通过不断更新质心,最终将数据点分为不同的簇。

具体而言,我们要对每个数据点x_i进行密度估计,将其周围的点加权后求和得到密度估计值f(x_i)。

给定一个初始质心x_c,我们通过以下公式计算新质心x_c’:x_c' = \frac{\sum_{x_i \in B(x_c,r)} w(x_i) \times x_i}{\sum_{x_i \in B(x_c,r)} w(x_i)}B(x_c,r)表示以x_c为圆心,半径为r的区域,w(x_i)为高斯权重系数,可以写作w(x_i) = e ^ {-\frac{(x_i - x_c)^2}{2 \times \sigma^2}}\sigma是高斯核函数的标准差,控制窗口大小和权重降低的速度。

在计算新质心后,我们将其移动到新位置,即x_c = x_c’,然后重复以上步骤,直到质心不再改变或者达到预定的迭代次数为止。

最终,所有距离相近的数据点被归为同一簇。

算法的时间复杂度为O(nr^2),其中n为数据点数量,r为窗口半径。

可以通过调整r和\sigma来平衡速度和准确率。

二、公式1. 高斯核函数w(x_i) = e ^ {-\frac{(x_i - x_c)^2}{2 \times \sigma^2}}其中x_i和x_c是数据点和质心的位置向量,\sigma是高斯核函数的标准差。

该函数表示距离越大的数据点的权重越小,与质心距离越近的数据点的权重越大,因此可以有效估计密度。

2. 新质心计算公式x_c' = \frac{\sum_{x_i \in B(x_c,r)} w(x_i) \times x_i}{\sum_{x_i \in B(x_c,r)} w(x_i)}B(x_c,r)表示以x_c为圆心,半径为r的区域,w(x_i)为高斯权重系数。

机器学习之Mean Shift概述

机器学习之Mean Shift概述

机器学习之Mean Shift 概述一、 前言短短八周,机器学习课就已经离我们而去了。

八周的时间里,我们了解了许多,也收获了许多。

八周其实根本不足以涵盖这门课的知识,来不及领悟,来不及体会,甚至连一些皮毛都不够。

但是其知识背后隐含的奥秘却值得我们去探索。

而其中均值漂移,无疑是值得花时间琢磨的知识之一。

二、 Mean Shift 简介Mean Shift 这个概念最早是由Fukunaga 等人于1975年在一篇关于概率密度梯度函数的估计中提出来的,其最初含义正如其名,就是偏移的均值向量,在这里Mean Shift 是一个名词,它指代的是一个向量,但随着Mean Shift 理论的发展,Mean Shift 的含义也发生了变化,如果我们说Mean Shift 算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束。

然而在以后的很长一段时间内Mean Shift 并没有引起人们的注意,直到20年以后,也就是1995年,另外一篇关于Mean Shift 的重要文献才发表。

在这篇重要的文献中,Yizong Cheng 对基本的Mean Shift 算法在以下两个方面做了推广,首先Yizong Cheng 定义了一族核函数,使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同,其次Yizong Cheng 还设定了一个权重系数,使得不同的样本点重要性不一样,这大大扩大了Mean Shift 的适用范围。

另外Yizong Cheng 指出了Mean Shift 可能应用的领域,并给出了具体的例子。

Comaniciu 等人把Mean Shift 成功的运用的特征空间的分析,在图像平滑和图像分割中Mean Shift 都得到了很好的应用。

Comaniciu 等在文章中证明了,Mean Shift 算法在满足一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此Mean Shift 算法可以用来检测概率密度函数中存在的模态。

经典Mean Shift算法介绍

经典Mean Shift算法介绍

经典Mean Shift算法介绍1无参数密度估计 (1)2核密度梯度估计过程 (3)3算法收敛性分析 (4)均值漂移(Mean Shift)是Fukunaga等提出的一种非参数概率密度梯度估计算法,在统计相似性计算与连续优化方法之间建立了一座桥梁,尽管它效率非常高,但最初并未得到人们的关注。

直到1995年,Cheng改进了Mean Shift算法中的核函数和权重函数,并将其应用于聚类和全局优化,才扩大了该算法的适用范围。

1997年到2003年,Comaniciu等将该方法应用到图像特征空间的分析,对图像进行平滑和分割处理,随后他又将非刚体的跟踪问题近似为一个Mean Shift最优化问题,使得跟踪可以实时进行。

由于Mean Shift算法完全依靠特征空间中的样本点进行分析,不需要任何先验知识,收敛速度快,近年来被广泛应用于模式分类、图像分割、以及目标跟踪等诸多计算机视觉研究领域。

均值漂移方法[4]是一种最优的寻找概率密度极大值的梯度上升法,提供了一种新的目标描述与定位的框架,其基本思想是:通过反复迭代搜索特征空间中样本点最密集的区域,搜索点沿着样本点密度增加的方向“漂移”到局部密度极大点。

基于Mean Shift方法的目标跟踪技术采用核概率密度来描述目标的特征,由于目标的直方图具有特征稳定、抗部分遮挡、计算方法简单和计算量小的特点,因此基于Mean Shift的跟踪一般采用直方图对目标进行建模;然后通过相似性度量,利用Mean Shift搜寻目标位置,最终实现目标的匹配和跟踪。

均值漂移方法将目标特征与空间信息有效地结合起来,避免了使用复杂模型描述目标的形状、外观及其运动,具有很高的稳定性,能够适应目标的形状、大小的连续变换,而且计算速度很快,抗干扰能力强,在解决计算机视觉底层任务过程中表现出了良好的鲁棒性和较高的实时处理能力。

1无参数密度估计目标检测与跟踪过程中,必须用到一定的手段对检测与跟踪的方法进行优化,将目标的表象信息映射到一个特征空间,其中的特征值就是特征空间的随机变量。

meanshift算法原理

meanshift算法原理
MeanShift(均值漂移)是一种非参数化的聚类算法,用于在数据集中发现数据点的密集区域。

它基于密度估计的原理,通过计算数据点的局部密度梯度来寻找数据点的聚集中心。

MeanShift 算法的原理如下:
1. 初始化:为每个数据点选择一个随机的聚集中心。

2. 密度估计:对于每个数据点,计算其与其他数据点之间的距离,并将距离定义为核函数的参数。

常用的核函数是高斯核函数。

3. 均值漂移:对于每个数据点,计算其局部密度梯度向量。

梯度向量的方向是从当前数据点指向密度更高的方向,梯度的大小代表密度的变化程度。

使用梯度向量来更新当前数据点的位置。

4. 更新聚集中心:将数据点移动到更新后的位置,并将其作为新的聚集中心。

5. 重复步骤2-4 直到满足停止条件(例如,聚集中心的移动小于某个阈值)。

MeanShift 算法的特点是不需要事先指定聚类的数量,它能够自动确定聚类的形状和数量。

它具有较好的收敛性和适应性,对于非凸形状的聚类问题也能有效地处理。

在应用中,MeanShift 算法可以用于图像分割、目标跟踪、图像压缩等领域。

它在计算复杂度上较高,但在一些特定的数据集和问题中表现出良好的效果。

meanshift算法简介

Mean shift向量
基于核函数G(x)的 概率密度估计

用核函数G在 x点计算得到的Mean Shift 向量 正比于归一化的用核函数K估计的概率 密度的函数 的梯度,归一化因子为用核函数 G估计的x点的概率密度.因此Mean Shift向量 总是指向概率密度增加最大的方向.
Mean shift向量的物理意义的什么呢?

2ck ,d
n
2

2ck ,d cg ,d 2 d h cg ,d nh
g i 1
n
n x xi 2 xi g 2 h x xi i 1 x n x x 2 h i g h i 1
为了更好地理解这个式子的物理意义,假设上式中g(x)=1
平均的偏移量会指向样本点最密的方向,也 就是概率密度函数梯度方向
下面我们看一下mean shift算法的步骤
mh x
给定一个初始点x,核函数G(x), 容许误差 ,Mean Shift算法 循环的执行下面三步,直至结束条件满足, •计算mh ( x) •把 mh ( x)赋给 x. •如果 mh ( x) x ,结束循环;若不然,继续执行(1)
0 =1,2…..m i=1,2…..m
(5)若
,则停止;否则y ←y1转步骤②。
0
限制条件:新目标中心需位于原目标中 心附近。
Meanshift跟踪结果
• 转word文档。
• Meanshift优缺点: 优点 ①算法复杂度小; ②是无参数算法,易于与其它算法集 成; ③采用加权直方图建模,对目标小角 度旋转、轻微变形和部分遮挡不敏感等。

MeanShift

§5-1Mean Shift 算法Mean Shift 算法是由Fukunaga 和Hosteler 于1975年提出的一种无监督聚类方法[109],Mean Shift 的含义是均值偏移向量,它使每一个点“漂移”到密度函数的局部极大值点。

但是再提出之初,Mean Shift 算法并没有得到广泛的重视,直到1995年,Cheng 等人对该算法进行了进一步的研究[110],提出了一般的表达形式并定义了一族核函数,从而扩展了该算法的应用领域,此后Mean Shift 算法逐步得到了人们的重视。

目前,Mean Shift 算法已广泛应用于目标跟踪[111~114]、图像分割与平滑[115~118]等领域,同时由于该算法具有简洁、能够处理目标变形等优点,也是目前目标跟踪领域的一个重要研究热点。

5-1-1 Mean Shift 算法原理Mean Shift 算法是一种基于密度梯度的无参数估计方法,从空间任意一点,沿核密度的梯度上升方向,以自适应的步长进行搜索,最终可以收敛于核密度估计函数的局部极大值处。

基本的Mean Shift 算法可以描述为:设{}()1,,i x i n = 为d 维空间R d 中含有n 个样本点的集合,在点x 处的均值偏移向量的基本形式可以由式(5.1)表示:1()()hh ix S M x xx k∈=-∑ (5.1)其中,S h 是R d 中满足式(5.2)的所有y 点集合,其形状为一个半径为h 的高维球区域。

k 为所有n 个样本点中属于高维球区域的点的数目。

(x i -x )为样本点相对于点x 的偏移向量。

根据式(5.1)的定义可知,点x 的均值偏移向量就是所有属于S h 区域中的样本点与点x 的偏移向量均值,而S h 区域中的样本点大多数是沿着概率密度梯度的方向,所以均值漂移向量的方向与概率密度梯度方向一致,图5.1为具体的示意图。

{}2():()()Th S x y y x y x h=--≤ (5.2)图5.1 Mean Shift 示意图 Fig.5.1 Mean Shift sketch map根据式(5.1)和图5.1可以看出,所有属于区域S h 中的样本点对于点x 的均值漂移向量贡献度相同,而与这些点与点x 间的距离无关。

均值移位算法

均值移位算法
均值移位算法(Mean Shift Algorithm)是一种非参数密度估计方法,主要用于聚类分析、图像分割等领域。

它的原理是通过不断的平移移
动中心点,使得样本点向密度最大的区域聚集,分析其核密度分布,
进而得出数据分割的结果。

均值移位算法具有以下优点:
1.不需要预先设定簇数目,能够自动进行聚类。

2.不受数据分布情况的影响。

3.不需要迭代,运算速度快。

但是,随着数据量增大,计算复杂度也会增大,因此需要合理设置核
函数的大小。

均值移位算法的应用范围广泛,包括:
1.图像分割:对图像进行聚类,得到图像中的颜色群体。

2.物体跟踪:通过对物体进行追踪,实现对物体的自动检测、跟踪等功能。

3.模式分类:将数据划分为不同的分类,识别数据中的模式。

4.聚类分析:对数据进行聚类,发现数据的内在规律。

5.异常检测:发现数据中的异常点,排除错误数据。

均值移位算法的实现包括以下步骤:
1.选择核函数和带宽。

2.初始化中心点和权值。

3.计算移动向量和权值更新。

4.重复步骤3,直到中心点不再发生明显变化,或达到设定的迭代次数。

在使用均值移位算法时,需要合理设置核函数的大小,以避免计算复
杂度过高。

同时,也要注意数据是否存在离群点,以及需要设置合理
的停止条件。

总之,均值移位算法是一种非常有用的聚类分析方法,可以应用于各
种领域。

尤其是在图像分割、物体跟踪等领域,均值移位算法具有突
出的优势,有着广泛的应用前景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n i =1
⎡ 2 ⎢∑ = 2 ⎢ h ⎢ ⎢ ⎣
n
i =1
⎤ ⎛ x − x⎞ G⎜ i ⎟ w ( xi ) ⎥ h ⎝ ⎠ ⎥ n ⎥ h d ∑ i =1 w ( x i ) ⎥ ⎦
( xi

⎤ ⎛ x − x ⎞ w ( xi ) ⎥ − x )G ⎜ i ⎟ ⎜ ⎟ h ⎥ ⎝ ⎠ ⎥ n ⎛ xi − x ⎞ ⎥ ( ) G w x i ⎜ ⎟ i =1 ⎝ h ⎠ ⎥ ⎦
(9)
w( xi ) ≥ 0 是一个赋给采样点 xi 的权重
K ( x ) 是一个核函数,并且满足 ∫ k ( x ) dx = 1
我们另外定义: 核函数 K ( x ) 的剖面函数 k ( x ) ,使得 K ( x ) = k
(x )
2
(10);
k ( x) 的负导函数 g ( x ) ,即 g ( x) = −k ' ( x) ,其对应的核函数 G ( x) = g x
w( xi ) ≥ 0 是一个赋给采样点 xi 的权重
在实际应用的过程中,带宽矩阵 H 一般被限定为一个对角矩阵 H = diag ⎡ ⎣ h1 ,..., hd ⎤ ⎦ ,甚至更
2 2
简单的被取为正比于单位矩阵, 即 H = h 2 I .由于后一形式只需要确定一个系数 h ,在 Mean Shift 中常常被采用,在本文的后面部分我们也采用这种形式,因此(7)式又可以被写为:

0
k (r )dr < ∞
⎧ ⎪1 if x < 1 F ( x) = ⎨ ⎪ ⎩0 if x ≥ 1
单位高斯核函数:
(4)
N ( x) = e
这两类核函数如下图所示.
−x
2
(5)
图 2, (a) 单位均匀核函数 (b) 单位高斯核函数 一个核函数可以与一个均匀核函数相乘而截尾,如一个截尾的高斯核函数为,
此 Mean Shift 向量 M h ( x ) 总是指向概率密度增加最大的方向.
Mean Shift算法 算法步骤
我们在前面已经指出,我们在提及 Mean Shift 向量和 Mean Shift 算法的时候指代不同的 概念,Mean Shift 向量是名词,指的是一个向量;而 Mean Shift 算法是动词,指的是一个迭代的步 骤.我们把(8)式的 x 提到求和号的外面来,可以得到下式,
⎧e − β x ( N Fλ ) ( x) = ⎪ ⎨ ⎪ ⎩0
β
2
if x < λ if x ≥ λ
(6)
图 3 显示了不同的 β , λ 值所对应的截尾高斯核函数的示意图.
图 3 截尾高斯核函数 (a) N 1 F1 (b) N 0.1 F1
Mean Shift扩展形式
从(1)式我们可以看出,只要是落入 S h 的采样点, 无论其离 x 远近,对最终的 M h ( x) 计算的贡 献是一样的,然而我们知道,一般的说来,离 x 越近的采样点对估计 x 周围的统计特性越有效, 因此我们引进核函数的概念,在计算 M h ( x) 时可以考虑距离的影响;同时我们也可以认为在 这所有的样本点 xi 中,重要性并不一样,因此我们对每个样本都引入一个权重系数. 如此以来我们就可以把基本的 Mean Shift 形式扩展为:
2
上式右边的第二个中括号内的那一部分就是(8)式定义的 Mean Shift 向量,第一个中括号内的
ˆ ( x) ,而(9)式定义的 那一部分是以 G ( x ) 为核函数对概率密度函数 f ( x ) 的估计,我们记做 f G ˆ ( x) ,因此(11)式可以重新写为: ˆ ( x ) 我们重新记做 f f K ˆ ( x) = 2 f ˆ ( x) M ( x ) ˆ f ( x ) = ∇f ∇ K G h h2
由上面的定义, g ( x) = −k ( x) , G ( x ) = g
'
( x ) ,上式可以重写为
2
ˆ f (x) = ∇
2∑
n i =1
( xi
⎛ x − x − x )G ⎜ i ⎜ h ⎝ n d +2 h ∑ i =1 w ( x⎟ ⎟ ⎠
(13)
⎡ ⎢∑ ⎢ ⎢ ⎢ ⎢ ⎣
xi − x )w( xi ) xi h i =1 Mh ( x) = n −x xi − x G( )w( xi ) ∑ h i =1
∑ G(
n
(16)
我们把上式右边的第一项记为 mh ( x) ,即
xi − x )w( xi ) xi h i =1 mh ( x) = n x −x G( i )w( xi ) ∑ h i =1
Sh ( x ) ≡ y : ( y − x )
{
T
( y − x ) ≤ h2 }
(2)
k 表示在这 n 个样本点 xi 中,有 k 个点落入 S h 区域中. 我们可以看到 ( xi − x ) 是样本点 xi 相对于点 x 的偏移向量,(1)式定义的 Mean Shift 向量
M h ( x) 就是对落入区域 Sh 中的 k 个样本点相对于点 x 的偏移向量求和然后再平均.从直观
上看,如果样本点 xi 从一个概率密度函数 f ( x ) 中采样得到,由于非零的概率密度梯度指向概 率密度增加最大的方向,因此从平均上来说, S h 区域内的样本点更多的落在沿着概率密度梯 度的方向.因此,对应的, Mean Shift 向量 M h ( x) 应该指向概率密度梯度的方向
. 图 1,Mean Shift 示意图 如上图所示, 大圆圈所圈定的范围就是 S h ,小圆圈代表落入 S h 区域内的样本点 xi ∈ S h , 黑点就是 Mean Shift 的基准点 x ,箭头表示样本点相对于基准点 x 的偏移向量,很明显的,我们 可以看出,平均的偏移向量 M h ( x) 会指向样本分布最多的区域,也就是概率密度函数的梯度 方向.
扩展的Mean Shift 核函数
首先我们引进核函数的概念. 定义 : X 代表一个 d 维的欧氏空间 , x 是该空间中的一个点 , 用一列向量表示 . x 的模
x = xT x . R 表示实数域.如果一个函数 K : X → R 存在一个剖面函数 k : [ 0, ∞ ] → R ,即
2
K ( x) = k x
并且满足: (1) k 是非负的.
( )
2
(3)
(2) k 是非增的,即如果 a < b 那么 k ( a ) ≥ k (b) . (3) k 是分段连续的,并且 那么,函数 K ( x ) 就被称为核函数. 举例:在 Mean Shift 中,有两类核函数经常用到,他们分别是, 单位均匀核函数:

Mean Shift 的基本思想及其扩展
基本Mean Shift
给定 d 维空间 R 中的 n 个样本点 xi ,i=1,…,n,在 x 点的 Mean Shift 向量的基本形式定义 为:
d
M h ( x) ≡
1 ∑ ( xi − x ) k xi ∈Sh
(1)
其中, S h 是一个半径为 h 的高维球区域,满足以下关系的 y 点的集合,
Mean Shift 概述
Mean Shift 简介
Mean Shift 这个概念最早是由 Fukunaga 等人[1]于 1975 年在一篇关于概率密度梯度函 数的估计中提出来的,其最初含义正如其名,就是偏移的均值向量,在这里 Mean Shift 是一个名 词,它指代的是一个向量,但随着 Mean Shift 理论的发展,Mean Shift 的含义也发生了变化,如果 我们说 Mean Shift 算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其 偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束. 然而在以后的很长一段时间内 Mean Shift 并没有引起人们的注意,直到 20 年以后,也就是 1995 年,另外一篇关于 Mean Shift 的重要文献[2]才发表.在这篇重要的文献中,Yizong Cheng 对基本的 Mean Shift 算法在以下两个方面做了推广,首先 Yizong Cheng 定义了一族核函数, 使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同,其次 Yizong Cheng 还设定了一个权重系数,使得不同的样本点重要性不一样,这大大扩大了 Mean Shift 的 适用范围.另外 Yizong Cheng 指出了 Mean Shift 可能应用的领域,并给出了具体的例子. Comaniciu 等人[3][4]把 Mean Shift 成功的运用的特征空间的分析,在图像平滑和图像分 割中 Mean Shift 都得到了很好的应用. Comaniciu 等在文章中证明了,Mean Shift 算法在满足 一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此 Mean Shift 算法可以用 来检测概率密度函数中存在的模态. Comaniciu 等人[5]还把非刚体的跟踪问题近似为一个 Mean Shift 最优化问题,使得跟踪 可以实时的进行. 在后面的几节,本文将详细的说明 Mean Shift 的基本思想及其扩展,其背后的物理含义, 以及算法步骤,并给出理论证明.最后本文还将给出 Mean Shift 在聚类,图像平滑,图像分割,物 体实时跟踪这几个方面的具体应用.
M h ( x) ≡
∑ G(
i =1
n
xi − x ) w( xi )( xi − x) h n x −x ) w( xi ) G( i ∑ h i =1
(8)
我们可以看到,如果对所有的采样点 xi 满足 (1) w( xi ) = 1 (2) G ( x ) = ⎨
⎧1 if x < 1 ⎪ ⎪ ⎩0 if x ≥ 1
( )
2
相关文档
最新文档