SIFT 在 OpenCV 中的参考图像中找不到任何特征

问题描述 投票:0回答:3

我有一张目标徽标的图像,我试图用它来查找其他图像中的目标徽标。我目前正在运行两种不同的检测算法来帮助我检测图像上的任何徽标。我使用的第一个检测算法是基于直方图的,我在图像中搜索屏幕上颜色非常相似的一般区域。从那里我运行 SIFT 以进一步获取我正在寻找的对象。这适用于大多数徽标,但是我拥有的 Target 徽标甚至没有拾取徽标中的关键点。

我想知道是否可以做些什么来帮助找到图像中的一些关键点。非常感谢任何建议。

下面是 SIFT 未拾取的图像:

enter image description here

提前致谢。

编辑 我尝试使用 Julien 的想法根据模型的不同尺度和旋转进行模板匹配,但仍然收效甚微。我已经包含了我正在尝试测试的图像。

Image of the logo

opencv image-processing computer-vision sift
3个回答
11
投票

您的图像中没有关键点...

为什么?

  • 因为在统一的颜色平面中没有关键点(为什么会有?因为它是统一的所以没有什么是亮点)
  • 因为图像中的所有内容都是对称的,所以拥有关键点并没有真正的帮助,根据某些特征提取器,它们将具有相同的特征向量
  • 因为交叉方向上没有角点或高梯度,这会导致许多特征检测器产生关键点

如果您要搜索没有大变化(旋转、平移、噪音等)的徽标,您可以尝试模板匹配方法,简单的关联是最简单的。

如果你想更进一步,我的想法之一,我从未实现过,但可能很有趣:就是拥有一组可以缩放、旋转、扭曲、去饱和、用函数增加噪声的图像,然后应用模板与您从以前的模板中获得的这组图像相匹配... 这个想法来自 SIFT 和小波变换,其中我们使用以某种方式(旋转、噪声、频率等)改变的函数,以便使我们的变换针对任何图像中发生的这些基本变化具有鲁棒性您想要“检查”的内容。 这对你来说可能是一个主意!

enter image description here

这是总结我的想法的图像,您旋转和缩放模板,实际上它会创建一个新的旋转/缩放模板,您可以尝试匹配它,它将增加鲁棒性(即使它可能会很长,如果您选择很多)更改参数)。好吧,我并不是说这是一种算法,但这可能是一个有趣且非常基本的尝试想法......

朱利安,


1
投票

这个标志在特征匹配上存在问题还有一个原因。对于没有任何平滑度的人造图像,大多数功能都表现不佳。所有导数都是 1 像素大小,并且特征检测器依赖于导数。您必须稍微平滑图像。 Ofcorse 对于这个特定的标志来说,由于高度对称,它不会有帮助。您可以使用霍夫变换来检测圆内的圆。与模板匹配相比,它会给你更好的结果。


© www.soinside.com 2019 - 2024. All rights reserved.