何婧 长沙理工大学/永州职业技术学院
智能停车场管理系统的核心是车牌识别技术,车牌识别技术是一项新兴的非接触的自动识别技术,它是计算机视频图像识别技术在车辆牌照识别的应用,通过将车辆牌照信息从复杂的背景中提取并识别实现对停车场车辆的管理,相对于其他自动识别技术,该技术具有远程识别、快速识别、效果良好、抗干扰能力强等优点。国内车牌识别技术面临的难点主要包括以下几个方面。环境因素:国内停车场往往设置在市区繁华地段或建筑物的地下层,这些地方往往周边环境较为复杂,收到光线、天气、行人、车辆等客观因素的影响较大,同时,由于车辆的差别性,车牌位置也不尽相同,容易影响到车牌的识别效果。图像因素:车牌的干净程度也对车牌的正确识别起到了关键作用,由于国内环境以及道路的复杂性,有些车牌容易沾染到污渍,车牌出现弯曲变形等现象,从而造成车牌单个字符间距,样式出现改变,严重的甚至会造成车牌无法识别等现象。算法因素:车牌是通过高清摄像设备对图像进行采集,在通过预先设置的算法对车牌进行定位与识别,因此,算法的优劣直接决定了车牌识别的准确率和效果,识别的图像模糊、字符失真、位置倾斜等都会影响到算法的执行效率,尤其是对于停车场管理而言,快速而准确的识别对提高停车场的管理水平起到了至关重要的作用。国情因素:国内车牌由于特殊性包含了中文这种特殊字符,中文字符结构复杂,同字母和数字相比,识别难度大,同时,我国车牌种类众多,车牌结构与背景色都存在差异,对车牌识别提出了更高要求。
基于此,针对我国中文车牌特性对车牌定位算法进行了改进,其设计思想是利用边缘检测算子提取边缘,通过对比分析 Laplace算子、Scharr算子和 Sobel算子得出,Sobel算子具有更加优越的边缘检测性能,再利用图像形态学开闭运算完成车牌的定位。
车牌识别技术是对采集的图像信息进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,最后组成车牌号码输出。车牌识别技术的核心包括有:车牌定位算法、车牌字符分割算法和车牌字符识别算法等。
2.1 车牌定位:从拍摄识别出的图像中根据车牌定位算法找到汽车牌照所在的位置图块及相似图块,并对图块进行判断,保留仅为车牌的图块,并从中准确的将车牌图块分割出来。
2.2 车牌字符分割:对定位出来的车牌区域,根据字符尺寸特征对车牌进行字符分割处理。
2.3 车牌字符识别:对分割后的字符进行缩放、特征提取,并通过与字符数据库模板中的标准字符表达式进行匹配判断,并将识别后的结果以文本形式输出。
车牌识别总体流程图如图1所示。
图1 车牌识别总体流程图
车牌定位结果对于后续车牌识别的成功起决定性作用。目前,车牌定位学术界有许多方法,大体上可以划分为三大类:1、基于颜色定位算法,2、基于边缘定位算法,3、基于机器学习算法,具体而言比如基于颜色和纹理分析的方法、基于数学形态学的方法、基于特征颜色边缘的方法、基于投影图像分布特征的方法、基于神经网络的方法等。
考虑到车牌定位的时间性要求,本文选择了时间复杂度低、效果好的基于边缘特征的车牌定位方法。边缘检测的基本思想是通过检测每个像元是否位于一个物体的边界上。如果每个像元位于一个物体的边界上,则其领域像元灰度值变化比较大。通过对比分析Laplace算子、Scharr算子和 Sobel算子得出,Sobel算子具有更加优越的边缘检测性能,再利用图像形态学开闭运算完成车牌的定位。
基于边缘检测Sobel算子车牌定位算法流程图如图2所示。
图2 基于边缘检测Sobel算子车牌定位方法流程图
3.1 基于边缘特征的车牌定位方法
根据所采用的模版不同,有不同边缘提取算子,下面将主要对Laplace算子、Scharr算子和 Sobel算子进行车牌图像提取的比较。
3.1.1 Sobel算子
Sobel算子是一种基于一阶导数的边缘检测算子,针对车牌定位主要用于监测图像中的垂直边缘,便于实现对车牌的区分。其计算原理是通过对图像求一阶的水平与垂直方向导数,根据导数值的大小来判断是否是边缘。Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
Sobel算子的卷积模版如下:
横向模板:Gx 纵向模板:Gy 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。再利用以下公式计算梯度方向
若梯度方向计算为0,则表示图片具有纵向边缘,图片的左边要比有变暗。
3.1.2 Laplace算子
Laplace算子同Sobel算子一样也是一种边缘检测算子,不同于Sobel算子的一阶导数,Laplace算子通过对图像的二阶倒数的零交叉点来实现边缘的检测。
Laplace算子的公式定义:
一般情况下,Laplace算子检测不分水平和垂直,同时,不能提供边界方向信息,对噪声也比较敏感。
3.1.3 Scharr算子
Scharr算子其实只是Sobel算子的一个变种,由于Sobel算子在3*3的卷积模板上计算往往不太精确,因此有一个特殊的Sobel算子,其权值按照如下公式来表达,称之为Scharr算子。
其中,dst为计算结果,Src为原图像,ddpeth为处理结果图像深度,dx为X轴方向,dy为Y轴方向。
一般来说,Shcarr算子能够获得比Sobel算子更加优秀的边缘检测效果,但是,对于车牌识别场景而言,越精细的边缘会影响到闭运算处理效果。
通过对基于边缘检测方法的Sobel算子、Laplace算子和Scharr算子进行阐述,对不同算子对于车牌定位方法进行了图像检测,不同算子之间对比图如图3所示。
图3 不同算子之间对比图
综上所述,在对图像边缘化检测的过程中,Sobel算子对于车牌定位检测的效果要好于Laplace算子与Scharr算子。
3.2 基于形态学定位方法
数学形态学是一门建立在格论和拓扑学基础之上的图像分析学科,通过对各要素之间相互作用以及图形结构,进一步获取对象的本质形态。形态学图像处理基本的运算包括:腐蚀、膨胀、开运算、闭运算等。通过引入形态学对车牌图像进行处理,进一步对图像质量进行改善,去除或降低噪点对图像处理的影响,从而提高车牌定位的准确性。
3.2.1 二值化
通过二值化处理将Sobel生成的灰度图像转变为二值图像,其目的为后续的形态学算子Morph等准备二值化的图像。二值化效果图如图4所示。
图4 二值化后效果
3.2.2 闭操作
通过对图像进行闭操作处理(先膨胀然后腐蚀)可以实现对所有的字符小图块的连接,最终形成一个车牌的大致轮廓。闭操作后效果如图5所示。
图5 闭操作后效果图
3.2.3 取轮廓
取轮廓是通过将连通域的外围勾画出来,并将图像中独立出来的图块全部提取出来,进一步形成最小外接矩形。取轮廓效果如图6所示。
图6 取轮廓图
上图红色线条为轮廓,然后根据这些轮廓,求这些轮廓的最小外接矩形,可以看出共识别出6个矩形块。
3.2.4 车牌定位
通过取轮廓操作识别出来的许多大小不同矩形块,考虑到中国车牌宽、高具有固定规格,宽高比为3.14,同时,车牌图像倾斜角不会太高。因此,可以从矩形块特征中识别出车牌信息,如图块倾斜角度大于某个设定阀值时(30度),我们就判定该图块不是车牌。车牌最终定位图如图7所示。
图7 车牌定位图
本文基于边缘检测Sobel算子和图像形态学闭运算完成车牌的定位。该算法能够有效降低车牌图像噪声的干扰,快速的定位出车牌区域,具有一定的工业应用价值。