文章目录[隐藏]
机电毕业论文:车辆牌照图像识别算法研究与实现含毕业论文
![车辆牌照图像识别算法研究与实现[毕业论文]](https://www.chilunren.com/wp-content/uploads/2021/02/1613998803-111.jpg)
车辆牌照图像识别算法研究与实现[毕业论文]
摘要:
近年来随着国民经济的蓬勃发展,国内高速公路、城市道路、停车场建设越来越多,对交通控制、安全管理的要求也日益提高。因此,汽车牌照识别技术在公共安全及交通管理中具有特别重要的实际应用意义。本文对车牌识别系统中的车牌定位、字符分割和字符识别进行了初步研究。对车牌定位,本文采用投影法对车牌进行定位;在字符分割方面,本文使用阈值规则进行字符分割;针对车牌图像中数字字符识别的问题,本文采用了基于BP神经网络的识别方法。在学习并掌握了数字图像处理和模式识别的一些基本原理后,使用VC++6.0软件利用以上原理针对车牌识别任务进行编程。实现了对车牌的定位和车牌中数字字符的识别。
关键词:车牌定位;字符分割;BP神经网络;车牌识别;VC++
Abstract:
In recent years, with the vigorous development of the national economy,there are more and more construct in the domestic expressway, urban road, and parking area. The requisition on the traffic control, safety management improves day by day. Therefore, license plate recognition technology has the particularly important practical application value in the public security and the traffic control. In the paper, a preliminary research was made on the license location, characters segment and characters recognition of the license plate recognition. On the license location,the projection was used to locate the license plate; On the characters segmentation, the liminal rule was used to divide the characters; In order to solve the problem of the digital characters recognition in the plate, BP nerve network was used to recognize the digital characters. After studying and mastering some basic principles of the digital image processing and pattern recognition, the task of license plate recognition was programmed with VC++ 6.0 using above principles. The license location and the digital characters recognition in the license plate were implemented.
Keywords: license location, characters segmentation, BP nerve network, license plate recognition, VC++
目 录
第1章 绪论 1
1.1 课题研究背景 1
1.2 车辆牌照识别系统原理 1
1.3 车辆牌照识别在国内外研究现状 2
1.4 本文主要工作及内容安排 3
第2章 车辆牌照的定位方法 4
2.1 车辆牌照图像的预处理 4
2.1.1 256色位图灰度化 4
2.1.2 灰度图像二值化 5
2.1.3 消除背景干扰去除噪声 6
2.2 车辆牌照的定位方法简介 6
2.3 系统采用的定位方法 7
2.3.1 车辆牌照的水平定位 7
2.3.2 车辆牌照的垂直定位 7
2.3.3 定位的算法实现 10
2.4 实验结果分析 12
第3章 车辆牌照的字符分割 13
3.1 车牌预处理 13
3.1.1 去边框处理 13
3.1.2 去噪声处理 13
3.1.3 梯度锐化 15
3.1.4 倾斜调整 16
3.2 字符分割方法简介 17
3.3 系统采用的分割方法 19
3.3.1 算法介绍 19
3.3.2 算法的实现 20
3.4 字符分割实验结果 21
第4章 特征提取与字符识别 22
4.1 字符的特征提取 22
4.2 字符的识别方法简介 23
4.3 系统采用的识别方法 24
4.3.1 人工神经网络简介 24
4.3.2 BP神经网络识别车牌 25
4.3.3 BP神经网络识别算法实现 28
4.4 实验结果分析 29
总结 32
致谢 33
参考文献 34
第1章 绪论
1.1 课题研究背景
现代社会已经进入信息时代,计算机技术、通信技术和计算机网络技术的不断发展,自动化信息处理能力的不断提高,在人们社会活动和生活的各个领域得到了广泛的应用,在这种情况下,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
随着汽车数量的急剧增加,车牌自动识别(license plate recognition, LPR)技术日益成为交通管理自动化的重要手段[1]。车牌自动识别技术是计算机视觉、图像处理技术与模式识别等技术的融合,是智能交通系统中一项非常重要的技术。通过车辆牌照自动识别,就可以对运动车辆查询相关的数据库,根据提取的车辆信息,实现有针对性的车辆检查,极大的提高工作人员的效率,降低工作强度,同时也减少了国家财政收入的流失,减少交通事故的发生以及加强社会治安。因此对车牌识别技术研究有巨大的经济价值和现实意义。
由于车牌自动识别技术在智能化交通控制管理中发挥的重要作用,吸引了各国的科研工作者对其进行广泛的研究,目前已有众多的算法,有些已应用于交叉路口、车库管理、路口收费、高速公路等场合。由于需适应各种复杂背景,加之要识别的车辆种类繁多,颜色变化多端,以及检测时要适应不同天气变化导致的不同光照条件,因此,目前的系统都或多或少地存在一些问题。但随着计算机性能的提高和计算机视觉理论及技术的发展,这种技术必将日趋成熟。
车牌的定位与识别技术,总体来说是图像处理技术与车牌本身特点的有机结合,当然也包括小波分析、神经网络、数学形态学、模糊理论等数学知识的有效运用[2]。
本课题是对汽车图像进行分析,从算法角度来研究车牌的定位与识别。
1.2 车辆牌照识别系统原理
一个典型的车辆牌照识别系统(LPR)是由图像采集系统和图像识别系统组成的,如图1-1[3]。当系统发现有车时,图像采集系统便开始采集车辆牌照信息,得到的信息是图像识别系统的输入。通过识别系统的预处理,为目标搜索提供一个良好的定位环境。在预处理的基础上把图像中的车牌从背景中分割出来。对车牌中的字符做字符分割,最后把分割后的字符进行识别,便得到了汽车牌照的号码。
整套系统实际是一种硬件和软件的集成。在硬件上,它需要集成可控照明灯、镜头、图像采集模块、数字信号处理器、存储器、通信模块、温控模块、单片机等;在软件上,它包括车牌定位、车牌字符切割、车牌字符识别等算法。这样一体化的结构形式能在现实中降低对环境的要求。
图1-1 车辆牌照识别系统原理框图
1.3 车辆牌照识别在国内外研究现状
自1988年以来,人们就对车辆牌照识别系统进行了广泛的研究,目前国内外已经有众多的算法,一些实用的LPR技术也开始用于车流监控、出入控制、电子收费等场合。然而无论是LPR算法还是LPR产品都存在一定的局限性,都需要适应新的要求而不断完善。如以色列Hi-Tech公司的See/Car System系列,它需要多种变形的产品来分别适应某一个国家的车牌;新加坡Optasia公司的VLPRS系列,只适合于新加坡的车牌;See/Car Chinese系统可以对中国大陆的车牌进行识别,但都存在一定的缺陷,而且不能识别车牌中的汉字。
我国在90年代初期开始了车辆牌照识别技术的研究。但由于以下几个原因使我国的车辆牌照识别技术在研究和应用方面都有一定难度,且落后于其它国家:①我国的标准汽车牌照是由汉字、英文字母和阿拉伯数字组成,汉字的识别与字母和数字的识别有很大的不同,从而增加了识别的难度。②国外许多国家汽车牌照的底色和字符颜色通常只有对比度较强的两种颜色,而我国汽车牌照仅底色就有蓝、黄、黑、白等多种颜色,字符颜色也有黑、红、白等几种颜色。③其他国家的汽车牌照格式通常只有一种,而我国则根据不同车辆、车型、用途,规定了多种牌照格式。④我国汽车牌照的规范悬挂位置并不唯一,而且由于环境、道路或人为因素造成汽车牌照污染的情况比较严重,这都给车牌识别造成了一定的难度。
因此,我国车辆牌照识别技术的提高和广泛应用还需广大科研工作者和相关交通部门的共同努力。
1.4 本文主要工作及内容安排
本文主要研究车辆牌照识别系统中的数字识别技术,将数字图像处理技术与模式识别技术紧密结合,针对汽车牌照字符识别的特点,分析了车牌定位与分割、字符分割、特征提取、BP神经网络等算法。在车牌定位、字符分割和特征提取的基础上,详细研究了车牌数字字符的识别。
文章在接下来的第二章介绍了车辆牌照的定位方法;第三章介绍了车辆牌照的字符分割算法;第四章介绍了车辆牌照数字字符的识别。其中车辆牌照数字字符的识别是本课题的重点。文章在每一步处理后给出了实验结果,并给出了最后的识别结果。
第2章 车辆牌照的定位方法
车辆牌照的定位方法是基于图像处理的基础上,对图像进行分析、总结并经过大量的试验所获得的。定位方法的研究与车牌特征和图像处理技术是分不开的。从自然背景中准确可靠地分割出车牌区域是提高系统识别率的关键,但是由于车牌图像摄于背景复杂且光照不均匀的自然场景,因而会出现颜色失真或低对比度的图像,这给车辆牌照的定位带来了很大的困难。为此人们进行了大量的研究,并取得了一定的成果。
本课题中,根据车牌的二值图像在水平和垂直方向的投影特性提出了基于二值化图像投影法和数学形态学相结合的车牌定位算法,该算法具有快速、简洁实用和与背景相关性小的特点。车牌的定位算法分为预处理、水平定位、垂直定位。其流程图如图2-1所示。
图2-1 车辆牌照定位原理
2.1 车辆牌照图像的预处理
为了使车牌能够被精确定位,在定位搜索以前,要对车牌图像进行预处理。为了能够方便的进行后期的数字图像处理,需要将彩色图像转化成256色的灰度图后进行处理,然后对图像做二值化处理,削弱背景干扰,消除噪声。经过以上的预处理,就可以对车牌进行定位和分割处理。
2.1.1 256色位图灰度化
由于256色的位图的调色板内容比较复杂,使得图像处理的许多算法都没有办法展开,因此有必要对它进行灰度处理。所谓灰度图像就是图像的每一个象素的RGB分量的值是相等的。彩色图像的每个象素的RGB值是不同的,所以显示出红绿蓝等各种颜色。灰度图像没有这些颜色差异,有的只是亮度上的不同。灰度值大的象素比较亮,反之比较暗。图像灰度化有各种不同的算法,比较直接的一种是给象素的RGB值各自一个加权系数,然后求和。经常用到的灰度化公式由式(2-1)完成:
式(2-1)中 为灰度值。
加权系数的取值是建立在人眼的视觉模型之上的,对于人眼较为敏感的绿色取较大的权值,对人眼较为不敏感的蓝色则取较小的权值。这样可以使得到的灰度图像在视觉上更接近人的主观感觉。应该注意的是最后得到结果一定要归一到0~255之内。
2.1.2 灰度图像二值化
在进行了灰度化处理以后,图像中的每个象素只有一个值,即象素的灰度值。它的大小决定了象素的亮暗程度。为了更加便利的开展下面的图像处理操作,还需要对已经得到的灰度图像做一个二值化处理。图像的二值化就是把图像中的象素的灰度值根据一定的标准分化成两种颜色。在系统中是根据象素的灰度值将图像处理成黑白两种颜色。图像的二值化有很多成熟的方法:可以采用阈值分割法,也可以采用给定阈值法。阈值分割法可以分为全局阈值法和局部阈值分割法。所谓局部阈值分割法是将原始图像划分成较小的图像,并对每个子图像选取相应的阈值。在阈值分割后,相邻子图像之间的边界处可能产生灰度级的不连续,因此需用平滑技术进行排除。局部阈值法常用的方法有灰度差直方图法、微分直方图法。
全局阈值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的阈值分割图像。根据阈值选择方法的不同,可以分为模态方法、迭代式阈值选择等方法。这些方法都是以图像的灰度直方图为研究对象来确定阈值的。另外还有类间方差阈值分割法、二维最大熵分割法、模糊阈值分割法、共生矩阵分割法、区域生长法等等。
在本系统中考虑到所要进行处理的图像大多是噪声比较少的灰度车牌,系统中采用全局阈值分割的方法进行处理,初始阈值 的确定方法是由式(2-2)完成:
和 分别是最高和最低灰度值。该阈值对不同牌照有一定的适应性,能够保证背景基本被置为0,以突出牌照区域。
经过二值化,可以进行下一步处理。
2.1.3 消除背景干扰去除噪声
对二值化后的图像进行相邻象素灰度值相减,得到新的图像,左边缘可以直接赋值,不会影响整体效果。考虑到图像中的文字是由短的横竖线组成,而背景噪声有一大部分是孤立噪声,所以用模板(1,1,1,1) T对图像进行中值滤波,得到去除大部分干扰的图像。
2.2 车辆牌照的定位方法简介
经过以上的预处理,我们就可以对图像进行车牌的定位和分割。
为了快速、准确地定位车牌,目前已有很多学者提出许多定位算法。其中,众多算法都是利用了车牌自身异于背景区域的特征来进行车牌定位的。这些特征包括车牌的颜色特征、几何特征、纹理特征和经过处理运算后得到的车牌区域固有的特征(异于背景区域特征)等。
车牌定位的算法基本上可以分为两大类:第1类是通过一个步骤将车牌定位出来;第2类是通过两个步骤将车牌定位出来[4]。
第1类:这类算法的主要特点是通过一个步骤就可以将车牌区域定位出来。其主要的算法介绍如下:
(1)基于神经网络的车牌定位方法:该方法首先是用神经网络对大量的样本图像进行训练,然后再进行图像预处理,最后用训练的神经网络提取真正的车牌区域。该算法要求把图像中每一个像素所提取特征输入神经网络来进行学习,计算量很大,同时需处理好网络局部收敛的问题,且车牌定位时间长[5]。
(2)基于模板匹配的车牌定位方法:该算法主要是设立一个滑动窗口,该窗口有若干向量值,利用该窗口在汽车图像上滑动,并计算该窗口所覆盖的那块车牌图像的向量值,找出最佳的向量值,认为是车牌区域。
(3)直线边缘检测:这种方法主要利用Hough变化检测车牌周围边框直线。这种方法的缺点是Hough变换计算量大,对于边框不连续的实际车牌,需附加大量的运算[6]。
(4)统计直方图及投影方法:该方法通过对图像的水平和垂直两个方向灰度投影直方图来分析推断出牌照的位置。该方法的缺点是对噪声敏感,且牌照图像存在倾斜时,不能达到预期的效果。
第2类:即先对车辆图像进行车牌的粗定位,然后再进行精定位。所谓粗定位有两种含义:第1种粗定位的含义就是从车辆图像中找出车牌的大致位置,它并不要求非常精确的定位出车牌的位置,只需要给出包含车牌的相对较小或较大的一块区域就达到目的;第2种粗定位的含义就是利用粗分割,即给出包含车牌区域在内的若干候选区域,再从这些区域中提取车牌区域[7]。这里不再作详细的论述。
2.3 系统采用的定位方法
在系统中,采用投影法来实现车辆牌照的定位。利用水平投影来检测车牌的水平位置,利用垂直投影和形态学的方法检测车牌的垂直位置[8]。
2.3.1 车辆牌照的水平定位
得到二值化图像以后,首先把二值图像投影到y轴。根据车牌特征,车牌区域中的垂直边缘较密集,而且车牌一般悬挂在车身较低的位置其下方没有很多的边缘密集区域。因此在车牌对应的水平位置上会出现一个峰值,如图2-2所示。峰值的两个低谷点就是车牌的垂直位置,这样就得到了包含了车牌的带状区域。所以问题转成确定低谷点的位置。但是从图中可以发现投影图不是十分的光滑,会给精确定位带来一些困难,所以对投影图进行平滑。窗口尺寸比较关键,选小了不足以平滑,选大了则会改变投影图原有的基本变化特性。对于实际的投影曲线可以通过找差分曲线的过零点来确定低谷点,所以对平滑以后的投影图 求一阶差分:(2-3)
找出其由正至负的点,也就是局部最小值。但是并不是所有的局部最小值之间都能称为峰的,它可能附属邻近的一个峰,因而要确定哪一个局部最小值是峰谷,哪一个是毛刺。如何判决峰的独立性呢?本文采取了3个判决依据:
1. 独立峰具有一定峰顶和峰谷的落差,当局部最大值和邻近的局部最小值的差大于阈值,则该局部最小值为谷底,反之则为毛刺。
2.独立峰具有一定的宽度,这是由车牌的宽度信息决定的。
3.独立峰具有一定的面积,这是因为在经过边缘提取,二值化后,在车牌区域具有明显的纹理特征。
在光照均匀和背景不是很复杂的图像中,车牌的峰值特性十分明显,很容易就可以定位出车牌区域的水平位置。但在光照不均匀或背景复杂的图像中峰值特性就不是很明显了。如何准确地确定局部最小值是否为谷底,关键在于阈值的选取。