APP下载

基于HSV空间颜色和纹理特征的车牌定位算法研究

2022-05-27闵升锋李大舟

沈阳化工大学学报 2022年1期
关键词:字符车牌纹理

赵 洋,闵升锋,李大舟

(沈阳化工大学 计算机科学与技术学院, 辽宁 沈阳 110142)

智能交通系统在车辆追踪、交通监控、限速执法、自动停车等方面发挥着重要作用[1].车牌识别技术的难点包括车牌定位[2]及其字符的识别.目前,车牌定位常用的是基于特征提取的方法.该方法分为基于颜色特征的方法和基于纹理特征的方法.在一般情况下,基于颜色特征的方法可以在复杂的背景中直接定位到车牌区域.甘胜军[3]提出利用 HSV 色彩空间进行车牌识别;孙红等[4]提出基于复杂背景下,通过融合字符纹理特征与 RGB 颜色特征的定位算法进行车牌定位.利用车牌区域背景底色与字符颜色互补的特性,通过寻找图像车牌区域颜色点对,结合字符纹理特征反馈校验,能快速准确定位车牌,即将图像颜色空间从RGB转换到HSV,在HSV颜色空间中将亮度独立分割出来.但是当图片中的背景及车身颜色与车牌区域颜色相似时,这一方法效果不佳.基于纹理特征的方法[5-8]虽然可以解决颜色相似问题,但容易受到周边复杂背景中纹理特征的影响,导致误检率高.因而,对于复杂背景下的车牌定位还亟需进一步的研究.

本文以车牌区域为定位对象,提出一种基于HSV空间和纹理特征融合的车牌定位算法.该算法首先通过RGB到HSV空间[9]的转换,从复杂背景中初步定位车牌区域;然后,以车牌的纹理特征为依据,统计字符像素跳变的次数,通过设置阈值,从而精确定位车牌区域;最后,通过建立BP神经网络训练识别车牌字符来验证车牌定位的准确性、有效性.

1 车牌颜色分割算法

1.1 HSV色彩空间

RGB和HSV色彩空间应用各有不同.RGB颜色空间是面向电子显示设备的颜色空间,一幅图像分别由红(R)、绿(G)和蓝(B)3个通道组成,并且一幅图像的颜色形成与3个分量高度相关,改变颜色,需要同时对3个分量进行调整.HSV颜色空间在图像处理中更多地应用于颜色分割,由色相(hue)、饱和度(saturation)和透明度(value)组成.RGB和HSV之间的转化来自硬件实现与显示效果调整两方面的需求.前者满足具体处理过程中简便高效实现,后者按照人眼识别特点进行调整,更容易达到人眼预期的显示效果.HSV色彩模型[10-11]可以表示成一个倒立圆锥,如图1所示.

图1 HSV色彩模型

由于电子设备上的显示图像都是RGB类型,在做图像处理时为了方便进行颜色的对比,通常需要格式转换,RGB和HSV各分量的关系如下[12]:

R′=R/255,G′=G/255,B′=B/255,

(1)

Imax=max{R′,G′,B′},Imin=min{R′,G′,B′},

(2)

δ=Imax-Imin,

(3)

(4)

V=Imax,

(5)

(6)

其中:H代表色相,用来表示颜色的种类,对应取值0°~360°,红色0°,绿色120°,蓝色240°;S表示饱和度,用来表示颜色的鲜艳程度,对应取值范围是0~100%;V表示亮度,用来表示颜色的明暗程度,对应取值范围是0~100%.

1.2 基于车牌颜色特征的初定位

中国的车牌区域的字符颜色和底色颜色辨别度很高,因此,可以基于HSV颜色模型,根据车牌底色,利用颜色空间距离及相似度计算,初步找到待筛选目标颜色区域,再采用直方图统计法来找到目标颜色区域.下面以车牌区域颜色与背景相同和不同的情况为例,其算法流程如下:

(1) 将图像色彩空间从RGB转换到HSV.

(2) 利用颜色空间距离及相似度计算,通过设置阈值进行二值化处理.

(3) 通过直方图统计法绘出水平和垂直方向对应位置的像素个数和,分析定位出车牌区域.

在一般情况下,基于颜色特征的方法也能准确定位到车牌区域,但存在车牌底色与车身以及周围环境相似的情况,故车牌区域分割不能一步完成,留下大片待检测区域.当车辆图片中只有车牌区域为蓝色时,可以依据颜色特征成功分割出车牌,其过程如图2(a)所示.当整个车身与车牌都为蓝色时,使用基于颜色特征的方法无法成功分割出车牌,其过程如图2(b)所示.针对上述现象,需要结合车牌区域独有的纹理特征进一步分析,以便定位出车牌区域.

图2 颜色分割示意图

2 车牌纹理特征分割算法

2.1 车牌区域纹理特征分析

车牌目标区域富有纹理特征,其边缘信息非常丰富.车牌边框、底色、字符共同构成车牌,其中车牌字符的颜色为白色,灰度化后的车牌区域车牌字符部分的像素值最高.车牌字符比较集中,且字符与字符之间有固定间隔,像素值相差很大.基于纹理特征的方法也可直接应用于车牌定位,但是在复杂的背景中,这种方法的效果不明显,因此要结合颜色特征进行车牌区域的定位.

2.2 车牌纹理特征定位算法流程

(1) 对颜色特征筛选后的目标区域进行灰度化处理.

(2) 对灰度化的待验证车牌区域进行二值化处理(车牌底色为背景,字符为前景).

(3) 通过分析车牌字符间像素值跳变的特征,设置跳变次数阈值,对二值化后的图像区域按行遍历统计像素值跳变次数,定位车牌区域上下界.

(4) 按照垂直投影法确定车牌区域左右边界.通过按列遍历统计每列白色像素点的个数绘制二值化直方图.车牌字符区域的特点,使得直方图出现明显的数个波峰波谷区域,分别从左侧和右侧寻找明显的波谷,记录坐标点,最后完成左右边界定位.

在HSV空间颜色初步定位车牌的基础上,结合纹理特征分割,分割后的效果如图3所示.

图3 纹理分割示意图

2.3 车牌字符分割

字符分割是车牌矫正后的一个处理过程,也是车牌识别前的最后一项准备工作.文中算法适用于无倾斜的情况,因此采取的样本基本无倾斜.对样本只需要去除一些边框、铆钉,最后再进行字符分割,其流程如图4所示.

图4 车牌字符分割流程

根据车牌字符与字符边缘之间跳变的特征,设置跳变次数阈值:首先采用水平投影计数的方法滤去上下边框和铆钉;然后采用垂直投影法,利用车牌字符与背景的梯度跳变,通过寻找梯度边界点去掉左右边框并分割出字符.其分割效果如图5所示.

图5 字符分割效果

2.4 搭建BP神经网络

将分割后的车牌字符进行归一化处理,统一将大小设置为12×12.BP神经网络[13-15]具有自组织、自适应、分布式,及非线性映射等优点,广泛应用于需要分类识别的领域.理论和试验证明,3层的神经网络能够很好地替代任何非线性函数.为此,采用3层BP神经网络建立车牌字符识别模型.通过变换12×12的图像扁平化为144×1的输入向量[x1,x2,…,x144],144个特征作为输入节点.把对字符的判断结果作为输出矢量.由于车牌字符由汉字、字母、数字组成,将车牌字符识别分两类.单独识别汉字,汉字由各省市简称组成,分别建立字符库,对汉字的识别输出矢量为[y1,y2,…,y34].同理,对字母和数字建立字符库,数字包含0~9,字母有26个,但字母I和O与数字1和0相似,易造成错误识别,一般不会出现在车牌中,所以这一类输出矢量为[y1,y2,…,y34].最终的神经网络结构为n×n×10,分别为:输入层的n个样本,每个样本144个特征,组成n×144的二维矩阵;中间层为隐藏层,节点数根据经验所得;输出层节点为10,表示10分类,编码格式为one-hot编码.其大致结构如图6所示.

图6 BP神经网络结构

3 实验与结果分析

实验环境:联想G510AM,CPU是intel酷睿i3 4000M;操作系统为Windows 8中文版;处理器为双核四线程.实验所处理的图片都经过预处理,按比例缩小,故对计算机配置要求不高,运行时间短.实验所使用的1356张图片来源于网络公开的数据库,其中车牌底色与车身和背景颜色相似的有356张.以此建立本实验所要使用的图库.

3.1 车牌定位识别流程

(1) 预处理,灰度转换、图像增强、边缘提取.

(2) 将图像色彩空间转化到HSV.

(3) 在HSV颜色空间中,通过对颜色空间距离及相似性计算,对图像二值化处理.

(4) 对候选的目标区域进行特征及纹理分析.依据车牌区域字符像素跳变特征,统计跳变次数,再通过阈值设置定位车牌区域.

(5) 分割车牌字符,归一化,建立BP神经网络,使用训练样本训练网络.

(6) 利用训练好的BP神经网络对车牌字符进行识别.

3.2 车牌识别与结果分析

对车身颜色以及周边颜色与车牌颜色相似和复杂背景下的车牌图像进行定位.通过后续的字符分割和BP神经网络的建立、训练和识别字符来验证车牌定位的有效性.

为充分验证本文算法对复杂背景下车牌定位的有效性,在图库中选取了1356张车牌图片,其中:车牌区域与车身及周边颜色相似的图片有356张;背景非常复杂,包括商店招牌等的车辆图片有1000张.用三种方法分别对车牌图片进行定位,然后通过字符的分割,BP神经网络的建立、训练来识别车牌,验证车牌定位的有效性.从图库中选出1216个训练样本和140个测试样本,对比结果如表1所示.

表1 三种方法的效果对比

在特征融合的方法中,需要设置字符跳变阈值,通过对1356张图片的实验可以得出:阈值设置在9~13区间内,其正确检测出车量数最多.数据如表2所示.

表2 不同阈值设置下的效果对比

图7是通过阈值设置来定位出的车牌区域的效果对比图.(a)图片的阈值设置为9~13,但定位出的车牌区域上下边框凸显出来,效果不佳;(b)图片的阈值设置为13~16,其上下边界刚好完全显示出来,没有任何边框;(c)图片的阈值设置为16~20,此时图片中的车牌区域出现过分割的情况,这对后面的字符识别造成很大的困难.因此,实验选择在阈值13~16的条件下进行.

图7 阈值设置定位效果

通过上述结果的对比,体现了文中算法的优越性.但该算法仍存在车牌漏检的情况,原因是车牌的摄像存在倾斜现象.车牌区域首先通过颜色分割,然后结合车牌字符纹理跳变特征定位出字符,如果车牌发生倾斜,车牌的字符跳变特征筛选车牌区域的效果就不佳.所以,在今后的研究中着重解决这一问题.

4 结 语

针对复杂背景下的车牌定位问题,首先用基于颜色特征的方法,筛选出车牌候选区域;然后采用基于纹理特征的方法,利用车牌区域字符跳变的特征,最终定位出车牌区域.利用BP神经网络验证车牌定位的有效性.实验表明:基于颜色和纹理特征结合的方法定位出的车牌,车牌字符识别率达95.06%,对比于只基于颜色特征和只基于纹理特征的车牌定位方法,识别率有明显提高.

文中方法主要通过车牌的特征分析来对车牌进行检测.但对于发生不同程度倾斜的车牌图片,定位效果不佳,不能更好地通过BP神经网络来验证车牌定位的有效性.因此,下一步的研究工作重点是解决倾斜状态下对车牌的定位,从而提高车牌字符识别率,提高车牌定位的有效性.

猜你喜欢

字符车牌纹理
车牌颜色里的秘密
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
肺纹理增多是病吗?
童梦
TEXTURE ON TEXTURE质地上的纹理
第一张车牌
一种侧向插装型车牌架
消除凹凸纹理有妙招!