2013-03-14 77 views
0

有10页来自同一个孩子书,其中页面的内容都是图片,我提取了关键点和每个人的描述符作为我的训练数据。我想要检测哪些页面是基于相机的匹配描述符。实时SIFT描述符匹配多个图像C++/OpenCV

现在,我通过使用来自OpenCV的FlannBasedMatcher逐一提取每帧的关键点和描述符并逐一匹配来自训练数据的描述符来实现它,然后它返回最匹配的一个。

这里的问题是它不能实时实现,当训练数据超过3页时,运行时间会非常慢。

有没有人知道有什么更好的方法来实现它?

回答

1

匹配是一个昂贵的过程,但可以并行化,并且有一些优化(如向量之间的余弦匹配)来加快速度。

如果您想要更高的准确性,您没有太多选择,并且需要对功能进行组匹配(这需要额外的时间与找到的训练数据和关键点数成比例)。

另外:考虑使用SURF而不是SIFT,它由于一些智能优化而快得多。

1

事实上,Surf是一个好得多的算法,虽然它不如sift准确,但你会发现它的运行时间接近实时,我还建议,如上所述计算特征并使用匹配并行计算(如果你只是使用OpenMP,很容易)。

但是,考虑到冲浪发现很少的关键点,所以如果你的对象不是“intresting”或足够大..你不会匹配很多...

+0

在视觉中,应该非常小心地判断算法是“更好”还是“更糟糕”。有些类型的图像在SURF产生的兴趣点数量级比SIFT少,因为SURF有很好的应用场合。 – DCS 2013-03-15 08:31:41

+0

谢谢你的回复。我也必须保持更高的准确度。如果我使用分类器会更好吗? – user1959079 2013-03-16 21:06:45

相关问题