Opencv - 跟踪对象检测 - 如何设置?

时间:2013-11-07 19:55:51

标签: opencv svm feature-detection video-tracking

我正在尝试使用OpenCV进行对象识别。我的想法是,我从一个空的数据库开始,然后用相机将对象添加到其中。 到目前为止,我有一个基于opencv方法calcOpticalFlowPyrLK和匹配算法的跟踪算法。

我现在不确定的是,如何设置数据库。

我的想法如下:

我在第一帧中检测到SIFT特征点(比如frame1 1000 FeaturePoints(FPs))。在随后的frame2中,由于跟踪算法(比如500),我接管了我在frame1中识别的功能。有了这500,我去了frame3并接管了我可以从frame2(比如400)跟踪的那些FP,依此类推。 这意味着特征点的数量不断下降到帧上。

因此,我想引入两个阈值,比如100FPs和40FPs。如果我经历100Fps(假设这发生在第6帧) - 那么我开始再次检测第6帧中的SIFT特征并将其推回到1000。 除非下降太高以至于我不仅在帧6中经历了100个FP而且还有40个,然后我认为这个帧显示了一个新的对象。

假设我必须每6帧刷新一次FP,在7次刷新之后我将其降至40以下并想要对对象进行分类。这意味着我已经识别出对象1的7000 Fps。但是其中许多非常相似甚至相同。因此我考虑将这些FP放入SVM来学习该对象。 现在的问题是什么样的SVM最适合我的目的。我不能做“负面训练”,意味着我没有显示错误对象的图像来训练分类器。一旦我检测到一些物体,我就能做到这一点。

我希望我的问题变得清晰,有人可以给我灵感或建议如何继续。

最好的问候

0 个答案:

没有答案