辆牌照识别系统可以广泛地应用于众多车辆认证的实际系统中。 如它可以广泛应用在:高速公路收费、监管管理;停车场收费管理;偷盗车辆识别;城市交通路口“电子警察”;安防系统以及小区物业管理系统等。
汽车牌照识别系统是以图像识别技术为基础的智能交通管理系统,是21世纪世界道路交通管理的发展趋势。高速公路的车辆管理体制通过智能管理可以杜绝漏收、少收、人情收费和个别贪污的行为;可以实现特殊车辆的跟踪、丢失车辆的实时查询、小区车辆的科学管理以及道路车辆流量、型号的自动化统计。
汽车牌照的自动识别是车辆检测系统中的一个重要环节,可以切实有效地提高交通系统的车辆监控和管理的自动化程度,它在交通监视和控制中占有很重要的地位,是实现交通管理现代化和智能化的重要前提。汽车牌照的识别问题己成为现代交通工程领域中研究的重点和热点之一。 1.2国内外研究现状 1.2.1国内研究现状
车辆自动识别系统是以解决交通拥挤问题和高速公路多发事故问题而产生的,是近20 年来新兴起的一个跨学科的、系统化的综合研究体系,其目的是在不扩张路网规模的前提下,通过综合运用现代科学技术,来提高交通路网的通行能力和交通运输能力。
国内也有多家单位在进行这方面的研究,北京弗雷德科技有限公司,亚洲视觉科技有限公司,中科院沈阳自动化所的沈阳聚德公司,深圳市科安信实业有限公司,中国信息产业部下属的中智交通电子有限公司等也都有自己的产品。各个大学也有自己的研究,如西北工业大学开发了一套基于 OCR 的车辆号牌的识别系统;西安交通大学有基于视频的车辆号牌的识别系统;浙江大
3
学人工智能研究所也推出了一套车辆号牌的识别系统,据报道其号牌定位正确率为94%;上海交通大学叶晨周研制的车辆号牌的识别系统,据报道汉字、数字和字母的识别率都大于96%,车辆号牌的识别率为82%;同济大学关于车辆号牌自动定位分割算法的成功率据报道为90%,由上可得,都未见完全的识别率和识别正确率报道[2]。 1.2.2国外研究现状
车牌自动识别技术的研究国外起步地较早。早在 20 世纪 80 年代,便有一些零零散散的图像处理方法用于车牌自动识别的某些具体应用。在这个阶段,车牌自动识别技术的研究还没有形成完整的系统体系,一般采用简单的图像处理方法来解决某些具体问题,并且最终结果通常需要人工干预。
进入 20 世纪 90 年代后,车牌自动识别的系统化研究开始起步。典型的如A.S.Johnson等提出车辆牌照的自动识别系统分图像分割(Image Segment)、特征提取(Feature Extraction)和模板构造(Template Formation)、字符识别(Character Recognition)等三个部分,完成车牌的自动识别。R.A.Lotufo 使用视觉字符识别技术(Optical Character Recognition Technology)分析所获得的图像,首先在二值化图像中找到车牌,然后用边界跟踪技术提取字符特征,再利用统计最邻近分类器(Statistical Nearest Neighbor Classifying System)与字符库中的字符比较,得出一个或几个车牌候选号码,再对这些号码进行核实检查,确定是否为该车牌号码,最终确定车牌号码。这个时期的应用在识别正确率方面有所突破,但还没有考虑识别实时性的要求,识别速度有待进一步提高。
目前国际上,一些发达国家已经将车牌识别技术广泛应用于实际中了。例如,以色列 Hi-tech 公司的 see/car system 系列,新加坡 Opt Asia 公司的 VLPRS系列都是比较成熟的产品。其中 VLPRS 产品主要适合新加坡的车牌,
4
Hi-tech公司的 see/car system 有多种变形的产品来分别适应某一个国家的车牌。see/car system 系统可以对中国大陆的车牌进行识别,但不能识别车牌中的汉字,另外日本、加拿大、德国、意大利、英国等各个西方发达国家都有适合本国车牌的识别系统[3]。 1.3目前存在的问题
车牌识别系统在国内外研究都有一段时间了,国外的车牌识别系统有一定的应用,但是国内的车牌识别系统总体上来说还处于实验室阶段,识别率不高,原因具体体现在以下几点[4]。
首先,在具体应用中采集到的图片背景比较复杂,这对于图像的处理明显增加了难度。
其次,采集得到的图片受天气、光照等的影响,故在图像处理过程中需要利用有效的算法排除光照、天气对图像的影响,这无疑对我们车牌识别系统的算法提出了更高的要求。这就需要研究性能更好的算法来提高算法的鲁棒性。
第三,在实际采集的图片中,很多采集到的车牌是旧车车牌,或者车牌表面不洁净,这造成图片中的车牌区域很模糊、车牌区域的颜色信息丢失、车牌字符粘连等情况。这对车牌的定位、分割、识别都增加了难度。
第四,由于在路上行驶的车辆所挂的车牌多是在标准 GA36-1992 下生产的,由于该标准的不严密性,在该标准下生产的号牌其色度值分布范围广,再加上上一条原因,使得采集所得到的号牌其色度值分布范围广泛,从而加大了我们利用该信息的难度。
第五,在国内的车牌识别系统需要解决的一个难题就是在字符识别过程中的对汉字的识别问题。由于中国汉字复杂、笔画多、分布较密,再加上如果
5
图像的分辨率如果不是很高的话,那么图像中汉字将粘连在一起从而很难辨别。
在同一幅图像中,上面提到的困难可能几项都存在而不仅仅是单一困难的存在,当其中几项困难一起存在时,其带来的难度并不是简单相加的过程,所以难度更大。这些就是存在于车牌识别系统中的一些问题,从这些问题中,我们也能看到车牌识别系统的难度。
6
2系统开发编程语言
2.1 Visual C++介绍
VC 是一个面向对象的可视化集成开发系统,它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单设置就可使其生成的程序框架支持数据库接口、OLE2、WinSock网络、3D控制界面。VC以拥有语法高亮、只能感知(在编辑环境中,光标悬停在函数上时显示类定义和注释,键入函数或属性名时可以自动完成名称的输入)、高级除错、最小重建及累加链接功能而著称,这些特色功能有助于缩短程序编辑、编译及链接的时间花费,在大型软件开发中效果尤其显著[5]。
VC 已历经数个版本,伴随着Microsoft.NET计划的展开,又诞生了一系列VC.NET版本,从当年1.0版本到现在最新的VC 2010(10.0 版本),VC 在界面、功能、库支持方面都增强了很多。
VC 1.0 是Microsoft公司于 1993 年推出的,它集成了MFC 2.0(MFC是一个以C++类的形式封装了Windows API 的基础类库,其中包含一个应用程序框架、大量 Windows 句柄封装类和很多Windows 的内建控件和组件的封装类,1992 年随着微软的 Microsoft C/C++ 7.0 编译器发布,可以减少应用程序开发人员的工作量),可算是Microsoft C/C++ 7.0 的更新版本。VC 1.5 集成了MFC 2.5,增加了OLE 2.0 和支持 MFC 的 ODBC。VC 2.0 集成了MFC 3.0。VC 4.0 集成了MFC 4.0,这个版本是专门为Windows 95 以及 Windows NT 设计的。由于VC 2.0 是在 Windows 95 之前发布的,其发布时间与 Windows 95 非常接近,当Windows 95 发布时,VC 4.0 也已经发布了,很多程序员直接从 1.x 过渡到 4.0,把 2.x 跳过去了,所以 VC 2.0 应用并不广泛。VC 5.0 集成
7