有关meanshift跟踪的理解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

meanshift算法思想其实很简单:利用概率密度的梯度爬升来寻找局部最优。它要做的就是输入一个在图像的范围,然后一直迭代(朝着重心迭代)直到满足你的要求为止。但是他是怎么用于做图像跟踪的呢?这是我自从学习meanshift以来,一直的困惑。而且网上也没有合理的解释。经过这几天的思考,和对反向投影的理解使得我对它的原理有了大致的认识。

在opencv中,进行meanshift其实很简单,输入一张图像

(imgProb),再输入一个开始迭代的方框(windowIn)和一个迭代

条件(criteria),输出的是迭代完成的位置(comp)。

这是函数原型:

intcvMeanShift(constvoid*imgProb,CvRectwindowIn,CvTermCriteriacriteria,CvConnectedComp*comp)

但是当它用于跟踪时,这张输入的图像就必须是反向投影图了。

为什么必须是反向投影图呢?首先我们要理解什么是反向投影图。

简单理解它其实实际上是一张概率密度图。经过反向投影时的输入是一个目标图像的直方图(也可以认为是目标图像),还一个输入是当前图像就是你要跟踪的全图,输出大小与全图一样大,它上像素点表征着一种概率,就是全图上这个点是目标图像一部分的概率。如果这个点越亮,就说明这个点属于物体的概率越大。现在我们明白了这原来是一张概率图了。当用meanshift跟踪时,输入的原来是这样一幅图像,那也不难怪它可以进行跟踪了。

半自动跟踪思路:输入视频,用画笔圈出要跟踪的日标,然后对物

体跟踪。

用过opencv的都知道,这其实是camshiftdemo的工作过程。

第一步:选中物体,记录你输入的方框和物体。

第二步:求出视频中有关物体的反向投影图。

第三步:根据反向投影图和输入的方框进行meanshift迭代,由

于它是向重心移动,即向反向投影图中概率大的地方移动,所以始终

会移动到日标上。

第四步:然后下一帧图像时用上一帧输出的方框来迭代即可。

全自动跟踪思路:输入视频,对运动物体进彳丁跟踪。

第一步:运用运动检测算法将运动的物体与背景分割开来。

第二步:提取运动物体的轮廓,并从原图中获取运动图像的信息。

第三步:对这个信息进行反向投影,获取反向投影图。

第四步:根据反向投影图和物体的轮廓(也就是输入的方框)进

行meanshift迭代,由于它是向重心移动,即向反向投影图中概率大

的地方移动,所以始终会移动到物体上。

第五步:然后下一帧图像时用上一帧输出的方框来迭代即可。

总结:用meanshift进行跟踪最重要的一点是输入图像的把握,

也就是要让它的迭代能越来越迭代到目标上这种图像也不一定就是

反向投影图,只要是一幅反映当前图像中每个像素点含有目标概率图

就可以了,其实反向投影图就是这样的一幅图而已。

文档评论(0)

ld066788 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档