使用可变大小的训练图像的猪描述符训练SVM(MATLAB)

Muh*_*Ali 5 matlab machine-learning svm computer-vision matlab-cvst

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

old*_*ufo 7

正如lejlot正确提到的,SVM不能用可变长度向量进行训练.

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

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

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