基于FPGA的车牌识别系统
Download
Report
Transcript 基于FPGA的车牌识别系统
基于FPGA车牌识别系统
指导老师:翟建芳
小组成员:邹玉龙
于洋
苟旭博
李少华
项目背景
随着经济与生活水平的提高,车辆的数目日益增多,
对车辆的自动化管理显得日益重要。
总体上看,对车辆的管理,已经成为国家交通运输的
重要内容。
传统的车辆管理系统是在对图像进行采集后进行存储,
之后传送至计算机内进行人工识别。
如果单靠人工进行管理,浪费了大量的精力与物力。
很显然,传输图像有许多多余,而且这种工作对于人
类来说很枯燥与无价值。
项目产品特点
本系统采用FPGA来做车牌自动识别,能在以下
几个方面应用并体现出优越性:
停车场乱停车辆:在交通不是繁忙地段可以传输文字。
车辆的追踪:可以根据该车辆在数据库的信息,查出
该车出现过位置
节约存储空间
节约人力资源
体积小,可靠性高
理论基础
模式识别、数字图像处理、数字信号处理以及
概率统计理论基础,通过FPGA的灵活编程实
现自己计算方法。通过功能仿真、综合后仿真
和时序仿真后,确保编写出的模块正确性,就
可以把编写好的各个功能模块下载到FPGA内
部或者片外的配置器件中。
硬件平台
FPGA(现场可编程逻辑阵列)
本系统采用Xilinx公司SPARTAN-3E和Virtex-5进行测试,Virtex中嵌入
了PowerPC处理器,在SPARTAN-3E上使用Microblaze软核系统开发,
在Virtex-5中实现软件硬件化。
开发流程
FPGA系统开发流程可分为软件与硬件,从硬件寄存器
操作和算法程序代码编写两方面进行开发。
软件平台
*)Xilinx ISE:仿真,对算法、关键路径、流水线、有限状态机等
优化,软核与EDK的应用。
*)Synplify:综合下载到FPGA
*)Modelsim:功能仿真
*)Xilinx AccelDSP:数字信号处理工具
*)Xilinx platform studio(XPS):在集成环境GUI中创建完成嵌入式
设计
*)Xilinx software development kit(SDK):对XPS的一些补充,包
括中断定时器控制等
*)可编程网表构造(platform generator):以及验证测试软件
系统功能确定
系统研制
数据库服务器
采集数据
PC机
传输通信
开发人员
客户
TFT-LCD
SPARTAN-3/VIRTEX-5
FPGA
交互
用户
用户输入车牌
显示出该车出现位置
互联网
图像数据传送到FPGA上,通过算法实现将车牌上字
符显示在LCD上
研发预期成果
系统指标
性能:以O(n)=1s实现识别功能。
成本:spartan-3e(700元) virtex-5(10290元);
开发人员费用(0元);
模式识别、数字图像处理视频(0元);
相关FPGA书籍以及网络资源(0元);
功耗:本身传输字符小容量并且使用交流电。
功耗因素影响较弱。
可靠性:达到60%识别率,车牌倾斜角度不超过10度内,
可以成功识别。
系统阶段产品时间
Q4 10年
ID
任务名称
开始时间
Q1 11年
完成
11/14 11/21 11/28 12/5 12/12 12/19 12/26 1/2 1/9 1/16 1/23 1/30 2/6 2/13 2/20 2/27 3/6
1 调研讨论所涉及领域、搜集方案
2010/11/11
2010/11/24
2 确定核心算法、分析可行性与需求
2010/11/29
2010/12/22
3 图像处理、FPGA调试、代码编写
2010/12/24
2011/1/14
4 完成各个模块与单元功能仿真
2011/1/17
2011/2/10
5 系统集成与测试、确保识别率
2011/2/11
2011/3/10
阶段分析
阶段一:理论调研
对车牌涉及的图像、算法、模式识别、FPGA、总
线协议知识进行调研作为理论基础。
阶段二:分割字符
将图像数据输入FPGA中,基于常用的垂直投影
算法,使用变换的分割阈值,经过迭代循环,达
到字符分割。
阶段三:识别
车牌上的字符由字母,数字,汉字构成。由模式
识别中的聚类来看一共是26+10+34个聚类中心,
对采集来的数据进行滤波等处理后进行聚类
结构匹配,由于已知是70个聚类,所以采用K均
值聚类法来进行分类决策
算法:在FPGA上使用软核对其进行K均值迭代计
算,将样本与已经有的聚类通过最小距离进行匹
配。这里K中聚类的数目、初始值、模块集合分
布会影响算法速度,如果可以优化出能快速选中
相邻的聚类,可以大大的提高实时要求。
阶段四:定位
车牌的提取,采用多个特征(颜色分量,灰度图,
形状大小)进行对车牌的定位提取出车牌图像,
FPGA上并行处理后给出决策判定。
阶段五(*):传输
通过通信协议进行对经过处理的图像数据与PC的
互联。
关键技术分析
字符分割:将背景中有意义的单个字符提取出来,为识别打下基础。
字符分割技术有许多比如:车牌区域纹理特征、数学形态学、Hough变换
都能分割字符。
本系统字符分割流程:二值化->搜索字符边界->执行分割
由于字符块在竖直方向上的投影必然在字符间取得局部最小,因此字符
正确分割位置应该在上述局部最小值附近,所以采用垂直投影方法实现。
这里是基于车牌已经定位情况。明确白色灰度值255,黑色灰度值0。
分割流程:二值化->搜索字符边界->执行分割
*)二值化:将灰度图像选取一个适当的阈值变为黑白图像,可以根据需求
设置不同的阈值以便进行分割。
*)寻找字符边框:竖直扫描图像出现灰度值连续超过某个定值,确定上下
边界;横向扫描图像出现灰度值连续超过某个定值,确定左右边界。也
可以采用Hough变换(原坐标系下对应的线在参数左边系下呈现成点)求
得。
*)字符分割:垂直投影就是竖直边界内扫描,小于某个定值即进行分割。
关键技术分析
字符识别:由于涉及模式识别、图像处理、人工智能、计算机
等学科,识别方法多种多样。
主要识别方法有:统计识别、结构识别、神经网络字符识别、模
板匹配字符识别。由于图像环境复杂,统计和 结构识别两种传统
方法并不可靠,目前主要采用后两类。
*)神经网络字符识别具有良好容错、分类、并行 处理能力,但是为
了保证识别率需要大量样本,这就需要长时间学习。
*)模板匹配字符识别相对算法简单,速度较快主要有简单模板匹配、
外围轮廓匹配、投影序列匹配、外围轮廓投影匹配等。
本系统主要研究神经网络和模板匹配两种方法。目前掌握知识还
有所欠缺,边做边学。
关键技术分析
车牌定位:车牌图像中并不只包含车牌,还有车身、背景以及噪
声。
目的:在复杂环境中准确快速找出车牌位置。
方法:水平灰度特征提取、边缘检测定位、车牌颜色特征提取、
Hough变换定位、小波变换、数学形态学等理论方法。
由于水平灰度特征对车体颜色依赖性、边缘检测后续工作依然复杂、
小波变换在FPGA上实现难度等特点,并且由于理论到实践以及代
码实现有所差别,本系统将测试主要使用颜色特征提取,也将实
验Hough变换定位或者更多的方法进行实验。
其中颜色特征提取根据每个颜色都是由RGB分量构成而RGB与灰
度图关系转换成灰度图像,由于车牌大部分是蓝白和黑黄所以设
定特定的阈值来进行局部二值化后,从底部开始水品扫描,由于
字符的存在,通过黑白变化的次数来确定字符上下界。
阶段开发管理
实现客户需要主要功能:即识别车牌。
开发中,每2周开次30分钟例行会议,每周4人
轮流写份周报,提高交流沟通。
第二阶段完成能交付客户识别字符功能,与用
户交流(根据用户需求看能否省略如疆等字符
识别),给予充足时间对主要需求进行测试。
第三阶段完成交付客户车牌定位功能,根据进
度分析用户是否需要变更或者额外功能。
风险估计
1、管理和设计风险(40%)
类似的成熟产品已经出现,需要在别人的基础上面,做得更好。
项目的时间很有限,需要完成的工作比较重。
2、技术风险(50%)
需要学习模式识别、数字图像处理、数字信号处理以及概率统计理论基
础课程和FPGA,以及一些软件的使用。
需要攻克一些技术难点。
文字和图像定位技术。
文字和图像分割技术。
文字和图像提取技术。
文字和图像存储技术。
将文字和图像数据和FPGA关联的技术。
模糊识别,排除环境干扰等等的技术。
节省流量技术。
3、保证产品的稳定性与识别率(10%)
任务分解,成员分工
工程实践
邹玉龙
于洋
苟旭博
李少华
图像识别理论
C代码实现
通信与数据搬移
时序控制仿真
FPGA图像算法
功能仿真
综合意见
参考文献
给定车牌
LCD显示
车牌定位
LCD显示
传输至PC进
行管理
基于FPGA车牌识别系统
工程开发避免不了人力分配,考虑到考试等外界因素,在我们这次系统
开发中两个人负责一个功能模块,不但防止人员变动造成产品延期,也
能促进成员对系统整体了解。
当前进度
按照课本以及相关FPGA书
籍上测试程序在开发板上实
验(包括点亮LED、LCD库
内字符显示、开关控制LED
和LCD),加深对FPGA了
解,熟悉开发环境。
目前任务是汉字字符在LCD
上的显示,EDK使用与IP核
内寄存器使用。
小组理念
项目可视化:明确各阶段目标交付产品。
满意度:与同是做FPGA车牌识别系统小组进
行探讨并且接受他们对产品意见。
交流沟通 :两周一次例会交流对目前工作问
题与难点交流。
关注变化:FPGA以及自学视频收获写在周报
上进行交流。