【问题标题】:Training SVM with variable sized hog descriptors of training images (MATLAB)使用可变大小的训练图像 hog 描述符训练 SVM (MATLAB)
【发布时间】:2014-06-30 22:46:36
【问题描述】:
我正在尝试使用 HoG+SVM 将对象分类为不同的类别。问题是训练图像的维度不同。因此,生成的 HoG 描述符具有可变长度。我已将所有训练图像中的特征提取到一个单元格中。单元格的每个元素 i 是数据集中图像 i 的 HoG 描述符向量。我的问题是如何使它兼容训练 SVM 分类器(使用 svmtrain 函数)?
【问题讨论】:
标签:
matlab
machine-learning
computer-vision
svm
matlab-cvst
【解决方案1】:
SVM 无法用可变长度向量训练。您必须使用某种转换将您的数据映射到恒定长度表示。例如,您可以执行众所周知的降维技术。
【解决方案2】:
正如 lejlot 正确提到的,SVM 无法使用可变长度向量进行训练。
您可以将图像尺寸标准化为 1,即 256x256。这样做有 3 种可能性:
- 围绕中心裁剪 256x256 补丁。
- 将图像大小调整为 256x256,丢弃原始纵横比。
- 将图像大小调整为 256xM,其中 M
所有变体都由不同的作者使用,您必须检查哪一个最适合您的任务。