mean-shift 算法

一、Mean Shift算法概述

Mean Shift算法,又称为均值漂移算法,Mean Shift的概念最早是由Fukunage在1975年提出的,在后来由Yizong Cheng对其进行扩充,主要提出了两点的改进:

  • 定义了核函数;
  • 增加了权重系数。

核函数的定义使得偏移值对偏移向量的贡献随之样本与被偏移点的距离的不同而不同。权重系数使得不同样本的权重不同。Mean Shift算法在聚类,图像平滑、分割以及视频跟踪等方面有广泛的应用。

二、Mean Shift算法的核心原理

2.1、核函数

在Mean Shift算法中引入核函数的目的是使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同。核函数是机器学习中常用的一种方式。核函数的定义如下所示.

X表示一个d维的欧式空间,x是该空间中的一个点x={x1,x2,x3⋯,xd},其中,x的模\left \| x \right \|^2=xx^T,R表示实数域,如果一个函数K:X→R:存在一个剖面函数k:[0,∞]→R,即 :

K(x)=k\left \| x \right \|^2
 

并且满足: 
(1)、k是非负的 
(2)、k是非增的 
(3)、k是分段连续的 
那么,函数K(x)就称为核函数。

常用的核函数有高斯核函数。高斯核函数如下所示:

N(x)=\frac{1}{\sqrt{2pi}h}e^-\frac{x^2}{2h^2}

其中,hh称为带宽(bandwidth),不同带宽的核函数如下图所示:

 

2.2、Mean Shift算法的核心思想

2.2.1、基本原理

在数据集中选定一个点,然后以这个点为圆心,r为半径,画一个圆,求出这个点到所有点的向量的平均值,而圆心与向量均值的和为新的圆心,然后迭代此过程,直到满足一点的条件结束。后来加了权重系数和核函数,目前在聚类,图像平滑,分割,跟踪等方面有着广泛的应用。

  • 步骤一:在指定的区域计算偏移量(如下图的黄色的圈)并移动该点到偏移均值点处

  • 步骤2: 重复上述的过程(计算新的偏移均值,移动)

第二步移动

  • 步骤3:满足了最终的条件,即退出

从上述过程可以看出,在Mean Shift算法中,最关键的就是计算每个点的偏移均值,然后根据新计算的偏移均值更新点的位置。

2.2.2、基本的Mean Shift向量形式 

2.2.3、改进的Mean Shift向量形式 

2.3、Mean Shift算法的解释

2.3.1、概率密度梯度

2.3.2、Mean Shift向量的修正

2.4、Mean Shift算法流程

 

 

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值