0

我查看了一致库示例中的 Surf 和 SVM 示例。我想知道如何将我从“SURF”中获得的特征保存在 excel 文件中,因为特征(即兴趣点)是包含一些字段和数组的记录浮点数(描述符),在 SVM 样本中,所有列都只是一个值,没有记录包含列表,例如在 XOR 分类中,输入(一个特征)是

(x =0 , y=0 , G=1)

但在这里我有一个包含下一个字段的记录:

( Laplacian  : int ,    Orientation  : float    , Response  : float     ,Scale : float ,    X  :  float , Y   : float  , Descriptor   : [] float   )

我不确定,但如果我想像 XOR 问题一样,我应该添加一个 object name 的字段。我发现 SVM 需要一个矩阵,我不知道如何才能使这两个样本之间具有这种兼容性,我希望我的问题很清楚。

提前致谢

4

1 回答 1

1

这个问题有点不清楚,但我会提出一个解决方案。作为免责声明,为了避免进一步的复杂化,我应该说我是这个库的作者。

如果您只想使用 SURF 功能训练 SVM,那么您可以跳过 Excel 部分。创建图像的视觉词袋表示,然后存储此表示而不是 SURF 特征应该更有用。这个问题似乎是在图像分类示例应用程序发布之前提出的,所以如果您仍然对答案感兴趣,请查看它。

在任何情况下,bag-of-visual-words 模型都能够将可变长度的特征数量转换为固定长度的向量,这应该更容易管理,如果您想训练 SVM 或者只是将其存储在文件中. 下面是一个关于如何使用 BoW 模型提取固定长度特征的示例:

// Create bag-of-words (BoW) with the given number of words
BagOfVisualWords bow = new BagOfVisualWords(numberOfWords);

bow.Compute( ... ); // pass all images in the training set

// And then you can create a fixed-length 
// representation of an given image using
double[] featureVector = bow.GetFeatureVector(image);

我将避免在此处发布任何链接,因此看起来我不会进一步推广我自己的项目,但分类示例应用程序在您的开始菜单下都可用,如果您已使用可执行安装程序进行安装;并在项目的网站上。

于 2012-07-16T04:26:17.730 回答