基于安卓平台的限速交通标志的检测和识别
2016-10-14成健张重阳
成健,张重阳
基于安卓平台的限速交通标志的检测和识别
成健,张重阳
利用Android软硬件平台,设计并实现了一种融合颜色和形状特征的实时限速交通标志检测和识别系统。为了使检测和识别达到实时精确的标准,参考多种基于颜色和形状的检测算法以及分类算法,在检测阶段,选择在RGBN颜色空间进行分割后再结合本文提出的离心度的几何不变量进行形状筛选实现限速标志定位,在识别阶段,采用改进的动态阈值多模板匹配算法实现限速标志分类。实验表明,该检测和识别算法适用于移动平台,并且速度快,精度高。
交通标志;目标识别;颜色分割;模板匹配
0 引言
现代交通管理中,驾驶的安全性成为日益重要的目标,限速交通标志的检测和识别作为其中重要部分,也受到越来越多的关注。限速交通标志可以帮助行驶车辆在特定路段保持安全车速,从而减少和避免交通事故的发生。大量数据显示,交通事故一半以上是由超速引起的,超速行驶极易引起特大交通事故。因此,研究快速准确的限速交通标志的检测和识别算法,可以有效降低交通事故率,提高驾驶安全。
为了在自然场景中拥有更好的辨识度,限速交通标志通常被设计成特定的颜色和形状。因此,限速交通标志的检测主要有颜色分割方法和形状检测方法。颜色是交通标志的主要视觉特征,目前许多限速交通标志检测方法都是在采用颜色分割的方法进行处理后,再结合其他方法来实现检测。
阈值分割是颜色分割中最常见的方法,通过在不同的色彩空间将颜色属性转化为一系列的值域,设定特定颜色的阈值,进而分割出目标颜色。目前根据所选取的色彩空间的不同,常用的方法主要有:RGB色彩空间阈值分割法[1],HIS色彩空间阈值分割法[2]和CIE色彩空间阈值分割法[3]。
因为交通标志一般为相对固定的形状,所以基于形状的方法在交通标志检测研究中被广泛使用。余博等[4]提出利用边界链码来描述形状,这种方法虽然计算简便但是易受噪声干扰;周封等[5]利用经典Hough变换来检测圆,但是这种方法计算量较大。
限速交通标志检测的精确度是后期正确识别的重要保障。目前国内外有关限速交通标志的识别研究已取得较多有效的成果。模板匹配[6]是最简单直接的识别方法,但是经典的模版匹配方法精度低,计算量大;神经网络[7]是目前交通标志识别算法研究和应用领域较多采用的方法,具有较好的并行性,容错性,自学习性等特点,但是泛化性较差,容易陷入维度灾难以及局部极小等问题;Ju Y等[8]提出Adboost算法,通过改变样本数据分布不断更新样本权值来实现分类;决策树[9]是利用树形结构对一系列问题查询来进行分类判断;支持向量机(SVM)[10]是一种基于统计的机器学习方法,该方法从一定程度上解决了维度灾难,局部极小值点等问题。
本文针对限速交通标志特征,提出结合颜色和形状特征的快速检测算法。为了在有限的计算性能平台上实现,同时尽可能减少光照的影响,算法首先将图像进行RGB彩色空间归一化操作,根据限速交通标志的颜色特征,确定颜色分割阈值,再采用本文提出的基于离心度的快速圆检测方法,确定限速交通标志位置;然后利用改进的最大边界圆的方法,提取出数字区域,并使用投影法进行字符分割,通过旋转投影法进行校正后采用本文改进的基于动态误差阈值的多模板匹配的方法完成识别。通过对实际场景中采集的图像进行实验,证明本文的算法具有较好的效率和准确性。
1 交通标志检测
自20世纪80年代以来,研究者们提出了多种圆检测方法,其中应用最广泛的则是基于Hough变换及其各种改进的方法。目前常用的计算机视觉库OpenCV中即采用了Hough圆检测的两步法——21HT,但是Hough变换的时间消耗和内存空间占用较大,并不适合计算能力有限的手机平台。因此本文结合限速交通标志的颜色和形状特征,提出一种基于连通域内点离心度来实现快速圆检测。
1.1 RGBN颜色分割
将RGB颜色空间转化到其他HSV等颜色空间的涉及大量非线性运算,而手机平台的计算能力有限,因此本文在RGBN(RGB归一化)色彩空间进行运算。通过对RGB颜色空间进行归一化处理,在某些情况下可以减少一部分由于光照带来的影响,如公式(1):
其中R,G,B代表某一像素点的3项分量值,r,g,b分别代表三分量归一化后的值,红色的阈值范围为:(r-g > 0.08)并且(r - b > 0.08)[11]。通过设定红色阈值分割后,可以首先去除掉非红色区域,保留红色区域,其中包含限速交通标志。
1.2 几何不变量——离心度
通过RGB颜色分割后得到二值图像,为了避免使用Hough变换产生大量不必要的盲目投票,对于一个闭合轮廓,可以利用一个几何不变量——离心度来对该轮廓进行形状类别度量。离心度的定义如公式(2):
图1 扫描获取轮廓边缘计算离心度
图2 不同形状闭合轮廓的计算结果
2 字符分割及校正
2.1 改进的最大边界圆提取字符
完成圆检测后,可以得到限速交通标志的所在的圆形区域,其圆心为、半径为Radius。因为红色圆形边框会影响识别,所以需要去除圆形边框以获取数字字符区域。传统的获取数字字符区域多直接采用水平、垂直投影的方法,这些方法简单易行,但是经过实验证明,对于这种数字字符区域被包含在圆形边框内的情况,其处理效果并不理想。为了解决上述问题,本文提出最大边界圆的方法来获取限速交通标志圆环内的字符区域。
Rate表示在该半径时圆周上黑色像素点所占周长比例,当r 取值令Rate最小,说明该圆即为包含黑色字符的最大圆,如图3所示:
图3 最大边界圆检测数字区域
最大边界圆方法提取数字区域,如图4所示:
图4 提取数字区域
采用最大边界圆方法,可以提取出完整的不包含外边缘的圆形数字区域。
2.2 字符分割
对数字字符进行垂直投影得到左右边界即为字符区域的水平区域范围,同理,通过水平投影可以得到垂直区域范围。投影过程如图5所示:
图5 数字区域投影
根据投影结果可以准确提取单个字符。
2.3 字符校正
因为拍摄角度等问题常常造成字符过度旋转而影响识别效率,因此需要对分割好的字符做旋转投影校正。
本文采用旋转图像进行竖直方向投影的方法检测数字字符的倾斜角度。根据数字部分的几何特征,若对数字部分做垂直方向的投影,当投影图的峰宽最窄时数字区域应该是正置的,此时可以得到旋转角度即为校正角度。为了保证预处理的效率,并且实际场景下不可能出现太大旋转角度,本文设定允许的最大倾斜角度为10°,当检测出来的校正角度小于5°时则取消校正处理,这样可以避免不必要的运算。投影法具有很好的鲁棒性、较快的检测速度和准确度。
对检测结果灰度化,如图6所示:
图6(a) 图6(b) 图6(c) 图(d)
如图6(a);采用最大边界圆方法提取出数字区域并二值化,如图6(b);再使用投影方法分割字符,如图6(c);最后通过竖直旋转投影方法完成字符校正并归一化至模板尺寸,如图6(d)。
3 改进的动态误差阈值多模板匹配
由于Android移动平台计算能力有限,为了保证算法在Android平台上的识别效率,本文提出改进的基于动态误差阈值的多模板匹配算法。因为待处理的字符均为数字,字符集确定且不大,所以本文对传统的模板匹配算法在速度和识别率上进行改进,采用多模板匹配的方法提高识别的准确率;同时运用误差阈值筛选方法,将与待识别图像差异较大的字符模板排除在运算之外,提高识别速度。
3.1 多模板匹配
由于待识别字符种类有限,因此可以针对每个字符建立多个模板,既能保证原有字符的特征,又可以使同一字符在不同模板中具有代表性差异。通过对同一字符建立不同模板,模板字符的特征区域被适当地进行了扩大和增强,字符的识别率也相应提高。通过在多模板加入不同轻微旋转角度和断裂的模板,有效避免了由于旋转校正或者预处理误差带来的误识别。部分模板图像如图7所示:
图7 模板库部分图像
3.2 动态误差阈值
多模板匹配的方法主要是针对部分模糊不清,轻微断裂或者沾粘的字符,通过使用增加模板库的方法,提高识别的准确性。采用基于动态误差阈值的方法将与待识别字符特征差别较大的模板排除,减少模板匹配的次数,从而减少了模板匹配整体的消耗时间。
本文采用的基于动态误差阈值方法运算过程为:假定模板库中有N个模板,创建一个全局误差阈值和临时识别结果R,将预处理过的待识别图像与字符模板(k = 0,1,2…N)陆续进行匹配,在与模板进行逐个像素点比较结束前,如果当前累计误差>,就立即停止该模板的运算,继续下一个模板的匹配;如果在模板上的像素点匹配结束后<, 那就将的值赋给,并将识别结果R指向,重复操作,直到完成所有模板的计算。则最后的识别结果即为R所指向的模板对应的数值。同时,为了减少在收敛前的大量不必要运算,本文将初始化为0.4。
该算法流程如图8所示:
图8 动态误差阈值多模板匹配
图8中m,n为模板的长和宽。
该改进的基于动态误差阈值多模板匹配方法充分利用动态阈值,减少了大量不必要的运算,快速准确地找到匹配目标,提升了识别效率。
4 系统实现及实验结果
4.1 系统实现
本文针对实际场景的图像进行限速交通标志的检测和识别功能,硬件条件为索尼Z Ultra智能手机,配备高通801处理器,2GB内存。系统实现过程如下:
1)输入图像的裁剪,降采样等预处理;
2)基于颜色特征,在RGBN色彩空间分割感兴趣区域;
3)基于圆形特征,采用本文提出的离心度方法确定限速交通标志位置;
4)基于改进的最大边界圆方法提取字符区域,采用投影方法精确分割字符的分割并完成校正;
5)采用改进的动态误差阈值的多模板匹配方法完成识别。
将获取的图像进行裁剪等预处理后,通过RGB颜色空间的分割和几何形状特征,通过基于连通域内点离心度的快速圆检测算法对限速交通标志进行定位。对限速交通标志检测过程如图9所示:
(a)相机采集原图裁剪并降采样
(b)基于颜色分割
(c)基于离心度的圆检测
确定限速交通标志位置后,即将检测结果显示在软件UI界面上,在完成识别后,显示识别结果。具体实现结果如图10所示:
图10 软件运行界面
4.2实验结果
4.2.1检测实验
与付琰等[12]改进的Hough变换的快速圆检测方法相比,对500张960*540图像进行检测实验。对比实验结果如表1所示:
表1 检测实验结果对比
从实验结果可以看出,本文算法比改进的Hough算法检测速度提升28.13%,并且正确率也高出1.40%。当图像中包含多个待判定形状时,本文算法优势更加明显。
4.2.2 识别实验
与谷明琴等[13]采用的模板匹配算法相比,对500张40*40包含500个限速交通标志的图像,进行识别实验,对比实验结果如表2所示:
表2 识别实验结果对比
本文提出动态误差阈值多模板匹配方法中,采用单字符多模板提升识别率,采用动态误差阈值筛选提升识别速度。对比实验中,本文识别速度比传统模板匹配方法提升35.14%,识别率提升2.80%。
4.2.3 整体实验
本文整体实验首先采用高通801处理器,选取由前置摄像头采集的共500张1920*1080包含限速交通标志图像,完成整体检测和识别实验,实验结果如表3所示:
表3 整体实验结果
为了验证不同设备对于实验结果的影响,本文分别对三星Note3、小米4以及LG E970进行对比实验,实验结果表明,限速交通标志的识别精度与平台无关,但是由于设备配置不同造成运算性能的差异,导致实时性有不同程度的差距。
5 总结
本系统在Android平台上,充分利用限速交通标志的颜色和形状特征来完成目标的检测,通过改进动态误差阈值的多模板匹配方法实现快速识别,使得在Android这样计算性能有限的手机平台也能实现相对精确快速的检测和识别效果。由于运算过程涉及大量的运算,其中包括大量浮点运算,在Android平台上可以通过openCL或者Android平台封装的RenderScript实现GPU加速浮点运算,目前该系统还未能采用这两种方法针对GPU加速进行优化,有待进一步的研究,从而达到提高运算速度,优化实时性的目的。
参考文献:
[1] 杨康叶,邬春学.基于 RGB 模型颜色相似性的彩色图像分割[J].计算机系统应用,2013 (3): 128-131.
[2] Eldahshan,Kamal A,Mohammed I,Masameer, Emad H,Mustafa,Mohammed A.[M]rnational Journal of Computer Applications90.7 (2014).
[3] Wiebel C B,Valsecchi M,Gegenfurtner K R.The speed and accuracy of material recognition in natural images[J].Attention,Perception,&Psychophysics,2013,75(5): 954-966.
[4] 余博, 郭雷, 赵天云等.Freeman 链码描述的曲线匹配方法[J]. 计算机工程与应用, 2012,48(4): 5-8.
[5] 周封,杨超,王晨光等.基于随机Hough变换的复杂条件下圆检测与数目辨识[J].仪器仪表学报,2013,34(3):622-628.
[6] 陈玮,曹志广,李剑平.改进的模板匹配方法在车牌识别中的应用[J].计算机工程与设计, 2013, 34(5): 1808-1811.
[7] 焦金星,赵建辉,王福钊. 基于 BP 神经网络的交通标志识别算法研究. [C]第八届中国智能交通年会优秀论文集,2013.
[8] Ju Y,Zhang H,Xue Y,et al.Landmark Detection and Recognition on Adaboost and SVM[J].2013.
[9] Stallkamp J,Schlipsing M,Salmen J,et al.Man vs.computer:Benchmarking machine learning algorithms for traffic sign recognition[J].Neural networks,2012,32: 323-332.
[10] Park J,Kwon J,Oh J,et al.A 92-mW real-time traffic sign recognition system with robust illumination adaptation and support vector machine[J]. Solid-State Circuits,IEEE Journal of,2012,47(11): 2711-2723.
[11] 李广亮,杨成忠,张泽泓. 智能车交通灯识别[J]. 杭州电子科技大学学报, 2014,34(3): 80-82.
[12] 付琰,卢荣胜,夏瑞雪等.基于重要性采样的随机Hough 变换圆检测算法[J].电子测量技术, 2012,35(5):45-48.
[13] 谷明琴,蔡自兴,李仪等.基于多模型表示的交通标志识别算法设计[J].控制与决策, 2013, 28(6): 844-848.
Detection and Recognition of Speed Limit Traffic Sign on Android Platform
Cheng Jian,Zhang Chongyang
(College of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing 210094, China)
Based on Android hardware and software platform, the article proposed a real-time speed limit traffic sign detection and recognition system which fused the color and shape features. In order to achieve high speed and accuracy, a variety of detection and classification algorithms based on color and shape features were referenced. In the detection phase, the RGBN color space was selected for fast segmentation, and the Contour Points’ Distribution algorithm was proposed for fast shape screening to locate the traffic sign, in the recognition phase, the Dynamic Threshold Multi-templates Matching algorithm was proposed for fast recognition. The result turned out that the algorithms were suitable for android platform with high speed and accuracy.
Traffic Sign; Target Recognition; Color Segmentation; Template Match
1007-757X(2016)04-0001-04
TP317.4
A
(2015.10.12
国家自然科学基金重大研究计划集成项目(91220301)
成 健(1990-),男(汉族),扬州人,南京理工大学,计算机科学与工程学院,硕士研究生,研究方向:图像处理,模式识别,南京,210094
张重阳(1977-),男(汉族),南京人,南京理工大学,计算机科学与工程学院,副教授,硕士研究生导师,研究方向:模式识别理论与应用,图像处理与计算机视觉,文档图像分析与理解,南京,210094