OpenCV交通标志识别

Mic*_* B. 4 opencv sign traffic surf

我正在编写一个软件(用于我的研究),用于使用 IP 摄像头识别交通标志。暂时,我必须识别这样的交通标志: 在此输入图像描述

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

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

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

我的问题是:

  • 我的“做法”对吗?SURF真的适合这里吗,因为它似乎使用了很多资源..

  • 我有误报(例如,当我将对象中的 30 个与场景中的 50 个进行比较时),如何减少误报?

Ami*_*ani 5

是的,这是您通常期望 SURF 匹配方法能够完成的任务。如果两个标志相似,您预计它们的 SURF 特征大部分匹配。

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

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