基于自适应投影模板法的车牌定位方法 【技术领域】
本发明涉及一种机动车车牌图像的自动定位方法,属于计算机图像处理、模式识别和智能交通系统(Intelligent Transport System,ITS)控制技术领域,是智能交通系统中的车牌自动识别技术中的重要环节。
背景技术
智能交通管理系统是21世纪世界道路交通的发展趋势。高速公路的不断发展和车辆管理体制的不断完善,使图像场景日益简单化和标准化,这为以图像理解为基础的智能交通管理系统进入实际应用提供了契机。汽车车牌自动识别系统也正是在这种应用背景下被提出来的。
车牌自动识别系统主要包括两部分:(1)车牌图像定位,即从拍摄的原始图像中确定长方形车牌的相对位置; (2)车牌字符识别,从长方形的车牌图像中切分出单个字符,然后进行识别。其中,车牌的准确定位是车牌识别系统中的难点和重点,定位的准确性和速度也将直接影响车牌识别系统的性能。
当前车牌图像定位的主要方法有三大类:
(1)基于Hough变换的方法。该方法根据车牌具有明显矩形边框的特点,利用Hough变换来检测车牌图像区域边界,从而实现定位;
(2)基于边缘检测的方法。该方法利用了车牌字符之间边缘信息丰富的特征,结合数学形态学或区域生长的方法实现车牌图像定位;
(3)基于神经网络的方法。该方法利用图像的颜色或纹理特征训练神经网络,然后用训练好的分类器对图像中各个像素进行分类,再综合分类的结果从而得到车牌的准确位置。然而由于光照不均、污染等因素影响,可能使得车牌图像区域边界不明显或存在多个干扰区域,从而增加了车牌定位的难度。
可见,各种车牌图像的定位方法都有它们各自的特点,尚无一种方法能够达到性能最优、功能最完善的车牌图像定位方法。
【发明内容】
针对车牌图像定位中准确率和高效性难以同时提高这一难点,本发明提出了一种基于自适应投影模板法的车牌定位方法,采用自适应投影模板法,在复杂背景下实现车牌快速、准确的自动定位。
本发明采用的技术方案如下:
一种基于自适应投影模板法的车牌定位方法,其实现步骤如下:
(1)首先对拍摄的原始图像进行预处理,包括对原始图像进行彩色图像灰度化处理、二值化处理和图像去噪处理,形成二值化的车辆图像;
(2)对车辆图像进行垂直投影,然后采用像素跳变排序法,计算出车牌图像区域的垂直坐标,并对这些坐标值进行自适应误差修正,从而获得车牌的垂直位置和车牌长度Wide;
(3)根据车牌的物理形态特征,即车牌长宽比约为10∶3,计算出车牌的宽度Height为0.3*Wide,并创建匹配模板:Height*Wide;
(4)对垂直定位后的车辆图像进行水平投影,再用匹配模板自下而上扫描该投影图像,当匹配模板中各行像素的水平差分累加值为最大时,即找到车牌在车辆图像中的水平位置,最终实现车牌图像的准确定位。
本发明在对车辆图像的垂直投影图和水平投影图进行深入研究和分析的基础上,采用了不同的方法分别对其进行垂直定位和水平定位。在垂直定位时,采用投影法对车辆图像进行垂直投影,在对垂直投影图像扫描时,不但要统计图像中各相邻两列间黑色像素点数的绝对差值,同时还记录下每个差值所对应的前一列的坐标;再采用从大到小的冒泡排序法排列该绝对差值,其对应的坐标值也相应进行了排序;由于车牌中只有7个字符,在车牌区域内的剧烈跳变点不会超过20个,故取前20个坐标值,即为车牌在垂直方向的大概区域;最后采用最小二乘法进行误差修正,去除突变的值,即误差值,剩下的坐标值所对应的区域即为车牌在垂直方向上的准确位置。
经垂直定位后,得到了车牌的长度Wide。根据车牌具有的固定长宽比特征(约为10∶3),便可得到车牌的宽度Height为0.3*Wide,并创建矩形匹配模板:Height*Wide。
由于在水平方向上地车牌区域与其他区域具有明显不同的特征,其边缘信息丰富,灰度跳变率大,利用水平差分法就可求得车牌的水平位置。为克服采用单一的投影法在水平定位时效果较差,误定位率较高的缺点,本发明采用了水平投影和矩形匹配模板相结合的水平定位方法。实现如下:先对垂直定位后的图像进行水平投影;再用矩形匹配模板对水平投影图像自下而上进行扫描,当模板中像素点的水平差分累加值为最大时,便找到了车牌准确的水平位置。
本发明有效地利用了车辆图像在垂直、水平两个方向上的图像投影特征分别进行定位,较好地排除了噪声干扰,使得鲁棒性明显提高;能有效地去除车牌边框,实现车牌的准确定位;适合于不同的光照条件,定位准确性和处理速度同时得到提高,为后续的车牌字符分割与识别打下基础。
当然,对于个别污染严重或者字体模糊不清的车牌,噪声干扰很大,定位效果就会较差,这种情况应转入人工处理。
【附图说明】
图1为车牌图像定位方法流程图;
图2(a)-2(c)为二值化的车辆图像及其投影图;
其中:图2(a)为预处理后的车辆图像;
图2(b)为车辆图像的水平投影图;
图2(c)为车辆图像的垂直投影图;
图3为垂直定位算法流程图;
图4为水平定位算法流程图;
图5为水平定位示意图;
其中:图5(a)垂直定位后的水平投影图;
图5(b)匹配模板自下而上扫描示意图。
【具体实施方式】
为了使本发明技术手段、特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明的处理流程如图1所示:拍摄的原始图像经过彩色图像灰度化、图像增强、最大类间方差二值化、中值滤波等预处理后,利用本发明中的投影法、像素跳变排序法、自适应误差修正和模板匹配法分别进行垂直定位和水平定位,最终得到车牌的准确位置。
由于直接对彩色图像进行处理的运算量很大,不能满足实时性的要求,故在预处理的第一步即将彩色图像转换为灰度图像。
转换公式: H=0.299*R+0.587*G+0.114*B (1)
式中:H为灰度值,R、G、B分别为红色、绿色和蓝色分量值。
然后采用线性拉伸来增加灰度变化范围,达到增强图像对比度的目的,以便于后面的处理。
图像二值化的关键是阈值的选取,本发明采用了最大类间方差法对图像进行二值化,能有效地克服光照不均匀的影响。其原理是把直方图在某一阈值处分割成两组,当被分成的两组间方差为最大时,即为阈值。经过二值化后的车辆图像突出了车牌图像区域的特征,使得车牌图像区域和背景对比更加明显。
最大类间方差法的处理过程如下:
用f(x,y)来表示一幅图像,设该图像的灰度值为0~m-1级,灰度值i的像素数为ni,此时得到的像素总数为:
N=Σi=0m-1ni---(2)]]>
各值的概率为:pi=niN---(3)]]>
然后用某一阈值T将其分成两组C0={0~T-1}和C1={T~m-1},各组产生的概率和平均值:
C0产生的概率w0=Σi=0T-1pi=w(T)---(4)]]>
C1产生的概率w1=Σi=Tm-1pi=1-w0---(5)]]>
C0的平均值μ0=Σi=0T-1ipiw0=μ(T)w(T)---(6)]]>
C1的平均值μ1=Σi=Tm-1ipiw1=μ-μ(T)1-w(T)---(7)]]>
其中,μ=Σi=0m-1ipi]]>是车辆图像的灰度平均值;μ(T)=Σi=0T-1ipi]]>是阈值为T时的灰度平均值;全部像素点的灰度平均值为:μ=w0μ0+w1μ1 (8)
两组间的方差:
δ2(T)=w0(μ0-μ)2+w1(μ1-μ)2=w0w1(μ1-μ0)2=[μ.w(T)-μ(T)]2w(T)[1-w(T)]---(9)]]>
从1~m-1之间改变T,求上式为最大值时的T,即求δ2(T)最大时的T*值,此时的T*便是阈值。最后,对图像进行二值化处理:
f*(x,y)=0f(x,y)<T*255f(x,y)≥T*---(10)]]>
式中f*(x,y)为二值化后的图像。
此方法不论图像的直方图有无明显的双峰,都能得到较满意的结果。
由于二值化后的车辆图像难免会存在噪声和边缘干扰,故进一步采用中值滤波法来滤除孤立点噪声,使其较好地保留了车辆图像边缘的细节。该方法使用一个窗口W(本发明选用3×3的窗口)在图像上进行扫描,将窗口内包含的图像像素按灰度排列,取其中间值作为窗口中心像素的灰度,如式(11)所示。
f*(x,y)=med{f(x-r,y-s),(r,s)∈W} (11)
其中:f*(x,y)是指经中值滤波后的输出图像;坐标(r,s)为窗口W中的某一点。
经过预处理后的车辆图像,车牌图像区域的特征比背景区域更加明显,对其在垂直方向上投影后,会出现约7个连续的波峰区(表示车牌区域内各字符之间边缘信息的变化,如图2(c)所示)。因此,垂直投影图像能较好的反映出车牌区域在垂直方向的位置;在水平方向上投影时,由于上下边框的连续性,且与字符的上下端之间有一定的空隙,所以边框在投影图中必然对应的是两个波谷位置,即两个波谷之间的区域为水平方向的车牌区域。但是,车牌的水平投影图像不能体现字符特征,其车牌图像区域的特征没有垂直投影图那么明显,极易产生误定位,如图2(b)中区域A、B、C都可被认为车牌区域。如采用单一的投影法对其水平定位,效果将不理想。因此,本发明采用了不同的方法分别对车辆图像进行垂直定位和水平定位。
在垂直定位时,考虑到车牌区域的像素点跳变情况会在整个垂直投影图像中比较剧烈,如何提取出这些跳变点的坐标便是定位的关键所在。本发明采用的方法如下(如图3):首先,对车辆图像进行垂直投影,统计出各列黑色像素点的个数f(i)(其中i=0,1,2,3....img_Width;img_Width表示车辆图像宽度);再从左向右水平扫描,求出每相邻两列之间黑色像素点的绝对差值D(i),即D(i)=|f(i)-f(i+1)|,同时记录下每个差值所对应的前一列的坐标i;然后采用冒泡排序法对D(i)从大到小排列。由于车牌只有7个字符,在车牌区域内所占的剧烈跳变值不会超过20个,故选取D(i)中前20位跳变值,并记录下坐标值,记为i(20),从而就得到车牌在垂直方向上的大概位置,这在很大程度上节约了处理时间;最后,对i(20)这20个坐标值进行从小到大排序和去除突变的值(即误差值),便得到了图2(c)中a、b两点的坐标值,实现了车牌在垂直方向的准确定位。
以图2(a)为例,按上述算法处理后,可得D(i)的前20个的数值为:(372,371,370,361,314,313,312,306,264,187,186,168,167,166,165,164,163,162,155,154);其对应的坐标值i(20)从小到大排列为:(103,124,165,222,229,236,245,257,268,275,284,289,301,429,437,464,523,562,563,566)。对i(20)中20个坐标值采用最小二乘法进行误差修正,去除突变的值(即i(20)中前3个坐标值和后7个坐标值),得到垂直方向上的车牌区域是在222-301之间,如图2(c)所示。即a点坐标值为222,b点坐标值为301,车牌长度为:Wide=b-a=79。
根据车牌具有的固定长宽比(约为10∶3),便可得到车牌的宽度Height为0.3*Wide,从而创建矩形匹配模板:Height*Wide。
经过预处理后的车辆图像在水平方向上的车牌区域与其他区域具有明显不同的特征。该区域边缘丰富,在水平方向灰度跳变率大,即水平差分的累加值大。
匹配模板内的水平差分累加值:
C=Σm=1HeightΣn=1Wide|f(m,n)-f(m,n+1)|---(12)]]>
式中:Height表示匹配模板的宽度;Wide表示匹配模板的长度。
本发明所采用的水平定位方法,如图4所示:首先对垂直定位后图像进行水平投影,如图5(a)所示;再用匹配模板对水平投影图像从下而上扫描,如图5(b)所示。共扫描n-1次,n表示该图像的高(img_Height);在每一次扫描过程中,计算匹配模板内的水平差分累加值Ci(其中i=1,2,3....n);最后,求出最大的累加值Cmax,这便找到了车牌的水平位置,最终实现车辆图像的准确定位。
本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等同物界定。