用变大小的hog描述符训练SVM (MATLAB)



我正在尝试使用HoG+SVM将对象分类为不同的类别。问题是训练图像的维度是不同的。因此,生成的HoG描述符具有可变的长度。我已经将所有训练图像的特征提取到一个单元格中。单元格的每个元素i是数据集中图像i的HoG描述符向量。我的问题是,我如何使它兼容训练SVM分类器(使用SVM函数)?

正如lejlot正确提到的,SVM不能用变长向量来训练。

您可以将图像大小标准化为1,即256x256。有三种可能:

  1. 裁剪中心周围256x256的补丁
  2. 将图像调整为256x256,丢弃原始宽高比。
  3. 将图像大小调整为256xM,其中M <256 -保留原始宽高比。然后在左右(或顶部和底部)添加灰色条纹,以填充图像到256x256。

所有的变体都被不同的作者使用,你必须检查哪一个最适合你的任务。

SVM 不能用变长向量训练。你必须使用某种转换将你的数据映射成定长表示。例如,您可以执行众所周知的降维技术。

最新更新