2014-12-04 81 views
0

首先,这是我的第一个问题,所以我希望能够以一种清晰的方式解释它。Matlab中HOG + SVM的多尺度搜索

我的目标是检测图像中不同类别的交通标志。为此,我已经通过以下步骤训练了二进制SVM:

  • 首先,我得到了一个像链接中的交通标志的裁剪数据库。我考虑过不同的课程(禁止,危险等)和负面形象。所有这些都被缩放到40x40像素。

http://i.imgur.com/Hm9YyZT.jpg

  • 我训练线性SVM模型为每个类(1-VS-ALL),使用HOG作为特征。每个图像都用1728维特征进行描述。 (我为所有三个图像平面添加三个特征向量)。我做了交叉验证来设置参数C,并在先前看不见的40x40图像上进行了测试,并且我得到了非常准确的结果(所有类的F1分数均超过0.9)。我使用libsvm进行培训和测试。

现在我想检测全路图像中的标志,滑动窗口在不同的图像尺度。我面临的问题是,我找不到任何可以为我做的功能(如OpenCV中的DetectMultiScale),而且我的解决方案非常缓慢且基本(我只是为循环做了三重化,规模我裁剪连续和重叠的40×40图像,获得HOG功能和应用svmpredict为每个)。

有人可以给我一个线索找到一个更快的方式来做到这一点吗?我也想过如何获取整个输入图像的HOG特征矢量,然后将该矢量重新排列为矩阵,其中每行将具有对应于每个40×40窗口的特征,但是我找不到一种简单的方法。

感谢,

回答