秦鹏++付先平++石婷洁
摘要:本文提出了一种新的基于统计特征的实时限速标志识别算法。首先确定道路图像中待处理的区域并利用SVF(Simple Vector Filter,以下简称SVF)进行滤波处理。其次利用RGB空间进行颜色分割,并利统计特征对非限速标志进行排除。最终利用纵横投影的七段码“8”字型手写数字识别方法对提取的数字进行识别。
关键词:实时 统计特征 限速标志
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2014)12-0125-03
1 介绍
从视频图像中识别限速标志,尤其是实时的限速标志识别,对于道路安全具有重要意义。本文提出了一种基于统计特征的实时限速标志识别算法,可以识别视频中的限速标志。首先按照分区优先搜索策略确定需要处理的图像区域。其次,利用SVF向量滤波器对图像进行滤波处理,并利用RGB颜色空间进行颜色分割。再次利用先验知识排除非限速标志,从而最终确定感兴趣区域ROI。最后在最终确定的感兴趣区域中提取数字,并利用纵横投影的七段码“8”字型手写数字识别方法对提取的数字进行识别。
2 限速标志识别算法
2.1 限速标志的检测
限速标志的检测包括分区处理、SVF滤波和颜色分割几个过程。
2.1.1 分区处理策略
交通标志一般都处于道路右侧上方,根据这一情况,我们并不直接对图像的所有像素点进行处理,而是有选择性的针对某一区域进行搜索。由汪哲慎[1]的分区优先搜索策略的启发,本文对其搜索策略进行改进,对图像的像素进行有选择性的处理。分区示意图如图1:
图1中的W、H分别为图像的宽度与高度。通常情况下,交通标志出现在图像的1级搜索区域中,如果在此区域内搜索失败,则扩大搜索范围,在2级搜索区域内进行搜索,如果搜索失败,则在3级搜索区域,即全图搜索。
图2便是从视频中提取的单帧原始图像initImg的搜索区域以及分割后的子图subImg示意图,交通标志处于1级搜索区域中,即图中的红色矩形区域内,我们的后续工作都是在此区域中进行。
2.1.2 预处理
由于RGB三分量的相关性,对原始图像的预处理往往会改变像素点的颜色,从而造成识别错误。为了尽量保留像素的颜色信息,我们将在后面的各个步骤中对噪声进行去除。本文利用Asakura等人[2]提出简单向量滤波器(SVF,Simple Vector Filter)对搜索区域进行滤波,以此来去除非彩色区域,以减少后续工作需要处理的像素。首先创建与subImg大小相同二值图bImg_SVF,再将bImg_SVF中与子图subImg中彩色的像素点对应位置的值赋值为1,否则为0。
2.1.3 基于RGB空间的快速颜色分割
在去掉非彩色的图像基础上进行颜色分割,考虑到实时性,本文使用RGB颜色空间。经过大量实验,本文采用杨修铭[3]的RGB空间分割方法,满足如式(3.1)的像素点被认为是红色像素:
(3.1)
这里R、G、B表示像素点的亮度分量。我们在图像subImg中找到满足公式的像素位置,并将二值图bImg_SVF中相应位置的像素置为1,否则为0。利用这种方法对图像进行进一步分割,得到二值图bImg_RGB。再利用形态学开操作对图像进行去噪处理,得到二值图bImg_OPEN。结果如图3:
2.2 根据先验知识排除非限速标志
仅仅依靠颜色分割只能找到红色的区域,而不能准确定位那些区域为限速标志区域。所以我们需要在颜色检测的基础上进行进一步处理。首先我们对bImg_OPEN进行连通区域标记,然后根据限速标志的形状特征的特点,对非限速标志进行排除。排除时需要利用限速标志的统计特征。所以下面先进行限速标志分析。
2.2.1 限速标志形状分析
本文允许的交通标志的最大形变程度为交通标志max(w,h)与min(w,h)的比值
(3.2)
其中w、h分别为是外接矩形的宽度和高度。下面我们对极限情况下的变形交通标志进行分析,未变形的交通标志可以看作是变形交通标志的特例。不失一般性,我们用图4来进行分析:
图4中的红色矩形框为交通标志的外接矩形,A、B分别为代表交通标志外部和内部形状的两个椭圆。按照上图所示,交通标志红色像素占外接矩形面积的比例
(3.3)
SA与SB分别为椭圆A与B的面积,SRA为椭圆A外接矩形的面积。我们假定极限情况下椭圆B的长短轴分别为A的一半,则Rr=0.5890。另外,我们记录SB与交通标志外接矩形面积的比值
(3.4)
在上图中,Rn=0.1963。此外,计算内部椭圆B外接矩形中所包含的红色像素数量与交通标志外接矩形面积的比值
(3.5)
SRA、SRB为椭圆A与B外接矩形的面积。在上图中,Ri=0.0537。Rn与Ri这两个数值将在数字识别与非限速交通标志排除的过程中使用。
2.2.2 排除非限速标志
首先对bImg_OPEN进行连通区域标记,然后按照如下规则进行排除:
(1)如果连通区域的像素面积小于300,则认为不是交通标志,否则进行下一步判断。
(2)本文允许的最大形变量Rd≤2,若Rd>2,则认为不是交通标志,否则进行下一步判断。
(3)交通标志中的红色像素的数量占其外接矩形面积的比例是一定的,若比例超过阈值Tr的连通区域可以认为不是交通标志。根据上一节计算得到的,我们可以将Tr赋值为Rr,即若连通区域内的白色像素个数与外接矩形面的比值大于Rr,则认为不是交通标志,否则进行下一步判断。endprint
(4)计算圆形度。圆形度可以在一定程度上反映图像与圆的近似程度。圆形度定义为metric=4πS/C2,metric∈[0,1],其中,S为连通区域的面积,C为连通区域的周长。当填充后的连通区域为圆形时,metric=1。根据Rd≤2,我们可知,理论上限速标志的填充连通区域的圆形度不会低于metrics=4πSA/CA2,,其中SA为椭圆A的面积,CA为利用近似公式π(3(a+b)/2-(ab)1/2)计算得到的椭圆A的周长,其中a,b为椭圆的半轴长度。根据圆形度计算公式,metrics=0.8402。考虑到噪声影响,如果某填充后的连通区域圆形度低于0.8,则认为不是交通标志,否则进行下一步判断。
(5)限速标志的内部不含有红色像素,所以我们在bImg_OPEN中连通区域外接矩形中的固定区域x∈[w/4,3w/4]且y∈[h/4,3h/4]中进行搜索并对白色像素进行统计,w、h分别为连通区域外接矩形的宽度和高度。如果白色像素数目与连通区域外接矩形的面积之比超过Ti,则认为不是交通标志。Ti的取值为前面得到的Ri=0.0537,但由于考虑到噪声影响,我们将Ti设为0.06。
(6)尽管除了限速标志之外,还有很多交通标志中间没有红色像素,但是其内部的图案与限速标志差异很大,在禁令标志中,只有限速标志内部图案的高度相似,而其他交通标志的内部连通区域的高度相差很大。所以我们首先提取bImg_OPEN中黑色像素面积最大的连通区域作为交通标志内部区域,在内部区域中将原始图subImg中对应的部分进行灰度化,并进行灰度变换以增强对比度,然后进行二值化处理、去噪并提取连通区域。
2.3 数字识别
2.3.1 数字图像预处理
由于数字部分可能由于拍摄角度的不同,可能使数字产生倾斜。本文采用最小二乘法对图像进行倾斜校正。并利用统计直方图对数字图像进行字符分割。之后将分割后的数字进行归一化为24行16列,并提取其骨架。
2.3.2 数字识别
接下来,本文对纵横投影的七段码“8”字型手写数字识别[4]的方法加以改进,并用该算法对数字进行识别。该算法的基本思想是根据数字的外形特征将数字在七段码“8”字的各框上进行投影,将其规范化为标准数字再进行识别。
该方法首先将数字骨架投影到“8”字型的7个字框上,然后按照一定规则将投影规范化,最后根据判别策略进行判别和匹配。
由于数字不规范等情况造成的变形会使同一个数字存在不同的投影,某些数字如1,4,6,9并不只有唯一的字框投影。而原算法针对每个数字只有一个对应的模板,本文对该算法进行改进,对于可能发生变形的数字设置了多套模板进行匹配。
3 实验结果
图5是从不同视频中提取的帧图像。图像中的右下角为检测出的限速标志的内部区域图。
J.Miura等人[5]中的识别系统包括一个广角镜头和一个长焦镜头,由长焦镜头对广角镜头中的感兴趣区域进行放大,接着利用YUV空间进行颜色分割,并利用Hough变换确定标志形状,最后利用模板匹配识别限速标志。该系统的每帧识别速度约为440-520ms,限速标志的检测成功率为97.2%,识别率为46.5%。S. Estable等人[6]通过神经网络进行颜色分割,接着对形状进行轮廓分析,最后对交通标志的特征图(Pictogram)利用训练好的统计分类器进行识别。该系统的识别速度则低于200ms,整体检测成功率约为90%。
本文利用Matlab对算法进行仿真,尽管第一帧识别速度较慢,约为1.3630s,但是后续帧的识别速度大大提高,可以达到0.1440s。限速标志检测成功率约为90%,数字识别率约为70%。如果利用硬件加速,则可以进一步提高处理速度[7]。
4 结语
本算法可以在视频图像中识别限速标志,由于没有采用过于复杂的算法,所以除了第一帧识别速度较慢之外,后续帧的识别速度较为理想。然而在视频图像过于模糊或噪声干扰强烈的情况下,感兴趣区域ROI以及交通标志内部连通区域的提取将会受到影响,导致本算法的识别率降低。但是随着车辆行驶,限速标志的可视面积不断增大,本算法仍然可以达到理想的效果。
参考文献
[1]汪哲慎.复杂场景下交通标志检测技术研究:(硕士学位论文).厦门:厦门大学,2006.
[2]马碧燕,郑胜林,赵全友.纵横投影的七段码"8"字型手写数字识别.广东工业大学学报,23(3):113-117,2006.
[3]秦鹏.驾驶行为评测系统中限速标志识别方法的研究:(硕士学位论文).大连:大连海事大学,2010.endprint