小编use*_*490的帖子

在MATLAB中使用SVM实现HOG功能

我想基于使用SVM的HOG功能进行分类.

据我所知,HOG特征是每个单元格中所有直方图的组合(即它成为一个聚合直方图).

我在本页面中使用MATLAB代码为Dalal-Triggs变体提取HOG功能.

例如,我有大小为384 x 512的灰度图像,然后我以9个方向和8的单元格大小提取HOG特征.通过这样做,我得到48 x 64 x 36个特征.

如何将其作为直方图并将其用于SVM分类器?

因为,例如,我将有7类图像,我想要进行训练(总图像将是700用于训练),然后根据训练阶段生成的模型对新数据进行分类.

我读到对于多类,我们可以用ONE vs ALL训练我们的SVM,这意味着我必须为我的7个类训练7个分类器.

因此,对于第一列火车,我会认为第一类被标记为+1,而重新等级将为0.而第二列火车,我将认为第二类被标记为+1并且重新上课将是0.等等..

例如,我有颜色类别:红色,绿色,蓝色,黄色,白色,黑色和粉红色.

所以对于第一次训练,我只制作了2个红色而不是红色的二进制文件.

对于第二次训练,我将标签设为绿色而不是绿色..是不是就这样?

训练SVM的语法是:

          SVMStruct = svmtrain(Training,Group)
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我将有7个SVMStruct ..

分类/测试的语法

          Group = svmclassify(SVMStruct,Sample)
Run Code Online (Sandbox Code Playgroud)

如何在这里声明7个SVMStruct?

是对的吗??还是有另外一个概念或合成器我必须要知道?

对于培训,我将拥有48 x 64 x 36的功能,我如何在SVM中训练这些功能?因为正如我所读到的,它们只有1xN的特征矩阵.

请帮我...

matlab classification svm feature-extraction matlab-cvst

5
推荐指数
1
解决办法
1万
查看次数