我在理解 SURF 和 SIFT 算法时遇到了一些概念问题 All about SURF .据我了解,SURF 发现高斯的拉普拉斯算子,而 SIFT 对高斯的差异进行运算。然后它围绕它构造一个 64 变量向量来提取特征。我已应用此 CODE .
(Q1) 那么,什么构成了特征呢?
(Q2) 我们使用 SurfFeatureDetector 检测器(500)初始化算法。那么,这是否意味着特征空间的大小为 500?
(Q3) SURF Good_Matches 的输出给出了 Keypoint1 和 Keypoint2 之间的匹配,通过调整匹配的数量,我们可以得出结论,是否已经找到/检测到对象。关键点是什么意思?这些存储功能吗?
(Q4) 我需要做对象识别应用程序。在代码中,算法似乎可以识别这本书。因此,它可以应用于物体识别。我的印象是 SURF 可用于根据颜色和形状区分对象。但是,SURF 和 SIFT 是找到角边缘检测的,所以使用彩色图像作为训练样本没有意义,因为它们会被转换为灰度。在这些算法中没有使用颜色或 HSV 的选项,除非我分别计算每个 channel 的关键点,这是一个不同的研究领域 (Evaluating Color Descriptors for Object and Scene Recognition)。
那么,如何根据物体的颜色、形状来检测和识别物体呢?我想我可以使用 SURF 根据形状来区分对象。比如说,我有两本书和一瓶。我只需要从整个对象中识别出一本书。但是,一旦场景中有其他类似形状的物体,SURF 就会产生很多误报。我将不胜感激有关申请我的申请的方法的建议。
最佳答案
关于opencv - 关于使用 SURF 的对象识别和特征的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851134/