【发布时间】:2023-03-27 19:35:01
【问题描述】:
我想使用 SVM 基于 HOG 特征进行分类。
我知道 HOG 特征是每个单元格中所有直方图的组合(即它变成一个聚合直方图)。
我使用page 中的 MATLAB 代码为 Dalal-Triggs 变体提取 HOG 特征。
例如,我有尺寸为 384 x 512 的灰度图像,然后我提取了 9 个方向和 8 个像元大小的 HOG 特征。通过这样做,我得到 48 x 64 x 36 功能。
如何制作直方图并将其用于 SVM 分类器?
因为例如,我将有 7 类图像,并且我想进行训练(训练时总图像为 700 个),然后根据训练阶段生成的模型对新数据进行分类。
我读到对于多类,我们可以使用 ONE 与 ALL 训练我们的 SVM,这意味着我必须为我的 7 个类训练 7 个分类器。
所以对于第一班火车,我会考虑将第一班标记为 +1,而最后一班将标记为 0。 而第二班火车,我会考虑将第二班标记为+1,而最后一班将标记为0。依此类推..
例如,我有颜色类别: 红色、绿色、蓝色、黄色、白色、黑色和粉色。
所以对于第一次训练,我只制作了 2 个红色而不是红色的二进制文件。
对于第二次培训,我将标签设为绿色而不是绿色.. 是这样的吗??
训练SVM的语法是:
SVMStruct = svmtrain(Training,Group)
但在这种情况下,我将有 7 个 SVMStruct..
分类/测试的语法
Group = svmclassify(SVMStruct,Sample)
这里怎么声明7个SVMStruct??
是这样吗?? 还是我必须知道其他概念或语法?
对于训练,我将拥有 48 x 64 x 36 的特征,我如何在 SVM 中训练这些特征? 因为正如我所读到的,它们只有 1xN 的特征矩阵..
请帮帮我...
【问题讨论】:
-
我觉得这个网站可以帮到你:geocities.ws/talh_davidc
标签: matlab classification svm feature-extraction matlab-cvst