如何使用视频对对象进行运动跟踪? [英] How to do motion tracking of an object using video?

查看:397
本文介绍了如何使用视频对对象进行运动跟踪?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以指导我去教程或指导我如何跟踪用6自由度移动的对象的运动。我打算使用移动玩具车的视频流。我想计算玩具车的位移和旋转角度。我遇到了一些研究论文,但找不到任何库工作。



有没有办法使用OpenCV或Matlab或一些其他免费提供的软件?



谢谢

解决方案

跟踪是一个经典的计算机视觉问题该研究仍然致力于计算机科学;您可以通过查看已接受的论文列表,快速了解该领域的最新技术 CVPR 2010 (这是一个年度顶级计算机视觉会议),您会看到仍有有效的工作发布在(在列表中搜索单词跟踪)。



跟踪问题的解决方案的标准处理流水线工作如下:首先解析图像以提取有意义的描述符,捕获图像的相关角点和其他突出特征。这些描述符随后被馈送到在线分类器,其被训练以检测每个帧中的特定感兴趣对象的可能实例。您的对象的描述符可以是从对象看起来像的先前示例中先验地(即离线计算的)已知的,但是它通常通过系统随时间看到的情况在每个帧中更新,以使检测自适应到动态对象外观。最后,为了从每个帧(从检测到的那些帧)中的可能候选者池中选择,使用顺序相对于先前帧的诸如对象的位置和速度的参数估计统计模型。



有一个关于好的图像描述符的大量计算机视觉文献,但一些最流行的是 SIFT SURF HOOG 。对于分类,两个最成功的方法是支持向量机分类集合(例如 boosting 随机森林),而对于估算部分,大多数人仍然使用卡尔曼滤波器(这是一种顺序的马尔可夫模型),粒子过滤器或更一般的密度估计模型。 p>

您描述的特定情况比自然户外场景中任意相机和物体运动的更一般和困难的物体跟踪问题要容易一些,因此您可以找到一些代码在线,可以立即工作在你的设置,但我怀疑。正如其他人指出的那样,(就我所知),没有可以立即使用各种对象,背景和运动空间的现成的库。也就是说,你可以找到上面描述的标准通用管道(分类器,过滤器/功能库,马尔可夫估计模型)的各个组件的代码。



我的建议是,如果你有兴趣建立一个良好的系统(即一个实际工作),然后看看最近的论文的作者的网站在顶年度计算机视觉会议,例如 CVPR ICCV ECCV SIGGRAPH 。他们往往会在网上找到他们最近的一些视频示例的代码,这可能有助于你了解他们的方法如何在一个真正的设置。


Could someone direct me to a tutorial or guide me how to track motion of an object moving with 6 DOF. I am planing to use a video stream of a moving toy car. I want to calculate displacement and rotation angle of the toy car. I came across some research papers but couldn't find any libraries to the job.

Is there a way to do this using OpenCV or Matlab or some other freely available software?

Thank you

解决方案

Tracking is a classical computer vision problem to which research is still devoted in computer science; you can quickly get a sense of the state-of-the-art in this field by checking the list of accepted papers in CVPR 2010 (which is an annual top computer vision conference) and you'll see that there is still active work being published on the topic (search for the word "tracking" within the list).

The standard processing pipeline of a solution for a tracking problem works as follows: The image is first parsed to extract meaningful descriptors that capture relevant corners and other salient features of the image. These descriptors are later fed to an on-line classifier that is trained to detect likely instances of your particular object of interest in each frame. The descriptor of your object may be known a priori, (i.e. computed off-line) from previous examples of what the object looks like, but it is usually updated in every frame by what the the system sees over time, to make the detection adaptive to the dynamic object appearance. Finally, in order to choose from a pool of possible candidates in each frame (from those that were detected), parameters such as the position and velocity of your objects are estimated with respect to previous frames using a sequential statistical model.

There is a vast computer vision literature on good image descriptors, but some of the most popular ones are SIFT, SURF, or HOG. For classification, two of the most successful methods are support vector machines or classification ensembles (e.g. boosting or random forests), and for the estimation part, most people still use Kalman filters (which is a type of sequential Markov model), particle filters or more generally density estimation models.

The specific case you described is a bit easier than the more general and difficult object-tracking problem with arbitrary camera and object motion in natural outdoor scenes, so you might be able to find some code online that could work right away in your setting, but I doubt it. As others pointed out, (and to the best of my knowledge), there is no off-the-shelf library that works right away for all sorts of objects, backgrounds and motion spaces. That said, you can probably find code for the individual components of the standard general pipeline I described above (classifiers, banks of filters/features, Markov estimation models) online.

My suggestion is, if you are interested in building a good system (i.e. one that actually works), then look at the websites of the authors of most recent papers in top annual computer vision conferences, such as CVPR, ICCV, ECCV and SIGGRAPH. They tend to have code online for their most recent work with some video examples, and this might help you get a sense of how their methods work in a real setting.

这篇关于如何使用视频对对象进行运动跟踪?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆