2014-05-13 108 views
5

我想使用HoG + SVM將對象分類到不同的類別。問題在於訓練圖像的維度不同。所以,生成的HoG描述符具有可變長度。我將所有訓練圖像中的特徵提取到一個單元格中。單元的每個元素i是數據集中圖像i的HoG描述符的向量。我的問題是,如何使它與SVM分類器的訓練兼容(使用svmtrain函數)?訓練SVM與可變大小的訓練圖像描述符(MATLAB)

回答

7

正如lejlot正確提到的,支持向量機不能用可變長度向量訓練。

您可以將圖像大小標準化爲1,即256x256。有三種可能性:

  1. 裁剪中心周圍的256x256補丁。
  2. 將圖像大小調整爲256x256,丟棄原始寬高比。
  3. 將圖像調整爲256xM,其中M保留原始寬高比。在左側和右側(或頂部和底部)添加灰色條紋以將圖像填充到256x256。

所有變種都由不同的作者使用,你必須檢查哪一個最適合你的任務。

+0

謝謝old-ufo,這非常有幫助。我現在試試看。 –

3

SVM 不能通過可變長度向量訓練。您必須使用某種將您的數據映射爲恆定長度表示的轉換。例如,您可以執行衆所周知的降維技術。

+0

關於如何處理這個問題的任何想法,除了降維? –