APP下载

畸变车牌定位与矫正方法研究

2019-03-28

制造业自动化 2019年3期
关键词:畸变车牌字符

(武汉科技大学 机械自动化学院 机械传动与制造工程湖北省重点实验室,武汉 430000)

0 引言

共享车库实现了小区私有车库共享,对改善城市交通以及改造老旧住宅小区具有重要意义。建立共享车库首先需要一个完善的车牌识别系统(LPR),以实现车牌定位、字符分割和识别。采集车牌图像时,由于拍摄角度、车型大小不一等原因常导致出现畸变,而畸变车牌难以快速定位、矫正,使得车牌字符分割、识别无法顺利进行。

学者余刚等对Hough检测[1]方法在机器视觉中的应用进行研究,CNE Anagnostopoulos等[2]提出一种智能交通系统领空间的车牌识别算法,这些研究的对象均处在相对理想的环境下。为提高在多颜色车牌、非均匀光照条件等复杂场景下车牌识别准确率,算法提出一种畸变车牌定位与矫正方法,实现车牌定位、畸变矫正与字符分割、识别。

1 图像预处理

1.1 灰度增强

形态学处理(Morphological Processing)[3]需要将车牌RGB图像转变为灰度图以加快处理速度,灰度化后对应像素点灰度值x与RGB空间下对应像素点R、G、B值关系:

将灰度值从[x1,y1]非线性扩大到[x2,y2],变换后灰度值:

取[x1,y1]=[0.3,0.7],[x2,y2]=[0,1],经非线性灰度增强(Grayscale Enhancement)[4]后,灰度值饱和至最低和最高亮度,车牌区域得到有效增强,有利于处理非均匀光照条件下的车牌定位问题。灰度增强前后对比如图1所示。

图1 灰度增强对比图

1.2 滤波处理

为保护车牌区域边缘[5]信息,去除灰度增强后产生的高灰度值噪点,使用中值滤波法处理。中值滤波将数字图像中一点的值用该点邻空间各点的中值代替,序列x1,x2,x3,…,xn中值:

2 车牌定位

算法定位车牌优先使用形态学处理获得车牌粗定位结果,之后调用改进的定位子算法对车牌区域进行精确定位;若无法获得粗定位结果,则直接调用定位子算法对车牌进行定位,大幅提升车牌定位成功率。

2.1 形态学方法粗定位

2.1.1 边缘检测

图像的边缘包含了用于识别的有用信息,图像的其他特征可以由边缘基本特征推导出来。算法使用Roberts算子实现边缘检测,原理为检测函数的偏导数,对应图像中水平和垂直梯度:

其中f(x,y)是输入图像,gx、gy是对应梯度,发生梯度阶跃的点即为图像的边缘轮廓,边缘检测结果如图2所示。

图2 边缘检测

边缘检测后二值图像存在很多与车牌区域无关的边缘信息,需要进一步处理。

2.1.2 形态学处理

形态学处理主要通过腐蚀、膨胀与闭运算等操作逐步过滤无关信息,形态学(Morphology)[6]定义了腐蚀(Erosion)[7]与膨胀(Dilation)两种基本运算,其它运算都由这两种基本运算复合而成。

为处理边缘检测后多余边缘信息,首先对边缘检测图像进行腐蚀处理。腐蚀是将与结构元接触的背景点排除出图元,定义为:

A被结构元B腐蚀的结果是所有使B平移z后仍在A中的z的集合,算法使用结构元se1=[1;1;1]。腐蚀操作后,车牌边缘特征会被削弱,为不影响车牌定位,需使用闭运算进行平滑边缘轮廓处理。

闭运算由同一结构元对图像先腐蚀、后膨胀操作复合而成,膨胀操作定义为:

其中∅是空集,A被B膨胀的结果是所有满足结构元素B平移z后,(B)z击中A的点集合,得闭运算定义:

2.2 定位子算法

2.2.1 HSV颜色空间变换

HSV[8]空间中H和S分量代表色彩信息,应用于指定颜色分割时,HSV空间所包含颜色信息多于RGB空间,故算法在HSV颜色空间下对车牌图像进行处理。通过如下变换将车牌图像从RGB颜色空间转换为HSV颜色空间:

2.2.2 车牌定位

设HSV模型三个参数阈值向量p,当满足:

可提取到图像中目标颜色像素点,记y,x为车牌图像最大行、列索引,运用像素点统计和行列扫描方法[9]定位车牌区域:

1)逐行统计目标像素点数,并保存在y×1列矩阵中,记为Bluey,查找Bluey最大值对应的行索引MaxY。

2)记By=MaxY,满足Bluey(By)≥5时,将By减去1,继续判断Bluey(By)是否满足条件,满足条件时,循环执行By减去1并判断,逐行索引得车牌区域竖直方向的临界行标PY1;同理By加1情况下可得满足要求的临界行标PY2,故目标车牌区域在竖直方向PY1、PY2范围之间。

3)逐列统计目标像素点数,并保存在1×x行矩阵中,记为Bluex,查找Bluex最大值对应的列索引MaxX。

4)同2)中方法可得目标车牌区域在PX1、PX2之间。

2.2.3 精定位子算法

在HSV模型定位算法中,H、S、V分量范围分别为(0,180),(0,255),(0,255),经多次实验得到我国车牌常见几种色彩对应的HSV模型各分量如表1所示。

表1 色彩对应分量范围

每一个阈值向量p对应特定颜色的车牌,本定位子算法在HSV模型定位算法基础上,通过设置多个阈值向量p,实现检测多种颜色车牌。

p=[0.56 0.69 0.17 10.171]时,检测的是蓝色信息,对上述粗定位得到的车牌RGB图像使用定位子算法进行精定位。粗定位之后精定位效果如图3所示。

图3 车牌粗定位与精定位

子算法在克服传统方法只能识别单一颜色车牌的限制的同时,可以对粗定位结果进行精定位,提高车牌定位精度。

传统HSV模型定位方法无法正确定位蓝色车身的蓝色车牌并且只能识别单一颜色车牌,而该车牌定位算法结合了形态学处理和基于颜色信息定位车牌方法的优点,经预处理可以排除图片中车身蓝色对车牌定位的影响,使得形态学方法能够直接定位蓝色车身车牌,之后由定位子算法进行精定位处理。

3 畸变车牌矫正

标准Hough变换只能处理车牌图像水平倾斜矫正,而无法处理本算法需要矫正的复杂畸变车牌,算法应用多次Huogh变换提取车牌相关信息,结合数学方法对畸变车牌进行快速矫正。

3.1 Hough变换

Hough变换可以用于检测图像中车牌的边框直线,一条直线可以描述为极坐标形式:

θ是x轴与从原点到线上点(x,y)的垂直线之间的角度,ρ是垂直线的长度。从图像空间到Hough[10]空间的映射如图4所示。

图4 霍夫变换原理

3.2 水平倾斜矫正

水平倾斜矫正需要寻找车牌对应水平倾斜角,图像空间中点(xj,yj)对应Hough空间中一条曲线,将定位后车牌图像转化到Hough空间 对应曲线由下式给出:

Hough变换将参数空间设为一个累加器,将通过点(ρ, θ)的曲线数记录在累加器中,当-90°≤θ≤90°,θ精度为1°时,设H(ρ, θ)初始值为0,对车牌图像中所有点依次进行如下计算:

当N条H o u g h空间曲线经过点(ρ, θ)时,有H(ρ, θ)=N。累加矩阵最大值对应的极坐标 ( ρ0,θ0)即为车牌最长边框所在直线,θ0为车牌水平倾斜角。对车牌图像逆时针旋转θ0=8°并重新定位。

3.3 车牌端点获取

对水平矫正后车牌图像再次进行Hough变换,利用累加器可以检测出某一θ角对应线段上端点坐标等信息。算法如下:

1)将Hough变换后图像所有前景色像素点(xj, yj)保存在数组Tp中。

Ht表示图像的高,Wt表示图像的宽。

4)对所有Tp中像素点,计算ρ=xjcosθbest+yjsinθbest,若ρ=ρbest, 则将该点存放在另一个数组Tp1中。

算法执行完后, 数组Tp1中保存了车牌下长边框像素点(xj,yj)。以此方法,依次从1)开始执行,排除掉3)中最大值max(H[ρ1][θ1])后,找到次最大值对应(ρ,θ),得车牌图像上长边框对应数组Tp2。将车牌边框四个端点从左向右、从上到下记为p1,p2,p3,p4。

3.4 垂直倾斜矫正

记M,N为水平矫正并定位后车牌像素矩阵的行、列最大索引,分别提取目标车牌区域四个端点p1,p2,p3,p4横纵坐标得:x=[p1(1)p2(1)p3(1)p4(1),y=[p1(2)p2(2)p3(2)p4(2)。

矫正后四个顶点坐标对应区域组成矩阵B=[X(1)Y(1)X(2)Y(2)X(3)Y(3)X(4)Y(4)],车牌变换关系矩阵:

计算f=A-1×B,得变换系数:a=f(1);b=f(2);c=f(3);d=f(4);e=f(5);f=f(6);g=f(7);h=f(8);全局系数矩阵:r=[d e f; a b c; g h1],得矫正后的车牌四个端点坐标依次为:

从而得到畸变矫正后的车牌图像。

4 分割与识别

对上述矫正后车牌图像进行分割与识别操作,以检验该车牌畸变矫正结果的正确性。

4.1 车牌图像全局二值化

用Ostu法对畸变矫正后车牌灰度图二值化,原理如下:记t为目标像素与背景的分割阈值,目标像素数占图像比例为ω0,平均灰度为μ0;背景像素数占图像比例为ω1,平均灰度为μ1。图像的总平均灰度为:μ=ω0(t)μ0(t)+ω1(t)μ1(t),从最小灰度值到最大灰度值遍历t,使得值g=ω0(μ0-μ)2+ω1(μ1-μ)2最大时的t即为最佳分割阈值。

对车牌图像二值化:

其中,BW为二值化后对应像素点灰度值,g(i,j)为该像素点在灰度图中灰度值,t为最佳阈值。

4.2 字符分割

使用投影法统计竖直方向灰度值为1的像素点,数量记为xn,车牌像素矩阵对应列索引向量R=[x1,x2,…,xn],对R进行归一化,当xn>1时,令该点值xn=1,从左向右逐列扫描R,记录xn值发生0、1转换的列索引,将这样的索引值依次记为y1,y2,…,yn,得向量YT=[y1,y2,…,yn]为车牌字符分割点,其中每一个字符区域向量为Y=[y2n-1,y2n],其中n≥1,当y2n-y2n-1≤5排除掉该区域。

对YT进行遍历精确分割车牌后,效果如图5所示。

图5 字符分割

4.3 字符识别

我国标准车牌是由汉字、英文字母和阿拉伯数字组成,车牌字符组合规则:

1)车牌第一个字符是汉字。

2)字符中没有字母“I”,避免与数字“1”产生视觉错误。

3)车牌第二个字符必须是字母,并且字母“O”只能出现在第二个字符位置且数字“0”不会出现在该位置。

根据以上规则,算法使用模板匹配法对进行字符识别,建立图6中字符大小为M×N的标准字符模板。

字符识别步骤如下:

1)将分割后车牌字符归一化为M×N二进制矩阵。

2)根据式(17)计算输入字符和模板字符二维矩阵之间的相似度D。其中Iij代表输入车牌字符,T代表模板字符,(i,j)表示矩阵中像素索引。

图6 模板

通过模板匹配得到正确的车牌号码,证明该算法能够正确定位与矫正畸变车牌。

5 结束语

该算法结合数学形态学方法解决了传统定位算法无法准确定位蓝色车牌的弊端,同时提出一种可以识别多种颜色车牌的定位方法,并创新性地使用多次Hoguh变换提取所需车牌信息,借助数学方法对畸变车牌进行准确矫正,提高了车牌分割、识别准确率。

经实验分析,所实现畸变车牌定位与矫正方法研究可以有效应用在多颜色车牌、非均匀光照条件等复杂场景下,能够准确定位并矫正多种畸变车牌,具有较大的实用价值。

猜你喜欢

畸变车牌字符
大型焊接容器局部热处理防畸变工装优化设计
论高级用字阶段汉字系统选择字符的几个原则
几何特性对薄壁箱梁畸变效应的影响
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
在Lightroom中校正镜头与透视畸变
第一张车牌
基于MATLAB 的车牌识别系统研究