车牌字符分割算法研究文档格式.docx
《车牌字符分割算法研究文档格式.docx》由会员分享,可在线阅读,更多相关《车牌字符分割算法研究文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
该方法的优点是能够消除字符间隔区域和垂直边框的影响。
但是车牌的噪声等干扰因素容易影响到投影的峰谷位置,并且对于存在较严重质量退化的图像处理困难。
因此,通常将形态学分析、连通体分析和投影法三者相结合,并应用到车牌字符分割。
Nomura等人为了处理断裂的车牌字符碎片,通过竖直投影将其检测出来并合并属于同一个字符的碎片,利用形态学粗化和细化方法将重叠和粘连的字符连通体分离。
Chang等人为使车牌字符切分更有效,利用连通体的组合规则验证所有可能的字符集合,并取得了非常好的效果。
近年来,更多新颖的车牌字符分割算法问世。
Jiao为了验证是否得到真正的车牌把预定义的车牌格式和待选字符进行匹配,使用动态规划的方法来进一步验证匹配的效果。
Fan等人以对垂直投影的水平投影分析为基础,将车牌字符分割与识别两个步骤作为一个整体的统计推断问题。
能够将车牌字符的分割与识别同时进行,车牌字符的识别模块的设计性能很大程度地影响字符分割的效果。
Franc和Hlavac通过隐马尔可夫链将车牌图像与相应的车牌字符分割建立起随机关系,把车牌字符分割表示为最大后验估计问题。
Naito等人提出了假设检验方法,并以置信度为依据对可能的字符组合进行排队。
王兴玲利用车牌规定的字符组合方式和大小比例关系,提出了基于模板匹配的最大类间方差车牌字符分割算法。
并将设计的字符模板与车牌区域滑动匹配并进行分类,车牌的最佳匹配位置和字符的分割边界是通过最大类间方差的判决准则进行确定的。
中国大陆的车牌有统一的制定规则,所有的车牌字符所对应的高度和宽度是相等的(可将字符“1”认为与其它字符的宽度是相同的),并且字符的间距与字符大小比例关系是确定不变的。
为此,本文以投影分析法为基础,通过设计变长模板与车牌区域滑动匹配,从而完成车牌字符分割。
首先根据车牌边框和字符排列规则将车牌图像进行旋转和剪切校正。
为了确定车牌图像中字符的上下边界,将车牌图像沿水平方向进行投影,利用预先设计好的不同长度方波模板对其进行匹配,根据相关系数得到最佳匹配的方波。
最后,将车牌图像沿垂直方向进行投影,根据车牌字符的宽度与字符间隔长度的比例关系,设计一组长度不同的方波模板。
为了获取字符的左右边界,可以将该模板与垂直投影进行匹配。
该方法以车牌字符的水平和垂直投影特性为依据,可以自适应地解决光线照射不均匀、透视失真、尺度变化、以及背景干扰等问题,具有较好的稳定性,抗干扰能力较强。
车牌字符的格式
依据国家对机动车号牌的相关规定,可以总结出车牌的特点。
按照车牌颜色的特点,有白字蓝底白边框、黑字黄底黑边框、红字或者黑字白底黑边框三种类型车牌。
也可以从字符排列角度进行分类,包括但单行七字符的车牌和上下两行字符车牌。
为了对车牌照进行识别,研究人员总结出车牌识别的先验知识,包括车牌的尺寸、字符大小、结构特征等。
车牌样本图像如图1-1所示
图1-1车牌样本图像
车牌照的先验知识具有如下内容:
(1)车牌是一个高度为409mm,宽度为90mm的长方形,其高宽比例为:
1。
(2)车牌字符的高度为90mm,宽度为45mm,宽高比为2:
(3)车牌的边框宽度为,字符间隙是12mm。
车牌边框线的宽度和字符家具之比是1:
8。
(4)车牌第二个字符和第三个字符间有一个“
”,其它字符之间的宽度和字符宽度比为10mm:
45mm=1:
,若删除“
”的话,车牌第二个和第三个字符间距和其它字符间距比为34mm:
12mm=:
1;
(5)车牌字符之间中心距离的长度为51mm,高度为90mm,其比例是1:
;
(6)车牌的字符和背景具有较大的对比度,车牌区域是纵向小边缘密集区域。
(7)车牌区域有五种固定的颜色搭配,包括红黑、蓝白、白黑、红白、黄黑。
在车牌照的连通体分析,投影方波模板设计都需要以车牌照的先验知识为依据,真正对字符分割算法设计起作用的是参数的设置,这个过程是整个算法设计的难点。
在实际的车牌字符识别过程中用到的车牌先验知识和实验结果如下:
(1)车牌字符高度和宽度之比在1~3之间(字符“1”的高度和宽度之比在3~10之外)。
(2)对于车辆照片,字符像素的聚类面积的取值范围是10~5000。
字符的高度范围和宽度范围分别是10~200之间和5~100之间。
(3)由实验结果可得,包围单个车牌字符的最小矩形中,字符像素所占矩形面积的比例大于10%。
(4)实验结果表明,包围单个车牌字符的最小凸边形中,车牌字符像素所占的凸多边形面积的比例大于10%。
(5)车牌区域的总体像素聚类面积,大于数值50。
(6)车牌垂直投影分布具有脉冲波分布特性:
其中占空比例关系满足region:
gap:
key=45:
12:
34。
匹配滤波
在数字通信系统中,为了增强有用信号
,同时抑制噪声信号
可以通过设计滤波器来实现。
当混有噪声的信号进入滤波器时,能够使信号分量在某一瞬间出现峰值,同时抑制噪声成分。
当信号
在某段时刻存在时,在相应的瞬间滤波器的输出会呈现出强大的峰值,如果信号
不存在,那么峰值将不会出现。
利用这种滤波器能使判断脉冲
有无出错的概率最低。
我们将具备这种功能的滤波器称为“匹配滤波器”。
的特性与设计滤波器的性能取得某种一致时,输出端信号功率与噪声功率之比最大时,这便称之为匹配。
在实际应用中,匹配滤波器通常是根据信号的特性来设计的。
匹配滤波器能够有用信号分量增强同时使噪声分量减弱,使得在某一瞬间滤波器的输出端信号幅度与噪声幅度之比达到最大。
依据车牌照的先验知识,能够得到车牌的投影分布,即输入信号具有脉冲波分布特性。
我们可以依据这个特点,设计一组方波模板当做系统函数,对车牌投影进行匹配滤波处理,便能够得到车牌字符的边界参数。
本文内容
论文一共分为三章,每一章的主要内容如下:
第一章是绪论。
介绍了车牌字符分割研究的背景,以及车牌的字符格式。
还补充了匹配滤波器的相关知识,最后初步介绍了本文的内容。
第二章是车牌图像预处理。
共包括车牌图像几何校正、灰度化、图像增强、二值化四部分,此部分工作的目的是为了得到质量改善的、便于字符分割的车牌图像。
第三章是车牌字符分割。
分别介绍了水平投影的方波匹配和垂直投影的方波匹配,并展示了最终的字符分割效果。
最后是结论。
将本文对车牌图像所做的工作进行了总结。
2车牌图像预处理
本章引言
在实际的车牌识别系统中,图像通常由CCD摄像机获得,由于光线明暗,拍摄角度等因素的影响,所获得车牌图像质量差异较大,存在图像模糊,目标与背景对比度低,车牌旋转和剪切失真等现象等现象,不利于后续车牌字符定位和识别工作。
因此有必要对车牌图像进行几何校正、图像灰度化、图像增强和图像二值化等预处理,从而改善图像的质量,提高车牌字符分割的效率与准确率。
车牌图像的几何校正
在车辆监控场景中,相机光轴与车牌的法线方向发生偏离,通常是由车辆的位置和拍摄角度发生变化,进而在车牌图像中引入透视失真。
由于车牌图像在整幅图像中占有较小的比例,透视失真程度较弱,车牌字符的尺寸参数变化较小,对字符分割效果的影响可以忽略。
所以,车牌图像进行几何校最主要工作是将车牌的旋转和剪切失真。
图像的旋转角度可以依据车牌区域存在的较长边框来确定,在实际环境中,锈迹和污迹会对车牌边框产生影响,同时边框也可能发生形变,从而导致车牌边框缺失或者断裂,从而对旋转校正的精度产生影响。
另外车牌字符边缘特征丰富,为旋转角度的求解提供了重要的依据。
为了使估计旋转角度的方法对各种质量的车牌图像具有普遍适用性,本文以字符的边缘特征和车牌边框为依据,提出了一种边缘投影差分的方法。
首先将车牌图像在一定角度范围内旋转,利用Canny边缘检测对每幅图像进行处理。
用
表示旋转角度为
时得到的边缘图像,对其沿水平方向计算差分绝对值,并进行求和可得:
(2-1)
和
分别表示
沿行方向差分的最大值和最小值,即:
对于车牌边框破损严重的情况,该投影在行方向的差分数据在车牌字符的上下边界位置有比较大的峰值或谷值,因此,求解车牌旋转角度
的目标函数可以表示为:
(2-2)
该旋转校正方法能够消除车牌边框质量退化的影响,具有精度高和适应范围宽等特点。
图2-1(a)的车牌边框存在锈迹腐蚀严重,图2-1(b)是对应的Canny边缘结果,图2-1(c)是旋转校正后的图像,其中所有字符都保持水平方向,表明该方法能够求解精确的旋转角度。
(a)车牌图像(b)边缘检测
(c)旋转校正图像(d)剪切校正图像
图2-1车牌图像的旋转和剪切校正
边缘图像具有平缓的竖直投影曲线通常情况下是由车牌图像存在一定程度失真造成的。
为此,本文在一定剪切角度的范围内,计算边缘图像在竖直方向上投影的方差,并利用其峰值位置估计剪切角度。
图2-1(c)中的车牌图像经过剪切校正后的结果如图2-1(d)所示。
可以看出,本文的旋转和剪切校正方法能够有效地恢复出车牌图像的正面平行视图。
车牌图像灰度化
“真彩色”是RGB颜色的另一种叫法。
RGB颜色空间将红、绿、蓝三种基本颜色用混合的方法组合出各种不同的颜色,各种颜色都是有红、绿、蓝三种基色加权而成,不易进行颜色提取和分割。
RGB彩色模型主要用于彩色监视器和彩色监视器和彩色视频摄像机。
在计算机的存储中,每种基色的亮度取值范围为0~255,三个色彩各用8bit,所以对于RGB模式的彩色图像一共有256*256*256种颜色。
灰度图像即亮度图像,只包含亮度信息,每个像素的灰度级用8bit表示,所以像素都是基于介于黑色和白色之间的256种灰度的一种。
真彩图像的每个像素点需要3个字节,共用24bit。
灰度图像每个像素只需要一个字节,非常节省空间。
将彩色图像灰度处理以后,将会减小其存储空间,消除图片中大量的冗余信息,这对某些内存受限的应用是十分有用的。
车牌的图像一般来自于彩色监视器,其颜色模型大多数为RGB颜色模型。
由于外界因素的干扰车牌字符以及背景的颜色会与真实颜色存在较大的差别,因此从定位后的车牌图片直接进行字符分割处理比较复杂,而且容易受边框,铆钉等颜色的影响。
把真彩车牌图片转为灰度图像以后,每个像素用一个字节表示,存储空间会减小,使后续处理更加容易省时。
将RGB图像转换为亮度图像有最大值法、平均值法和加权平均法,这三类方法内容如下:
(1)最大值法通常能够得到较大亮度的车牌图像,通过比较某个像素点的红、绿、蓝分量的灰度值,得到最大该像素点的最大值,并将其作为灰度图像的在该点的灰度值。
(2)为了使得到的图像相对柔和,可以采用平均值法,该方法就是将某个像素点的红、绿、蓝分量的灰度值求和取平均,将该值作为灰度图像的在该点的灰度值。
(3)由于人眼对颜色的视见度不同,所以选择三色的基色量为R=G=B=,因此亮度信号Y为Y=++,该方法被称为加权平均值法。
其中R、G、B分别是彩色图像中像素的红、绿、蓝分量;
Y是该点在灰度图像中的灰度值。
该方法在实际的将彩色图像转换为灰度图像的应用中效果更好,使用的更为广泛。
实现加权平均值法的MATLAB代码为Pgray=rgb2gray(Pcolor);
Pcolor为待处理的彩色图像,Pgray为转换后的灰度图像。
rgb2gray()函数为MATLAB中彩色图像灰度化的函数,其转换原理为式Y=++.图2-2是将定位后的彩色车牌图像通过加权平均值法进行灰度化得到的效果图。
(a)轿车车牌彩色图像(b)轿车车牌灰度图像
(c)货车车牌彩色图像(d)货车车牌灰度图像
图2-2车牌图像的灰度化
对于黄底黑字的货车车牌,经过加权平均法后的到的图像为白底黑字,为了能将货车图像和轿车图像统一处理,根据灰度化图像各像素灰度值之和的大小,区分出货车和轿车车牌。
其中轿车车牌灰度化后的图像像素灰度值之和较小,货车车牌灰度化的图像像素灰度值之和较大。
图2-3是货车车牌图像取反得到效果图。
图2-3货车车牌灰度图像取反
车牌图像增强
在车牌图像采集系统中,经过摄像装置的图像采集和计算系统的图像转换,会使图像质量的下降。
由于天气变化、光线变暗造成图像模糊,在图像传输过程中由于噪声污染也会降低图像质量。
因此必须对图像进行增强,从而使图像的视觉效果得到改善。
将灰度车牌图像增强视为了强化图像中感兴趣的字符部分,衰减车牌的背景部分,从而使字符更加不同于车牌图片的背景,这样能够有效的获取图像中的有用信息,更有利于后续的字符分割和识别工作。
增强后的车牌图像可能并没有逼近原车牌图像,甚至还会有较大的差别。
实现图像增强并没有通用的方法,怎对每种都有特定的增强方法。
空间域方法和频域方法是图像增强的两大类基本方法。
空间域方法是以对图像像素直接处理为基础,在车牌图像平面本身对像素灰度值进行直接运算。
频率域处理技术首先将车牌图像进行傅里叶变换,然后经过设计好的滤波器进行处理,滤波器的输出的图像变换到空间域,即得到车牌图像增强后的图像。
两者的具体内容如下:
空间域处理方法包括点处理、模板处理等;
频域处理包括高、低通滤波、同态滤波等。
本论文采用的车牌图像增强的方法简单有效,即采用车牌原始灰度图像减去其背景图像,这样便得到增强后的车牌图像。
车牌灰度图像的背景图像是通过开操作进行的。
在MATLAB中strel()函数的作用是得到一张形态学运算(如开闭运、膨胀、腐蚀等)后的图片。
图2-4前两幅是对质量较好的车牌灰度进行图像增强处理,后两幅是对质量较差的车牌灰度进行图像增强处理。
(a)(b)
(c)(d)
(e)(f)
(g)(h)
图2-4车牌灰度图像增强
由实验图可以看出,通过图像增强处理,车牌中字符和背景区别更大。
不论原图像质量如何,图像增强后车牌的利于后续二值化处理。
车牌图像的二值化
所谓的图像二值化就是将一幅图像中的多个灰度级转化成只有两个灰度级,即图像中每个像素点的取值只能是黑(0)或者白(255),整个图像显示出明显的黑白效果,中间没有没有过渡的灰度值。
当然二值图像也可以指其他两种颜色的足组合,但多数情况都是指黑白两种颜色。
这种占用空间极少的二值图像,方便突出车牌字符的特征,并且有利于后续车牌字符的分割与识别。
图像二值化后便进行字符分割操作,因此二值化算法的效果会进一步影响车牌字符分割的速度和准确度。
图像二值化算法包括局部阈值算法和全局阈值算法两类,局部阈值算法适用于较为复杂的场景,算法复杂,实时性较低;
基于图像整体特性的全局阈值算法较为简单,将该算法推广到多阈值时,不管图像有无明显双峰,都能得到较好的效果。
因此,本文采用Ostu全局动态阈值法。
其核心思想是根据图像像素的灰度值,以阈值X作为比较对象,将图像像素分为大于等于X和小于X两类,然后将类间方差与类间内差相比,比值最大对应的阈值变为最佳阈值,并以该最佳阈值对图像进行二值化。
图2-5是灰度图像二值化后实验效果图。
2-5(a)~2-5(b)对应的是轿车车牌图像,2-5(c)~2-5(d)对应的是货车牌图像。
(a)轿车车牌增强后灰度图像(b)轿车车牌灰度图像二值化
(c)货车车牌增强后灰度图像(d)货车车牌灰度图像二值化
图2-5车牌图像的二值化处理
本章小结
图像几何校正克服了车牌旋转和剪切失真等问题,使得车牌失真减小,通过灰度化和图像增强,改善了图像的质量,二值化处理后使图像的处理更加简单。
通过这些预处理工作是得车牌字符分割的效率与准确度得到提高。
3车牌字符分割
为了准确地将一幅定位后的车牌图像分割出其中含有的字符,得到我们所感兴趣的部分,采用了沿水平方向和垂直方向投影的方法,能有效地排除车牌边框、铆钉等非字符因素的影响。
对于在本文实验中的二值化的亮度图像,字符的颜色为纯白色,因此在水平投影和垂直投影含有字符的位置其值通常较大,字符之间的空白区域在二值化的图像中为黑色,由于噪声干扰以及车牌图像不理想等因素,该区域的投影值通常不为0,但接近0。
在字符与空白区域的边界位置,垂直投影和水平投影的值波动非常大,并以此为依据对模板的大小以及各个跳变点的位置进行初步的估计,进而设计两组沿水平方向和垂直方向进行匹配的模板。
在水平投影和垂直投影方向截取和模板相同大小的投影进行匹配,根据最大相关系数,可以得到模板大小和截取的投影相对原投影的相对位移,进而确定每个字符的起始坐标以及宽度、高度。
通过MATLAB的绘图工具,结合每个字符位置坐标和宽高参数,对每个字符进行准确的分割。
在数学软件MATLAB中,一幅图像的水平投影和垂直投影可以通过sum()函数来实现。
对于一幅图像,其垂直投影就是将图像对应的矩阵每一列进行求和,水平投影是将图像对应的矩阵每一行进行求和。
水平投影方波模板匹配
由于定位后的车牌图像在上下方向存水平边框和较大的背景区域,如果直接通过车牌的先验知识,即车牌字符的相对位置的比例关系,进行车牌字符分割,每个分割后字符图像会存在大量的干扰区域,从而影响后面的字符识别正确率以及效率。
本文将水平投影与方波模板进行匹配,能有效消除水平边框带来的影响。
将定位后的每一幅车牌图像大小调整为宽度是588像素,高度是174像素。
将图像调整为此大小后,更接近实际车牌的长度和宽度的比例,这样就能使用较少的方波模板得到最佳的匹配方波,进而提高方波匹配的速度。
为了更合理地设计水平投影的方波模板,首先对二值化的车牌图像沿水平方向投影,图3-1是车牌图像水平投影在MATLAB软件中的效果图。
图3-1车牌图像水平投影
从水平投影图可以看出字符区域的高度大概为120个像素,因此模板的宽度取值范围设计为91~151像素,一共60个方波模板。
经过MATLAB实验测试,对于给定的宽度588像素,高度174像素二值灰度图像,该数量的方波模板能够准确定位绝大多数车牌字符的上下边界。
图3-2是为匹配水平投影所设计的方波模板。
图3-2水平投影的方波模板示意图
为了能够在数学软件MATLAB中对方波模板进行操作,需要将60个方波模板存储在内存中。
由于方波模板的长度不同,所以不能将方波模板以矩阵的形式存储在内存中。
将模板存储在MATLAB的cell数据类型中,从而很容易地解决了该问题,并且在cell中对模板的存取操作也非常方便。
cell类型的数据可以构造语法简单,其元素可以是向量、字符串等。
水平方波模板的初始化步骤如下,首先定义一个cell数据类型数据Crow,利用for循环将60个初始值为1的一维向量存储在Crow中,Crow中第i个元素对应是长度为90+i个像素的方波模板。
ones(m,n)函数的作用是生成一个m行n列的矩阵,该矩阵中的每个元素均初始化为1。
因为设计的方波模板在起始位置和结束位置需要的数个0值,所以完全意义上的方波模板还需要进行如下处理,其作用是将所有的1值序列前后各8个值改为0。
由于水平投影的方波模板取值范围是91~151,所以投影的匹配位置相对投影的其实位置最大可能偏移为83。
定义了一个行数为60,列数为84的矩阵用于存储水平投影的截取投影和水平投影方波模板的相关系数,每个方波模板的长度不同,因此每个方波模板对应的对应的相关系数的个数不同,只需将最大相关系数矩阵无意义的参数设置为0即可。
相关系数矩阵第i行对应第i个方波模板,第j列对应截取的水平投影相对于原投影初始位置的偏移量大小加一所得到的值。
该矩阵的第(i,j)元素的值含义为第i个方波模板对应偏移量为j-1的截取投影和方波模板相关系数。
在MATLAB中定义了大小为60行84列的矩阵,其初始值为0。
用zeros(m,n)函数是来生成一个m行n列的矩阵,该矩阵的初始值为0。
为了计算最佳匹配方波模板其对应截取投影的最大偏移量,遍历所有方波模板,再将每个方波与对应的截取投影滑动,可以用两层for循环来实现,其中histrow是二值灰度车牌图像的水平投影,Crow{i}为第i个方波。
为了实现水平投影模板匹配,需要计算截取投影与方波的相关系数,其中最关键的函数为corr2(A,B),是用来求两个相同大小矩阵的相似性,即为两个相同矩阵的相关系数。
遍历所有的方波模板,以及每个模板对应的所有截取投影,便可得到所有方波与任何一位后的相关系数矩阵。
当得到相关系数矩阵后,需要找到矩阵中的最大相关系数,通过该系数所在的行和列确定方波的次序数和偏移量的大小。
图3-3是将水平投影进行模板匹配所得到的字符上下边界实验结果图。
图3-3车牌字符上下边界
车牌字符垂直投影
为了确定车牌字符的左右边界,采用与水平投影相同的思路,现将定位后的车牌图像进行垂直投影。
图3-4是车牌图像垂直投影结果图。
图3-4车牌图像垂直投影
通过观察垂直投影的特点,字符的间隔区域垂直投影较小,接近0。
去掉左右边框后的车牌的大概宽度为540,为了更为准确的确定字符的左右边界,共设计160组方波,其长度取值范围426~585像素。
将长度不同的方波存储为cell数据类型。
将垂直投影的方波模板命名为Ccoll,每个方波的取值均为1,为得到真正意义上的方波,还需要将某些