2013-11-24 39 views
0

我正在开发一个项目,用于跟踪具有许多颜色变化的许多纹理的对象。 与使用颜色遮罩的正常跟踪不同,我的目标对象有很大的不同,因为它包含几个主要的颜色分布。OpenCV纹理对象跟踪使用过滤器

我想检测对象并开始跟踪。对于跟踪,有像卡尔曼滤波器这样的方法,但是,为了跟踪纹理对象,我需要跟踪我想要的局部关键点。如果我在每一帧中计算SURF描述符,比这将会失去跟踪的使用,我认为(也许我错了)。

我觉得我应该在第一帧使用SURF来初始化目标对象,然后跟踪它。我的问题在于如何跟踪纹理对象的特征。我做了一些研究,但我似乎没有得到如何解决这个问题。

如果我能得到一些建议或纸张链接来阅读和实施它,那将是非常好的。

+0

您必须检测每个帧中的对象才能对其进行跟踪。为什么不使用SURF呢?或者哈雷探测器? – GilLevi

+0

我想实时做到这点,但在Windows中,需要大约10秒来为单个帧计算SURF。 –

+0

您可以尝试二进制描述符,它们在提取和比较中都比SURF高效得多。也许使用较少的关键点并用二进制描述符描述它们可以实时工作。此外,在跟踪时,您将估计对象的位置,因此也许不必在整个图像中计算描述符,而只需估计对象的位置。 让我知道你是否需要关于二进制描述符的更多信息。 – GilLevi

回答

1

您可以尝试二进制描述符,它们在提取和比较中都比SURF高效得多。也许使用较少的关键点并用二进制描述符描述它们可以实时工作。此外,在跟踪时,您将估计对象的位置,因此也许不必在整个图像中计算描述符,而只需估计对象的位置。

我写了一篇关于二进制描述符的教程。

部分1 - 引言: http://gilscvblog.wordpress.com/2013/08/26/tutorial-on-binary-descriptors-part-1/

部2 - 的简要描述: http://gilscvblog.wordpress.com/2013/09/19/a-tutorial-on-binary-descriptors-part-2-the-brief-descriptor/

部分3 - 的ORB描述符: http://gilscvblog.wordpress.com/2013/10/04/a-tutorial-on-binary-descriptors-part-3-the-orb-descriptor/

部4 - 轻快描述符: http://gilscvblog.wordpress.com/2013/11/08/a-tutorial-on-binary-descriptors-part-4-the-brisk-descriptor/

+0

只是一个问题,是BRIEF,ORB和BRISK所有二进制描述符,或者应该单独实现它,因为我不喜欢二进制描述符没有在OpenCV中实现。其次,你对HOG有什么看法。对物体识别有好处吗?除了那些有帮助的链接 –

+0

它们都是在openCV中实现的,也是我在下一篇文章中写到的FREAK。 HOG确实是物体识别的好选择,但我担心运行时间会很长。 – GilLevi

+0

实际上,我试图实现HOG,但是我意识到OpenCV中的HOG仅供人们检测。还是我错了。所以我最终编写了整个猪的代码,但我再次陷入了如何确定对象周围的边界框。我也在努力。对不起,不介意我还在学习,所以我有这么多的困惑和问题。再次感谢你的帮助 –