均值漂移,可以对非刚性物理进行跟踪,是分参数估计,过程是迭代的过程,对光和形态不敏感,缺点是检测目标是固定的,特征不较少,模板背景没有实时更新,没有目标的位置精度预测只是梯度浓聚,

  原理:

  用文字标书就是在圆弧r范围内也就是划定的目标区域内,进行灰度像素直方图的相加取均值,这个均值就是目标中心的浓聚,借用公式如下

  从每个像素开始,首先估计有相似颜色的邻近像素点的密度(局部密度)的梯度,而后利用迭代算法求出局部密度的峰值(即重心点),把能够聚类到同一个峰值点的所有像素点划分成一个区域。

以上为mean shift的数学原理。有关文字的叙述已经在上一篇中提到了。用mean shift来跟踪属于确定性算法,粒子滤波器属于统计学方法。meanshift跟踪算法相对于粒子滤波器来说可能实时性更好一些,但是跟踪的准确性在理论上还是略逊于粒子滤波器的。mean shift跟踪的的实质就是通过对应的模板来确定目标的下一个位置。

质心计算:

1 给定目标的初始位置和尺寸, 计算目标在图像中的直方图;
2 输入新图像, 迭代直到收敛: 
计算图像上对应区域的新直方图;
新直方图与目标直方图比较,计算权重;
根据权重,计算图像上对应区域的形心/质心;
根据形心,修正目标位置;

效果:

直方图分为两部分, 每部分大小4096,
RGB的256*256*256种组合, 缩减为16*16*16=4096种组合. 
如果目标区域的点是边缘点, 则计入直方图的后一部分, 
否则计入直方图的前一部分.

针对缺点的改进:

不足

缺乏必要的模型更新方法;整个跟踪过程中跟踪窗口的大小保持不变,当目标存在尺度变化的时候会导致尺度定位不准确。

连续自适应的Meanshift(CamShift)算法

Bradski根据Mean Shift算法的不足,提出了Camshift算法。CamShift算法,即Continuously Adaptive Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算,将上一帧结果作为下一帧的初始值,迭代下去。
该算法采用不变矩对目标的尺寸进行估算,实现了连续自适应地调整跟踪窗口的大小和位置,并将其应用在对连续彩色图像序列中的运动目标的快速跟踪。
简单点说,Mean Shift是针对单张图片寻找最优迭代结果,而Camshift则是针对视频序列来处理,并对该序列中的每一帧图片都调用Mean Shift来寻找最优迭代结果。正是由于Camshift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化的时候,该算法就可以自适应地调整目标区域继续跟踪。

http://blog.csdn.net/dadaadao/article/details/6029583 meanshift 详解

http://blog.csdn.net/jinshengtao/article/details/30258833

http://www.xuebuyuan.com/1767617.html 公式推导

http://blog.csdn.net/jinshengtao/article/details/30970733 粒子滤波

http://www.kuqin.com/shuoit/20141007/342498.html

https://github.com/RonnyYoung/ImageFeatures/tree/master/source hog特征

http://wenku.baidu.com/link?url=qKZQnQqyR6qrx8ik3TXd2nzDl4mlDUf1WauB6OWq9f8-jo0VPWSBRDC_KPRXvms-yXC_8NzsMzGYC5ewQxuRpqO55_ZFEqrm2kJyw-Q3dyC 卡尔曼滤波预测

http://www.pudn.com/downloads56/sourcecode/multimedia/vfw/detail197185.html 卡尔曼滤波的实现

http://www.pudn.com/downloads154/sourcecode/graph/detail685202.html c实现

http://www.docin.com/p-1393012472.html 人流统计

http://xueshu.baidu.com/s?wd=paperuri:(d8adc654defc2e795fa1dab8a7014c7d)&filter=sc_long_sign&sc_ks_para=q%3D一种基于二部图匹配的智能多目标跟踪算法&tn=SE_baiduxueshu_c1gjeupa&ie=utf-8 学术

http://blog.csdn.net/jinshengtao/article/details/18599165 人脸识别

http://blog.csdn.net/jinshengtao/article/details/23122269 一流检测

目标跟踪之meanshift---meanshift2的更多相关文章

  1. 目标跟踪算法meanshift优缺点

    原博主:http://blog.csdn.net/carson2005/article/details/7341051 meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过 ...

  2. 基于MeanShift的目标跟踪算法及实现

    这次将介绍基于MeanShift的目标跟踪算法,首先谈谈简介,然后给出算法实现流程,最后实现了一个单目标跟踪的MeanShift算法[matlab/c两个版本] csdn贴公式比较烦,原谅我直接截图了 ...

  3. 目标跟踪之camshift---opencv中meanshift和camshift例子的应用

    在这一节中,主要讲目标跟踪的一个重要的算法Camshift,因为它是连续自使用的meanShift,所以这2个函数opencv中都有,且都很重要.为了让大家先达到一个感性认识.这节主要是看懂和运行op ...

  4. 目标跟踪之粒子滤波---Opencv实现粒子滤波算法

    目标跟踪学习笔记_2(particle filter初探1) 目标跟踪学习笔记_3(particle filter初探2) 前面2篇博客已经提到当粒子数增加时会内存报错,后面又仔细查了下程序,是代码方 ...

  5. 目标跟踪之meanshift---均值漂移搞起2000过时的

    基于灰度均值分布的目标跟踪! http://blog.csdn.net/wds555/article/details/24499599 但他有些有点: 1.不会受遮挡太多影响 Mean Shift跟踪 ...

  6. 目标跟踪ObjectT综述介绍

    此文也很详细:http://blog.csdn.net/maochongsandai110/article/details/11530045 原文链接:http://blog.csdn.net/pp5 ...

  7. 目标跟踪--CamShift

    转载请注明出处! !! http://blog.csdn.net/zhonghuan1992 目标跟踪--CamShift CamShift全称是ContinuouslyAdaptive Mean S ...

  8. 目标跟踪_MeanShift

    找到一些关于目标跟踪的资料 http://blog.csdn.net/jinshengtao/article/details/30258833 http://blog.sina.com.cn/s/bl ...

  9. TLD目标跟踪算法

    1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...

  10. KCF目标跟踪方法分析与总结

    KCF目标跟踪方法分析与总结 correlation filter Kernelized correlation filter tracking 读"J. F. Henriques, R. ...

随机推荐

  1. 一个更好的C++序列化/反序列化库Kapok

    KapokFAQ1.Kapok的特点简单,易用,header-only,只需要引用Kapok.hpp即可:高效,初步测试性和messagepack相当.它是纯c++11实现,因此需要支持C++11的编 ...

  2. u3d中的INput

    属性 属性: 功能: 轴 (Axes) 包含当前工程的所有定义的输入轴:数目 (Size) 该工程中不同输入轴的数量,元素 0.1.... 是要修改的特定的轴. 名称 (Name) 在游戏启动器中以及 ...

  3. js模拟form打开新窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. c与c++相互调用机制分析与实现

    c++通常被称为Better c,多数是因为c++程序可以很简单的调用c函数,语法上基本实现兼容.最常用的调用方式就是c++模块调用c实现的dll导出函数,很简单的用法,使用extern " ...

  5. vim 配色(mac)

    1.进入当前用户目录,新建 .vimrc ,并加入如下内容: cd / vim .vimrc 2.开启行号 选择颜色 #开启行号 set nu #选择颜色 colorscheme desert syn ...

  6. 【Linux】crontab 每隔1小时 2小时的执行job写法

    crontab -l crontab -e 每五分钟执行  */5 * * * * 每小时执行     0 * * * * 每2小时执行     0 */2 * * * 每天执行        0 0 ...

  7. 7. 集成学习(Ensemble Learning)Stacking

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  8. 基于jQuery实现汉字转换成拼音代码

    基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br /> ...

  9. centos6.5 redis应用环境搭建

    1. 官网下载安装 需要安装 ctl 支持 yum install ctl > wget http://download.redis.io/releases/redis-3.0.5.tar.gz ...

  10. php使用正则函数使用详解

    1. int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, in ...