复杂背景下的快速车牌识别技术研究.docx
《复杂背景下的快速车牌识别技术研究.docx》由会员分享,可在线阅读,更多相关《复杂背景下的快速车牌识别技术研究.docx(20页珍藏版)》请在冰豆网上搜索。
复杂背景下的快速车牌识别技术研究
复杂背景下的快速车牌识别技术研究
车牌定位算法分析
1.基于灰度图像的车牌定位方法
1.1基于边缘检测的车牌定位方法
1.1.1通过字符边缘特征定位
首先利用边缘检测算子提取车牌字符边缘,再对字符边缘进行形态学连接,获得车牌候选区域,然后采用投影方法去除伪车牌。
优点:
有效地去除非边缘噪声,可以快速定位含有多个车牌的图像;
缺点:
难以去除边缘密集的伪车牌,而且无法定位污染严重的车牌图像。
1.1.2通过检测车牌的外边框定位
首先利用边缘检测算法提取车牌边框位置,然后用Hough变换算法检测直线,确认外边框的上下左右四条边位置就确定了车牌在图像中的位置。
1.2基于纹理特征的车牌定位方法
利用车牌区域的灰度跳变特征,对图像进行水平方向的扫描,找到灰度变化满足车牌区域灰度变化规律的车牌线段,对已经找到的可能存在车牌的区域进行垂直方向的扫描,找到连续若干行均存在车牌线段,通过对连通区域的尺寸分析,满足车牌的宽高比,由此确定一个车牌区域。
缺点:
灰化和二值化的阙值问题,倾斜车牌定位问题
1.3基于投影法的车牌定位方法
首先对车牌图像进行二值化,由于车牌区域存在明显的剧烈的字符与背景的灰度跳变,将跳变次数投影到垂直轴上,那么车牌区域对应的垂直轴上会有一个明显的峰值,这样可以得到车牌的上下边界。
然后对上下边界内的区域进行水平投影,字符区域会出现明显的峰值,这样可以得到车牌的左右边界。
缺点:
无法准确定位复杂环境下的车牌
2.基于彩色图像的车牌定位方法
首先利用彩色边缘检测算子Color-Prewitt检测字符边缘,并用数学形态学方法连接各个边缘,最后利用车牌的先验知识,确定车牌位置。
缺点:
车牌底色不同。
受自然光照变化影响,车牌图像色度变化范围大
3.基于字符边缘特征的车牌定位方法
3.1粗定位
釆用简单方法的车牌粗定位方法获取边缘密集的车牌候选区域,再采用复杂方法的车牌定位去除伪车牌区域。
3.1.1灰度变换
把需要处理的RGB图像转换为YUV(视频数据)图像中的Y分量灰度图像。
转换公式:
Y=0.299*R+0.587*G+0.114*5
3.1.2边缘检测
(1)梯度算子
梯度算子是一阶导数算子,图像的梯度是邻域灰度值的差分,图像中灰度值变化剧烈处的梯度值较大,图像中灰度值变化轻微处的梯度值较小。
表1梯度算子
(2)拉普拉斯(Laplacian)算子
拉普拉斯边缘检测算子是二阶导数算子,通过邻域内各个点的灰度值的差分来实现。
该算子无法提供边缘方向,是一个与边缘方向无关的边缘算子,这在一定程度上可以有效地检测出全部图像边缘,但其缺点是对图像噪声比较敏感。
两个模板:
(3)Canny算子
Canny算子是先平滑再求导的边缘检测方法,它利用高阈值和低阈值分别检测图像中的强边缘和弱边缘,以强边缘为基础,搜索和连接附近的弱边缘,而且由于它在边缘检测之前进行了高斯滤波,因此Canny算子不但可以检测出丰富的边缘细节,又可以有效地减少噪声的干扰。
原理:
1.用高斯滤波器平滑图像
高斯平滑函数:
(3.1)
(3.2)
2.用一阶差分来计算梯度的幅值和方向
选择对噪声有抑制作用的Sobel算子:
(3.3)
(3.4)
梯度横幅:
(3.5)
梯度方向:
(3.6)
3.对梯度幅值进行“非极大值抑制”
非极大值抑制是指在梯度方向上只保留梯度幅值为极大值的点,抑制所有非极大值的点。
将梯度角的变化范围缩小到只有四个方向,标号0到3。
对梯度图像的每个像素点使用一个3x3的模板,将模板的中心像素X的梯度值与沿着梯度方向的两个相邻像素的梯度值比较,如果X的梯度值均小于沿梯度方向的两个像素的梯度值,则将X处的灰度值置零。
对梯度图像进行“非极大值抑制”处理后,检测到的边缘只有一个像素的宽度。
4.双阈值检测和边缘连接
利用高阈值T1对梯度图像进行二值化,得到强边缘二值图像Edgelmgl;利用低阈值T2对梯度图像进行二值化,得到弱边缘二值图像Edgelmg2。
3.1.3水平跳变检测边缘密集区域
通过输入车牌宽度范围,记最小车牌宽度为minPlateWidth,最大车牌宽度为maxPlateWidth。
由最小车牌宽度可以计算出最小字符间距,表示字符边缘的最小距离要求。
对二值边缘图的每一行进行扫描,将同时满足边缘间距和边缘跳变的边缘点连接起来。
这样可以快速检测出车牌可能存在的区域
3.1.4连通域分析获得车牌候选区域
获得连通域的最小外接矩形,提取车牌的轮廓。
通过去除Blob内部点的方式来得到轮廓。
Blob内部点通常满足3x3的邻域内都含有白点。
(1)车牌候选区域对应外接矩形的宽度Width:
MinPlateWidth/2(2)车牌候选区域对应外接矩形的高度Height;
MinPlateHeight12(3)车牌候选区域对应外接矩形的宽高比Ratio。
Ratio>1(3.9)
3.2精细定位
3.2.1自适应灰度拉伸
根据原图象的对比度进行自适应灰度拉伸,如果图像已经有合适的对比度,则可进一步增加其对比度;如果图像的对比度非常差,则图像的拉伸范围不宜设置过大,以免造成拉伸过度。
灰度拉伸公式:
(3.10)
(3.11)
(3.12)
注:
c(i)为图像的累积直方图
根据(b-a)的取值,设置拉伸区域范围:
(3.13)
(3.14)
(3.15)
q根据动态范围p进行自适应设置
(3.16)
3.2.2Sobel垂直边缘检测
3.2.3自适应二值化
(1)全局阈值法
全局阈值法是指二值化过程中只使用一个全局阈值T的方法
若像素灰度值大于阈值T,则将像素灰度值设为前景色(白色);否则,设为背景色(黑色),以此实现灰度图像到二值图像的转变。
1.双峰法
利用灰度直方图,图包含两个波峰,这两个峰分别对应前景和背景数目较多的像素点,双峰之间的波谷对应前景和背景的分界点,双峰法便是利用这种直方图中求出分离前景和背景的二值化阈值。
2.迭代法
I、求出图像的最大灰度值和最小灰度值,分别记为
和
,则得到的初始阈值为:
(3.17)
II、将图像中大于阈值
的部分设为前景,小于阈值
的部分设为背景,然后分别求出前景部分和背景部分的平均灰度值
和
III、求出阈值
(3.18)
V、若
,则所得
即为阈值,否则继续迭代。
3.OTSU法(大律法)
基本思想是:
将图像分为两部分,一部分为像素灰度值大于等于阈值T的部分,另一部分为像素灰度值小于阈值T的部分,然后求出这两部分的平均值方差(T2,也称为类间方差,通过迭代求出使类间方差CT2最大的阈值T,该阈值即为二值化效果最好的阈值。
OTSU方法是自动选取二值化阈值的较优方法。
算法具体步骤如下:
①令二值化阙值T=0;
②求出大于T和小于T的这两类的像素总数占图像的比例和平均灰度值
③计算类间方差
④T=T+1,循环①到④
⑤找到类间方差
最大值的对应的T
(2)局部阈值法
由像素灰度值和像素周围点局部灰度特性来确定像素的阈值的,通过定义考察点的领域,并由领域计算模板来实现考察点灰度与领域的比较,较全局方法有更广泛的应用。
Bemsen算法基本思想是将对应于灰度图中任一像素的阈值选取为该像素一个邻域内的最大灰度值与最小灰度值的平均值T(x,y),考虑以任意一点(乂,7)为中心的(2^^+1)乂(2?
^+1)窗口,f(x,y)表示为该点的灰度值,以平均值T(x,y)为阈值,对该邻域的所有点进行二值化,大于等于阈值的点取255,小于阈值的点取值0。
它对光照不均以及噪声干扰有一定的适应能力,缺点是:
一是计算速度慢,邻域计算模板越大,计算速度越慢;二是不能保证笔画的完整性和连通性;三是容易出现“伪影”现象。
3.2.4去除噪声
去噪方法需要对边缘图像扫描三次,第一次扫描记录从边缘左上点开始计数的边缘长度,第二次扫描记录从边缘右下点开始计数的边缘长度,第三次扫描将前两次的数据相加得到边缘的真实长度,根据边缘长度去除噪声。
3.2.5水平跳变检测
字符具有丰富的垂直边缘信息,因此对边缘图像进行行扫描时,车牌区域的行灰度值跳变剧烈。
3.2.6形态学膨胀
3.2.7连通域分析与合并
判断各个Blob的外接矩形之间的间距,满足允许间距范围内的矩形框进行合并。
3.2.8几何特征蹄选车牌结果
(1)车牌候选区域的Blob面积Area;
(2)车牌候选区域的Blob外接矩形的宽度Width
(3)车牌候选区域的Blob外接矩形的高度Height;
(4)车牌候选区域的Blob外接矩形的宽高比Ratio。
当拍摄车牌的场景确定时,车牌的几何特征值在一定范围内:
MinPlateArea
MinPlateWidthMinPlateHeightMinPlateRatio利用以上车牌的几何特征,可以挑出车牌区域。
字符分割算法分析
4.基于字符轮廓和模板匹配的字符分割方法
4.1自适应灰度拉伸
4.2估计车牌颜色
4.2.1HSV颜色模型
RGB颜色空间和HSV颜色空间的转换公式:
(4.1)
(4.2)
(4.3)
4.2.2基于HSV的车牌颜色判断
将RGB图像转换为HSV图像,然后对图像上的每个像素的颜色进行判断,统计整个车牌图像的颜色分布,最后估计出车牌颜色。
4.3拉普拉斯边缘检测
4.4二值化
采用OSTU算法将边缘检测后的车牌灰度图进行二值化,把边缘处置为前景,非边缘处置为背景
4.5估计字符高度
4.6提取字符
1.提取边缘完整的独立普通字符
将高度接近估计的字符高度,并且高宽比接近标准字符高宽比(2:
1)的字符提取到普通字符类别。
2.分离粘连的字符
I、优先处理字符与上下边框的粘连,找到字符间隙即可分离出字符
II、然后处理字符与字符的粘连,强行分割。
III、最后处理字符与左右边框的粘连,左右边框在二值化图像的垂直方向上为连续的白色,去除一部分,降低其影响即可,避免伤及字体部分。
3.提取断裂的字符
对断裂的边缘之间进行小范围区域生长,边缘之间连接成功后,提取满足普通字符尺寸的字符。
4.提取“1”、“J”、“T”、“L”
对“1”字符进行空间扩展,顶部和底部进行区域生长搜索。
5.二次确认
4.7模板匹配
字符模板匹配仅对提取到5个以上的字符情况作处理。
由提取到的字符的平均宽度作为基础,在此基础减2,减1,加1,加2,用5个字符宽度可以得出5个不同大小的模板,用这5个不同大小的字符模板在提取到的字符上移动作匹配,求出匹配度最大的模板。
最佳匹配度:
(4.4)
字符识别算法分析
5.字符识别常用方法
5.1统计模式识别
统计决策判别,对字符整体按规律进行统计,将统计到的信息作为识别特征,使用决策函数进行识别。
优点:
对复杂背景有较好的抗噪能力、容易实施的决策判别函数;
缺点:
难以区分相似字的细节部分。
5.1.1模板匹配
以整体字符作为识别特征,同字库中的模板特征进行比较,找出最大匹配度对应的模板,即为字符识别结果。
5.1.2变换特征用
变换方法(如Walsh变换、Hardama变换、K-L变换、Fourier变换、Cosine变换,Slant变换等)将字符图像映射到变换域中,然后在变换域中进行特征提取。
5.1.3笔画密度特征
在字符图像的一个特定范围内,字符在垂直方向、水平方向或对角线方向上的笔画个数。
5.1.4几何矩特征
只有在线性变换下才具有不变性,但是现实环境中不一定具备线性变换的条件,因此,该特征缺乏实用性。
5.1.5轮廓特征
使用轮廓特征可以非常容易地实现字符的粗分类。
5.2结构模式识别
把将一个复杂的模式一部分一部分地加以描述,将复杂的模式分成若干个子模式,直至最简单的子模式(基元)。
是一种树状结构的表示方法。
5.3人工神利
用图像的统计特征和几何空间等特征,通过自学习、修改自身的结构的方式,提高图像的分类精度,直到取得满意的效果,而且ANN可以像人脑一样积累经验。
具有良好的容错性和自适应性。
6.SVM理论概述
6.1经验风险最小化(ERM)问题
预测的期望风险:
(6.1)
大数定理得知,当样本数量很大的时候,算术平均值就可以近似于数学期望,于是得到经验风险:
(6.2)
经验风险最小化(ERM)原则就是经验风险的最小值代替期望风险的最小值。
6.2统计学习理论的核心内容
真实风险由经验风险和置信风险两个部分构成,其中经验风险表示分类器从训练样本得到的分类结果的经验误差,置信风险表示分类器对未知样本分类结果的信任度。
当样本数越大,VC维越小,则置信风险越小;反之,则越大。
6.2.1VC维
对一个指示函数集,如果存在h个样本能够被函数集中的函数按所有可能的2力种形式分开,则称函数集能够把h个样本打散,函数集的VC维就是它能打散的最大样本数目如果函数。
6.2.2推广性的界
经验风险
和真实风险
满足如下关系:
(6.3)
(6.4)
样本数n是不变的,只有当学习机器的VC维h趋于零时,也就是学习机器的复杂性最小时,得到的是无穷大,置信范围才趋于零,所以需要同时考虑经验风险最小化和选取较小的VC维,才能设计出期望风险最小的分类器。
6.2.3结构风险最小化(SRM)
为了取得最小的实际风险,把函数集构造为一个按照VC维的大小排列的函数子集序列,折中考虑每个子集的经验风险和置信范围。
结构风险最小化原则的求取方法通常有两种:
第一种方法是首先求取每个子集的经验风险最小值,然后将经验风险最小值与置信范围相加,并且找到这两者之和最小对应的子集,这种方法的缺点十分明显,当子集数量非常庞大时,该方法低效费时。
第二种方法是通过设计函数集的结构使得每个子集的经验风险都最小,然后选择部分子集使其置信范围最小,这种方法的缺点是函数集的结构难以设计。
6.3SVM原理
6.3.1最优超平面
从SVM的结构风险最小化准则来看,超平面既可以把样本区分开,又要使两类样本的分类间隔最大,这就保证了超平面不管在训练时还是在使用时都有好的分类效果,是最优超平面。
其中分类间隔是指两类样本中离分类超平面最近的样本与分类超平面的距离的和。
(6.5)
为求
最小,得到了广义的最优分类面。
6.3.2线性支持向量机
1.线性可分支持向量机
约束条件:
拉格朗日求解:
最大优化函数:
约束条件:
最优分类函数:
2.线性不可分支持向量机
求解这个优化问题的方法与线性可分情况基本一样,只是约束条件有所不同,支持向量是那些系数a,.不等于0的样本。
约束条件:
6.3.3支持向量机
通过非线性变换的核函数将低维空间转换到高维线性可分空间,然后在线性可分空间中求取最优分类超平面。
优化函数:
最优分类函数:
6.3.4支持向量机的核函数
1.线性函数:
这时得到的支持向量机是一个线性分类器。
2.多项式核函数:
这时得到的支持向量机时q阶多项式分类器。
3.径向基函数型核函数(RBF):
这时得到的支持向量是一种径向基函数分类器。
支持向量机的每个支持向量与每个函数的中心一一对应。
4.Sigmoid核函数
这时得到的支持向量机是一个两层的多层感知器神经网络,这个神经网络不但有网络的权值,而且可以自动确定隐含层节点数,且没有局部极小点问题。
6.4核函数及其参数的选择
6.4.1核函数的选择方法
1.单一验证估计
样本数量趋近于无穷大时,该估计为无偏估计,但现实中处理的总是数量有限的样本问题,所以此方法的应用范围在一定程度上受到了限制。
2.K折交叉验证
一种迭代方式,一共迭代K次,每次将所有训练样本分为K份相等的子集样本,训练样本是选择其中K-1份样本,测试样本是剩余的一个样本。
3.留一法
基本思想是当可用样本数为N时,训练集由其中N-1个样本构成,测试样本为剩余的一个样本,经N次重复,使所有的样本都参加过测试。
但留一法计算量大,只要上界小,分类器的推广能力就强。
6.4.2径向基核函数
将样本映射到一个更高维的空间,比多项式核函数需要更少的参数,减少了模型的复杂度。
6.4.2参数的选择
径向基(RBF)核函数主要确定惩罚因子C和参数
。
1.网格法
选取U个C和V个cr2,就会有t/xF的组合状态,每种组合状态对应一种SVM分类器,通过测试对比,找出推广识别率最高的C和组合。
2.双线性法
对满足上式的(C,
),训练SVM,根据对其推广识别率的估算,得到最优参数。
3.梯度下降搜索法
泛化误差:
核函数:
a将0置一个初始值
b用一个标准的SVM解法(如SMO),求出SVM的解——Lagrange乘子
c
d跳转到b直至T最小
4.遗传算法
过程:
at=0
b随机选择初始种群P(t)
c计算个体适应度函数值F(t)
d若种群中最优个体所对应的适应度函数值足够大或者算法已经连续运行多代,且个体的最佳适应度无明显改进则转到第h步
et=t+l
f应用选择算子法从P(t-l)中选择P(t)
g对P(t)进行交叉、变异操作,转到第c步
h给出最佳的核函数参合和惩罚因子C,并用其训练数据集以获得全局最优分类面。
遗传算法的缺点是收敛很慢,容易受局部极小值干扰[62]。
6.5基于SVM的字符识别
6.5.1字符归一化与二值化
把车牌字符统一成一个模板大小,对每个字符进行二值化,采用OTSU二值化方法。
6.5.2特征提取
1.投影特征
统计图像在特定方向上的投影直方图。
投影可以分为四个方向:
垂直,水平,正反对角线方向。
投影特征可以区分分布明显不同的字符,对一些相似的字符区分效果差。
2.网格特征
统计字符图像在每个网格内的所有像素点的像素值的和作为特征。
假设字符图像大小为W*H,网格大小为M*N,则共有
个格子。
该方法需要设置合适的网格大小,不同的网格大小对识别率影响较大。
3.内外轮廓特征
“1”、“2”、“3”、“5”、“7”只有外轮廓,“4”、“6”、“8”、“9”、“0”有内外轮廓,但是对相近的字符区分效果分,比如“C”和“G”。
4.拓扑特征
穿线数特征是指从某一方向穿过字符图像时,穿越的连续像素的段的数量。
欧拉数特征是指字符图形中的孔数,例如字符“8”有两个孔。
5.几何矩特征
图像的几何矩是指图像函数在间区域内的积分。
高阶几何矩对噪声比较敏感。
6.占空比特征
占空比R的计算式:
其中Sc为字符面积,S为字符图像面积。
7.跳变特征
从水平方向和垂直方向上统计字符笔画变化的次数。
6.5.3分类器组合
6.5.4选择多分类方法
1.一对一方法
一对一方法在K类训练样本中构造所有可能的两类分类器,每类仅仅在K类中的两类训练样本上训练,结果共构造K(K-l)/2个分类器。
对K(K-l)/2个分类器采用投票法方式进行分类,得票最多的类即为所属的类。
2.一对多方法
一对多方法把K类训练样本构造出K个两类分类器,第i个SVM分类器的正样本为第i类样本,负样本为其他所有的样本,然后求得所有两类分类器的判决函数。
3.SVM决策树方法
首先从所有类别中挑选出第1类作为正训练样本,其余N-1作为负训练样本建立第一个SVM分类器;然后在N-1类中将第2类作为正训练样本,剩余的N-2类作为负训练样本建立第二个SVM分类器;依次类推,将第N-1类作为正训练样本,建立第N-1个SVM分类器
4.有向无环图方法
对于N类分类问题,在每两类之间构造一个SVM,总共需要N(N-l)/2个SVM。
在决策阶段,不使用投票法,而是采用一个从根节点开始的有向无环图进行决策。
从根节点起始,由分类器的输出结果决定向左侧内部节点走还是向右侧内部节点走,最终走到叶子节点,根据叶子节点代表的类值便得到样本的所属类别。
6.5.5确定RBF最优参数
采用RBF核函数,选择网格法方式来求解分类器参数
6.5.6二次识别