基于DSP的图像处理在车牌识别中的应用
扫描二维码
随时随地手机看文章
随着高速公路的快速发展,以及汽车普及程度的提高,汽车牌照自动识别系统(LPR)的研究与开发也成为现代化交通发展中倍受关注的问题。对提高这些场所交通系统的管理水平和自动化程度具有重要的意义和巨大的经济价值,有着广阔的发展前景 [1]。车牌识别技术作为该系统的核心,起着举足轻重的作用,它在高速公路、城市道路和停车场等项目管理中占有无可取代的重要地位。
1 图像预处理及车牌字符分割
1.1预处理 LPR的摄像部分工作于开放的户外环境,拍照时的光线,摄像机与牌照的距离和角度等都会造成采集图像的模糊、歪斜等,严重影响车牌的分割识别。所以在进入车牌识别模块之前,首先要对采集到的车牌图像进行预处理。目前,适应于各种应用环境的,较为通用的图像预处理方法还不是很成熟,论文在现有车牌预处理算法的基础上,针对车牌图像提出了改进的预处理方案。具体过程是在现有的中值滤波、灰度化及二值化的常规处理后,又提出了对二值图像进行二次中值滤波来对二值图像降噪,并将通常用于实现车牌定位的锐化边缘算法运用到预处理中,为去除车牌图像背景,提取车牌字符做好了准备
1.1.1 中值滤波 中值滤波对于消除孤立点,即椒盐噪声和线段干扰十分有用,特别是对于二进制的椒盐噪声尤为有效,所以论文对二值图像再次进行了中值滤波。CCS仿真测试表明,中值滤波后的车牌二值图像,清晰度得到了显著提高(如图 1所示),为车牌字符分割打好了基础。
500)this.style.width=500;" border="0" />
1.1.2锐化边缘
在车牌识别系统中通常采用锐化边缘的方法实现车牌定位,论文将其用于预处理,采用 Roberts算子,利用局部差分算子寻找边缘,对车牌二值图像进行了边缘锐化(如图 2所示),为去除车牌背景提取字符做好了准备,同时经过边缘锐化提取了车牌边框及字符的外部轮廓信息,相对整个车牌信息,后续处理的数据量大大减少了,从而提高了系统的处理速度。
1.2车牌字符分割算法及改进 车牌字符分割是在车牌定位后把车牌的整体区域分割成单字符区域。字符分割算法主要有自顶向下分割、边缘检测分割、迭代像素聚类和区域生长法等。论文结合车牌自身的特点,提出了先去车牌背景提取字符,再进行字符分割的改进的车牌分割方案。
1.2.1字符提取 车牌背景对车牌字符的正确分割和识别有很大的影响,为了提高识别效率,论文在车牌分割之前,充分利用定位车牌两铆钉中间部分无铆钉干扰,且字符与车牌边框的粘连度较小的特点,首先采用改进的局部投影法去除了车牌图像的背景(边框、铆钉以及噪音),准确提取出车牌图像的纯字符区(如图4(b)所示)。首先,截取车牌二值图像的中间部分(通常为车牌长度的 1/3到 2/3部分)进行局部水平投影,通过从中间向两边扫描投影值(0或 255)的大小寻找字符区域的上下边界,再根据车牌各字符字体高度相等的特点,即可去除车牌的上下边框和铆钉。同理,对去除水平背景的二值图像进行垂直投影并从左到右扫描投影值,便可找到并去除车牌图像的左右边框,彻底提出车牌中的字符图像
1.2.2字符分割
论文利用车牌图像小且内容简单的特点,将自顶向下分割法与边缘检测分割法相结合,采用了改进的垂直投影法,对边缘锐化了的纯字符图像做垂直投影,从右向左扫描黑白跳变点来实现车牌字符分割。由于是对纯字符的二值图像进行垂直投影,且车牌的边框和铆钉等背景已经去除,所以有连续黑点的地方就是字符所在地,连续黑点的间断点(白点)则是分割点。再根据车牌字符分隔点的初始位置比例关系为6:
8:6:6:6:6,以及字符的平均字宽和两字符左边界之间的平均距离关系,去除可能存在的错误切分。
2 车牌字符识别算法及改进
字符识别是 LPR系统的最后一个环节,也是整个车牌识别系统的关键,识别方法的好坏直接影响到整个车牌最终的识别效果。
2.1字符归一化 由于分割出来的字符图像大小有差异,而字符特征提取及模板匹配都是建立在各字符图像大小一致的基础上,所以在对字符识别前首先需要进行字符归一化,包括分割字符归一化和标准字符归一化。论文根据字符提取时得到的各字符的上下边界以及字符分割时得到的各字符的左右边界,分别计算出各字符的高度和宽度,并求出各自的最大值作为分割字符最小包络归一化的识别模板尺寸,通过调试,考虑到计算量的问题论文将标准字符模板统一为 W40*H40的像素大小。
2.2特征提取图像特征通常可以分为结构特征和统计特征两类,论文将两者相结合,采用对各字符的外部轮廓进行统计特征提取的方法实现特征提取,包括待识别字符的特征提取和标准字符模板的特征提取。首先,将边缘锐化并二值化了的分割字符分成 3x3的 9份,并计算每一份中像素点总数与黑象素点(目标点)个数的比值,从而得到一个 9维特征向量,然后提取该向量作为待识别字符的特征。同理可以得到模板字符的特征向量,建起模板字符特征库。实践证明,当字符的形状发生变化时,该方法仍可以保证特征提取的正确性。并且相对字符的整体信息,对字符的边缘信息进行特征提取计算量要少的多,从而提高了处理速度。
2.3字符识别
车牌字符的识别算法主要有模板匹配法、统计模式识别和基于神经网络法。基于模板匹配算法首先将待识别字符二值化,再将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果[2][3]。由于这种算法稳定性较差且耗时较长,所以论文提出基于特征向量的匹配算法,具体算法是将待识别字符的特征向量与模板字符特征库中的特征向量依次对应相减,若结果为零向量则完全匹配,其对应的模板字符即为识别结果。若为非零向量,则对这 9个差值的绝对值求和,取最小值对应的标准模板字符作为最佳匹配字符并将其输出,完成了字符识别。由于数字“1”的字高与字宽之比大于3,而其他字符的高宽之比都小于3,所以论文首先根据这一特性判断分割字符是否为“1”,若是则识别结果输出标准字符“1”,若不是则依次对分割字符进行字符归一化、特征提取和基于特征向量的模板匹配,输出识别结果。这样既可以较为简单和准确的识别字符“1”,而且不需要建字符“1”的模板特征向量,减少了计算量,提高识别了速度,同时也降低了整体识别的难度。
3系统组成原理
3.1硬件结构框图
车牌识别系统分为硬件部分和软件部分两部分。它的基本硬件配置是由摄像机、工控机、采集卡、照明装置组成。而软件则是由基于 DSP的具有车牌识别功能的图像分析处理软件,和满足具体应用需求的后台管理软件组成。车牌识别系统的流程图如图 3所示。其中车牌识别软件部分具体又分为三个步骤:车牌定位、车牌图像预处理字符分割和字符识别。首先通过车牌定位获取车牌图片,随后将图片切割成包含单个字符的七个子图像,最后对各个字符进行字符识别,得出识别结果。
500)this.style.width=500;" border="0" />
3.2芯片的选择
TMS320VC6713是 TI公司推出的新一代高性能、低价位、低功耗的 32位浮点数字信号处理器,其主要特点是运行速度快、大容量的片内存储器、大范围的寻址能力、优化的 CPU结构、低功耗设计 [4]。虽然TMS320C67XX的运算速度比不上定点的定点系列是 TMS320C62XX,但是 67系列的高性能及其良好的表现,足以满足数字图像处理系统的要求。并且相对定点系列,浮点数字信号处理器在编写程序时可以不用考虑烦琐的 Q点数值。综合考虑,系统采用 TMS320C6713系列的DSP进行车牌识别模块的相关处理。
4.CCS软件仿真与识别效果分析
系统采用 TMS320C6713系列的 DSP进行仿真测试,仿真环境为 Code Composer Studio (CCS)。
500)this.style.width=500;" border="0" />
仿真测试表明,论文提出的预处理过程对图像的降噪、增强达到了较好的处理效果(如图1、图2所示),而且在一定程度上解决了由外界光线造成的车牌图像对比度低的问题,对可见光具有一定的鲁棒性。论文结合车牌结构的特点,采用局部投影法有效地对预处理后的定位车牌进行了纯字符提取,如图4(b)所示。由于字符提取驱除了车牌图像的边框、铆钉等车牌背景,所以有效的降低了分割和识别的难度,如表1所示,通过对 358副定位车牌的测试,正确提取字符图像的为 356副,提取率为 99.44%,提取错误的 2副图像是由车牌定位不准确所致。正确分割和识别的车牌图像为 355副,识别率为99.16%。
500)this.style.width=500;" border="0" />
5 结论
论文基于 DSP对车牌识别模块中的图像预处理,字符分割及字符识别技术分别提出了改进算法。图像预处理部分, 改进点在于提出了对二值图像进行二次中值滤波来对二值图像降噪,并将锐化边缘算法运用到了预处理中。CCS仿真结果表明, 论文提出的预处理方案能够有效的提高图像的质量,同时采用Roberts算子进行边缘锐化,为车牌纯字符区域的提取打好了基础。字符分割部分的改进点,一是通过对边缘锐化并二值化的车牌图像进行局部投影,有效的去除了车牌的边框和铆钉,准确的提出了车牌的字符区域。二是对纯字符图像进行字符分割,使分割正确率达到了99.16%,提高了分割的准确性。车牌字符识别部分,改进处在于对各字符的外部轮廓进行统计特征提取,并基于特征向量的进行匹配识别。仿真结果表明,改进的算法具有良好的鲁棒性,识别正确率达到了99.16%,提高了识别效率。