将LIBSVM与HOG描述符一起使用

时间:2014-02-26 12:31:19

标签: matlab svm libsvm

我想在MatLab中使用LIBSVM和HOG生成训练数据。

我为一张图像计算了HOG描述符,这是3780 x 1(双)短片段:

0
     0
0.0181
0.7746
     0
     0
     0
     0
0.4692
0.5279
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
     0
0.4692
0.5279
0.0016
0.0018
0.2826
0.2535
     0
     0
0.2728
0.0451
     0
     0
0.1788
0.0209
     0
     0
0.0501
0.0059
     0
     0
0.1320
0.0137

我假设是training_instance_matrix:

svmtrain(training_label_vector, training_instance_matrix [, 'libsvm_options']);

如何对此向量中的元素进行分类以生成

training_label_vector

1 个答案:

答案 0 :(得分:0)

要点:

SVM是一种二元监督方法。因此,它将您的数据集分成两组。对于训练,您需要提供配对数据,即(观察,标签),以便为模型参数赋值。基本上,你的* training_label_vector *可以是一个二进制向量,说明哪个组属于每个样本。

如果您想将每张图片分类为包含或不包含人物:人物或非人物。您有N = 100个样本,每个样本具有M = 3780个特征。最后,您的要素矩阵的尺寸为NxM = 100x3780,而标签向量的尺寸为Nx1 = 100x1。带有人的图片的标签向量为1,否则为0(此配置实际上是任意的)。