号码识别
为了进行车牌识别,需要以下几个基本的步骤:
1)牌照定位,定位图片中的牌照位置;
2)牌照字符分割,把牌照中的字符分割出来;
3)牌照字符识别,把分割好的字符进行识别,终组成牌照号码。
车牌识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。
1)牌照定位
自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,后选定一个的区域作为牌照区域,并将其从图像中分离出来。
2)牌照字符分割
完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。
3)牌照字符识别方法主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,选择匹配作为结果。基于人工神经网络的算法有两种:一种是先对字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把图像输入网络,由网络自动实现特征提取直至识别出结果。
实际应用中,车牌识别系统的识别率还与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、**等等;实际拍摄过程也会受到环境亮度、拍摄方式、车辆速度等等因素的影响。这些影响因素不同程度上降低了车牌识别的识别率,也正是车牌识别系统的困难和挑战所在。为了提高识别率,除了不断地完善识别算法还应该想办法克服各种光照条件,使采集到的图像利于识别。
Sobel边缘检测算子
Sobel算子是根据邻域像素与当前像素的距离有不同的权值,强调中心像素的对边邻域像素对其的影响,而消弱4个对角近邻像素的作用。图像中每一个像素点都用这两个核做卷积,一个卷积核对图像垂直边缘响应,而另一个则对水平边缘响应,取两个卷积之中的值作为该像素点的输出值。这样使得Sobel算子对噪声有抑制作用,因此不会出现很多孤立的边缘像素点,不过Sobel算子对边缘的定位不是很精确,图像的边界宽度往往不止一个像素,不适合对边缘定位准确性要求很高的应用。与Prewitt相似,Sobel算子也是通过像素平均来实现的,也有一定的抗噪能力。值得注意的是它们都不是各向同性的,所以它们检测出来的边缘并不是完全连通的,会有一定程度的断开。
Sobel边缘检测还有另外一种形式,称为Isotropic Sobel算子,该算子具有各向同性的特征,利用加权平均算子,权值反比于邻点与中心点的距离,当沿着不同方向检测边缘时梯度幅度一致, 因此它的位置加权系数更准确,在检测不同方向上的边缘时梯度的幅度一致,但速度较一般Sobel算子要慢一些。 用于边缘检测的算子很多,常用的还有Laplacian边缘检测算子、Canny边缘检测算子等。
车牌识别系统的基本工作原理及流程
车牌识别就是依次实现汽车图像的车牌定位、车牌字符分割、车牌字符识别算法的过程。车牌定位就是把车牌图像从含有汽车和背景的图像中提取出来,其输入的是原始的汽车图像,输出是车牌图像。
车牌的字符分割就是通过对车牌图像的预处理、几何校正等把字符从车牌图像中分割出来,分成一个个独立的字符,其输入是车牌定位后得到的车牌图像,输出是经过预处理、几何校正等后得到的一组单个的字符图像,并得到各个字符的点阵数据。字符识别是依次从单个字符点阵数据中提取字符特征数据,并给出识别结果。
① 车辆检测跟踪模块
车辆检测跟踪模块主要对视频流进行分析,判断其中车辆的位置,对图像中的车辆进行跟踪,并在车辆位置时刻,记录该车辆的特写图片,由于加入了跟踪模块,系统能够很好地克服各种外界的干扰,使得到更加合理的识别结果,可以检测无牌车辆并输出结果。
② 车牌定位模块
车牌定位模块是一个十分重要的环节,是后续环节的基础,其准确性对整体系统性能的影响巨大。车牌系统完全摒弃了以往的算法思路,实现了一种完全基于学习的多种特征融合的车牌定位新算法,适用于各种复杂的背景环境和不同的摄像角度。
③ 车牌矫正及精定位模块
由于受拍摄条件的限制,图像中的车牌总不可避免存在一定的倾斜,需要一个矫正和精定位环节来进一步提高车牌图像的质量,为切分和识别模块做准备。使用精心设计的快速图像处理滤波器,不仅计算快速,而且利用的是车牌的整体信息,避免了局部噪声带来的影响。使用该算法的另一个优点就是通过对多个中间结果的分析还可以对车牌进行精定位,进一步减少非车牌区域的影响。
④ 车牌切分模块
车牌系统的车牌切分模块利用了车牌文字的灰度、颜色、边缘分布等各种特征,能较好地抑制车牌周围其他噪声的影响,并能容忍一定倾斜角度的车牌。这一算法有利于类似移动式稽查这种车牌图像噪声较大的应用。
⑤ 车牌识别模块
在车牌识别系统中,通常采用多种识别模型相结合的方法来进行车牌识别,构建一种层次化的字符识别流程,可有效地提高字符识别的正确率。另一方面,在字符识别之前,使用计算机智能算法对字符图像进行前期处理,不仅可尽可能保留图像信息,而且可提高图像质量,提高相似字符的可区分性,保证字符识别的可靠性。
⑥ 车牌识别结果决策模块
识别结果决策模块,具体地说,决策模块利用一个车牌经过视野的过程留下的历史记录,对识别结果进行智能化的决策。其通过计算观测帧数、识别结果稳定性、轨迹稳定性、速度稳定性、平均可信度和相似度等度量值得到该车牌的综合可信度评价,从而决定是继续跟踪该车牌,还是输出识别结果,或是拒绝该结果。这种方法综合利用了所有帧的信息,减少了以往基于单幅图像的识别算法所带来的偶然性错误,大大提高了系统的识别率和识别结果的正确性和可靠性。
⑦ 车牌跟踪模块
车牌跟踪模块记录下车辆行驶过程中每一帧中该车车牌的位置以及外观、识别结果、可信度等各种历史信息。由于车牌跟踪模块采用了具有一定容错能力的运动模型和更新模型,使得那些被短时间遮挡或瞬间模糊的车牌仍能被正确地跟踪和预测,终只输出一个识别结果。
车牌识别技术原理
1、车牌识别系统框架
文通车牌识别系统采用高度模块化的设计,将车牌识别过程的各个环节各自作为一个独立的模块,采用国际的计算机智能算法技术,首先通过摄像头提取车牌视频图像,对获取的每一帧图像,利用的高效视频检测技术对车牌进行定位和跟踪,从中自动提取车牌图像,然后经过车牌精确定位、切分和识别模块准确地自动分割和识别字符,得到车牌的全部字符信息以及颜色信息。系统框架如图所示:
2、车牌定位模块
车牌定位模块是一个十分重要的环节,是后续环节的基础,其准确性对整体系统性能的影响巨大。本系统实现了一种完全基于学习的多种特征融合的车牌定位新算法,适用于各种复杂的背景环境和不同的摄像角度。同步内置的区域设置功能,可以很大程度上减少外部环境对于车牌识别的干扰,达到的识别效率。
3、车牌矫正及定位模块
受拍摄条件的限制,图像中的车牌总不可避免的存在一定的倾斜,需要一个矫正和定位环节来进一步提高车牌图像的质量,为切分和识别模块做准备。本系统使用*创的精心设计的快速图像处理滤波器,计算速度快,利用车牌整体信息,避免了局部噪声带来的影响,另一个优点就是通过对多个中间结果的分析还可以对车牌进行定位,进一步减小非车牌区域的影响。本系统较之其他公司的车牌识别系统,对于倾斜车牌图片的支持要更多,一般的车牌识别软件,支持的倾斜角度是±5°,该车牌识别软件,能支持±45°的倾斜角度,并且通过内部倾斜校正算法,不会因为倾斜角度的增加而降低识别率。
4、车牌切分模块
车牌切分模块利用车牌文字的灰度、颜色、边缘分布等各种特征,能较好地抑制车牌周围其他噪声的影响,并能容忍一定倾斜角度的车牌。
5、车牌识别模块
在车牌识别模块中,采用了多种识别模型相结合的方法,构建了一种层次化的字符识别流程,有效地提高了字符识别的正确率。另一方面,在字符识别之前,使用计算机智能算法对字符图像进行了前期处理,不仅保留了图像信息,而且提高了图像质量和相似字符的可区分性,保证了字符识别的可靠性。
6、车牌识别结果决策模块
文通车牌识别系统可以对每帧车牌图像进行实时识别,因此在一辆车的识别过程中,本系统将得到若干相同或不同的识别结果。这就需要一个识别结果的决策模块,具体地说,决策模块利用一个车牌的帧图像,对识别结果进行智能化的决策,通过计算观测帧数、识别结果稳定性、平均可信度和相似度等度量值得到该车牌的综合可信度评价,从而决定是否输出识别结果,或是拒绝该结果。一个车牌的终识别结果是通过分析所有帧的识别结果,对它们进行智能化的归类和投票,并结合一定的文法信息综合而成。这种方法综合利用了所有帧的信息,减少了以往基于单幅图像的识别算法所带来的偶然性错误,大大提高了系统的识别率和识别结果的正确性和可靠性。