基于Blackfin561的嵌入式车牌识别系统
2014-04-19 来源:互联网
随着科技与经济的发展,汽车数量也逐渐增多,交通管理问题日渐严峻。如何建立一个科学有效的交通管理系统是交通管理的重点。智能交通系统(TTS)随着科技的兴起,是未来交通管理发展的必然趋势,也是电子信息技术的一个前沿课题。车牌识别系统(License Plate Recognition System,LPRS)是智能交通系统的重要组成部分,在自动化管理、信息统计、车辆跟踪等方面均具有重要意义。虽然国外在LPRS上已取得了较好的效果,而国内因起步较晚,目前仍需要对众多的相关技术进行深入的研究与实现。
基于Blackfin561的LPRS替代了人工识别车牌的角色,这可节省大量人力物力。本文讨论的LPRS可用于高速收费站口及小区门口,以实现车流量统计和车辆跟踪等功能。
1 系统的总体设计与架构
嵌入式车牌识别系统是一个能够完成车牌识别与信息处理的独立系统,整个系统包括视频采集模块,图像处理模块与通讯模块。系统的软件设计包括道路图像的采集、图像预处理、车牌定位、字符分割,字符识别和结果发送6大部分。
1.1 基于DSP的嵌入式车牌识别系统
由于DSP强大的数据处理能力,使得它在嵌入式图像处理领域占据了重要地位,尤其是双核DSP,更是在视频处理应用中上升势头迅猛。基于DSP的嵌入式车牌识别系统一般采用主机与DSP分布式处理结构,其优点是价格低、可靠性好、便于升级。系统的一般结构主要分图像采集、DSP处理和PC机数据管理3部分,其系统结构如图1所示。
图像采集模块包括视频的输入部分与图像的提取部分,其功能是通过CCD摄像头采集亮度信号,输出模拟的复合视频电信号,并通过视频解码芯片解码出所需的数字图像信号。DSP处理模块主要由DSP处理器及其外围电路,外部存储器以及与主机的接口电路组成。其中外部存储器用来存储图像的大量数据,供DSP处理器调用。与主机的通讯接口常用的有UART、PCI、USB和以太网等。由于系统通常要考虑其自身的扩展性、终端与主机的远距离通信、布线的难易程度等因素,故以太网应用较为普遍,但缺点就是在无集成以太网功能的DSP上,需外加芯片,提高了系统的成本。PC机数据管理模块因系统应用的目的不同而异,主要包括人机交互界面和数据库与相应的处理机制。
1.2 系统硬件构架
基于Blanckfin561的车牌识别硬件平台架构如图2所示,主要包括ADI公司的Blackfin561处理器,ADV7183A视频解码芯片、Flash、SDR AM以及DM9000。Blackfin561通过I2C总线对ADV7183A进行复位及初始化与工作模式的配置。视频信号由Blackfin561的并行外部接口(PPI)采集,并存储到外部SDRAM,Blackfin561对图像数据进行计算,输出的识别结果通过DM9000传输到上位机进行后续处理。
1.3 系统软件设计
车牌识别系统的软件流程如图3所示,主要包括图像采集、图像预处理、车牌定位、字符分割和与上位机通讯等模块。
1.3.1 图像采集
系统加电后,DSP通过I2C总线对ADV7183A的寄存器进行配置,对摄像头采集到的模拟视频信号进行解码,输出YCrCb为4:2:2格式的数字视频信号。由于算法只处理亮度信号,故通过二维DMA采取间隔2 Byte采1Byte的方法,只提取Y通道的亮度信号存入到SDRAM中,同时在SDRAM中采用乒乓存储机制存储连续的两帧图像,使系统能够达到实时处理的要求。
1.3.2 图像预处理
由于采集到的图像会因为天气、车牌整洁度和光线等因素造成图像被噪声污染,导致图像质量下降,这会给后续的识别工作带来麻烦。因此,需对采集到的原始图像进行必要的预处理,以提高图像的信噪比,并使灰度值和对比度达到理想状态。由于去噪点的算法会不同程度地使图像边缘变模糊,不利于后续车牌的定位,故将去噪工作放到车牌定位之后。这里预处理主要是通过直方图均衡法调整图像的灰度范围与对比度,达到图像增强的目的。处理前后的对比效果如图4和图5所示。
1.3.3 车牌定位
根据道路与摄像头的相对位置,车速范围以及道路宽度信息等,可预先判定车牌在摄像头坐标系中出现的范围,这便可以大幅减小运算量。在预定车牌检测区域内,通过大率法对图像进行二值化,然后进行形态学运算中的开运算与闭运算,得到如图6所示的图像。对图像进行竖直投影,寻找白色像素点最多的一行,之后以这一行为中心向两边寻找边界,找出车牌的上下边。对纵坐标在上下边范围内的图像进行水平投影,寻找连续的白色区域,以确定左右边界。两次寻找边界时均要结合车牌大小的先验尺寸知识来确定车牌的区域,若不符合尺寸要求则排除此次找出的区域并重新寻找。
1.3.4 字符分割
根据车牌的边界信息提取出车牌区域的原始亮度数据,对车牌区域再用大率法进行二值化。这样可消除图像其他部分对车牌灰度范围的影响。然后对二值化后的图像进行水平投影,根据车牌字符的宽度来对车牌字符进行分割。再对每个分割出的字符进行竖直投影,并依据车牌字符高度尺寸来去掉上下的黑边,得到待识别的字符图像,如图7所示。
1.3.5 字符识别
字符识别采用的是离散型Hopfield神经网络。其是一种循环神经网络,网络的输出会反馈到输入端,产生不断变化的状态。如果网络是一个能收敛的稳定网络,则这一反馈与迭代的计算过程所产生的变化会越来越小。一旦达到了稳定平衡状态,网络便会输出一个稳定的恒值,关键在于确定其在稳定条件下的权系数。
首先对车牌的标准字符进行离散化,变成16×32的二值图像,即有512个神经元。这样网络可记忆的样本数最多为512×0.15=76.8个。根据车牌的特点,要建立两个网络:一个是车牌汉字的网络,包括36个汉字;一个是数字与字母的网络,包括36个元素。
可看到两个网络均不会产生伪样本。通过Matlab对标准字符数据进行仿真,得到网络稳定的权系数,然后将参数提取出来供DSP计算使用。
在DSP中将分割后的字符图像进行归一化处理,使字符图像与标准图像大小一致,然后输入到网络中根据公式(1)进行计算。其中,Wij和θi是通过Matlab仿真得到的权系数,x为图像数据。通过循环迭代计算,由式(2),当网络的能量函数达到稳定时,就得到了识别出的字符,将识别出的字符与标准字符相减,且差值累加,其差值累加最小的字符便是识别出的结果。由于Hopfield网络有联想记忆的功能,故抗干扰性较强、对有噪声、笔画断开、笔画粘连等现象均有良好的识别效果,如图8所示。
1.3.6 与上位机通讯
识别结束后,将识别结果以ASCII的形式通过DM9000发送到PC机进行后续处理。
2 结束语
车牌识别系统的关键技术是车牌定位、字符分割与字符识别。本文结合硬件平台对3个重要部分进行了程序实现。通过实验证明以Blanc fin561双核DSP为核心的嵌入式系统配合Hopfield神经网络能较好地完成车牌识别工作,并可使速度与识别率得到全面提高。基于嵌入式的整体结构也使得系统的扩充工作变得简单,有较高的实际应用价值。
- 如何使用Keil打开GD32 FPU及使用ARM DSP库 ?
- 苹芯科技全新边缘人工智能 SoC 使用Ceva传感器中枢DSP
- CS485xx数字音频DSP处理方案分析
- 六个术语(DAC、ADC、DSP、codec、运放、耳放)解析
- 人形机器人控制器之MCU、DSP、AI芯片
- 不只是高性能DSP,软件定义SoC给音频汽车工业等应用带来多通道和AI等丰富功能
- 基于DSP控制系统的离散模型参考自适应算法在燃料电池车中的实现
- 针对于DSP中关于提高实时检测效率的系统设计
- 恩智浦SAF9xxx音频DSP提升AI音频处理
- 天惠微2.4G蓝牙双模昆腾KT1200定制蓝牙DSP耳机收发模块PCBA