主页 > 新闻资讯 >

基于虚拟线圈的自触发车牌识别系统

2019-05-13 11:02 新闻资讯 已读

车牌识别的问题上,通常采用的有多种处理方法。包括在车牌定位上使用基于彩色分割或区域生长法等技术;在字符识别上使用基于模板的匹配算法或基于统计的匹配算法等技术。但这些技术往往由于图像的噪声或车牌位置的倾斜等原因造成了图像提取的模糊不清或者定位不准确等问题,使系统的识别率并不很高。

  云易基于虚拟线圈的自触发车牌识别系统,它的技术方案为:

  步骤1,对车辆视频信号进行预处理;

  步骤2,工控机接收视频流信号后,创建两个进程分别是视频流处理进程和车牌识别进 程,两进程间采用油槽通信;在视频流处理进程中,采用基于虚拟线圈的自触发方式采集含 有车牌信息的静态车辆图像;在车牌识别进程中,对静态车辆图像的处理;

  步骤3,工控机对车辆图像进行预处理;

  步骤4,对车牌进行定位和车牌倾斜的校正;

  步骤5,自动车牌图像中过滤铆钉、白边、污损信息;

  步骤6,进行字符分割;

  步骤7,进行字符识别;

  步骤8,将识别出合格合理的车牌信息存入数据库,结束本次识别。

 

车牌识别系统


  所述步骤1中,预处理过程为,摄像头通过镜头聚焦于像平面的光线生成图像,帧率大25帧/秒,形成PAL格式的模拟彩色信号视频流,然后视频流进入图像采集卡,在图像采集卡中进行模数转换,将模拟信号转换为数字信号并对图像进行压缩和裁剪,送入工控机。其中,像平面是由一些光电传感器阵列组成,将光信号转换为电信号进入计算机形成图像。所述步骤2中,视频流处理进程直接利用采集卡所附带的SDK软件开发包中的示例程序进行修改,对每帧图像的采集和减背景处理;在视频视野范围内圈定模拟线圈,用来判断视频流中的每帧图像此区域与该区域背景的灰度差值,根据该差值以及预先设定的阈值来判断该区域中是否有车辆进入;若没有发现有车辆进入,继续处理下一帧图像;若发现有车辆进入,则启动图像发送线程,将该图像发送到车牌识别进程,进行后续处理;

  车牌识别进程首先不断判断是否有接收到图片,如果未接收到,继续等待,若接收到, 则启动图像处理线程,对转入步骤3)对图像进行处理。所述步骤3中,所述车牌图像预处理包括真彩色图像灰度化、图像增强和中值 滤波三步;在监控摄像机返回的视频流中采集到的图像是一 24位真彩色图像,图像数据量大,首先需要对图像灰度化,去除无效信息即颜色,保存有效信息即亮度,公式为:g (i, j)=0. ll*R(i,j)+0. 59*G(i,j)+0. 30*B(i,j),((i,j 为像素位置参数,R、G、B 为像素红、绿、蓝三分量))从而实现图像灰度化;由于可见光、汽车灯和气候因素的影响,造成图像偏暗或偏亮,所以需要进行图像增强,使图像的亮度信息达到良好效果,使用算法 /(g) = nm(_te + i + 0.5],a),-l) (g为灰度值;| a| >1,对比度增强;|a|b>0,亮度值增加;b<0,亮度值减小);还需要对图像平滑,使用中值滤波,过滤掉图像噪声;通过图像灰度化、灰度值变换和中值滤波三方面的预处理,获得了可以进入下一步处理的图像。

  所述步骤4中,车牌定位由粗定位和精确定位实现,即采用基于自适应性阀值法的车牌定位算法,通过将输入图像二值化,再利用灰度跳变密集分布的特点对拍照进行粗定位,找出若干候选区域,并在后续处理中进一步对它们验证,即牌照高宽的比例以及亮度信息,从而实现精确定位; 车牌倾斜校正,首先是在将车牌区域提取出来之后,对车牌区域图像进行二值化,本系统采用最大类间方差发即OTSU法对已定位的车牌进行二值化;然后通过对车牌区域图像进行HOUGH变换,定位出车牌边界的四条直线,根据这些直线的倾斜角度对整幅图像进行校正同时将图像大小归一化,方便字符识别处理。所述步骤5中,过滤铆钉信息过程为,利用铆钉是固定车牌用的螺丝的密封圈,它 在图像中反映出来是一白色圆形区域,是一连通域,具有很高的密集度,对它的处理采用了Blob分析的方法,对车牌二值图像进行腐蚀操作,将铆钉与字符分离开,标定连通域,分别计算各个连通域的密集度,将密集度大于一阈值的连通域过滤掉,这样就达到了过滤铆钉的目的;

  白边信息过滤过程为,白边其实就是车牌的边缘,在二值图像中表现为细长的白边,对它的消除要利用到车牌校正后的图像,由于车牌校正后白边为水平或垂直的直线,利用对图像进行裁剪的方法,将白边位置裁剪出去,剩下的图像就为排除白边干扰的图像了 ;

  污损信息过滤过程为,污损在二值图像中表现为随机分布的噪声白点,利用一个3*3 的中值滤波器,对污损的滤除。所述步骤6中,所述字符分割就是将车牌号码分离为单个的字符,采用水平投影和垂直投影的方法将车牌中的各个字符分割出来,在投影图像的波谷处进行分割,水平投影确定字符的上下边界,垂直投影可分割出各个字符,根据字符宽度和间隔的先验知识,实现字符的精确分割。所述步骤7中,所述字符识别采用模板匹配和特征匹配的方法实现,首先将分割出的字符在字符模板库中循环进行匹配,将匹配系数满足设定要求的字符作为备选字符; 然后对易混淆目的字符和备选字符进行特征匹配,具体为连通域匹配和直方图匹配,选出匹配系数最好的字符为字符识别结果。所述步骤8中,将车牌区域图像和识别出的车牌字符写入数据库,同时写入系统时间,方便归档和查阅。本发明的主要内容主要体现在以下几个方面,基于虚拟线圈的自触发方式,双进 程的快速软件开发架构,基于Hough变换的车牌倾斜校正算法以及自动过滤铆钉,白边,污损等干扰的方法。车牌识别产品的自触发机制是指产品不需要接收外界触发信号控制其进行图像的采集,而是由车牌识别产品本身自行完成对输入视频流的检测分析,并由算法控制其自身,自行决定在合适的时机截取图像,完成车牌识别功能。采用自触发机制的车牌识别产品都需要输入视频流信号,以便对其进行分析,因此也通常把这种触发机制称为“视频触发”。 因其触发时机是通过产品自身对视频信号进行分析来决定的。自触发机制的车牌识别产品的优势在于不依赖于外界触发信号,只需接入视频信号便可自行完成从采集图像到完成车牌识别的全部功能。这就避免了前面提到的外触发机制中所涉及到的关于外触发信号源装置的使用年限、安装调试、维护等工作,也不会造成对监测点路面的损坏。

 

车牌识别系统


  基于虚拟线圈的方式通过在视野范围内设置一个类似于地感线圈功能的区域,通过计算该区域内的灰度(或颜色)的变化而判断是否有车辆进入到区域中,当发现有车辆时启动触发。这种方法工作原理比较简单,运算也并不复杂,能做到触发及时,触发时车辆位置相对比较准确,同时,由于其触发的信息来源是车辆本身,而非车牌,因此对于不悬挂车牌的车辆同样能完成有效触发抓拍。为了提高系统开发周期,本发明还设计了双进程的软件架构,其具体拓扑图如图2 所示。本架构分别将视频流和识别算法放入不同进程。视频流进程可直接利用不同的采集卡厂商提供的软件开发包中的示例程序,稍作修改即可达到本系统的目的,可实现实时视频的监控,同时利用基于虚拟线圈触发图片采集的思想对视频流实时处理,若发现有车辆进入虚拟线圈区域并达到触发条件,则本进程采集一帧图像,并通过管道传递给车牌识别进程。在车牌识别进程中实现对图片的预处理、车牌定位、字符分割和字符识别,以及对车牌信息的后处理。这种软件架构能够实现基于多种采集卡系统的快速开发,车牌识别进程可在各个不同系统间无改动的直接复制,大大缩短了开发周期,而且经过长时间现场运行, 此种软件架构也是非常稳定和合理的。作为图像的特征,图像的边缘和区域有重要的意义,因此对边缘的检测对于图像的分析和识别也是至关重要的。在车牌的图像当中,车牌是一个具有一定长宽比的矩形,可以采用已知形状的曲线检测的方法来确定车牌的位置。Hough变换是把图像平面中的点按照待求曲线的函数关系映射到参数空间,然后寻找最大凝聚点,由此最大点确定曲线置。 车牌由四条直线组成,上下平行,左右平行,在此,先把它简化为一条直线的位置检测,再根据平行特性找出四条相关的直线,从而找出车牌的位置。在车牌识别过程中,车牌定位和校正之后,可能存在着铆钉、白边和污损等干扰信 息,不利于对后面字符分割和字符识别的处理,所以本系统还发明了自动过滤铆钉、白边、 污损等干扰的解决方法。铆钉是固定车牌用的螺丝的密封圈,它在图像中反映出来是一白色圆形区域,是一大的连通域,具有很高的密集度,所以对它的处理采用了 Blob析的方法,对车牌二值图像进行腐蚀操作,将铆钉与字符分离开,标定连通域,分别计算各个连通域的密集度,将密集度大于一阈值的连通域过滤掉,这样就达到了过滤铆钉的目的。白边其实就是车牌的边缘,在二值图像中表现为细长的白边,对它的消除要利用到车牌校正后的图像,由于车牌校正后白边为水平或垂直的直线,所以清除它可利用对图像进行裁剪的方法,将白边位置裁剪出去,剩下的图像就为排除白边干扰的图像了。污损在二值图像中表现为随机分布的噪声白点,利用了一个3*3的中值滤波器,可以很好的实现对污损的滤除。通过上述方法可以很好的解决铆钉、白边和污损的干扰,而且适应性较强,能为字符分割和识 别提供清晰可靠的车牌图像。

  具体实施例方式下面结合附图与实施例对本发明做进一步说明。本发明的硬件结构有摄像头、图像采集卡、工控PC等构成。摄像头的作用是将通过镜头聚焦于像平面的光线生成图像,帧率大25帧/秒,形成PAL格式的模拟彩色信号视 频流,然后视频流进入图像采集卡,在图像采集卡中进行模数转换,将模拟信号转换为数字信号并对图像进行压缩和裁剪,送入工控PC的内存中,工控PC是对视频流信号进行处理和车牌识别的硬件设备,它同时通过交换机连入网络,可将识别结果与远程数据库进行通信。 本发明所涉及到的基于虚拟线圈的自触发方式、双进程的快速软件开发架构、基于Hough 变换的车牌校正算法以及适应性较强的抗干扰算法都是在工控PC中,通过软件系统实现的。本系统的流程图如图1所示,系统启动后创建两个进程分别是视频流处 理进程和车牌识别进程,在视频流处理进程中,实现基于虚拟线圈的自触发方式采集含有车牌信息的静态车辆图像,而在车牌识别进程中,主要实现对静态车辆图像的处理,经过预处理、车牌定位、字符分割和字符分割识别出车牌信息,并实现将相关信息存入数据库的操作。以下就对上述过程进行具体的说明。视频流处理进程可直接利用采集卡所附带的SDK软件开发包中的示例程序进行修改,实现对每帧图像的采集和减背景处理。在视频视野范围内圈定模拟线圈,用来判断视 频流中的每帧图像此区域与该区域背景的灰度差值,根据该差值以及预先设定的阈值来判 断该区域中是否有车辆进入。若没有发现有车辆进入,继续处理下一帧图像;若发现有车辆进入,则启动图像发送线程,将该图像发送到车牌识别进程,进行后续处理。车牌识别进程首先不断判断是否有接收到图片,如果未接收到,继续等待,若接收至IJ,则启动图像处理线程,对图像进行处理。在图像处理线程中,依次对图像进行了预处理、 车牌定位、倾斜校正、字符分割、字符识别和后处理六步处理,最终识别出合格合理的车牌 fn息ο车牌图像预处理包括真彩色图像灰度化、图像增强和中值滤波三步。在监控摄像机返回的视频流中采集到的图像是一 24位真彩色图像,图像数据量大,首先需要对图像灰度化,去除无效信息(颜色),保存有效信息(亮度),公式为:g(i, j)=0. ll*R(i,j)+0. 59*G( i, j)+0. 30*B(i,j),从而实现图像灰度化;由于可见光、汽车灯和气候等环境因素的影响, 造成图像偏暗或偏亮,所以需要进行图像增强,使图像的亮度信息达到良好效果,使用算法 /(g^m^ma^g + b + 0.5];0),24 -1);还需要对图像平滑,使用中值滤波,过滤掉图像噪声。通过图像灰度化、灰度值变换和中值滤波三方面的预处理,获得了可以进入下一步处理的图 像。车牌定位由粗定位和精确定位实现。车牌区域具有如下特点汽车牌的边界是一 个矩形,车牌号码和车牌背景灰度有明显差别,车牌的长宽比是定值,车牌号码沿水平方向直线排列。由于车牌号码和背景灰度存在较大的对比度,可利用一高通滤波器突出此特点, 方便车牌定位的实现。本系统使用基于自适应性阀值法的车牌定位算法,通过将输入图像二值化,再利用灰度跳变密集分布的特点对拍照进行粗定位,找出若干候选区域,并在后续处理中进一步对他们验证,如牌照高宽的比例,亮度信息,从而实现精确定位。车牌倾斜校正首先是在将车牌区域提取出来之后,对车牌区域图像进行二值化, 本系统采用最大类间方差发(0TSU法)对已定位的车牌进行二值化;然后通过对车牌区域图像进行HOUGH变换,定位出车牌边界的四条直线,根据这些直线的倾斜角度对整幅图像 进行校正同时将图像大小归一化,方便字符识别处理。

  字符分割就是将车牌号码分离为单个的字符,本系统采用水平投影和垂直投影的方法将车牌中的各个字符分割出来。在投影图像的波谷处进行分割,水平投影确定字符的上下边界,垂直投影可分割出各个字符。根据字符宽度和间隔等先验知识,实现字符的精确分割。字符识别采用模板匹配和特征匹配的方法实现。首先将分割出的字符在字符模板库中循环进行匹配,将匹配系数满足设定要求的字符作为备选字符;然后对易混淆目的字符和备选字符进行特征匹配,具体为连通域匹配和直方图匹配,选出匹配系数最好的字符 为字符识别结果。车牌后处理部分主要实现将车牌区域图像和识别出的车牌字符写入数据库,同时写入系统时间,方便归档和查阅。在本发明的双进程架构体系中,还涉及到进程间通信的实现,由于采集出来的静态图片是从视频流处理进程单向传输到车牌识别进程,所以在视频流处理进程中开辟图像发送线程,在车牌识别进程中开辟图像接收线程,去实现进程间通信。油槽是基于广播通信 体系设计出来的,它是一种单向通信机制,创建油槽的服务器进程读取数据,打开油槽的客户机进程写入数据。所以本系统的双进程间的通信就是采用的油槽通信。由上述具体实施方式的介绍,可知本发明的基于虚拟线圈的自触发方式避免了外触发机制的使用年限、安装调试、维护等工作,也不会造成对监测点路面的损坏;同时,双进程的软件架构不仅可缩短软件开发周期,还增加了系统代码的可移植性。通过现场运行证明,本发明设计的车牌倾斜校正和抗干扰算法能很好的适应现场环境,具有良好的识别效果,而且外部扩展方便,有很好的应用价值。

Copyright © 2002-2020 XJYUNYI.COM 新疆云易创科信息科技有限公司 版权所有 新ICP备17001496号-1

邮 编:830000 地址:新市区阿勒泰路2338号山水名居A座1807室 电话:400-655-5065

新公网安备 65010302000301号