使用不同尺寸的训练图像的HoG描述符训练SVM(MATLAB)

我试图使用HoG+SVM将对象分类到不同的类别中。问题是训练图像的尺寸各不相同。因此,生成的HoG描述符长度不一。我已经从所有训练图像中提取了特征,并将其存储在一个单元数组中。单元数组的每个元素i都是数据集中图像i的HoG描述符向量。我的问题是如何使其与训练SVM分类器(使用svmtrain函数)兼容?


回答:

正如[@人名]正确提到的,SVM无法使用长度可变的向量进行训练。

您可以将图像尺寸标准化到一个尺寸,例如256×256。有三种方法可以做到这一点:

  1. 从图像中心裁剪出256×256的区域。
  2. 将图像调整到256×256,丢弃原始纵横比。
  3. 将图像调整到256xM,其中M < 256 – 保留原始纵横比。然后在图像的左右两侧(或上下两侧)添加灰色条带,以填充图像至256×256。

不同作者使用了所有这些变体,您需要检查哪一种最适合您的任务。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注