基于自适应分块编码SVM的车道导向箭头多分类方法 下载: 903次
ing at the problem of decreasing the recognition efficiency of multi-class Support Vector Machines (SVM) in the detection and classification of lane arrow markings, an improved method for a simple SVM classifier which is applied to realize the multi classification of arrow markings by custom binary encoding for results is proposed. The Harris corner coarseness is detected for the arrow markings region of interest (ROI), and the pseudo corners are screened by improved FAST-9 (features from accelerated segment test-9) algorithm. According to the location of the largest two corners of the ordinate in the final corner set, the recognition area is obtained. The SVM classifier is trained by invariant moments. And the multi classification with one SVM classifier is realized via the binary encoding for results. The algorithm is tested on 500 real images obtained from the real shot, and the recognition rate is superior to 96.8%. The results show that the proposed method does not need inverse perspective transformation. A simple SVM classifier can realize the multi classification of arrow markings, and the accuracy and operation efficiency of arrow marking recognition can be improved effectively.
1 引言
城市道路中发生交通事故的主因之一是不能及时准确地判断所在车道的信息。当前,对于智能驾驶辅助系统的路况识别功能的研究主要致力于车道线识别及车道偏离预警系统,而对于车道信息做出及时准确的判断,能够有效辅助驾驶员安全驾驶,降低事故发生率。
导向箭头位于每一条车道的中央,指示车辆行进方向,而对于导向箭头识别研究主要集中在基于机器视觉的方法上。He等[1]将导向箭头轮廓上每一个角点所在位置及其夹角作为特征并对其进行编码,不同导向箭头的角点都具有不同的位置和夹角,根据不同编码对导向箭头分类; Maier等[2]利用提取到的导向箭头的轮廓特征,通过模板匹配的方法实现分类; Suchitra等[3]利用霍夫变换检测导向箭头的直线部分,通过计算导向箭头每个部分在霍夫空间的投票数完成识别。上述方法都是通过计算导向箭头的特征,与目标匹配实现分类,计算量大且需要利用逆透视变换将采集图像校正为俯视图,否则导向箭头的视觉差异会产生特征提取误差。随着机器学习在视觉领域的飞速发展,基于机器学习训练分类器分类导向箭头得到了广泛应用。通过提取描述箭头特征的信息构成特征向量,训练分类器实现识别,Wang等[4]将每两类样本间的欧氏距离作为特征训练了一个共3层的层次支持向量机(SVM)分类器;Li等[5]通过提取导向箭头的形状特征,采用贝叶斯分类器进行识别。由于特有的核函数很好地解决了非线性问题,SVM是当前机器学习领域应用最广泛的分类器之一,但由于其本身是一个由超平面划分的二分类器,因此对于多类导向箭头的分类,则需要构建多分类器以完成识别。传统的SVM多分类方式,通常使用一对多结构的OVR-SVMs与一对一结构的OVO-SVMs[6-7],但是存在欠拟合与计算代价较大的问题。Platt等[8]提出了决策导向的循环图(DDAG),将多个二分类器组合成多类分类器,利用多个SVM二分类器即构成了DAGSVMs;H-SVMs即层次分类器,将所有类别分成两个子类,再将子类进一步划分成两个次级子类[9]。可见,针对多类导向箭头的分类,大多方法都需要提取不同类别导向箭头的特征,构建多个分类器,增加了计算代价,分类器多次进行分类返回结果,降低了识别准确率。
针对上述问题,提出一种基于SVM的二进制编码多种导向箭头标识的分类方法。在对导向箭头进行Harris角点粗检测后,对检测结果采用FAST-9(Features from accelerated segment test-9)算法精检测,并利用筛选具有最大纵坐标的两个角点位置对导向箭头图像进行分割,分割后的箭头区域不受视觉差异影响;分类过程采用了基于二进制编码的SVM二分类器,分类过程中只需一种SVM分类器即可完成,显著提高了算法的效率和精度。
2 基于FAST-9改进Harris角点检测子的待识别区域分割
角点定义为在水平竖直方向上像素变化都较大的点,而导向箭头与道路背景有明显的像素差异,因此,采用角点检测的方式,利用检测结果对导向箭头图像分割提取检测区域[10],以便于进一步处理,如
为了剔除道路上的背景干扰,提取出只含有导向箭头的感兴趣区域(ROI),再进行角点检测及分割。其算法流程如
2.1 导向箭头ROI提取
首先进行ROI提取减少了Harris角点检测的搜索空间,减小计算量。我国的道路建设规定导向箭头位于一条车道的中央,因此采用文献[
4]中的方法进行ROI提取。对车头前方高300 pixel内的区域进行车道线识别,将识别到的左右两条车道线分别向内偏移100 pixel,构成一个含有完成导向箭头的梯形图像,如
2.2 Harris角点粗检测
采用Harris角点检测算法进行导向箭头的角点粗检测。计算ROI图像在
由(1)式得响应值:
式中det
由于道路污损及ROI自身畸变,检测结果产生了较多误检点,直接导致了图像的错误分割。因此,需要进一步处理来剔除掉虚假角点。
2.3 FAST-9算法精检测
采用基于二值图像的FAST-9算法对粗检测获得的角点进行筛选。原始FAST算法使用半径为
可以看出,在导向箭头图像中,由于灰度图像各像素间差异较小,利用阈值判断角点准确率不够,因此检测出较多的误检点,同时存在较多的漏检点。在图像中,非角点往往是占多数,利用FAST算法对整幅图像遍历降低了算法效率。因此,针对误检、漏检以及运行效率低的问题,改进算法的具体步骤如下:
1) 将Harris角点检测的所有结果构成点集
2) 对ROI二值化处理,在二值图像中对点集
式中
3) 若
4) 当遍历点集
采用改进后的FAST-9算法进行精检测的过程及结果如
图 7. 改进FAST-9算法精检测过程及结果。(a) 精检测过程;(b) 精检测结果
Fig. 7. Precision detection process and results with improved FAST-9 algorithm. (a) Process of precision detection; (b) results of precision detection
2.4 待识别区域分割
导向箭头可能指向左、右、上三个方向,因此,需要将ROI分割为左、中、右三个部分,以保证完全保留箭头部分,便于进一步识别。对于任意方向的导向箭头,都可以看作“树干”向三个方向生长的“分支”,因此,以“树干”为基准,对图像进行分割。
无论哪一类导向箭头,具有最大纵坐标的两个角点一定位于“树干”的左、右下角,左、右两个角点的横坐标分别向左、右偏移
图 8. 箭头识别区域。(a) 直行/左转箭头;(b) 直行;(c) 右转
Fig. 8. Arrow marking recognition areas. (a) Straight or left; (b) straight; (c) right
3 基于二进制编码SVM的导向箭头识别
导向箭头共分5类:直行、左转、右转、直行左转和直行右转。采用SVM对导向箭头进行分类。传统多分类思想都需要构建多个SVM二分类器,经过多次决策最终产生结果,计算代价高、准确率不够。因此,设计一种基于二进制编码的SVM多分类方法,采用单个二分类器对分割后的识别区域进行识别。
3.1 几何不变矩特征
图像中计算出来的矩通常描述了图像不同种类的几何特征,如大小、灰度、方向、形状等,图像矩广泛应用于模式识别、目标分类、目标识别与防伪估计、图像编码与重构等领域。图像
式中
由于识别区域的导向箭头具有不同的方向和大小,而直接使用空间矩或中心矩作为特征不能同时具有平移、旋转和缩放不变性,因此选择由二阶和三阶归一化中心矩构造的7个几何不变矩作为导向箭头的候选特征向量[7]。几何不变矩在连续图像下可以保持平移、旋转和缩放不变。
归一化中心矩为
式中
由(6)式得到了7个几何不变矩,如下式所示,作为导向箭头的候选特征向量。
3.2 SVM分类器设计
如
图 9. 部分正负样本图像。(a) 正样本;(b) 负样本
Fig. 9. Partial positive and negative sample images. (a) Positive samples; (b) negative samples
对正负样本求几何不变矩,其中样本前三阶不变矩的概率分布直方图如
图 10. 正负样本前三阶不变矩概率分布。(a) 一阶;(b) 二阶;(c) 三阶
Fig. 10. Probability distributions of the first three steps moments of positive and negative samples. (a) First order; (b) second order; (c) third order
由
选择径向基函数 (RBF)核函数对样本分类,得到一个分类箭头图像的二分类器,以
得到5种不同导向箭头的二进制编码如
表 1. 导向箭头二进制编码表
Table 1. Binary encoding table of arrow markings
|
4 实验结果与分析
本文算法的实现基于Visual Studio 2015编译环境,实验测试平台为台式电脑,操作系统为Windows 10 64bits,CPU 主频为3.20 GHz,8 GB内存,2 GB 显存。采集设备帧频为25 frame/s,图像分辨率为1920 pixel×1080 pixel。实验分别测试了导向箭头算法的识别率、运行速度与算法计算量。
从采集得到的城市道路视频中,随机抽取出500帧图像,提取出只含有导向箭头的梯形ROI,采用改进的角点检测算法对ROI进行角点精检测,获得分割后的1500个识别区域,分别提取其前两阶几何不变矩,采用自定义二进制编码的简单SVM多分类方法进行分类,以帧数为单位进行统计,从误检率方面对算法的识别准确率进行定量评价。误检率
式中
表 2. 导向箭头分类准确率
Table 2. Classification accuracy for arrow markings
|
选取了文献[
2]、文献[
4]和文献[
5]算法与本文算法在导向箭头的整体识别准确率和识别速率上进行对比,通过记录各算法运行时集成开发环境诊断工具中的进程内存峰值对算法计算量进行评估。为保证实验的公平性,实验环境和测试图像均保持一致,总体算法的准确率和识别速率对比如
表 3. 算法评估结果
Table 3. Results of algorithm evaluation
|
由
5 结论
对获取到的导向箭头图像分两步进行角点检测,利用FAST-9算法对粗检测的角点结果进行筛选,基于筛选获取的角点的位置对图像进行分割获取识别区域;采用一种简单二分类SVM,通过对结果的自定义二进制编码实现多种导向箭头的分类。算法不需要对采集到的图像进行逆透视变换,只需一种SVM分类器即可实现5种导向箭头的识别。经测试,算法的识别精度优于96.8%,有效提升了导向箭头识别效率。
在本文算法中,特征向量采用7个几何不变矩,虽然体现了箭头的形状特性且具有平移、旋转和缩放不变性,但是对于箭头特征的描述仍然不够完善,可能产生误检。因此,在接下来的研究中需要进一步完善特征向量,如坐标差值体现出的对称信息,优化分类器对于导向箭头的识别能力。
[1] He YH, ChenS, Pan YF, et al. Using edit distance and junction feature to detect and recognize arrow road marking[C]∥Proceedings of IEEE International Conference on Intelligent Transportation Systems, 2014: 2317- 2323.
[2] MaierG, PangerlS, SchindlerA. Real-time detection and classification of arrow markings using curve-based prototype fitting[C]∥Proceedings of IEEE International Conference on Intelligent Vehicles Symposium, 2011: 442- 447.
[3] SuchitraS, Satzoda RK, SrikanthanT. Detection & classification of arrow markings on roads using signed edge signatures[C]∥Proceedings of IEEE International Conference on Intelligent Vehicles Symposium, 2012: 796- 801.
[4] WangN, LiuW, ZhangC, et al. The detection and recognition of arrow markings recognition based on monocular vision[C]∥Chinese Control and Decision Conference, 2009: 4380- 4386.
[5] LiY, HeK, JiaP. Road markers recognition based on shape information[C]∥Proceedings of IEEE International Conference on Intelligent Vehicles Symposium, 2007: 117- 122.
[7] 周中寒, 田雪咏, 孙兰香, 等. Fiber-LIBS技术结合SVM鉴定铝合金牌号[J]. 激光与光电子学进展, 2018, 55(6): 063002.
[8] Platt J C, Cristianini N, Shawe-Taylor J. Large margin DAGs for multiclass classification[J]. Advances in Neural Information Processing Systems, 2000, 12(3): 547-553.
[9] TakahashiF, AbeS. Decision-tree-based multiclass support vector machines[C]∥Proceedings of IEEE International Conference on Neural Information Processing, 2002, 5: 1418- 1422.
[10] 李厚杰, 邱天爽, 宋海玉, 等. 基于曲率尺度空间角点检测的交通标志分离算法[J]. 光学学报, 2015, 35(1): 0115002.
Article Outline
杜恩宇, 张宁, 李艳荻. 基于自适应分块编码SVM的车道导向箭头多分类方法[J]. 光学学报, 2018, 38(10): 1015003. Enyu Du, Ning Zhang, Yandi Li. Multi Classification Method of Lane Arrow Markings Based on Support Vector Machines with Adaptive Partitioning Coding[J]. Acta Optica Sinica, 2018, 38(10): 1015003.