阅读目的:理解quick shift,同时理解mean shift原理,mean shift用于图像聚类,优点是不需要指定聚类中心个数,缺点是计算量太大(原因)。

mean shift主要用来寻找符合一些数据样本的模型,证明样本符合某一概率密度函数(PDF),是一种非参数迭代算法能够寻找模型和聚类。

数据经过非参数密度估计能够得到符合数据分布的概率密度函数,而mean shift是非参数的密度梯度估计,能够对概率密度函数进行分析,比如找到概率密度函数极值点。

面对的是什么样的一个问题,mean shift能够解决?

以聚类为例,一副图像需要进行分割,根据的是像素间的距离和像素的颜色,亮度相似性。那么我们就将这些东西量化构建一个图像的特征空间。这个特征空间包括像素在图像中的位置以及每个像素RGB三个分量。在特征空间中位置相近,颜色相近会聚集在一起成为一类。

我们的目的是找到这样一个个聚类中心,将中心一定范围内的像素赋值给相同的标签。mean shift将特征空间(连续的)中的点(如图像中的像素)当成抽样隐藏概率密度函数(可表示成曲面或超曲面)上的点(如上图),那么密集的区域或者某个聚类就相当于概率密度函数的模式(局部最大值)。这样找聚类中心就转换成求隐含概率密度函数的模式。

mean shift 的流程

1.在特征空间中每个点上放置一个窗口

2.计算窗口中所有数据的均值

3.移动窗口到均值,直到窗口到达最密集的区域。

待更新

图像分割之mean shift的更多相关文章

  1. mean shift 图像分割(一、二、三)

    https://blog.csdn.net/u011511601/article/details/72843247 MeanShift图像分割算法:大概是将复杂的背景,通过粗化提取整体信息,进而将图像 ...

  2. Mean Shift简介

    Mean Shift,我们 翻译“平均漂移”. 其集群,图像平滑. 图像分割和跟踪已广泛应用.因为我现在认为追踪,因此推出Mean Shift该方法用于目标跟踪.从而MeanShift較全面的介绍. ...

  3. 基于均值漂移的三维网格分割算法(Mean Shift)

    mean shift算法是一种强大的无参数离散数据点的聚类方法,其在图像平滑.图像分割以及目标跟踪等方面都有着广泛的应用.[Yamauchi et al. 2005]基于mean shift算法提出了 ...

  4. 基于GraphCuts图割算法的图像分割----OpenCV代码与实现

    转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/44151213, 来自:shiter编写程序的艺术 1.绪论 图切割算法是组合图论 ...

  5. About the Mean Shift

    Mean Shift算法,一般是指一个迭代的过程.即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束. meanshift可以被用来做目标跟踪和图像 ...

  6. Mean shift

    转载:http://blog.csdn.net/google19890102/article/details/51030884 然后引入opencv中的pyrMeanShiftFiltering函数: ...

  7. shift粘滞键后门创建/复原批处理

    创建shift粘滞键后门: 1 c: 2 3 cd \Windows\System32\ 4 5 rename sethc.exe bak_sethc.exe 6 7 xcopy cmd.exe se ...

  8. Javascript——arguments的shift问题谈方法“借用”

    今天本来运行了打算这样的方法 arguments.shift() (shift方法是删除数组的第一个元素,例如var arr=[1,2,3,4,5]执行var a=arr.shift();之后,a的值 ...

  9. js中push(),pop(),unshift(),shift()的用法小结

    1.push().pop()和unshift().shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及内容. 不同的是 push().pop() 是从数组的尾部进行增减,unshift ...

随机推荐

  1. 服务器上使用matplotlib.pyplot绘图

    在linux服务器端执行python脚本,有时候需要画图,但是linux没有GUI界面,因此需要在导入matplotlib.pyplot库之前先执行 import matplotlib as mpl ...

  2. silverlight 对ChildWindow返回给父窗体值的理解(转载)

    这篇文章是我对ChildWindow的理解,举例说明: 有时候在项目中需要弹出子窗体进行一些操作,然后将操作的值返回到父窗体中. 下图是子窗体的界面(比较粗糙....) 下面贴出其代码: 子窗体前台代 ...

  3. window安装rabbitmq

    Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang.通过下面两个连接可以下载安装最新的版本: 下载并安装Eralng OTP For Wi ...

  4. ORA-1092 : opitsk aborting process---killed by oom killer

    oracle version:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production os versi ...

  5. python学习代码

    #!/bin/python #example 1.1 #applay def function(a,b): print(a,b) def example1(): apply(function, (&q ...

  6. linux管理员工具

    htop 任务管理器 bmon 网络监控 ### 详情 --------------------------------------------------- htop 任务管理器 bmon 网络监控

  7. iOS swift cookie创建存储移除

    保存网络请求的cookies,并存储到UserDefaults中 //保存COOKIES static func saveCookies(for urlStr: String){ if let url ...

  8. abp的权限与导航菜单的关系

    原来以为各是各的,所以就有了第一个版本.Getallmentus.然后注入了role,当然失败了.获取所有的菜单.一直在思考在什么地方设置菜单是否展示呢? 后面看了源码.才发现自己错了. UserNa ...

  9. Sphinx 安装与使用(2)-- 配置Coreseek

    1.必须先关闭守护进程才能做其他的操作(第一次启动不需要这一步) /usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/te ...

  10. iptables进阶

    ptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. filter负责过滤数据包,包括的规则链有,input,outp ...