- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于FPGA 的车牌字符识别方法的研究
摘 要:设计了根据车牌的彩色特征对车牌位置进行粗定位,再利用车牌字符二值化特征来精确定位的双重车牌定位方法。在中值滤波和二值化等预处理后,提取出车牌中的字母和数字字符并建立相应的模板,通过字符归一化在NIOS II 中采用最大相似度算法较好的识别了车牌号码。实验结果表明,该方法具有良好的实时性和较高的识别率。
关键词:车牌字符检测; NIOS II; 归一化; 模板匹配;
0 引言
智能交通系统已成为当前交通管理发展的重要方向, 而车辆牌照识别是计算机视觉与模式识别在智能交通领域应用的重要研究课题之一 ,有着广泛的实际应用前景[1]。传统的车辆牌照识别大多以PC平台上的纯软件算法[2][3]或DSP处理器[4]为核心来实现。由PC机构建的系统非小型化,在系统实时性的方面存在不足,主要用于前期算法的研究;而以通用的数字信号处理器(DSP)为核心的车牌识别系统外围电路设计复杂, 开发调试困难,系统的可扩展性和升级性较差。本文所构建的车牌字符系统基于FPGA平台,具有并行运算能力强、接口逻辑丰富等特性,为构建实时、便携的车牌字符识别系统提供了一种有效、可行的解决方案。
1 系统概述
系统的整体设计流程如下图1-1 所示。
本系统主要采用Altera公司的DE2开发板为实验平台,根据该系统实现的功能,将系统划分为硬、软件两部分,硬件部分包括车牌采集[5][6]和A/D转换、车牌预处理等;软件部分主要使用Cyclone II FPGA内嵌的NIOS II软核,采用SOPC Builder配置生成片上系统,并使用模板匹配算法对车牌进行识别,最后识别结果在LED上显示。
2 车牌预处理
2.1 粗定位和灰度化
车牌定位是整个系统的关键问题之一,它直接影响了后续的分割以及识别的准确率。考虑到整个图像车牌部分的字符颜色和车牌背景颜色差别很大,其灰度级别分布有一定规律和范围,兼之车牌的宽度有一定的比例,因此可以将车牌从背景图片中分离出来。
我国现有的车辆主要有蓝底白字牌照、黄底黑字牌照等四种类型。鉴于车牌前景、背景色的颜色特征,可以通过对颜色通道的分析来大致的确定车牌所在的位置以完成车牌位置的粗定位。在确定参数的时候,除了要考虑主色的下限参数以外还要考虑另外二个通道的上限参数。经过反复的试验对比后得出经验参数值为:以蓝底白字的车牌为例,在RGB 三个通道中:R< 10’b0110110000; G<10’b0111010000; B>10’0110110000,由以上参数为扫描阈值,自动剔除车牌位置之外的其他图像部分,完成粗定位。 [p]
2.2 中值滤波处理
粗定位后的车牌首先进行灰度化处理以减小数据量利于实时处理。其次为了抑制车牌图像在采集时产生的椒盐噪声等脉冲噪声影响,改善图像质量,本文对灰度化后的车牌图像进行中值滤波处理。
在FPGA中实现中值滤波,出于实际处理速度、处理效果和器件资源考虑,本文选用3×3邻域窗口。考虑到FPGA强大的并行处理数据能力,此处设计一种对3×3邻域中九个数据一起处理的方法,它是基于三输入排序单元构成,而每个三输入单元又是由若干二输入单元构成。这种方法比传统的冒泡排序法减少了逻辑资源的占用,却和其一样能找出中值,且只需经过3级的比较,即3个时钟周期的延时就可以找出中值。图2-2为本文在FPGA中设计实现快速中值滤波的框图。据此即完成了所采集的车牌图像的中值滤波去噪。
2.3 二值化处理
因为车牌定位和字符分割都是基于车牌区域的二值化结果进行,所以二值化的效果直接影响到车牌识别的效果。由于要从待检测的车牌图像区域截取图像的背景不会很复杂。前景区域和背景区域的差异比较明显,所以车牌图像的灰度直方图将有明显双峰效果。本文通过直方图的双峰法的方法来求取阈值,对车牌图像进行二值化处理。
3 车牌检测
在对采集到的车牌图像二值化处理以后,一帧图像的大小大幅度减小,约为400k 左右,下面就是把该二值化车牌图像传输至NIOS II 软核内进行分割等后续处理,考虑到NIOS II软核中资源丰富的特点,本文通过增加输入输出口的数量来提升数据传入的速度,从而满足系统的实时性处理要求。根据数据传输需求,本文设计通过22 个32bit 的输入输出口来传送数据,虽然22×32=704bit 相比一帧图像的一行720bit 少了16bit,但考虑到车牌图像的边缘是非字符目标区域的背景图像,对最终识别结果的影响甚小,故可以近乎忽略。
3.1 基于车牌字母及数字特征的准确定位
通过车牌的彩色特性对车牌进行预定位后,再根据车牌号码的字母和数字在二值化后的特性准确定位出车牌的位置,如果此时定位出车牌的位置在彩色通道预定位的车牌区域内,则说明车牌位置已经确定,如果不在彩色通道定义的车牌位置范围之内,则需要重新判断。
(1)定位牌照的上下边界:若某一行的0→1(白到黑)和1→0(黑到白)变化次数大于设定的阈值,则设其为待测车牌的最低点,继续扫描直至0→1 和1→0 变化次数小于阈值,将该阈值设为待测车牌的最高点。若最高点与最低点之差大于15,则认为目标已检测到,否则继续进行扫描;如果未检测到符合上述条件的目标,则自动门限值重复以上的操作,直到找到目标为止。
(2)定位牌照的左右边界:在找到车牌的上下限后,利用二值图像在竖直方向上的投影作为特征,从左到右寻找目标的中心点坐标。车牌定位效果如图3-1 所示:
[p]
3.2 基于垂直灰度法的字符分割
在对车牌进行定位后,考虑到车牌字符的排放特点与字符间的微小间隙,采用垂直灰度法进行车牌字符的分割。主要思想是设定一个垂直投影的阈值,判断投影大于阈值则标记并保存,遇到空隙则分割,最后判断字符区域的长度是否满足字符的长度,满足字符长度的则记录为有效字符,不满足将剔除继续扫描下一个知道扫描完整行为止。分割效果如图3-2。
3.3 模板匹配
我国的车牌,字符标志的首位为汉字的省名缩写,次位为英文字母,再次位为英文字母或阿拉伯数字,末四位均为数字。由于实际可能出现的英文字母和数字字符数目不多,再基于NIOS II 软核的运算能力考虑,采用模板匹配方法进行字符识别。即将待识别的车牌字符矩阵与库内的标准字符矩阵(标准模版)对比,相似度最大的则认为一致。
首先将标准模板入库,按国家车牌标准的大小、字体、字符间距等打印出数张样品,其前景、背景清晰,字符没有断续,很少噪声、且包含了所有可能的车牌字符,作为“标准车牌”,用以采样制作标准字符矩阵库。把每一张“标准车牌”分割出来的字符归一化[7],接着将归一化后的模板矩阵存入FPGA中作为标准模板库,根据实验情况,模板越大识别率越高,但同时会带来运算数据量的大大增加,于是在综合考虑准确度和NIOS II软核的工作效率后采用20×15 bit大小的数组作为标准模板。
当车牌上的待识别字符归一化以后,依次与标准库中的模板进行匹配,即矩阵对应位依次做差,分别计算总的相同像素个数,则有最大相同数目的那一组数认为是相似度最大,则用此时的标准模板所对应的数字或字母作为最终识别的结果。车牌字符识别结果如图3-3:
在PAL 制式的CCD 摄像头、Altera DE2 开发板和普通VGA 显示器的实验环境下,随机选取20 张车牌进行检测,在不同的光照条件下,正确检测出的字符率达到了90%以上,在光照较好的情况下,识别率达到94%以上,且平均识别时间不到0.1 秒,完全满足实时性的需求。实验结果表明,采用FPGA 可以很好的完成对车牌实时检测的任务,且具有体积小、功耗低、速度快等明显的优点。
4 结论
本文在利用FPGA 采集车牌图像的基础上,实现了一种利用字符归一化和模板匹配的简单快速的车牌字符识别系统,并在SOPC 中实现。系统具有视频图像采集实时,车牌定位分割准确和识别误差低等特点。这种基于SOPC 技术的片上系统设计方法具有硬件设计灵活,可扩展性强等优点,它弥补了传统PC 机系统和DSP 系统设计的不足,有效地降低了系统软硬件设计的难度,缩短了开发周期,并提高了设计的可靠性。可用于道路车辆监控、智能交
通管理等应用领域,具有较高的实用价值和应用前景。
本文作者创新点:提出了根据车牌彩色通道特性和字符二值化后特征的车牌双重定位方法,在NIOS II 中用模版匹配方法实时准确的识别车牌字符。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:基于Proteus的汉字点阵显示电路设计
下一篇:LED光源工作原理及亮度稳定性