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