Answers:
我不确定您是否只想匹配两个图像(例如找到公共点),还是要尝试类似CBIR(基于内容的图像检索-用模板图像搜索数据库)以查找包含以下内容的所有图像:宾语)。
我目前正在进行CBIR研究,所以我对当前的方法非常了解。这里和这里是我对stackoverflow中类似问题的回答的链接,您应该看一下。
现在,来谈谈SIFT。当Lowe 首次引入 if时,术语SIFT既适用于特征检测过程,也适用于在那些检测到的兴趣点上计算出的特征描述符。到目前为止,事实证明,SIFT 描述符非常棒。描述符具有@Totero已经提到的一些很酷的属性。
另一方面,如今被越来越多地称为DoG(高斯差分)的SIFT 检测方法已不再是最新技术。它仍然被广泛使用,但是对于特征检测过程,如今有更多的方法,其中一些方法更好或很好地补充了DoG过程提取的不变关键点的类型。
最新的论文(查看链接的stackoverflow问题中的链接)有一个更好的实践:它们结合了多种检测特征的方法,然后使用SIFT描述符(仍会作为描述符)来计算不变矢量表示。我目前正在结合使用DoG(它们专注于图像的角状部分)和MSER区域(它们专注于通过多个尺度的斑点状可分辨点)的组合。如果您发现特定图像数据库的组合不令人满意,则可能需要尝试并在其中添加更多类型的特征检测器。
另外,如果您有兴趣,这里有一篇论文可以评估不同检测和描述符组合的性能。由于DoG&MSER + SIFT对我来说效果很好,所以我没有看过它,但是我已经略读了一下,而且论文相当不错。
PS:如果您无法访问我链接的IEEEXplore数据库,请使用Google Scholar。
基于先前的响应:
(1)您可以将SIFT(或此本地补丁描述符的另一个改进版本)与密集采样一起使用,而不是使用内置检测器。您可以选择本地补丁的大小和采样密度,以适合您对性能和计算成本的要求。
(2)SIFT是用于宽基线立体匹配的仿射不变描述符。这意味着,当您拍摄图像并对其进行仿射变换时,SIFT效果很好,其中即使进行了变换,“模板”也必须存在于目标图像中。
建议:(a)创建模板图像数据库(如果可能),以提高检测图像的机会。
(b)如果您选择对任务采用CBIR方法,则可以使用BoW模型作为基准。
(c)将模板图像仅裁剪到相关部分,并使用高度密集的SIFT。 http://www.vlfeat.org/overview/dsift.html
(4)之后,您可能需要尝试使用诸如PHOG(梯度金字塔直方图)之类的多尺度描述符,这可能会改善结果。 http://www.vlfeat.org/overview/dsift.html#tut.dsift.phow