MeanShift知识整理



 第一个问题:无参数密度估计

给定任意一组观测数据或数据采样值,估计出样本的分布。

无参数密度估计,它对数据分布规律没有附加任何假设,而是直接从数据样本本身出发研究数据分布特征,对先验知识要求最少,完全依靠训练数据进行估计,而且能处理任意的概率分布。

例如:直方图法,最近邻域法,核密度估计方法。

有参数密度估计:高斯统计模型。

更形象的说明:

已经有N个点,它们的坐标分布如下面所示,如何求出这个区域中,哪个位置的样本分布密度最大,换句话说,如果有第N+1个点,它最大的可能出现在哪个位置。

clip_image001[5]

下面我们就用Mean Shift的原理来解决这类的问题。

第二个问题:核函数的密度估计

给定clip_image003[5]维空间clip_image005[5]中的样本集合clip_image007[5],则点clip_image009[12]关于核函数clip_image011[4]和带宽矩阵clip_image013[8]的核函数密度估计表示为:

clip_image015[5]

其中

clip_image017[5]

其中clip_image013[9]表示clip_image019[4]带宽矩阵。我们用比例单位矩阵clip_image021[4]来表示clip_image013[10],将上面的核密度方程写成下面的典型的表达式:

clip_image023[5]

由于clip_image025[5],可将密度估计写成关于核函数的轮廓函数形式:

clip_image027[5]

由上面的式子可以看出,核函数是一种权值函数,其作用是将每个样本点按到中心clip_image009[13]点距离的远近进行加权,距离中心点近的样本点概率密度估计影响大,赋予大的权值,反之,赋予小的权值。

第三个问题:Mean Shift 向量

我们在第二个问题中,已经由核函数来估计出来了一个样本集合的概率密度,现在我们要根据这个概率密度方程,来分析数据集合中密度最大数据的分布位置,我们可以对密度函数求导,分析梯度变化。

clip_image029[4]

clip_image031[4]

令上面的导数clip_image033[4],则可以得到

clip_image035[4]

也就是说上面的点clip_image009[14]就是概率密度最大的点。

第二个中括号内的内容就是Mean Shift向量,表示为clip_image037[4]

clip_image039[4]

为了更直观的说明上面公式的意义,我们把核函数clip_image041[4],这样上面的式子就可以写为:

clip_image043[4]

clip_image045[4]

中间的实心黑点表示x点,也是核函数的中心。周围的空心白点是样本点。箭头表示样本点相对于核函数中心点的偏移向量,平均的偏移量会指向样本点最密的方向,也就是梯度方向。因此,Mean Shift向量应该转移到样本点相对点变化最多的地方,其方向也就是密度梯度的方向。

但是上面中所有样本点clip_image047[8]clip_image049[4]的贡献是一样的。一般而言,离clip_image009[15]越近的采样点对估计clip_image009[16]周围的统计特性越重要,因此引入核函数的概念,式中clip_image051[4]就是对每个采样点的权值。

clip_image052[4]

第四个问题:基于颜色的Mean Shift目标跟踪算法

4.1 直方图

灰度直方图

clip_image053[4]

直方图反映了图像中每一种颜色出现的次数。

那么彩色直方图的话就是每一种(R,G,B)这样的组合出现的次数。

灰度图像直方图横坐标0-255

而彩色直方图,共有256*256*256种色彩,就是直方图的横坐标0-16777215

我们通过降维来简化彩色颜色直方图

我们把R,G,B三个通道0-255区间内的值都分为16个区间,即将0-255转换为0-15

比如(35,122,200)按上面将转换为(2,7,12),这样整个颜色空间就可以用16*16*16种组合来表示。

将三维向量映射为一维的

(R,G,B)== 256*R+16*G+B

4.2 目标模型

clip_image055[6]是目标模板区域的像素位置,且目标区域的中心为clip_image057[4],定义函数clip_image059[4]为像素clip_image047[9]处的颜色索引函数,clip_image061[4]clip_image047[10]处像素点有相应直方图中颜色索引值。则目标模型中第clip_image063[4]个特征值估计的概率密度为:

clip_image065[4]

其中,为目标特征值。为核函数的轮廓函数,是一种加权函数,其作用是给目标区域中的像素点设置权值,对靠近目标模板中心像素赋予较大的权值,而对于远离目标模板中心的像素赋予较小的权值。目标区域中心的权值最大,区域边缘的权值小,对于远离目标模板中心的像素容易受到边缘噪声,干扰物的影响,加权后进行密度估计时增加了它们的鲁棒性,提高了跟踪的抗干扰能力。

由于clip_image067[4],即所有特征值的概率和为1。因为可以推导出:

clip_image069[4]

颜色索引函数的值为:

clip_image071[4]

4.3 候选目标模型的表示

同理,设clip_image055[7](n为候选区域中像素点的个数)是候选目标区域的像素位置,在当前帧以y为中心,候选模型的特征值为clip_image073[4]的颜色概率估计密度为:

clip_image075[4]

其中归一化常数为:

clip_image077[4]

4.4 相似性度量

选用Bhattacharrya系数相似性函数来表示目标模型和目标候选模型的相似程度。

用Bhattacharrya系数clip_image079[4]表示clip_image081[4]clip_image083[8]的相似程度如下式:

clip_image085[6]

clip_image087[6]clip_image083[9]越相似,clip_image089[12]的值越大,在理想情况下clip_image087[7]clip_image083[10]的概率分布是完全相同的,clip_image089[13]值为1,否则clip_image089[14]的值介于0~1之间

使用上式,两个模型的距离就可以表示为:

clip_image091[4]

4.5 目标定位

当有了目标和候选目标的模型以及度量它们似度的准则后,目标跟踪的任务就是在当前帧中找到目标的新位置。

我们可以通过最小化clip_image093[4]的距离值来获得目标当前帧的最可能的位置clip_image095[6]

在当前帧对寻找目标的新位置是根据前一帧目标位置的估计clip_image097[8]开始的,并在clip_image097[9]周围邻域内寻找。于是,必须先计算出在当前帧中位于处的候选目标的颜色概率clip_image099[4],对clip_image089[15]clip_image101[4]处进行泰勒展开,可以得到下面的式子:

clip_image103[4]

其中,

clip_image105[4]

我们只分析后面的第二项,

clip_image107[4]

可以看出第二项就是在当前帧中利用核函数和图像像素加权值计算得到的概率密度估计。

根据Mean Shift向量,我们就可以得到候选区域中心clip_image097[10]移向真实目标区域clip_image095[7]的向量

clip_image109[4]

4.6 跟踪目标窗口自适应大小

采用clip_image111[4]的带宽来计算三次候选目标的颜色直方图,然后按下面的公式分别计算相似性:

clip_image085[7]

最其中clip_image089[16]最小的带宽作为目标窗口的大小

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1、Mean-shift MATLAB代码聚类方 法 2、mean shift基本原理介绍包括原理和基本算法实现,以及应用程序员带注意:这是"程序员帮帮”店原创宝贝;请在”程序员帮帮”店购买;盗版店程序不完整,不更新,无售后 3、mean shift segmentat ion(用于分割,分类图像)店 所创 4、mean shift目标跟踪mat lab程序(用鼠标选取一个 要跟踪的目标程序会自动跟踪)5、matlab mean shift EDISON Wrapper 图像分割 6、mean shift算法mat lab源代码及演示图片 7、基于摄像头的视频跟踪mean-shift算法 (程序起始先调用摄像头抓拍- - 些图片作为选择跟踪区域的母板,然后双击跟踪区域开始进行跟踪) 8、小波变换的mat lab代码,包括EZW, Imfus, modify-shiftshift原创 9、MeanShift实现聚类(将mean shift算法用于聚类) 10、Meanshift, 聚类算法讲解 11、MeanShift算法详解以及mat lab源码(包里面有matlab源码以及对meanshift算法详细介绍,ppt, word文档) 12、meanshift跟踪 代码以及kalman滤波处理 13、MeanShift实现聚类(将mean shift算法用于聚类) 14、meanshift跟踪算法及源码c++ 15、用matlab实现的meanshift跟踪算法 16、meanshift 图像分割matlab源码 17、meanshift kalman 目标跟踪编译好的,在VS2008+OPENCV2. 0实现,基于win32的程序 18、meanshift 图像平滑mat lab实现 19、meanshift 目标跟踪MATLAB实现 20、C++实现了meanShift跟踪算法,通过跟踪视频中的物体验证了其可行性。文档中包含源代码和一个meanShift原理讲解文档 21、基于opencv2. 4.3的meanshift目标检测,直接运行,视屏从电脑的摄像头读取 22、meanshift原理 及图像分割应用mat lab程序 23、基于kalman滤波的meanshift算法 24、基于meanshift的图像分割mat lab代码 25、用matlab编 写的Meanshift追踪程序 26、基于meanshift和粒子滤波的目标跟踪代码 27、meanshift总结. docx 28、Matlab2012下, 带有GUI,可对彩色图像进行Kmeans和meanshift进行聚类分析,生成最后的聚类图像以及聚类中心的迭代轨迹 29、混合高斯建模加meanshift算法mat lab代码视频目标跟踪 30、meanshift分 割算法的matlab实现,完整标准代码+中文注释 31、基于Meanshift的单目标跟踪算法[matlab+c两个版本]
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值