登录论坛

查看完整版本 : 如何使用视频对物体进行运动跟踪?


poster
2019-12-14, 20:13
有人可以指导我使用教程或指导我如何跟踪以6自由度移动的对象的运动。我打算使用移动玩具车的视频流。我想计算玩具车的位移和旋转角度。我遇到了一些研究论文,但找不到适合自己的图书馆。

有没有办法使用OpenCV或Matlab或其他一些免费提供的软件来执行此操作?

谢谢



回答:

跟踪是一个经典的计算机视觉问题,计算机科学仍然致力于研究。您可以通过查看CVPR 2010 (http://en.wikipedia.org/wiki/CVPR) (每年一次的顶级计算机视觉会议)上被接受的论文 (http://www.cvpapers.com/cvpr2010.html)列表,快速了解该领域的最新技术,并且您会发现仍在进行中在主题上发布(在列表中搜索单词“ tracking”)。

跟踪问题的解决方案的标准处理流程如下:首先解析图像,以提取有意义的描述符 ,这些描述符捕获图像的相关角和其他显着特征。这些描述符随后被馈送到在线分类器 ,该分类器经过训练可以在每个帧中检测您感兴趣的特定对象的可能实例。您的对象的描述符可能是先验的(即脱机计算),可以从对象的先前示例中得知,但是通常会在每帧中根据系统随时间变化的内容对其进行更新,以使检测自适应动态对象的外观。最后,为了从每个帧中(从检测到的那些)候选对象中进行选择,使用顺序统计模型相对于先前的帧估计了诸如对象的位置和速度之类的参数。

关于好的图像描述符,有大量的计算机视觉文献,但是最受欢迎的是SIFT (http://en.wikipedia.org/wiki/Scale-invariant_feature_transform) , SURF (http://en.wikipedia.org/wiki/SURF)或HOG (http://en.wikipedia.org/wiki/Histogram_of_oriented_gradients) 。对于分类,最成功的两种方法是支持向量机 (http://en.wikipedia.org/wiki/Support_vector_machines)或分类集成 (http://en.wikipedia.org/wiki/Ensemble_learning) (例如, 增强 (http://en.wikipedia.org/wiki/Adaboost) 森林 (http://en.wikipedia.org/wiki/Random_forest)或随机森林 (http://en.wikipedia.org/wiki/Random_forest) ),对于估计部分,大多数人仍然使用卡尔曼滤波器 (http://en.wikipedia.org/wiki/Kalman_filter) (这是顺序马尔可夫模型的一种 (http://en.wikipedia.org/wiki/Markov_model) ), 粒子滤波器 (http://en.wikipedia.org/wiki/Particle_filter)或更一般的密度估计模型 (http://en.wikipedia.org/wiki/Kernel_density_estimation) 。

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

我的建议是,如果您有兴趣构建一个好的系统(即一个真正有效的系统),那么可以在年度计算机视觉顶级会议上,例如CVPR (http://en.wikipedia.org/wiki/CVPR) , ICCV (http://en.wikipedia.org/wiki/ICCV) , ECCV (http://en.wikipedia.org/wiki/European_Conference_on_Computer_Vision)和SIGGRAPH (http://en.wikipedia.org/wiki/SIGGRAPH) , 查看 (http://en.wikipedia.org/wiki/European_Conference_on_Computer_Vision)最新论文作者的网站。他们倾向于通过一些视频示例在线获取其最新工作的代码,这可能有助于您了解他们的方法在实际环境中的工作方式。



更多&回答... (https://stackoverflow.com/questions/4701997)