冲浪/筛选/模板匹配

时间:2011-01-03 23:46:04

标签: c#

我想使用sift / surf进行模板匹配。图像可以有1 ... n个目标。 使用冲浪/筛选只能提取一个目标。一个想法可以是许多细分中的细分图像,然后寻找筛选/冲浪匹配。它的工作原理但显然由于速度和努力而不理想。有没有替代方法? /任何人都有缩放和旋转不变模板匹配的源代码。 的问候,

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的意思(请提供更多信息),你有N 平面图像对象。您想从N个图像中提取SIFT / SURF特征,并将所有特征放在某种容器中(高维最近邻居的数组或加速度数据结构)。处理给定图像时,可以提取SIFT(或SURF)要素,并为每个要素搜索容器中最接近的要素。您最终得到了一对对象列表(来自当前图像的特征,来自容器的特征)。现在,您必须应用一些强大的模型估计器(例如RANSAC)来构造单应性。如果能够找到一个好的单应性(至少10个,12个内点),你将确保你的目标在那里。显然,给定特征对的数组,您可以将它细分为组,其中每个组是数据库的N个平面图像对象之一(这不是最好的方法,可能您应该关联到从中提取的每个特征)当前图像到数据库的k个特征,并使用某种形式的投票方案来确定哪些是对,但这样做的事情变得更加复杂)。 所以,一般来说,你必须做出一些决定:

  • 要使用的功能(SIFT?SURF?其他?)
  • 稳健模型估算器(RANSAC?PROSAC?MLSAC?)
  • 计算单应性时要考虑的几何因素(利用 单应性与两个平面对象中的点相关联的事实)
  • 您将用于加速搜索的多维数据结构
  • 如何计算单应性(好吧,可能只有一种方法:标准化DLT)

如果您的对象不是平面的,则问题更加困难,因为3D刚性对象可能会随着视点的变化而变化。要描述它,您将需要K图像而不是一个。这样做更具挑战性,因为随着N和K的增长,识别率下降。可能还有其他更好的方法。我强烈建议使用谷歌相关文献进行检查。