代码之家  ›  专栏  ›  技术社区  ›  Gwenji

将LIBSVM与HOG描述符结合使用

  •  0
  • Gwenji  · 技术社区  · 10 年前

    我想在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 回复  |  直到 10 年前
        1
  •  0
  •   tashuhka    10 年前

    摘要:

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

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