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 个进行比较时),如何减少误报?
是的,这是您通常期望 SURF 匹配方法能够完成的任务。如果两个标志相似,您预计它们的 SURF 特征大部分匹配。
然而,这并不是唯一可行的方法。您可能还想尝试 SIFT 或 FAST 特征匹配。它们可能会减少误报的数量。您可能还想尝试使用 SURF 特征匹配参数,例如比较特征的方式和接受匹配的阈值。例如,在某些情况下,30 公里标志可能与 30 公里和 50 公里标志都匹配。然后,您需要寻找其他标准来区分它们,例如匹配特征的数量,或者标记集中与标志匹配的图像的百分比。
如果你仍然得到不令人满意的结果,我建议尝试使用具有 HOG 特征的级联分类方法来检测“3”、“5”、“7”等数字。您需要使用标记标志中的一组裁剪数字,并使用级联分类器来检测测试图像中的这些数字。OpenCV 中也实现了级联分类器。