APP下载

基于LabVIEW IMAQ的移动车辆牌照识别

2015-12-07付思卓韩文波

关键词:字符识别车牌字符

付思卓,韩文波

(长春理工大学 光电工程学院,长春 130022)

进入二十一世纪,智能交通系统(ITS)已经开始全面应用,车牌自动识别技术LPR作为ITS中的关键组成环节,它的任务是采集并处理汽车实时图像,自动识别车辆车牌信息[1],并完成相关智能化数据库整理。车牌自动识别系统应用广泛,例如高速公路收费站、停车场收费管理、公路道路实时监控等,其中在各类收费管理处实现不停车收费技术,对公路车辆流畅性具有重要意义。可见车牌自动识别系统具有不可替代的作用,对其更加深入的研究具有很大的现实意义。

1 移动车辆车牌识别系统组成

车辆车牌识别系统包含图像采集和图像处理两部分,图像采集主要是完成对车辆车牌信息的采集,图像处理包括四个关键环节,分别为图像预处理、车牌定位、字符分割和字符识别[2],最后完成车辆车牌的智能识别。系统组成框图如图1所示。

高速收费站处,当移动车辆经过感应器,会触发车辆感应器分别给照明工具和图像采集系统信号使其工作,对车辆进行图像采集。由于USB摄像机较为简单,如果对移动状态下的车辆仅采集单帧图像,该图像会出现虚像问题(虚像程度由车辆移动速度决定),故采用USB摄像头进行录像。该图像会直接保存在PC机中并交予LabVIEW对图像进行处理,包括图像预处理、车牌定位、字符分割、字符识别,最后输出识别出的字符。

图1 移动车辆车牌识别系统组成框图

2 车牌识别图像处理算法

在PC机中对车牌的每一步处理都是在不同的图像处理算法下完成。目前,在图像处理时对图像二值化阈值的选择,车牌定位的准确度与字符分割技术都是本课题的关键与技术难点,在本文中涉及到的关键算法有:图像预处理阶段对图像的格式转换与灰度变换;车牌定位阶段的边缘检测;字符识别阶段的字符分割等。

2.1 格式转换与灰度变换

在LabVIEW中对图像的处理都是基于BMP格式的图片,需要对采集到的图片做统一个格式转换处理,算法如下:

图片格式转换之后需要将彩色图像灰度化,就是使R、G、B三个量相等,通常有三种方法:最大值法、平局值法、加权法。本文采用的就是加权的方法,具体算法是:

针对具体的考虑,式子中的a、b、c分别取值0.299、0.587、0.114。

2.2 边缘提取

经过图片预处理之后的图片,需要经过边缘提取才能识别出字符,常用的边缘提取算子有三种:Roberts算子、sobel算子和prewitt算子。Roberts算子具有对图像定位精度较高,检测出的边缘较细等优点,所以本文选择了Roberts算子,该算子根据局部差分算子方法寻找图像边缘,设 f(x ),y是具有整数像素坐标的输入图像,公式如下:

其中模板R1,R2分别为

Roberts边缘算子是一个2×2邻域模板,采用对角线方向相邻两个象素之差近似梯度幅值边缘检测。图像中的每个点都用这两个模板进行卷积,运算结果就是一幅边缘幅度图像[3]。

2.3 字符分割

对图像中的字符进行识别,要求识别对象是独立的字符,所以需要将车牌区域的每个字符独立分离出来。通过前文所述Rboerts算子边缘提取后,车牌上的字符边缘点在整个车牌区域图像中呈现大致固定的概率分布。取T3满足式(5)

将边缘二值图像进行水平方向投影,查找到每个极小值点,再利用间距大小合并这些极小值点,便可以得到分割的独立字符。对分割后独立的字符局部二值化,我们用W表示字体的宽度,取阈值T4满足式(6)

式中A表示独立后每个字符总像素个数。设Y(x ),y表示(x ,y )的灰度值。引入阈值T5,T6,T7,有

式中

对字符块灰度图像进行二值化

3 车牌识别图像处理

在对图像进行预处理之前,由于硬件USB摄像头采集的图像帧率为25fps/s,即在2s内采集到50帧不同运动的车辆图像,数据量过大,需要筛选。基于频率越高图像越清晰的特点,在50帧内选取频率最高的单帧图像作为后期处理的基础图像。本文采用NI公司的LabVIEW 2009作为本次设计的软件编程环境,IMAQ是LabVIEW下的一个子模块,主要用于机器视觉处理以及图像处理方面的应用[4]。

本次设计将字符识别系统划分为三个模块:图像采集模块、图像处理模块(图像预处理、车牌定位、字符分割)和IMAQ OCR字符识别模块。

3.1 图像采集模块

本次设计硬件设备在2s内采集移动车辆图像,并将采集到的图像传到采集卡,然后送入计算机内存,即图像缓冲区。所用的硬件设备是普通的USB摄像头,图2所示是用USB摄像头采集图像的LabVIEW程序框图。图3为采集到的图像。

图2 图像采集程序框图

图3 采集图像

3.2 图像处理模块

生成图样时,由摄像头聚焦精确度问题引发的图像模糊、背景与目标的对比度低、颗粒噪声等因素会影响图像质量,甚至会导致识别失败,所以在字符识别前需要对图像进行预处理,改变图像的质量,提高后续的识别率。图像预处理包括格式转换、灰度转换、二值化三个基础步骤,并在所有帧数图像二值化后采用固定区域像素异或运算,提取。

3.2.1 格式转换

在上文所述算法的支持下,完成对图片的格式转换,其程序框图如图4所示。

图4 格式转换程序框图

3.2.2 灰度转换

将USB摄像头采集到的彩色图像进行灰度转换成为单色图像(灰度图像),这有利于后续的处理。图5和图6就是灰度变换的程序图与经灰度变化后的图像。

图5 灰度变化程序框图

图6 灰度变换结果

3.2.3 二值化

二值化一般在图像灰度操作之后进行,通过搜索产生0和1之间的跳跃变化的位置,快速准确地提取目标区域边界像素点,得到仅有0和1两个灰度值的黑白图像。二值化的关键在于找到适合的T(阈值),针对本文基于高速公路收费处采集到的移动车辆图像的角度考虑:车辆行驶经过车辆感应器,触发照明设备工作,使车辆前脸亮度大于车身与背景,故本次二值转换采用双向固定阈值方法,选取合适的阈值,将两阈值之间的像素点归为255,阈值两侧的像素点归为0。这样可以有效的将车牌区域与非车牌区域区分开,排除背景区域的干扰。图7和图8分别为本文的二值化程序框图和处理结果。

图7 二值化程序框图

图8 二值化结果

3.2.4 车牌定位处理

车牌图像包含较多的信息内容,而背景图像所包含的信息量可能比车牌部分还要多,所以在一幅含有众多复杂背景信息和较多噪声图片上,要对其进行车牌的精确定位是一个比想象中更加困难的事情。考虑到车牌的一些特征信息的不变性,可以确定车牌的相应特征,如中国车牌固定的几何性特征:车头部分的牌照皆是440mm×140mm,字符宽45mm,字符高度为90mm,间隔符宽10mm,字符间隔距离是12mm等[5]。由于这些固定信息使得车牌边缘区域更加突出且容易检测,所以先对图像进行边缘检测,得到车牌粗定位区域。如图9所示。

图9 边缘检测结果图

通过边缘检测提取出车牌边缘信息,再对检测后的图像进行投影,包括水平与垂直两个方向的投影,最后对两个方向上投射的边缘点个数做相加运算,以此精确定位车牌的上下、左右边界。具体程序框图如图10所示。

图10

(1)车牌上下边界的定位

对车牌水平投影并统计投影点个数得到下图10,从图像中可以明显看到,车牌所在区域比非车牌区域投影之后所得曲线具有较为直观的线性波动变化:投影曲线中具有众多波峰,但有几个连续的波峰最为突出,这段连续曲线所代表的区域就是车牌区域;上述中连续的波峰段两侧会出现两个高度基本相同的波谷,且该波谷在高度上低于连续波峰段内的波谷高度。

精确定位车牌上下边界的具体分为两步骤:首先,在图像水平投影曲线上,查找出一段最大波峰所在区间,将该区间判定为车牌区域;然后,在投影曲线上查找上述的两个波谷,并核实是否为最大波峰区间段两侧的波谷,如果是,则取两个波谷之间的区域,判定为精确定位后的车牌区域。

(2)车牌左右边界定位

对原边缘图像进行垂直投影得到图11,图中可以直观表示出:车牌所在区域较非车牌区域的投影曲线具有更高的波峰值,而且该区域曲线具有明显的线性均匀变化特征。根据这个特点,找出投影曲线中最大波峰值,将该值的1/2设定为阈值,以垂直投影曲线的两侧向中间连续性查看,找出第一个大于该值的波峰处,对刚才查找到的左侧波峰处的左侧第一个波谷处进行切割,同时对右侧波峰处位于其右侧的第一个波谷处进行切割,取中间所在区域,判定为车牌区域。

图10 水平差分图像

图11 车牌垂直投影

3.3 字符识别

在车牌识别图像处理算法中,可以将一幅图像中的字符分割为独立的字符,然后对独立的字符进行识别,字符识别是模式识别领域内的一个重要分支,字符识别的基本思想是特征匹配。特征匹配是指通过分别提取两个或多个图像的特征,对特征进行参数描述,然后运用所描述的参数来进行匹配的一种算法。通过提取的特征与标准库进行比较就可以识别出图像中的字符。

本设计采用IMAQ OCR下的子VI来实现对字符的识别,OCR的识别是通过提取所采集图像中字符的特征与前边字符训练所生成的字符特征库的比对来识别的[6]。

图12 LabVIEW前面板及识别结果

IMAQ OCR字符识别的一般步骤:创建一个OCR任务;通过IMAQ OCR Read Character Set File VI读取经过OCR Training训练所生成的*.abc文件;用IMAQ ReadFile打开所要识别的图像;IMAQ OCR Read Text 3 VI读出匹配后的结果。OCR系统完成识别后及时输出识别的字符,如图12所示。

4 实验结果

针对环境这一特殊因素,分别在晴天、阴雨天、雾霾天三种天气环境时,将系统安装在高速公路收费站入口对移动车辆进行测试,识别结果发现,通过提取单帧图像的办法可以有效避免图像中车辆出现模糊的问题,在晴天时,车牌字符的识别率很高,达到97%左右,在阴雨天和雾霾天时识别率在93%左右。对三种天气环境下未识别的车牌进行统计分析,发现在晴天发生未识别的车牌主要是由于以下两种情况导致:一是车辆牌照上出现大面积的覆盖物遮盖了所要识别的字符;二是车牌倾斜角度过大,无法完成对车牌精度定位。在阴雨天和雾霾天气状况下,除了以上两种情况原因,还有一些其他车牌也不能识别,原因分析应该是天气环境影响图片的曝光度且噪声干扰过大导致。

5 结论

实验结果表明:虽然该系统受天气、环境、照明、速度、车辆状况及拍摄距离等诸多因素变化的影响,所得到的图像存在着大量的噪声和变形,影响其识别率,但同比其他车牌识别系统的识别率与识别速度处于领先地位,且该系统性能稳定可靠,对软件硬件要求不高,达到了预期目的。

[1]Li Wang,Theo Pavlidis.Direct gray-scale extraction of features for character recognition[J].IEEE Trans on PAMI,2005,15(10):1053-1067.

[2]骆雪超,刘桂雄,冯云庆,等.一种基于车辆特征信息的车牌识别方法[J].华南理工大学学报:自然科学版,2003,31(4):31-35.

[3]张引,潘云鹤.彩色汽车图像牌照定位新方法[J].中国图像图形学报,2001,6(4):374-377.

[4]章毓晋.图像处理与分析[M].北京:清华大学出版社,1998:40-65.

[5]王阳,王竹林.基于LabVIEW的图像处理技术[J].兵工自动化,2009,28(1):89-90.

[6]梁玮,罗剑锋,贾云得.一种复杂背景下的多车牌图像分割与识别方法[J].北京理工大学学报,2013,23(1):91-94.

猜你喜欢

字符识别车牌字符
寻找更强的字符映射管理器
字符代表几
一种USB接口字符液晶控制器设计
数字图像处理技术在车牌识别系统中的应用
消失的殖民村庄和神秘字符
一种改进深度学习网络结构的英文字符识别
第一张车牌
基于MATLAB 的车牌识别系统研究
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别