实时车辆的车牌识别系统摘要本文中阐述的是一个简炼的用于车牌识别系统的算法。
基于模式匹配,该算法可以应用于对车牌实时检测数据采集,测绘或一些特定应用目的。
拟议的系统原型已经使用C++和实验结果已证明认可阿尔伯塔车牌。
1.介绍车辆的车牌识别系统已经成为在视频监控领域中一个特殊的热门领域超过10年左右。
随着先进的用于交通管理应用的视频车辆检测系统的的到来,车牌识别系统被发现可以适合用在相当多的领域内,并非只是控制访问点或收费停车场。
现在它可以被集成到视频车辆检测系统,该系统通常安装在需要的地方用于十字路口控制,交通监控等,以确定该车辆是否违反交通法规或找到被盗车辆。
一些用于识别车牌的技术到目前为止有如BAM(双向联想回忆)神经网络字符识别[1],模式匹配[2]等技术。
应用于系统的技术是基于模式匹配,该系统快速,准确足以在相应的请求时间内完成,更重要的是在于阿尔伯塔车牌识别在字母和数字方位确认上的优先发展。
由于车牌号码的字体和方位因国家/州/省份的不同而不同,该算法需要作相应的修改保持其结构完整,如果我们想请求系统识别这些地方的车牌。
本文其余部分的组织如下:第2节探讨了在识别过程中涉及的系统的结构和步骤,第3节解释了算法对于车牌号码的实时检测,第4节为实验结果,第5节总结了全文包括致谢和参考文献。
2.系统架构系统将被用来作为十字路口的交通视频监控摄像系统一个组成部分来进行分析。
图1显示了卡尔加里一个典型的交叉口。
只有一个车牌用在艾伯塔,连接到背面的车辆照相机将被用于跟踪此背面车牌。
图1 卡尔加里一个的典型交叉口系统架构包含三个相异部分:室外部分,室内部分和通信链路。
室外部分是安装摄像头在拍摄图像的不同需要的路口。
室内部分是中央控制站,从所有这些安装摄像头中,接收,存储和分析所拍摄图像。
通信链路就是高速电缆或光纤连接到所有这些相机中央控制站。
几乎所有的算法的开发程度迄今按以下类似的步骤进行。
一般的7个处理步骤已被确定为所有号牌识别算法[3] 共有。
它们是:触发:这可能是硬件或软件触发。
硬件触发是旧的方式,即感应圈用于触发和这个表述了图像通过检测车牌的存在何时应该被捕获。
硬件触发现在在操作上在许多地方被软件触发取代。
在软件触发,图像分为区,通过图像对于分析的车辆的检测的执行。
图像采集:硬件或软件触发启动图像捕捉设备来捕捉和存储图像来进一步的分析。
车辆的存在:这一步是只需要如果在确认一定时间间隔后触发完成不需要知道车辆存在于捕获的图像中。
这一步背景图像与捕获的图片作比较,并检测是否有任何重大改变。
如果没有,拍摄的图像被忽略,否则进入到下一个步骤。
寻找车牌:此步骤是在捕获的图像中定位车牌。
一些技术的可用于这一步,例如颜色检测[4],特征分析[5],边缘检测[6]等。
在捕获的图像中的任何倾斜是纠正在这一步。
一旦车牌已被定位,图像即准备进行字符识别。
字符分割:分割可以通过检测浓到淡或者淡到浓的过渡层。
车牌中的每个灰色字符产生了一个灰色带。
因此,通过检测类似灰度带每个字符可以被分割出来。
识别过程:这是光学字符识别的一步。
一些技术可以被用于到这一步包括模式匹配[2],特征匹配[7][8]和神经网络分类[9]。
发布过程:这是应用程序的特有的一步。
根据应用此步骤可保存已被检测出来的车牌用于交通数据收集,尝试匹配号牌与被盗车辆数据库或在停车场中为认可停车的车辆打开汽车门等等。
3.算法该算法用于在处理捕获的图像和车牌检测后的车牌字符识别。
基于模式匹配,系统沿用了一个智能算法用于艾伯塔车牌字母和数字的识别。
图2显示了一个艾伯塔省车牌样本其中包含三个字母,3个数字和破折号在内。
所以通过基本的字符确认方法,模糊的字符比如有:数字'0'和字母'O',数字'8'和字母'B已被解决。
此外,由于前三个字符是字母,所以只需与A-Z这一段的字母作比较比较。
类似的,在最后三个字符,它门只需与0-9这一段数字作比较。
图2. 阿尔伯塔省的车牌首先字符识别问题是要找出字符的印刷区域。
这一区域通常是垂直和水平居中的。
因此,通过采取颜色的浓度,我们可以得到字符垂直的顶部和底部。
一旦图像中字符的顶部和底部位置被找到,该区域可以从生成的图像中分割出来,生成图3一样的图像。
这个图像现在为字符分割和识别作准备。
图3. 分割的图像只包含字符作进一步处理字符分割可通过横向颜色的浓度来进行。
为了模式匹配有效地进行,需要在车牌上找到一个与之相匹配的字体。
Arial字体在阿尔伯塔省的车牌字符识别用起来相当好。
在用到这种字体时一个库首先被建立起来。
这个库包含直方图字母AZ和数字0-9。
15个不同的直方图已为了库生成各自相应的字符。
它们是:水平直方图对应的(1)全尺寸,(2)下半部分,(3)上半部分,(4)下部三分之一,(5)上部三分之一,(6)下部四分之一,(7)上部四分之一,(8)上部的三分之二的字符和垂直直方图对应的(9)全尺寸,(10)左半部,(11)右半部,(12)左边三分之一,(13)右边三分之一,(14)左边四分之一以及(15)右边四分之一的字符。
识别的流程图已在图4中给出。
如图所示,3段在每次用于识别以及库在每次被调用时取决于这‘三段’是否被采用。
如果3段设定被检测的为字母,'字母'库将被调用来进行比较,否则就是'数'库被调用来进行比较。
有15个不同的直方图每个字母的排序为A-Z在‘字母'库中与15位不同的直方图每个字符排序为从0-9在‘数字’中。
图4中所示的算法要运行两次,将‘三段’设置各自运行一次,为了完整地识别车牌。
i在流程图中迭代算子。
s 和p是匹配的参数。
图4. 字符识别的流程图i的值随着每个循环而改变并且这个值指示了库中的哪个直方图应该被用来作比较。
如流程图中所示,从段提取的直方图(通过i的变化而定)在作比较之前应该首先被正常化。
一旦正常化过程完成后,该段准备与存储在库中的模式作匹配。
每个匹配过程提供了一套在检查下与段相似匹配的字符。
因此,用不同的直方图模式通过进行几次这样的过程,最不可能的字符被过滤掉留下最正确的。
4.实验结果系统已经使用C++建立原型并且用艾伯塔省的车牌样本进行测试。
图5显示通过采取图像中垂直颜色浓度来确定车牌字符位置的过程。
从中心到上和从中心到下进行水平扫描,图像中字符顶端(H1)和底端(H2)的位置找到。
图5。
垂直颜色浓度图6显示了字符分割的过程。
这是通过利用颜色的浓度水平进行完成的。
因为我们知道,前三个字符是字母而最后三个字符是数字,我们可以很容易在分割后将他们分组进行下一步:模式匹配。
图6。
字符分割如图所示的流程图中的15个不同的模式在系统中使用的是随i的值而定,并此方式分配:0(水平直方图,全尺寸),1(垂直直方图,全尺寸),2(水平直方图,上半部),3(垂直直方图,左半部),4(垂直直方图,右半部),5(水平直方图,下半部),6(水平直方图,下部三分之一),7(垂直直方图,右三分之一),8(水平直方图,上部三分之一),9(垂直直方图,左三分之一),10(水平直方图,下部四分之一),11(水平直方图,上部四分之一),12(水平直方图,上部三分之二),13(垂直直方图,右四分之一),14(垂直直方图,左四分之一)。
从段提取的直方图在作比较之前应该首先被正常化。
图7.正常化进程正常化通过段的宽度与库作比较来完成。
例如,如果拿水平直方图来进行比较,三段中水平方向的最大宽度要与库中的最大宽度进行比较。
如果该段的宽度更大,直方图通过邻近位置的直方图的平均值在水平方向均匀缩小。
类似的过程已被用于放大,如果是偏小的。
图7说明正常化时,段的宽度比库的要大。
图7(a)显示了库中字母F的水平全直方图。
图7(b)显示了字母F的水平直方图在段中被找到。
如果F的直方图的宽度在库中最大(在16的情况下),从段中找到的直方图宽度(在19的情况下)在进行比较之前应该被缩减到16这种情况。
这个过程完成并表述在图7(c)中。
由于宽度的差值为3,直方图3这个段直方图中均匀分配位置的值将被删除,计算邻域的平均值。
如图7(c)中所示,5号,10号与15号位置的值被删除通过对4号,6号,9号,11号,14号与16号位置值的平均计算。
4号位置的新值是原来4号与5号位置的值的平均值。
类似的,5号位置的新值是原来5号和6号位置原来的值的平均值等。
经过规范化,进行模式匹配。
这是通过比较每个直方图中两个比率来完成。
一个来自段,另一个来自库。
该比率是直方图每个位置的值对应图中的最大值。
如果这两个比率的差值在某值设置通过参数s以内,匹配计数增加。
因此,通过在横向(水平直方图)/垂直(垂直直方图)的位置部分,我们得到一个匹配计数说明段与字符如何密切匹配。
对于库中的每一个字符重复这个过程,获得库中每一个字符的匹配计数。
现在,通过假设最高匹配计算为100%匹配,字符的匹配小于70%(由参数 p设定)的算法过滤器。
因此,下一次,当算法采用不同的直方图时,将这段与先前检测到的字符作比较。
如果在做这些比较进行了15个不同的直方图之后,仍有存在多个匹配,整个过程将重复进行伴随具有较高的灵敏度(S随灵敏度增加而下降),直到找到一个。
5.结论本文提出了一种实时的车牌识别系统,突出的一些地区在此应用系统执行都可以。
该系统结构对于识别识别过程中涉及的复杂的步骤进行了讨论。
该实验已经进行,澄清了系统作为一个潜在的候选用于实时识别。
实验表明了本文假定的理想的天气条件。
研究的各种假设天气状况正在进展中。
该原型系统将整合到路口监控录像作流量测量或一些应用在特定用途的文件中进行讨论。
6.致谢作者在此感谢支持这项研究的自然科学加拿大与工程研究理事会(NSERC),卡尔加里大学和卡尔加里市。