关闭

Camshift算法

164人阅读 评论(0) 收藏 举报
分类:

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22803次
    • 积分:727
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:13篇
    • 译文:0篇
    • 评论:1条