1.前言

限速交通标志识别在ADAS或者自动驾驶领域中相对基础的范畴,因此限速交通标志识别的要求都是又快又准,同时使用相对简单的方法实现,本文将整个限速交通标志检测与分类的过程以及实现方法。不过实际场景中,会出现限速交通标志容易被阻挡,或是离当前车道很远无法检测出来等问题有待解决,而且都具有一定挑战性。

2.限速交通标志分类流程

限速标识 java 限速标识属于什么标志_限速标识 java

1.交通标志位置与大小检测:使用物体检测的CNN完成,本人使用的是yolo。

2.交通标志位置校正:物体检测出来的结果并不能很好的保证一定是完整的交通标志,因此需要对检测到的交通位置进行调整,这里使用模板匹配以及霍夫变换进行校正。因为限速交通标志都是红色外框,白底黑字,这些先验知识对位置调整有很好的作用;同时限速交通标志一定是原型或者椭圆形,霍夫变换后的圆形寻找可以提供帮助。

先验·模板图:

限速标识 java 限速标识属于什么标志_ADAS_02


霍夫圆:

限速标识 java 限速标识属于什么标志_限速交通标志_03

3.交通标志分类: 交通标志分类使用CNN,结构如下图,

限速标识 java 限速标识属于什么标志_限速标识 java_04

4.交通样本处理

1)获取对应分类样本,如20,30,…100, 以及other类,这里的other类选择没有准确找到限速标志的图片以及属于交通标志但不是限速标志的图片。

没有找到准确位置限速标志:

限速标识 java 限速标识属于什么标志_限速交通标志_05


属于交通标志但不是限速标志:

限速标识 java 限速标识属于什么标志_cnn_06


2)数据增强,调整色调,饱和度,曝光,角度以及透视变换

3)样本图片为灰度图以及进行均衡化处理

3.限速标志分类效果


4.总结

1.限速交通标志分类准确率可以达到90%以上。
2.对于单个交通标志的情况,基本不会出现错检,仍有漏检; 对于有多个交通标志的情况,漏检可能性增大。
3.交通标志分类依赖于物体检测的结果,但是物体检测对于较远的情况难以得到准确的位置。
4.限重标志以及解除限制标志会对限速标志分类准确性有较大影响。

最后上传训练好的caffe模型:
trafficsign_caffemodel