彩色SURF探测器

时间:2013-05-29 02:34:50

标签: opencv surf

默认情况下,

SURF适用于灰色图像。我想在HSV图像上做SURF。我的方法是将通道分成H,S和V.我使用S和V进行关键点检测。我试图比较SV与RGB中关键点的数量,并且在通道方面,HSV提供了更多功能。

enter image description here

不确定我在做什么是正确的。需要一些解释在HSV图像上应用SURF的可能性。我读过一篇关于在不同颜色空间而不是SURF上应用SIFT的论文。

  1. 有更好的方法来实现这个目标吗?
  2. 我们可以将SURF应用于颜色,HSV空间吗?
  3. 感谢您的时间。

2 个答案:

答案 0 :(得分:5)

  
      
  1. 我们可以将SURF应用于颜色,HSV空间吗?
  2.   

我没有测试它,但据我所知,SIFT和SURF使用相当类似的检测技术:

SIFT检测器使用Difference-of-Gaussian (DoG)技术有效逼近Laplacian-of-Gaussian (LoG),这两种技术都是Blob Detection

SURF检测器使用任意大小的盒式过滤器/盒式模糊来计算(或近似?) Hessian 的行列式 Blob检测技术。

两种方法都使用一些策略来计算多个尺度的斑点(SIFT:DoG-Pyramid; SURF:用于缩放滤镜尺寸的整数图像)。最后,两种方法都检测给定2D数组中的 blobs

因此,如果SIFT可以检测到(H)SV通道中的良好特征,SURF应该能够做同样的事情,因为原则上它们都检测到斑点。你要做的是检测色调/饱和度/值通道中的斑点:

  • hue-blobs :具有相似色调的区域,被不同(全部较高或全部较低)的色调包围;

  • 饱和度 - 斑点:......的区域是什么?不知道如何解释;

  • value-blobs :应该为灰度图像转换的RGB图像的斑点提供非常相似的结果。

要补充一点:我只是处理探测器!不知道SIFT / SURF 描述如何受到颜色数据的影响。

答案 1 :(得分:0)

我没有测试它,但你可以做的是使用兴趣点HSV值作为额外的匹配标准。我在原始实现中使用的以及加速匹配图像对的是Hessian矩阵的行列式的符号。标志告诉我们它是深色背景上的浅色斑点还是浅色背景上的深色斑点。显然,人们不会试图将黑色斑点与明亮的斑点相匹配。

以类似的方式,您可以使用HSV值并使用距离。为什么匹配蓝色斑点与黄色斑点。没有任何意义,除了白平衡或灯光完全搞砸了。也许我的paper about matching line segments可以在这里提供帮助。我在那里使用了HSV。

至于在不同频道H,S和V上提取​​SURF兴趣点,我同意Micka的回答。

您可以尝试使用Hue通道创建描述符。