快速标牌定位识别指导老师:洪占勇,王标成员:刘超,纪奕博合肥工业大学仪器科学与光电工程学院本科部二〇一一年八月摘要智能交通管理系统已成为当前交通管理发展的重要方向, 作为智能交通系统关键部分的车牌识别系统,有着广泛的应用前景。
但是,传统的车辆牌照识别大多是以计算机硬件平台和DSP处理器为核心来实现的,相比较而言,DSP适合串行算法,软件更改容易,开发难度低。
而FPGA则适合并行算法,而且随着深亚微米FPGA技术的发展,FPGA 的容量以达到千万门级,运行速度远远高于目前最快的DSP,其应用的研究也越来越受到重视,但开发难度较高。
但Xilinx公司所提供的系统级建模工具System Generator,在很多方面拓展了MathWorks公司的Simulink平台,提供了设个硬件设计的DSP建模环境,可以加速、简化FPGA的DSP系统级硬件设计,这也必将成为未来流行的FPGA开发技术之一。
本文首先介绍了车辆牌照定位识别的产生背景和基本概念,回顾了近年来国内外研究动态和现状。
接着指出了牌照识别的重要性,在使用MathWorks公司的simulink平台的基础上搭建的System Generator 模型,提出了车辆牌照定位识别系统及其整体设计方案。
在方案中,着重介绍了车牌定位识别的流程、算法及其在simulink平台上实现的过程,同时也详细介绍了系统软硬件接口的作用。
方案中主要包括系统流程图,每个模块的主要功能和结构,数据处理的流程和算法,输入输出信号的说明以及关键的时序和状态。
在文章的最后,给出了本系统算法中拟采用的System Generator模型和总结。
由于本系统利用了System Generator建模工具和MathWorks公司的simulink平台,大大加速和简化了DSP系统级硬件的设计。
并且,由于本系统的主要功能都是由FPGA来实现,所以和传统的DSP处理器相比,具有实时性高的优点,体现出了FPGA的优势。
目录1 车辆牌照定位识别研究应用背景 (5)1.1车辆牌照定位识别产生背景和基本概念 (5)1.2国内外研究动态与现状 (6)2 车辆牌照定位识别系统的详细设计方案 (7)2.1项目研究需求、目标和内容 (7)2.2利用S PARTAN-6E开发板实现本系统的详细方案 (7)2.2.1系统整体模块图 (7)2.2.2系统中各单元模块的功能和关键时序 (8)2.2.3实现车牌定位的算法设计方案 (9)(1)、车牌定位算法流程图 (9)(2)、算法详细说明 (10)(3)、算法的System Generator模型 (12)3总结 (14)1 车辆牌照定位识别研究应用背景1.1车辆牌照定位识别产生背景和基本概念随着经济社会的迅猛发展,人民的生活水平的提高,机动车辆的数量也越来越多。
为了提高车辆的管理效率,及时找出拥堵路段,指引车辆选择合适的路径,缓解公路上的交通压力,我们必须找到一种解决方案。
而作为汽车“身份证”的汽车车牌,是公共场合能够唯一确定汽车身份的凭证。
我们可以以车牌为据,设计一种车牌识别系统,得到车辆的信息汇总到监控室,监控各个车辆的情况。
为此我国交通管理部门对汽车车牌的管理非常重视并制定了一套统一的管理法规。
其中对汽车车牌的制作、安装、维护都要求有制定部分统一进行管理。
在此基础上,如果研制出一种能在公共场合迅速准确的对汽车牌照进行西东定位识别的系统,那么这将会极大的方便车辆的管理,例如新型智能交通,减少交通拥堵,排查特定车辆,识别违章车辆,这样将减少车辆的违规,以及驾车逃跑和车辆盗窃等行为,即使车辆被盗,车辆的运行轨迹知道以后也将极大的方便案件的侦破,这样会提高汽车的安全管理水平及管理效率。
车辆牌照定位识别是计算机视觉与模式识别技术在只能交通领域应用的重要研究课题之一,该技术应用范围非常广泛,其中包括:(1)交通流量监测;(2)交通控制与诱导;(3)机场、港口等出入口车辆管理;(4)小区车辆管理;(5闯红灯等违章车辆监控;(6)不停车自动收费;(7)道口检查站车辆监控;(8)公共停车场安全防盗管理;(9)计算出行时间;(10)车辆安全防盗、查堵制定车辆等。
其潜在市场价值极大,有能力长生巨大的社会效应和经济效益。
如图1所示,车辆牌照识别的部分应用:图1车辆车牌识别在收费口、道路监控和停车管理中的应用现在车牌识别的主要问题便是快速性实时的判断车辆车牌的信息在车辆拥堵,以及车辆在高速行驶的时候是很必要的,另一个问题便是车牌的位置悬挂不一,气象以及光线的干扰比较严重等等。
而这些变为用FPGA实现车牌识别提供的舞台:首先FPGA内部集成锁相环,核心频率可以到几百MHz,可以很轻易的胜任高速场合;其次FPGA内部程序并行运行,可以同时处理不同的任务完全胜任车牌识别中的计算任务。
1.2国内外研究动态与现状从20世纪80年代,国内外的研究人员就开始了对车牌识别系统的研究。
在研究过程中,虽然运用了很多技术方法,但由于外界环境光线变化、光路由灰尘、季节环境变化及车牌本身被污染而模糊等条件的影响,使得车牌识别系统一直处于实验室阶段得不到很好的应用;而且很多方法需要大量的数值计算,不能很好的满足实时性要求。
为了解决图像恶化的问题,目前采取的方法是采用主动红外照明摄像或使用特殊的传感器来提高图像的质量。
虽然提高了识别率,但是这同时也造成了系统的投资成本过大,应用领域变窄,不能普遍推广应用。
2 车辆牌照定位识别系统的详细设计方案2.1项目研究需求、目标和内容本项目的主要研究目的是基于SPARTAN-6E 系列FPGA 的车辆车牌定位识别的实现。
在深入分析国内外车辆车牌定位识别的最新研究成果和技术的基础上,对车辆定位识别理论进行深入的学习和探讨,提出了一种基于FPGA 的车辆车牌快速自动定位识别系统,然后依据此系统通过建模工具System Generator 设计出可实现识别的相关算法,再利用FPGA Spartan-6E 的开发板使算法在硬件上得以实现。
2.2 利用Spartan-6E 开发板实现本系统的详细方案2.2.1系统整体模块图2.2.2系统中各单元模块的功能和关键时序读取程序存储器时序图读取数据存储器时序图写入数据存取器时序图2.2.3实现车牌定位的算法设计方案(1)、车牌定位算法流程图(2)、算法详细说明1、采集彩色图片:将摄像头采集到的图像数据写入到SDRAM中,根据图像的格式找到数据段。
再对数据段进行写操作,开始数据处理。
2、灰度转换:对彩色图片进行灰度处理,将彩色图像转换为灰度图像,由于用摄像头采集过来的彩色图像是由红(R)、绿(G)、蓝(G)三种单色所调配组合而成,所以可通过下列公式完成彩色图像到灰度图像的转换:Y=0.299R+0.587G+0.115B;3、灰度变换:通常图像的灰度范围并没有充分利用到显示设备所允许的最大灰度范围,使得一些图像的细节不易被观察到,亦即图像的对比度太低。
为了提高对比度,故需要对灰度转换而来的图片进行灰度变换。
由于我国牌照颜色统一,为了有利于分割,需要增强车体图像与牌照图像之间的对比度。
因此,我们采取分段线性变换的方式,假设牌照图像的像素灰度等级集中在[a,b]区间内,可运用下列公式以增加此区间的对比度:[(max-min)/(b-a)][g i(x,y)-a]+min, a≤g i(x,y)≤b g0(x,y)= min, g i(x,y) ≤amax, g i(x,y)≥b其中:g 0(x,y)表示变换后的图像;g i (x,y)表示变换前的图像;[min,max]表示显示设备所允许的最大灰度范围4、 用System Generator 来实现图像的二值化:用FPGA 芯片上的分布式逻辑资源来比较像素灰度值与设定阀值之大小。
利用System Generator 建立二值化模型,模型将输入的数据值与阀值进行比较,大于阀值则置为灰度最大值Fmax 、反之则置为灰度最小值Fmin 。
系统的阀值初步确定采取如下公式:T=Fmax-(Fmax- Fmin)/3 ,其中Fmax 与Fmin 分别为最高与最低的灰度值;5、 利用System Generator 来建立图像锐化模型:目的是使图像的边缘轮廓变得清楚。
由于图像中的边缘或线条与频谱中的高频分量相对应,故可以采用高通滤波器让其高频部分通过,从而实现图像的锐化。
空间域的高通滤波表达式为:g 0(x,y)=∑∈S n m,n)-y m,-n)gi(x h(m,在这里,滤波矩阵h 我们采用比较常用的一种:h=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----010151010再利用System Generator搭建图像锐化滤波模型,从而实现图像的锐化;6、图像的中值滤波:中值滤波的目的是保护图像的边缘同时去除噪声。
由于此排序过程用FPGA来实现是非常复杂的,所以我们仍然尝试利用System Generator模块搭建的方法建立中值滤波系统,从而实现中值滤波;7、牌照区域定位及校正:牌照区域定位是牌照识别的一个关键步骤。
通过前面几步对图像的处理,我们会很容易获得牌照的四个坐标。
若考虑到拍照时摄像机与牌照不是正对,则会出现所拍摄的照片出现倾斜,此时则需要对图像进行校正。
大致过程为先找到牌照的上下边框,继而算出上下边框的倾斜角,再次基础上再进行左右边框的校正;(3)、算法的System Generator模型①、灰度变换:②、图像的二值化:③、图像锐化处理:④、中值滤波:3总结随着车辆车牌定位识别的理论研究和工程应用不断发展和成熟EDA技术和软件工程的飞速发展,通过搭建System Generator模块使设计变得简单化,并在硬件中得以实现。
文档的前面分别介绍了车辆车牌识别的基本概念和研究动态、系统整体模块图和算法的详细设计方案,包括系统的硬件接口和软件的基本功能。
由于系统的硬件设计是基于SPARTAN-6E开发板之上的,因此方案设计以软件为主。