筛选是从图像中提取特征的好方法吗?

信息处理 matlab 图像处理
2022-01-13 06:31:07

我正在尝试从图像中提取特征,但未能获得想要提取的点,因此我的图像无法与模板匹配。

在将 SIFT 应用于我的图像之前,我是否必须通过任何检查点才能获得良好的结果?例如模板图像是;
在此处输入图像描述

目标图像; 在此处输入图像描述

3个回答

使用 sift 将模板与图像匹配时,您应该做的是针对您的模板运行 sift,然后在场景中的该排列中查找那些 sift 特征。

经验法则:比较喜欢。

筛选(模板)包含在筛选(图像)中

您无法调整 Sift 以提取“您想要的特征” Sift *使用不变的措施来查找它认为最显着的特征。(*克里斯 A)

如果您希望它从您的模板中找到特定功能,请制作这些功能的较小模板并搜索它们。

只是一个建议。我不确切知道您要尝试哪种类型的模板适合哪种类型的场景或图像。

我不确定您是否只想匹配两个图像(例如找到共同点),或者您想尝试类似 CBIR(基于内容的图像检索——使用模板图像搜索数据库以查找所有包含目的)。

我目前正在做 CBIR 研究,所以我非常了解当前的方法。这里这里是我对来自stackoverflow的与你类似的问题的答案的链接,你应该看看。

现在,稍微谈谈 SIFT。当Lowe首次引入时,术语 SIFT 既适用于特征检测过程,也适用于在那些检测到的兴趣点上计算特征描述符。直到今天,SIFT描述符已被证明是令人难以置信的真棒。描述符具有@Totero 已经提到的一些很酷的属性。

另一方面,SIFT检测方法,现在越来越多地被称为 DoG(高斯差),不再是最先进的。它仍然被广泛使用,但是对于特征检测的过程,今天有更多的方法,其中一些更好或很好地补充了 DoG 过程提取的不变关键点的类型。

大多数当前的论文(查看链接的 stackoverflow 问题中的链接)有一种更好的做法:它们结合了多种检测特征的方法,然后使用 SIFT 描述符(仍然作为描述符)来计算不变向量表示。我目前正在使用 DoG(它们专注于图像的角状部分)和 MSER 区域(它们专注于通过多个尺度的斑点状区分点)的组合。如果您发现这种组合对您的特定图像数据库不满意,您可能想尝试并尝试并在其中投入更多类型的特征检测器。

此外,如果您有兴趣,这里有一篇评估不同检测和描述符组合性能的论文。由于DoG&MSER + SIFT对我来说很好用,所以我没有读过它,但我已经略读了它并且论文非常好。

PS:如果您无权访问我链接到的 IEEEXplore 数据库,请使用谷歌学者。

基于之前的回复:

(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