OpenCV交通标志识别

OpenCV traffic sign recognition

我正在编写一个软件(用于我的研究),用于使用 IP Camera.For 识别交通标志,我必须像这样识别交通标志:

在我的代码中,我正在进行高度转换以使用掩码隔离我的交通标志。

然后,我将场景图像与一些不同交通标志 (30,50,70,90) 的图像进行 SURF 比较(使用 SURF 的 OpenCV 文档的修改样本)。

我给你一个我的对象引用的例子:http://www.noelshack.com/2015-05-1422561271-object-exemple.jpg

我的问题是:

是的,这是您通常期望 SURF 匹配方法起作用的任务。如果两个标志相似,您希望它们的 SURF 特征大部分匹配。

但是,这并不是唯一可行的方法。您可能还想尝试 SIFT 或 FAST 特征匹配。他们可能会减少误报的数量。您可能还想尝试使用 SURF 特征匹配参数,例如比较特征的方式和接受匹配的阈值。例如,在某些情况下,30 公里的标志可能与 30 公里和 50 公里的标志都匹配。然后,您将需要寻找其他标准来区分它们,例如匹配特征的数量,或标记集中与标志匹配的图像的百分比。

如果您仍然得到不满意的结果,我建议您尝试使用具有 HOG 特征的级联分类方法来检测“3”、“5”、“7”等数字。您将需要使用标记标志中的一组裁剪数字训练分类器,并使用级联分类器检测测试图像中的这些数字。 Cascade of classifiers 也在 OpenCV 中实现。

您可以尝试裁剪或缩放图像以提高模型精度。对我来说,裁剪或缩放图像将我的模型精度提高了 0.27%

提高准确性: