0

首先这是我在这里的第一个问题,所以我希望我能清楚地解释它。

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

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

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

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

现在我想检测完整道路图像中的标志,以不同的图像比例滑动窗口。我面临的问题是我找不到任何可以为我做的函数(如 OpenCV 中的 DetectMultiScale),而且我的解决方案非常缓慢且基本(我只是在做一个三重 for 循环,并且对于每个缩放我裁剪连续和重叠的 40x40 图像,获得 HOG 特征并为每个图像应用svmpredict )。

有人可以给我一个线索以找到更快的方法吗?我也考虑过获取整个输入图像的 HOG 特征向量,然后将该向量重新排序为一个矩阵,其中每一行将具有对应于每个 40x40 窗口的特征,但我找不到一种直接的方法。

谢谢,

4

1 回答 1

2

我建议使用 SURF 特征检测,但是我不知道这是否也会太慢您的需求。

请参阅:http ://morf.lv/modules.php?name=tutorials&lasit= 2 以获取有关如何实施和天气的更多信息,这对您来说是一个可行的解决方案。

于 2014-12-04T12:51:22.587 回答