簡體   English   中英

如何使HOG特征向量適應線性svm輸入

[英]How to adapt HOG features vector to linear svm input

我正在使用HOG以便通過圖像A提取一組特征。HOG返回1xN個元素的特征向量。 但是,線性SVM對於每個樣本僅接受2個特征,即訓練數據矩陣的大小為Mx2。 因此,我如何調整HOG向量以在線性SVM上進行訓練。 請幫我。 謝謝

“線性SVM每個樣本僅接受2個特征”是什么意思? 您可能對SVM功能如何接受其訓練數據感到困惑。 這是我如何使用它的簡單示例:

首先,讓我們使用fitcsvm使用500個隨機數據樣本(訓練數據矩陣中的行)訓練SVM模型,每個樣本有1000個元素(訓練數據矩陣中的列),其中前250個樣本在類別1中(第一個250行訓練標簽),最后250個樣本在第0類中(最后250行訓練標簽):

>> training_data = rand(500, 1000);
>> training_labels = [ones(250,1); zeros(250,1)];
>> 
>> svm_model = fitcsvm(training_data, testing_data)

svm_model = 

  ClassificationSVM
      PredictorNames: {1x1000 cell}
        ResponseName: 'Y'
          ClassNames: [0 1]
      ScoreTransform: 'none'
     NumObservations: 500
               Alpha: [418x1 double]
                Bias: 2.3217
    KernelParameters: [1x1 struct]
      BoxConstraints: [500x1 double]
     ConvergenceInfo: [1x1 struct]
     IsSupportVector: [500x1 logical]
              Solver: 'SMO'


  Properties, Methods

我們可以為10個測試樣本生成一些隨機測試數據,每個樣本包含1000個元素,並從中創建一些預測:

>> test_data = rand(10, 1000);
>> predicted_classes = predict(svm_model, test_data)

predicted_classes =

     1
     1
     1
     1
     1
     0
     0
     0
     1
     0

這是否回答你的問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM