热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

听翟师兄讲解meanshift方法有感

当翟师兄讲完meanshift算法后,几位资深的组内成员讨论的很激烈,由于自己刚加入该组没多久,接触计算机视觉方法的时间也就一个多月吧,所以就没参与讨论,但是我从他们的讨论中收获挺大的,我
当翟师兄讲完meanshift算法后,几位资深的组内成员讨论的很激烈,由于自己刚加入该组没多久,接触计算机视觉方法的时间也就一个多月吧,所以就没参与讨论,但是我从他们的讨论中收获挺大的,我感觉我似乎是理解了meanshift算法,所以写点理解见解呵,希望大家别笑话我呵。
 
矩形窗口中的红色点代表指特征数据点,矩形中的圆圈代表选取窗口。
 
meanshift算法的目的是找到含有最多特征的窗口区域,即使圆心与概率密度函数的局部极值点重合,亦即使圆心与特征数据点最密集的地方中心尽量重合到一块。, 
算法实现是通过 向 特征数据点密度函数上升梯度方向 逐步迭代偏移 至 上升梯度值 近似为零(到达最密集的地方)。
 
 即在不改变选取局部窗口的情况下、通过给窗口一个向特征数据点更密集的方向一个偏移向量、然后将偏移后的选取 窗口作为当前选取窗口,根据选取窗口数据特征点密集情况 给出一个一个向特征数据点更密集的方向一个偏移向量……迭代偏移过程,直到偏移向量的模值近似为零即可。
 
我们来分析一下上述过程:
              当选取窗口(圆形)有远靠近最密集点,再远离最密集点的过程中,圆形窗口中特征数据点的数量变化:理想情况下应是选取窗口包含的特征数据点越来越多,再到越来越少。(这个过程对应meanshift算法的基本形式,没有添加核函数时)            
 
              现在你可能要问为什么要用概率密度函数的上升梯度呢?
             你看,概率密度函数可以表示大小不变的选取窗口中特征数据点的密度,我们要找的是概率密度最大的选取窗口,这样一来,我们只要使 下一个选取窗口的概率密度函数值 减去 当前选取窗口的概率密度函数值 大于0,就可以越来越靠近取窗口的概率密度函数的最大值,当下一个选取窗口与当前选取窗口非常接近时,就可以用概率密度梯度表示两窗口概率密度函数对应值的差,也就是说只要使选取窗口向概率密度函数梯度上升的方向偏移就可以在上升梯度值近似为零时取得概率密度函数的近似最大值。所以呀……。使用概率,是因为特征数据点本身是概率事件或说是标定与标准特征匹配程度的特征数据。
            
             从上面的叙述可以看到,我们是在默认选取窗口中的各个特征数据点的权值是一样的,但实际中各个特征数据点对最终判定是否为目标的影响是不一样的,这时我们需要添加权值函数(即meanshift扩展方法中的核函数)以便影响判定果。 现在我们添加的权值函数应满足什么条件呢?
           对某一选取窗口的概率密度函数值=各个特征数据点的总和相当量 除以 窗口面积的相当量。
           当选取窗口为全局窗口时,目标一定出现,即此范围内权值函数的各个值的总和归一化后一定为1。
           为了便于比较和求概率密度函数的梯度,加权函数亦即核函数在自变量取值范围内的积分为1.
          所以核函数应满足的条件:自变量范围内积分,值为1.
 
 
介绍完了meanshift基本形式和扩展形式后,我们看看meanshift方法的适用范围及其优缺点: 
 
 
 
meanshift方法适合概率密度函数有极值且在某一局部区域内唯一,即选择的特征数据点能够较为明显的判定目标,亦即显著特征点。显然此方法,meanshift的基本形式不适合等概率特征点,即特征点是均匀分布的情况。
 
 meanshift算法,受初始值的影响很大,这就很可能涉及到经验,而经验确实一个说不太清的东西了。另外,算法收敛的速度和程度,很大程度上和选取的窗口有关,选取恰当的窗口非常重要。然而,窗口选取的是否恰当很大程度上决定与目标(特征数据点的分布状况),这就是说此方法在处理一类目标时,还是很有效的,最起码跟踪同一目标,在窗口经过恰当的线性变换后,跟踪效果应该还是不错的。即概率密度函数的极值在自变量区域压缩或扩大的过程中,极值仍存在,仍可跟踪到目标。
 
 meanshift算法,若用于图割,则适用于:已经建立标准的特征数据点集,且通过恰当的概率密度函数和核函数可以唯一的确定目标时,可以将目标从批量图片中分割,挑选出来,但是取出的结果显示为选取窗口中所有的内容,也就是说可能会有目标物之外的图像或缺失部分目标物。若选取窗口为目标物的轮廓,那将非常不错,也就意味着窗口模板要更新或目标轮廓是不变的(实际中不变几乎是不可能的),更新以为误差与误差的积累,也就是说进行批量分割时、在我分析的这种情况下,效果是有限的。
 
meanshift的核心思想,我想应该是有极值,就可能跟踪到目标,或分割。
个人认为meanshift更适合于跟踪,用于图割应用有限。

推荐阅读
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • Win11扩展卷无法使用?解决扩展卷灰色问题的指南
    本文详细介绍了在Windows 11中遇到扩展卷灰色无法使用时的解决方案,帮助用户快速恢复磁盘扩展功能。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 探索12个能显著提升iPhone使用体验的隐藏技巧,掌握这些功能后,你会发现生活更加便捷高效。 ... [详细]
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • jQuery HooRay:一款自创的实用 jQuery 工具插件
    这款插件主要由作者在工作中积累的常用功能开发而成,旨在解决现有插件间的冲突及浏览器兼容性问题。通过整合和优化现有插件,确保其稳定性和高效性。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
author-avatar
静2502882443
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有