车牌识别系统的基本工作原理及流程
车牌识别就是依次实现汽车图像的车牌定位、车牌字符分割、车牌字符识别算法的过程。车牌定位就是把车牌图像从含有汽车和背景的图像中提取出来,其输入的是原始的汽车图像,输出是车牌图像。
车牌的字符分割就是通过对车牌图像的预处理、几何校正等把字符从车牌图像中分割出来,分成一个个独立的字符,其输入是车牌定位后得到的车牌图像,输出是经过预处理、几何校正等后得到的一组单个的字符图像,并得到各个字符的点阵数据。字符识别是依次从单个字符点阵数据中提取字符特征数据,并给出识别结果。
① 车辆检测跟踪模块
车辆检测跟踪模块主要对视频流进行分析,判断其中车辆的位置,对图像中的车辆进行跟踪,并在车辆位置时刻,记录该车辆的特写图片,由于加入了跟踪模块,系统能够很好地克服各种外界的干扰,使得到更加合理的识别结果,可以检测无牌车辆并输出结果。
② 车牌定位模块
车牌定位模块是一个十分重要的环节,是后续环节的基础,其准确性对整体系统性能的影响巨大。车牌系统完全摒弃了以往的算法思路,实现了一种完全基于学习的多种特征融合的车牌定位新算法,适用于各种复杂的背景环境和不同的摄像角度。
③ 车牌矫正及精定位模块
由于受拍摄条件的限制,图像中的车牌总不可避免存在一定的倾斜,需要一个矫正和精定位环节来进一步提高车牌图像的质量,为切分和识别模块做准备。使用精心设计的快速图像处理滤波器,不仅计算快速,而且利用的是车牌的整体信息,避免了局部噪声带来的影响。使用该算法的另一个优点就是通过对多个中间结果的分析还可以对车牌进行精定位,进一步减少非车牌区域的影响。
④ 车牌切分模块
车牌系统的车牌切分模块利用了车牌文字的灰度、颜色、边缘分布等各种特征,能较好地抑制车牌周围其他噪声的影响,并能容忍一定倾斜角度的车牌。这一算法有利于类似移动式稽查这种车牌图像噪声较大的应用。
⑤ 车牌识别模块
在车牌识别系统中,通常采用多种识别模型相结合的方法来进行车牌识别,构建一种层次化的字符识别流程,可有效地提高字符识别的正确率。另一方面,在字符识别之前,使用计算机智能算法对字符图像进行前期处理,不仅可尽可能保留图像信息,而且可提高图像质量,提高相似字符的可区分性,保证字符识别的可靠性。
⑥ 车牌识别结果决策模块
识别结果决策模块,具体地说,决策模块利用一个车牌经过视野的过程留下的历史记录,对识别结果进行智能化的决策。其通过计算观测帧数、识别结果稳定性、轨迹稳定性、速度稳定性、平均可信度和相似度等度量值得到该车牌的综合可信度评价,从而决定是继续跟踪该车牌,还是输出识别结果,或是拒绝该结果。这种方法综合利用了所有帧的信息,减少了以往基于单幅图像的识别算法所带来的偶然性错误,大大提高了系统的识别率和识别结果的正确性和可靠性。
⑦ 车牌跟踪模块
车牌跟踪模块记录下车辆行驶过程中每一帧中该车车牌的位置以及外观、识别结果、可信度等各种历史信息。由于车牌跟踪模块采用了具有一定容错能力的运动模型和更新模型,使得那些被短时间遮挡或瞬间模糊的车牌仍能被正确地跟踪和预测,终只输出一个识别结果。
目前ITS市场中车牌识别系统主要功能包括:
1、 车辆牌照自动识别(信息包括完整的牌照信息,颜色、字符、汉字、数字全面完整的识别)。
2、 车速的自动准确检测。
3、 违法黑牌照车辆的抓拍报警。
4、 车辆识别信息与车管所车辆信息的及时联动、操作权限的分立、前端采集信息的实时上传以及网络断点续传等主流功能。
其中车辆牌照的自动识别系统目前业界纯视频识别率应达到90%以上,外触发识别率应达到98%以上。这里所说的识别率是指整牌的识别率,包括车牌颜色、字符、数字以及汉字四项内容。以目前技术角度来说**准确识别是理想化的情况,实际情况中车辆牌照的识别还存在外界因素的种种影响,例如车速、气候、照度等因素都会影响终的识别效果。车辆牌照的抓拍前提是摄像机快门,即SHUTTER的反应速度快慢来决定。通常来说车辆速度小于140公里/小时的时候,快门速度采用1/500~1/1000均可达到良好的效果,业内所用的摄像机其内部参数往往在这一区间内,这是业内厂家的一种共识。
Sobel边缘检测算子
Sobel算子是根据邻域像素与当前像素的距离有不同的权值,强调中心像素的对边邻域像素对其的影响,而消弱4个对角近邻像素的作用。图像中每一个像素点都用这两个核做卷积,一个卷积核对图像垂直边缘响应,而另一个则对水平边缘响应,取两个卷积之中的值作为该像素点的输出值。这样使得Sobel算子对噪声有抑制作用,因此不会出现很多孤立的边缘像素点,不过Sobel算子对边缘的定位不是很精确,图像的边界宽度往往不止一个像素,不适合对边缘定位准确性要求很高的应用。与Prewitt相似,Sobel算子也是通过像素平均来实现的,也有一定的抗噪能力。值得注意的是它们都不是各向同性的,所以它们检测出来的边缘并不是完全连通的,会有一定程度的断开。
Sobel边缘检测还有另外一种形式,称为Isotropic Sobel算子,该算子具有各向同性的特征,利用加权平均算子,权值反比于邻点与中心点的距离,当沿着不同方向检测边缘时梯度幅度一致, 因此它的位置加权系数更准确,在检测不同方向上的边缘时梯度的幅度一致,但速度较一般Sobel算子要慢一些。 用于边缘检测的算子很多,常用的还有Laplacian边缘检测算子、Canny边缘检测算子等。
对边缘检测后的灰度图进行二值化处理
车牌图像经过边缘检测之后,车牌上的字符及边缘信息会**出来,同时,其他非字符和非车牌边框的边缘纹理特征也**了出来,为了减少噪声的影响,需要对车牌图像进行二值化处理,二值化是对图像进行阈值化的一种类型。根据阈值的选取情况,二值化的方法可分为全局阈值法、动态阈值法和局部阈值法,我们用类间方差法(也称Otsu算法)进行阈值化,来剔除一些梯度值较小的像素,减少需要查找的车牌范围,二值化处理后车牌图像的像素值为0或者255。