一种复杂场景下车牌快速畸变矫正方法与流程

文档序号:16505771发布日期:2019-01-05 09:01阅读:550来源:国知局
一种复杂场景下车牌快速畸变矫正方法与流程

本发明属于车牌识别领域,涉及一种车牌识别矫正方法,具体涉及一种复杂场景下车牌快速畸变矫正方法。



背景技术:

随着中国社会经济的快速发展,人民的生活水平不断提高,越来越多的家庭拥有一辆甚至多辆私家车,城市的公共停车场资源严重不足,交通系统面临着巨大的考验。目前有一种解决方案是通过实时快速共享每个住宅小区闲置的停车空间资源,让附近没有公共停车资源的私家车可以就近将车停放在私人小区,在减少交通系统压力的同时,也可以更加有效地利用好闲置的空间资源,创造更高的社会经济效益。

建立共享车库首先需要一个完善的车牌识别系统(lpr),以实现车牌定位、字符分割和识别。但是在车辆进出小区时候,由于拍摄角度、车型大小不一等各种不同原因导致采集车牌图像时经常产生畸变,使得无法快速有效的识别车牌,大大的影响了共享车库工作的顺利推进。



技术实现要素:

本发明的目的在于提供一种复杂场景下车牌快速畸变矫正方法,以解决目前车牌识别系统识别率不高,无法应对雨雾以及灯光不好等情况下车牌畸变识别的问题,本发明识别效率高,可以有效提供识别效率,减少车库进出闸口拥堵问题。

为了解决上述技术问题,本发明采用的技术方案是:

一种复杂场景下车牌快速畸变矫正方法,其特征在于,包括以下步骤:

步骤一、提取摄像机拍摄的静态车牌图像,将车牌图像进行灰度化处理得到灰度图像;

步骤二、对于灰度图像每个像素点的灰度值进行非线性灰度增强,并经过滤波器滤波得到预处理的灰度图像;

步骤三、车牌定位,先采用形态学处理方法对车牌进行粗定位,然后利用基于hsv颜色空间的定位子算法对车牌进行精确定位;

步骤四、利用hough变换对车牌进行水平倾斜矫正;

步骤五、对水平矫正后车牌图像再次进行hough变换,利用累加器可以检测出某一θ角对应线段上端点坐标等信息,从而获取车牌四个顶点坐标;

步骤六、以四个顶点作为标定点,使用矩阵运算进行车牌图像的垂直倾斜矫正,完成复杂场景下车牌快速畸变矫正。

进一步的,上述复杂场景下车牌快速畸变矫正方法还包括以下步骤:

步骤七、用ostu法对畸变矫正后车牌灰度图二值化;

步骤八、对二值化的车牌灰度图像进行分割,分割后字符归一化;

步骤九、使用模板匹配的方法进行车牌字符识别。

进一步的,步骤一中,车牌图像采用如下公式灰度化:

上式中x表示对应像素点灰度化后的灰度值,r、g、b分别为该像素点在rgb色彩空间下对应值。

进一步的,步骤二中,非线性灰度增强为将灰度值从[x1,y1]非线性扩大到[x2,y2],增强变换后对应点灰度值xf如下式:

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

进一步的,步骤二中,采用中值滤波法处理去除灰度增强后产生的高灰度值噪点。

进一步的,步骤三中,采用形态学处理方法对车牌进行粗定位包括以下步骤:

步骤3.1采用roberts算子对灰度图像中车牌进行边缘检测;

步骤3.2形态学处理,首先对边缘检测图像进行腐蚀处理,腐蚀操作后,使用闭运算进行平滑边缘轮廓处理,腐蚀和平滑边缘轮廓后移除像素点少于1000的图元对象,得到粗定位后的车牌字符集中区域;

所述定位子算法包括以下步骤:

步骤3.3通过hsv颜色空间变换将车牌图像从rgb颜色空间转换为hsv颜色空间;

步骤3.4车牌定位,设hsv模型三个参数阈值向量p,当满足:

上式中p(1),p(2),p(3),p(4),p(5),p(6)分别为向量p的六个值,h、s和v分别为hsv颜色空间的三个参数,可提取到图像中目标颜色像素点,记y,x为车牌图像最大行、列索引,运用像素点统计和行列扫描方法定位车牌区域,具体方法如下:

步骤3.4.1逐行统计目标像素点数,并保存在y×1列矩阵中,记为bluey,查找bluey最大值对应的行索引maxy;

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

步骤3.4.3逐列统计目标像素点数,并保存在1×x行矩阵中,记为bluex,查找bluex最大值对应的列索引maxx;

步骤3.4.4同步骤3.4.2中方法可得目标车牌区域在px1、px2之间;

步骤3.4.5综合步骤3.4.2和步骤3.4.4的结果,可得车牌区域对应矩阵

步骤3.5精定位子算法,在hsv模型定位算法中,h、s、v分量范围分别为(0,180),(0,255),(0,255),经过有限次实验可得到车牌常见几种色彩对应的hsv模型,每一个阈值向量p对应特定颜色的车牌。

进一步的,步骤四中,利用hough变换对车牌进行水平倾斜矫正具体方法为:

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

xjcosθj+yjsinθj=ρj

hough变换将参数空间设为一个累加器,上式中,j为角标,为正整数,表示图像空间中点的序号,(ρj,θj)表示hough空间中极坐标,将通过点(ρ,θ)的曲线数记录在累加器中,当-90°≤θ≤90°,θ精度为1°时,设h(ρ,θ)初始值为0,对车牌图像中所有点依次进行如下计算:

h(ρ,θ)表示点(ρ,θ)对应的值,当n条hough空间曲线经过点(ρ,θ)时,有h(ρ,θ)=n,累加矩阵最大值max(h[ρ][θ])对应的极坐标(ρ0,θ0)即为车牌最长边框所在直线,θ0为车牌水平倾斜角,对车牌图像逆时针旋转θ0=8°并重新定位,完成水平倾斜矫正。

进一步的,步骤五中,获取四个车牌顶点坐标算法如下:

步骤5.1将hough变换后图像所有前景色像素点(xj,yj)保存在数组tp中;

步骤5.2对tp逐点进行hough变换,得到累加器h[ρ1][θ1],其中:

ht表示图像的高,wt表示图像的宽;

步骤5.3找到累加器最大值max(h[ρ1][θ1]),并记录对应hough空间坐标(ρbest,θbest);

步骤5.4对所有tp中像素点,计算ρ=xjcosθbest+yjsinθbest,若ρ=ρbest,则将该点存放在另一个数组tp1中;

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

进一步的,步骤六中,矩阵运算具体为:

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

将p1作为畸变矫正标定点,

作为矫正后的长,作为矫正后的高,经矫正后车牌四个顶点对应x,y矩阵:x=[p1(1)p1(1)+wp1(1)p1(1)+w],y=[p1(1)p1(1)p1(1)+hp1(1)+h];

矫正后四个顶点坐标对应区域组成矩阵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);f为计算出来的矩阵,a、b、c、d、e、g和h均为矩阵常数系数;

全局系数矩阵:r=[def;abc;gh1]

得矫正后的车牌四个端点坐标依次为:

p1=r*[111]'/(g*1+h*1+1)

p2=r*[1n1]'/(g*1+h*n+1)

p3=r*[111]'/(g*m+h*1+1)

p4=r*[111]'/(g*m+h*n+1)

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

进一步的,车牌字符分割具体方法如下:

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

车牌字符分割后字符识别步骤如下:

步骤9.1按照标准车牌是由汉字、英文字母和阿拉伯数字组成的规则,使用模板匹配法对进行字符识别,建立字符大小为m×n的标准字符模板;

步骤9.2将分割后车牌字符归一化为m×n二进制矩阵;

步骤9.3根据下面公式计算输入字符和模板字符二维矩阵之间的相似度d,其中iij代表输入车牌字符,t代表模板字符,(i,j)表示矩阵中像素索引;

通过模板匹配进行车牌字符识别,上式中m,n分别表示矩阵m×n的行列索引值。

本法有益效果是:

实验证明,本发明方法对畸变车牌图像矫正效果显著,可以实现非正常拍摄畸变车牌智能矫正与识别,对提高车牌识别准确率具有重要意义。经过适当的改装后,可以运用在需要实时识别车牌信息的一切行业,包括但不限于小区私有车库共享信息系统建设,公共停车区域收费系统,小区车辆车如出入自动登记系统,以及交通领域违规摄像等。

附图说明

图1为本法流程示意图;

图2为非线性灰度增强前的车牌灰度图像;

图3为非线性灰度增强后的车牌灰度图像;

图4为霍夫变换原理示意图;

图5边缘检测得到的车牌灰度图像;

图6为字符分割示意图;

图7为字符识别模板。

具体实施方式

下面结合附图对本发明进行举例说明,

如图所示,一种复杂场景下车牌快速畸变矫正方法,包括以下步骤:

1图像预处理

1.1灰度增强

提取摄像机拍摄的静态车牌图像,将车牌图像进行灰度化处理得到灰度图像,灰度化后对应像素点灰度值x与rgb空间下对应像素点r、g、b值关系如下式:

将灰度值从[x1,y1]非线性扩大到[x2,y2],变换后对应点灰度值xf如下式:

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

1.2滤波处理

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

2车牌定位

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

2.1形态学方法粗定位

2.1.1边缘检测

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

其中f(x,y)是输入图像,gx、gy是对应梯度,发生梯度阶跃的点即为图像的边缘轮廓,边缘检测结果如图4。边缘检测后二值图像存在很多与车牌区域无关的边缘信息,需要进一步处理。

2.1.2形态学处理

形态学处理主要通过腐蚀、膨胀与闭运算等操作逐步过滤无关信息,形态学(morphology)定义了腐蚀(erosion)与膨胀(dilation)两种基本运算,其它运算都由这两种基本运算复合而成。为处理边缘检测后多余边缘信息,首先对边缘检测图像进行腐蚀处理。腐蚀是将与结构元接触的背景点排除出图元,定义为:

a被结构元b腐蚀的结果是所有使b平移z后仍在a中的z的集合,算法使用结构元se1=[1;1;1]。

腐蚀操作后,车牌边缘特征会被削弱,为不影响车牌定位,需使用闭运算进行平滑边缘轮廓处理。

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

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

闭运算结构元其中m=n=20,amn=20。

腐蚀和平滑边缘轮廓后移除像素点少于1000的图元对象,得到粗定位后的车牌字符集中区域。

2.2定位子算法

2.2.1hsv颜色空间(hue-色调、saturation-饱和度、value-值)变换

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

v=max{r,g,b}公式八

2.2.2车牌定位

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

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

(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之间。

(5)综合(2)(4)的结果,可得车牌区域对应矩阵

2.2.3精定位子算法

在hsv模型定位算法中,h、s、v分量范围分别为(0,180),(0,255),(0,255),经多次实验得到我国车牌常见几种色彩对应的hsv模型各分量如下表1:

表1色彩对应分量范围

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

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

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

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

3畸变车牌矫正

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

3.1hough变换

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

xcosθ+ysinθ=ρ公式十二

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

3.2水平倾斜矫正

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

xjcosθj+yjsinθj=ρj公式十三

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

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

3.3车牌端点获取

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

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

(2)对tp逐点进行hough变换,得到累加器h[ρ1][θ1],其中:

ht表示图像的高,wt表示图像的宽。

(3)找到累加器最大值max(h[ρ1][θ1]),并记录对应hough空间坐标(ρbest,θbest)。

(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)]。

将p1作为畸变矫正标定点,

作为矫正后的长,作为矫正后的高。经矫正后车牌四个顶点对应x,y矩阵:x=[p1(1)p1(1)+wp1(1)p1(1)+w],y=[p1(1)p1(1)p1(1)+hp1(1)+h]。

矫正后四个顶点坐标对应区域组成矩阵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=[def;abc;gh1]

得矫正后的车牌四个端点坐标依次为:

p1=r*[111]'/(g*1+h*1+1)

p2=r*[1n1]'/(g*1+h*n+1)

p3=r*[111]'/(g*m+h*1+1)

p4=r*[111]'/(g*m+h*n+1)

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

4分割与识别

4.1车牌图像全局二值化

用ostu法对畸变矫正后车牌灰度图二值化,原理如下:记t为目标像素与背景的分割阈值,目标像素数占图像比例为w0,平均灰度为μ0;背景像素数占图像比例为w1,平均灰度为μ1。图像的总平均灰度为:μ=w0(t)μ0(t)+w1(t)μ1(t),从最小灰度值到最大灰度值遍历t,使得值g=w0(μ0-μ)2+w1(μ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进行遍历精确分割车牌后,效果如图6,图6中上部分为矫正后的车牌灰度图像,下部分为分割出来的字符。

4.3字符识别

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

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

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

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

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

字符识别步骤如下:

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1