基于DSP的自动车牌识别系统的设计
2016-04-06广东省技师学院惠州516100
张 岚(广东省技师学院,惠州,516100)
基于DSP的自动车牌识别系统的设计
张 岚
(广东省技师学院,惠州,516100)
摘要:图像处理技术的应用领域越来越广泛,随着智能交通的发展,车牌的自动识别系统在智能交通中发挥了重要作用。本文探究的主要内容是将DSP芯片图像处理技术应用在车牌的自动识别系统中,重点介绍自动车牌识别系统的总体设计、硬件开发及程序编写,为智能交通的实现提供理论基础。
关键词:车牌;DSP;图像处理
0 引言
现代电子技术的飞速发展给我们的生活带来了极大的便利,智能交通是人们现代生活的重要保证,高效率的生活节奏需要智能化电子系统的支持。城市人口增加给城市交通带来了巨大的压力,智能化、自动化的管理系统是智能交通的发展方向。国内大部分车牌识别系统是基于PC机平台,基于嵌入式系统的车牌识别系统研究较少。基于嵌入式的车牌识别系统可以脱机运行,在运算速度和识别的稳定性方面优于PC机识别系统。本文采用TI公司TMS320DM6437设计车牌识别系统,完成车牌识别的电路设计和软件开发,完成车牌的自动识别。
1 车牌识别系统设计
1.1车牌识别流程
自动车牌识别系统主要由四部分组成:车辆检测、车牌图像获取、车辆图像处理识别、识别结果输出。车辆检测分为地感线圈和图像触发两种方式,地感线圈式要求加装外部触发来发出信号给图像采集装置,图像触发不必加装外部装置,但是技术要求高,需要准确捕捉过往车辆图像;车牌图像获取,利用图像采集装置采集车牌信息并上传到车牌识别系统;车辆图像处理识别,处理器DSP将图像采集装置上传的图像进行算法处理,包括车牌区域分割、图像位置校正、车牌图像二值化处理等实现车牌的正确识别,车辆图像处理是整个车牌识别系统的核心;识别结果输出,通过DSP经过嵌入式系统的外部接口在显示终端上进行显示输出。车牌识别系统的总体流程如图1所示。
1.2基于DSP的识别系统
目前车牌识别系统主要有两种方式:基于PC机和基于嵌入式系统。嵌入式系统具有不同的架构,ARM架构、FPGA架构和DSP架构。不同的平台具有各自的特点,具有不同的硬件设计。
基于PC机的系统存储量大,外围设备丰富,具有很强的扩展性,非常方便搭建检测系统,并且具有强大的软件功能,方便设计人员进行软件开发。但是PC机对环境的要求高,长时间运行过程中容易出现问题,并且成本较高,造成了硬件资源和软件资源的浪费。
基于嵌入式的车牌识别系统已经成为主要的发展方向。不同架构的嵌入式系统具有不同的特点,基于ARM架构的平台在控制方面具有明显的优势,但是不适合处理数字信号。基于FPGA架构的平台在数字信号处理方面优势明显,具有很高的灵活性,但是入门难,成本高。基于DSP架构的在数字信号处理方面性能优良,并且具有很好的图像处理功能,同时系统的适应能力强,能够在范围内工作,操作系统采用DSP/BIOS,具有很高的稳定性。车牌系统模块框图如图2所示。
图1 车牌识别流程
图2 车牌系统模块框图
2 车牌图像处理
车牌的图像质量受到多种因素的影响:生锈、污损、油漆剥落、车牌倾斜、高亮放光等,这些不利因素直接影响车牌的识别率。为了提高识别率,进行车牌图像处理,图像的处理过程包括:图像的灰度化、二值化、边缘检测、滤波去噪、位置校正等。
2.1图像的灰度化处理
图像的灰度化处理是将彩色图像转变为灰度图像,减小系统的存储量,提高系统的执行速度。灰度图像只包含有亮度信息,没有色彩信息。灰度图像时所有的像素颜色信息通过0到255之间的灰度值来表示,灰度化处理后的图像会放大噪声信号的影响,干扰信息会占据图像的大部分,需要对灰度化的图像进行滤波去噪。对灰度化处理后的图像扩展取对比度,能够使黑白的图像变的清晰、细腻,提高了车牌的识别率。
图3 车牌原始彩色图像
图4 车牌原始黑白图像
图5 车牌增强黑白图像
2.2图像滤波去噪处理
图像滤波去噪能够提高图像特征提取、边缘检测和图像分割的图像处理效果。腐蚀和膨胀是图像去噪的两种方法。腐蚀能够消除边界点,消除图像的孤立点;膨胀能够填充图像的空洞,使得图像更加细腻。先腐蚀后膨胀为开运算,先膨胀后腐蚀为闭运算。开运算能够消除图像的细小颗粒,闭运算能够使图像的轮廓更加光滑,消除图像的间隔。
图6 图像开运算
图7 图像闭运算
2.3图像二值化处理
图像的二值化处理,选择合适的阈值,使得整幅图像内仅为黑、白二值图像,将字符同背景分割。车牌的二值化处理能够大大提高车牌的处理效率,满足自动化车牌识别系统和智能交通的需求。阈值的选取是二值化图像处理的关键,二值化图像处理的目的是将字符同背景分割,处理后的图像具备良好的完整性,保存有用的形状信息。本文选取的为基于Laplacian-Gauss的局部动态阈值,车牌图像的背景、光线等因素,固定的阈值不能满足车牌识别二值化的区别,所谓选用了动态的局部阈值,能够保持很好的二值化处理效果。二值化处理得到的图像如图8所示。
图8 二值化处理后的图像
2.4图像位置识别
车牌位置的识别选用了统计投影直方图的方法,利用采集图像的水平和垂直方向的灰度投影直方图,推断出车牌位置。该方法的优点是对采集的图像的噪声点不敏感,能够很好的识别出车牌的位置,检测结果如图9所示。检测到图像的位置后,利用Hough变换进行倾角校正修正图像的位置。
Hough变换是利用图像的全局特性直接检测目标轮廓的常用方法,Hough变换不容易受到噪声的影响。变换的思路是:对于x-y坐标系中的一条直线通过两个参数(θ和)来表示,其中表示原点到直线的距离,θ为垂线与x轴的夹角,直线的参数方程可以转化为:
图9 水平和垂直方向投影直方图
图10 车牌校正结果
图11 校正后水平方向投影直方图
图12 校正后垂直方向投影直方图
2.5字符分割与识别
车牌区域准确定位后,需要对车牌进行字符分割与识别。字符分割通过识别每个字符的上下边界、左右边界。通过投影处理得到的波峰和波谷,检测出车牌的左右边界,每个波谷的位置即为分解的边界线。由图12的波谷可以明显得到粤AIW985的字符边界,识别的图像如图13所示。
图13 字符分割与识别结果
3 基于DSP的车牌识别系统电路设计
完整的嵌入式系统包括硬件设计和软件开发两大模块,DSP作为数字信号处理的核心已经应用到了各个领域。本文选用的处理芯片TMS320DM6437为C64X+架构,主频700MHz,通用32位寄存器64个,功耗低,最大功耗为1.5W。处理器采用两级存储结构和两级数据缓冲区,一级缓冲区具有独立的程序存储区和数据存储区。此外,TMS320DM6437具有丰富的外设结构,可以外接多种外设设备来满足设计的需要。
本文以TMS320DM6437作为核心功能模块,数据采集设备将采集的信号经过A/D转换将图像转换为数字信号输入到DSP中,DSP处理模块将该数字信号保存到存储空间并进行处理,识别车牌信息,将得到的信息通过网络以字符串的形式发送到上位机,上位机根据需要实现数据库存储、查询等功能。整个自动车牌识别系统可以分为三大模块:图像采集模块、DSP处理模块和上位机管理模块。
图像采集电路是车牌识别系统的前端,通过CCD摄像机进行车牌图像的捕捉,输出PAL制式的模拟信号(25帧/秒),通过视频解码芯片进行A/D转换成数字信号输入到处理DSP芯片中。视频解码芯片选用的是TI公司的TVP5150,该芯片采用先进的COMS工艺,超低功耗,能够自动检测50Hz和60Hz的场频信号,具有4路模拟信号输入端口,同时具有多种数字信号输出格式。DSP控制芯片TMS320DM6437和视频解码芯片互联的电路原理图如图14所示。
DSP处理模块的图像处理与识别单元采用C语言和汇编语言混合编程实现,为了防止系统掉电造成程序丢失,进行TMS320DM6437和FLASH的接口设计。RAM上进行读写虽然速度快,有利于程序读写的实时性,但是掉电后会造成数据丢失,不满足设计稳定性的要求。为了解决该问题,本文进行拓展FLASH存储器设计,系统上电后会启动整个程序,实现了整个系统的自动化。FLASH分为NOR和NAND两种类型,NOR型带有SRA接口,能够继续实现引脚寻址,有利于读取内部每个字节的存储空间。本文选用的是4M*8bit的NOR型FLASH,该类型的存储器能够满足本设计在读取速度和位宽上的使用要求。TMS320DM6437和FLASH的连接电路如图15所示。
图14 控制芯片与视频解码芯片连接电路图
图15 TMS320DM6437和FLASH的连接电路
DSP的处理结果能够实时显示,并且能够通过以太网传输到上位机。本文设计的自动车牌识别系统目的是应用在智能交通管理系统,不仅需要在传输距离上满足要求,还应该能够有效区分分机地址,并且具有较强的拓展性,所以选用具有EMAC标准的10/100M的以太网进行数据传输,采用DAVICOM公司的DM9164A作为自动车牌识别的以太网收发器,与TMS320DM6437连接的示意图如图16所示。
图16 TMS320DM6437与DM9164A连接示意图
4 车牌识别算法研究及程序开发
DSP芯片软件应用平台为Code Composer Studio(CCS),该平台是TI公司为开发TMS320系列DSP软件的集成开发环境。CCS在Windows操作系统下,采用图形接口界面,将汇编器、链接器、C/C++编译器、建库工具集成在该平台中。CCS集成了代码调试功能,包括C源代码调试器和模拟器具备的全部功能,还提供了丰富的输入和输出库函数,开发界面如图17所示。软件的开发流程为新建源程序、目标文件、库文件、连接命令文件和包含文件,软件开发流程如图18所示。
首先拓展程序存储区,修改DSP的配置CFG文件,激活新的存储区。以在0x48000处增长0x02000的存储配置为例,配置过程为:
//On Chip SARAM8-11 Organization On Prog 3 Begins
//---------------------------------------------------------
//SARAM4 XPC=4
MEMORY MEM24;
START 0x48000;
LENGTH 0x02000;
PAGE 0;
TYPE SARAM;
END MEM24;
图17 CCS开发平台界面
-------------------------------------------------------------------------------------------------------------------------
END C5416;
END C54S
为了提高程序开发的效率,采用C语言和汇编语言混合编程,只利用汇编语言实现功能比较困难,采用C语言对DSP的外设进行访问又比较麻烦,所以综合两种程序的优点进行连接编程。同时采用TI公司的程序库来简化程序的编写,使用内联函数intrinsics,优化C代码,以绝对值函数为例,C语言实现的程序为:
int abs(int src)
{
if (src==0x8000000)
return src;
else if(src<0)
return —src;
else
return src
}
图18 软件开发流程图
如果采用内部函数,通过_abs(src)就可以实现绝对值函数功能,不仅可以大大提高程序开发和运行的效率,还能够有效减少代码的长度。
TI还提供了C64x系列的图像处理库IMGLIB,库中的函数可以通过C语言代码直接调用,采用这些图形处理函数相比采用C语言代码方便很多。例如在自动车牌识别系统中,需要得到采集图像的灰度直方图,利用IMGLIB库中的IMG-histogram()函数实现的程序为:
Void IMG_histogram(
unsigned char*in_data,
int n,
//1:add to existing histogram in hist[]
//-1:subtract from existing histogram in hist[]
int accumulate,
//Array of temporary histogram bins. Must be initialized to zero
unsigned short t_hist[1024],
// Array of updated histogram bins
Unsigned short*hist[256]
)
5 自动车牌识别系统测试
在车牌的识别过程中,光照强度、车身颜色、拍摄的角度等会对车牌的识别具有一定的影响。车牌检测的效果如图19所示。
图19 自动车牌检测图
6 总结
本文基于DSP的自动车牌检测系统的设计,在对采集的车牌信息进行图像处理的基础上,采用TI公司DSP TMS320DM6437车牌图像的信息处理,得到车牌的识别结果上传到上位机,通过实验发现该检测系统具有较好的检测效果,并且能够成功的应用到不同的场合。
参考文献
[1] 张旭东. TI DSP 在视频传输和处理中的应用.第一版.北京:电子工业出版社,2009. 15-75.
[2] 迟晓春,孟庆春. 基于投影特征值的车牌字符分割方法.计算机应用研究,2006,(7):256-257.
[3] 王跃宗,刘京会. TMS320DM642 DSP 应用系统设计与开发.第一版.北京:人民邮电出版社,2009. 20-35.
[4] 何铁军,张宁,黄卫.车牌识别算法的研究与实现. 公路交通科技,2006,23(8):147-149.
[5] 林志煌.车牌识别硬件系统的研究与设计:[D]. 成都:电子科技大学 2008.38-50.
The Design of Automatic License Plate Recognition System Based on DSP
Zhang Lan
(Guangdong Province Technician College Institute,Huizhou,516100)
Abstract:Image processing technology widely used in different field,with the development of intelligent transportation,license plate automatic recognition system plays an important role in intelligent transportation.The main content of this paper is to explore that the image processing technology is used in the automatic license plate recognition system on the basis of DSP,focusing on the introduction of the automatic license plate recognition system's overall design,hardware development and program written,providing a theoretical basis for the realization of intelligent transportation.
Keywords:License plate;DSP;Image processing