您的位置:首页 > 其它

Camshift算法

2016-05-31 15:46 120 查看
CamShift算法,即"Continuously
Apative Mean-Shift"算法,是一种运动跟踪算法。它是MeanShift算法的改进,称为连续自适应的MeanShift算法


Camshift算法的过程由下面步骤组成

(1)确定初始目标及其区域;

(2)计算出目标的色度(Hue)分量的直方图;

(3)利用直方图计算输入图像的反向投影图(后面做进一步的解释);

 (4)利用MeanShift算法在反向投影图中迭代收索,直到其收敛或达到最大迭代次数。并保存零次矩;

(5)从第(4)步中获得收索窗口的中心位置和计算出新的窗口大小,以此为参数,进入到下一幀的目标跟踪。(即跳转到第(2)步);
http://blog.sina.com.cn/s/blog_5d1476580101a57j.html http://www.cnblogs.com/smhh/p/3604561.html
优点:算法的效率比较高,如果能利用多少特征做出来的统计直方图,我估计实验效果会更好。

缺点:

(1)只利用颜色统计做的跟踪,在背景有相似颜色时,会出现跟踪错误的情况。

(2)不能做多目标跟踪。

(3)由于它只在初始位置(而不是从每个像素点)开始迭代,所以有可能在初始位置错了后,收敛的位置还是原位置(即跟丢了后,可能会找不回来)。

对于OPENCV中的CAMSHIFT例子,是通过计算目标HSV空间下的HUE分量直方图,通过直方图反向投影得到目标像素的概率分布,然后通过调用CV库中的CAMSHIFT 算法,自动跟踪并调整目标窗口的中心位置与大小。

这个算法对于纯色物体在黑白背景下的跟踪效果是很好的,但是如果背景的颜色与目标相近,或者目标附近有与目标的色调相近的算法比较物体,则CAMSHIFT会自动将其包括在内,导致跟踪窗口扩大,甚至有时会将跟踪窗口扩大到整个视频框架。

Camshift算法原理及其Opencv实现

http://blog.csdn.net/leixiaohua1020/article/details/12236091
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: