Mean Shift 算法总结
一、简介
******** 二、具体含义**
**
******** 三、细节**
**
******** 四、缺点**
**
----------------------------------------------------------------------------------------------------
**
**
****** 一、简介**
该方法的核心概念适用于目标追踪、图像平滑等技术,并且展现了很强的通用性;然而其主要缺点是运行速度较慢
这个概念最初由Fukunaga等人于1975年在其论文《Probability density gradient estimation for pattern recognition》中提出。其中,“mean shift”这一术语源自于其实质意义——即位移均值向量的概念,在此语境下,“mean shift”作为一个专有名词特指一种矢量形式的技术指标。然而随着研究领域的深入发展,“mean shift”的内涵逐渐拓展并随之而来的研究应用也呈现出多元化趋势。因此当我们讨论“mean shift算法”的时候,则通常指的是以下迭代操作:首先确定当前数据点处的概率密度梯度场,并沿着该梯度场的方向将该数据点平移到新的位置;接着以新位置作为起点重复上述操作直至满足特定收敛条件。
然而,在相当长的一段时间里,Mean Shift并未受到人们的关注。直至20年后(即1995年),一篇关于该方法的重要文献才问世。在其论文中,Yizong Cheng对该算法进行了两方面的改进:首先,Yizong Cheng定义了一族核函数;其次,Yizong Cheng引入了一个权重系数;这些改进不仅扩展了该算法的应用范围;同时,Yizong Cheng还探讨了其可能的应用领域并提供了具体实例
从本质上看,在最速下降法(包括梯度下降法与牛顿法等)这一优化理论领域内
**
**
** 二、具体含义**
输入可被视为一个五维的空间,在二维中我们有地理坐标的表示为(x,y),而在三维中则采用(L,u,v)来进行颜色空间坐标的描述;值得注意的是,在实际应用中这些坐标系并非唯一的选择,在某些情况下也可以采用RGB色彩空间或纹理特征空间来替代现有模型
**简单来说,**对于 空间中的每一个元素,对它执行下面的操作:
**
**
将该元素转移至其邻域内所有元素特征值的平均位置处,并持续此过程直至收敛。更确切地说,并非实际移动该元素至收敛位置处的其他元素本身,则会将其标记为同一类别中的一员。(注:此处"程"应为"成")对于图像来说,则是将所有像素按照矩阵的形式排列起来,在此过程中每个像素都有对应的灰度值作为其特征值。

矩形窗口中的红色标记表示特征数据点, 矩形内的圆圈表示被选中范围 从另一种看法出发, Mean Shift算法的目标是找到包含最多特征的数据块, 使得其核心位置尽量靠近概率密度函数的局部极值位置。
算法的实现是通过遵循特征点密度函数梯度上升的方向进行逐步迭代计算,在达到一个极小值的位置时(即位于最密集区域的位置)停止。
从上文中可以看出,在观察窗口变化的过程中,在设置初始窗口后将该窗口逐步移动至目标区域,并在检测到偏移向量模达到最小值时停止变化。
为什么要用概率密度函数的上升梯度呢?
该概率密度函数代表固定大小选取窗口内特征点出现的概率密度分布状况。我们的目标是确定该区域内出现频率最高的位置即对应着最大值的位置进而实现对最优解的选择过程。在实际操作中我们需要通过不断调整使得相邻两个选择窗口之间的概率差异始终呈正向变化趋势从而逐步逼近整个区域内的最大概率分布点当相邻两个选择窗口间距趋近于零时我们可以利用计算得到的概率梯度信息来精确定位全局最大值的位置值得注意的是在本研究中假设特征数据点服从一定的统计分布特性
如前所述,在本研究中我们假设在默认情况下,在窗口内的各个特征数据点被赋予相同的权重。然而,在实际情况中,不同特征的数据点对最终判断结果的影响程度各不相同。为此,在必要时我们需要引入加权函数(如均质偏移法所采用的核函数),以便更好地影响判断结果。
现在我们添加的权值函数应满足什么条件呢?
**
**
该区域的概率密度函数值等于各特征数据点之和除以该区域的面积。
**
**
若选择整个窗口范围,则目标必定呈现;在此范围内所有权值函数之总和经归一化处理后必然等于1。为了便于比较分析以及计算概率密度函数的梯度变化情况,在自变量取值区间上定义的权值函数(即核函数)其积分为1。
所以核函数应满足的条件:自变量范围内积分,值为1。
**
**
** 三、细节(待修改)**
核函数的主要目标是解决低维空间中的分类问题;如果无法直接实现这一目标,则可以通过将数据映射至高维空间来实现分类目的。然而,在这一过程中会带来一个被称为"维度灾难"的问题。此时引入核函数是一种有效的方法,并对其中的计算过程进行了优化处理以降低算法的时间复杂度和其他性能指标。在MeanShift算法中应用了这一点特别明显:特别是使用高斯核函数时,在处理基于二范数的形式上具有显著的优势。
设在d维空间R^d中有n个样本点X_i,i=1,…,n,在该空间中任取一点x,则Mean Shift向量其基本形式定义为:****

Sk是一个半径为h的高维球区域,满足以下关系的y点的集合,

k表示在这n个样本点xi中,有k个点落入Sk区域中.
以上官方观点指出亦即教材中的定义选取任意一点位于d维空间中随后以该点为中心构建一个具有半径h的超球体由于存在d个维度且当其值超过2时便构成了高维度的空间接着观察此超球体内所有的数据点及其中心位置这些会产生多个向量每个向量都是从中心位置指向超球体内某一点的位置随后将这些向量进行汇总计算得到均值偏移矢量即Meanshift向量这一过程有助于揭示数据分布的核心趋势和变化方向
如图所以。其中黄色箭头就是Mh(meanshift向量)。

以meanshift向量的终点作为圆心构造一个高维球体,并通过以下图提供的信息重复上述步骤,则可得到一个新的meanshift向量。不断重复下去,则该算法最终会收敛至概率密度最大的处。即为密度最大的区域。

最终的结果如下:

Meanshift推导:
将基础meanshift向量引入到核函数中,并具体性质在上述博客中进行详细阐述
那么,meanshift算法变形为**

**
(1)
阐述K()核函数的概念,其中h代表半径,Ck,d/nhd被定义为单位密度,为了使上式f达到最大值,最直观的方法就是对上述公式求导数,实际上MeanShift算法正是通过上述公式实现的

**
(2)
令:

K(x)被称为g(x)的影子核(shadow kernel),这一名称之所以听起来听起来深奥的原因可能在于其数学性质或复杂程度;实际上它指的是在负方向上进行求导操作的结果。因此上式就可以表示为:

对于上式,如果才用高斯核,那么,第一项就等于fh,k

第二项就相当于一个meanshift向量的式子:

那么(2)就可以表示为

下图分析

的构成,如图所以,可以很清晰的表达其构成。

要使得

=0,当且仅当

=0,可以得出新的圆心坐标:

(3)
上面介绍了meanshift的流程,但是比较散,下面具体给出它的算法流程。
- 在空间中选择一个圆心点x,并以h作为半径构造一个高维超球体D,在这个超球体内包含的所有样本点xi即为我们关注的目标区域。
- 计算这些样本点xi到该超球体D的距离

,如果

<ε(人工设定),推出程序。如果

ε, 则利用(3)计算x,返回1.
真正的顶尖人才能够开发出各种先进的算法,在诸如Meanshift和EM这样的领域不断推陈出新以促进学科发展
通常来说,一个图像可以认为是一个矩阵。像素点在图像中均匀地分布着,在没有出现密集程度的情况下(即没有足够的像素覆盖区域),无法直接定义出正确的概率密度值。因此,在这种情况下最为关键的问题所在是如何建立正确的概率密度模型。
为了计算点x的概率密度,具体方法如下:取圆心为x、半径设为h的球体区域。位于该球体内所有样本点xi将分别设定两个模式准则。
** (1)x像素点的颜色与xi像素点颜色越相近,我们定义概率密度越高。**
** (2)离x的位置越近的像素点xi,定义概率密度越高。**
** 所以定义总的概率密度,是二个规则概率密度乘积的结果,可以(4)表示**

(4)
** 其中:

代表空间位置的信息,离远点越近,其值就越大,

为了表示颜色信息,在不同区域中其数值大小反映了相似程度;具体而言,在左上角区域中(如图),根据公式(4)计算出的概率密度分布情况见右上角图形;通过meanshift算法对该图像进行聚类分析后可获得左下角对应的图像结果
|

|

|
|---|---|
|

|

||
**
**
**
**
** 四、缺点**
**
**

该算法特别适用于概率密度函数具有极值且在某个局部区域内唯一的情形;即能够明确区分目标的特征点;然而需要注意的是其基础形式不适用于所有等概率分布的情况
该算法对初始值极为敏感, 这可能源于人们对经验的理解不够清晰, 但也说明了人们对其本质认识仍有待深入探讨。其收敛速度及收敛程度与窗宽的选择密切相关, 窗宽选择得当至关重要。然而窗宽选择是否得当则直接影响着目标(即特征数据点分布情况), 这意味着此方法在处理某一类目标时仍然相当有效, 至少能够实现对同一目标在适当线性变换后依然具有良好的跟踪效果, 即无论自变量区域发生怎样的缩放或扩张变换, 概率密度函数的极值始终存在且可被追踪到
该算法在图像分割中的应用尤其适合:基于标准化特征数据集构建,并通过适当设计的概率密度模型和核函数能够精确识别目标特征点。从而实现从批量图片中分离出目标区域的过程。然而,在实际操作中可能会出现两种情况:一是由于选取窗口未能完全匹配目标边界而导致部分非目标区域被误判为背景;二是如果选取窗口能够准确捕捉到目标物体的边界,则效果将更加显著。需要注意的是,在实际应用中希望选取窗口与真实的目标轮廓高度一致几乎是不可能的;因此,在这种情况下需要动态更新模板或优化算法参数以提高分割精度。值得注意的是,在这种情况下误差积累效应可能导致整体分割效果受到限制
Mean Shift的基本概念可能是通过寻找数据分布中的极值点来实现对目标的追踪或图像分割。就我的理解而言,在目标追踪方面该算法表现更为突出,在图像分割方面的应用较为受限。
