基于滑窗搜索的机动车号牌识别方法
技术领域
本发明属于数字图像处理技术领域,涉及机器学习、计算机视觉、模式识别等相关理论知识。
背景技术
随着智能交通系统的发展,机动车号牌识别系统(简称车牌识别系统)广泛的应用在各个领域。前端采集设备获取车辆图像或者视频序列,然后分析得到每辆汽车唯一的车牌号码,利用现代技术完成识别过程。通过后续处理,可以实现停车场收费管理、交通流量控制指标测量、高速公路超速自动化监管、公路收费站等功能。
通常,车牌识别系统可分为三个部分:车牌定位、车牌字符分割、车牌字符识别。整个系统在前两部分的基础上如何进行精确的字符识别,就成为最终影响系统识别率的重要难题。车牌字符识别存在以下难题:
1、小字符集(数字、字母、语义字符)。具体到中国现行的机动车号牌标准(GA36—2007,GA804),中国车牌含有中文汉字,汉字字符结构复杂,实际获得字符存在粘连,污损等情况。
2、测试环境复杂多变。车牌识别系统在应用雨雪天、雾等自然环境恶劣情况,可能会导致车牌受污损,同时影响获得车牌图像质量。
3、获取图像质量差异性大。前端采集设备获取车辆图像,可能存在干扰和几何形变,且车牌可能分布在图像序列的任意位置,实时处理相对较大的数据给车牌识别系统增加了复杂性。
当前的车牌识别算法主要有以下几种方法:
一、基于SVM的车牌识别算法。根据车牌字符特征,建立子分类器,对子分类器建立各字符的样本库,通过SVM方法训练得到各字符的判别函数。然后根据字符相应位置,归一化送到对应分类器组,通过判别函数得到分类结果。但是由于现场环境的复杂,车牌字符也很难准确分割,字符差异性大。详见:Liu Yongchun,Yu Xiaohong,Yang Jing.Study of licenseplate location system based on SVM.Proceedings-2nd IEEE International Conference onAdvanced Computer Control,ICACC2010,v5,p195-198.
二、基于模板匹配的车牌识别算法。利用车牌字符轮廓、骨干、网络或者峰谷投影等特征,特征点识别字符是先对待识别字符进行关键点提取,即对字符进行拓扑分析以得到字符边缘的关键点,再确定字符的分类提取车牌字符特征,与标准车牌字符进行匹配。但是,由于实际测试环境中车牌图像存在的干扰和变形,车牌字符正确识别率不高。详见:Jin Quan,Quan Shuhai,Shi Ying,Xue Zhihua.A fast license plate segmentation and recognition methodbased on the modified template matching.Proceedings of the20092nd International Congress onImage and Signal Processing,CISP'09,2009.
三、基于神经网络的车牌识别算法。通过归一化处理图像,然后根据神经网络算法建立网络,分别是汉字网络和字母数字网络,输入特征值的网络,利用网格的特征向量,建立汉字网络字母数字网络找出相似字符之间的差异进行识别。但是存在输入数据选择和网络结构设计等问题。详见:Shan Baoming.License plate character segmentation and recognition based onRBF neural network.2nd International Workshop on Education Technology and Computer Science,ETCS2010,v2,p86-89.
发明内容
本发明所要解决的技术方案是,提供一种能适应复杂环境的机动车号牌识别方法。
本发明为解决上述技术问题所采用的技术方案是,基于滑窗搜索的机动车号牌识别方法,包括以下步骤:
1)车牌定位步骤:对当前帧中出现在场景内的各车辆进行目标跟踪,再对各车辆车牌进行定位;
2)车牌字符预分割步骤:对提取的单个待识别的车牌图像进行尺寸归一化处理与二值化处理,再根据先验信息确定车牌图像中各字符分割中心,所述先验信息为字符间隔的宽高比以及字符宽高比;
3)滑窗搜索步骤:用标准字符尺寸的窗口在当前待识别车牌图像的各字符的分割中心以及分割中心左右滑窗搜索各m次,得到2m+1个滑窗识别结果;
4)滑窗识别步骤:车牌中每个字符的滑窗识别结果并放入该位置字符对应投票池中,计算各字符投票池中识别结果比例最高且大于决策阈值的作为单个字符的最终识别结果。
本发明通过跟踪目标车辆获得同一车牌的多次检测结果。最终的车牌字符识别结果是同一目标在多次识别下的投票,极大的提高了系统的鲁棒性和结果的稳定性。
为了进一步提高复杂的环境中鲁棒性,在执行步骤四之前,循环执行步骤1至步骤3N次,得到从连续N帧图像中检测到N1个当前待识别车牌图像中每个字符的滑窗识别结果(2m+1)×N1,N1≤N。
本发明的有益效果是,具有很高识别准确率,且在复杂的环境中鲁棒性强。
附图说明
图1为实施例流程图;
图2为车牌字符分割示意图;
图3为单个字符滑窗搜索示意图。
具体实施方式
基于滑窗寻优搜索的机动车号牌识别方法,如图1所示,包含下述步骤:
步骤1、车牌定位步骤:
步骤1-1:系统接收前端设备采集的图片流,采用基于混合高斯模型进行背景建模,获得运动场景中背景,将当前图像帧与背景图像相减便可以获得运动目标区域Z。
步骤1-2:对于步骤1-1中待跟踪的目标区域Z,选取出能代表车辆的特征,在待跟踪车辆附近取一系列区域,分布计算得到这一系列区域的低维特征。将这一系列低维特征送入贝叶斯分类器,实现场景内各个车辆跟踪。
步骤1-3:根据场景内跟踪的各个车辆情况,首先对单帧目标图像求灰度二值化图像和边缘检测,对边缘图像进行隔行检测,首先构造矩阵mask,将mask中的元素初始化为0,根据车牌的长宽比设定一个滑动窗口W,W为长、高为w×h全1矩阵,设定阀值T以判断车牌区内的边缘点,用窗W遍历边缘图像,然后提取连通域,经过形态学闭操作,对各个连通域进行标定并求其最小的外接矩形。最后,利用车牌的正负样本训练二分类器去掉伪车牌,从而得到候选车牌。
步骤1-4:精确定位车牌:首先,求候选车牌水平方向上的差分和投影,精确定位其上下边界,再根据竖直方向投影,选择阀值U,根据阀值U判断候选车牌区域大于、小于维度作为车牌左右边缘的精确位置。
步骤1中个子步骤均为成熟的现有技术,本实施例仅给出一个较优的,具体的实施组合,本领域技术人员可以根据现有其他的实施手段来实现车牌定位。
步骤2、车牌字符预分割步骤:
在跟踪的目标区域中获得单个车辆的车牌区域后,可按如下步骤实现对单个车辆的车牌字符预分割,如图2所示。
步骤2-1:首先对步骤1中精确定位的单个车牌图像归一化,将车牌高度缩放到统一尺寸h。对归一化后图像进行二值化,白色表示车牌字符,黑色表示背景。根据现行的机动车号牌标准知,车牌中字符的宽高比为t1,车牌2、3字符的间隔最大,2、3字符间间隔的宽高比为t2,其他字符间间隔的宽高比为t3,则可得到车牌图像中,字符宽度w1=h×t1,2、3字符间间隔宽度w2=h×t2,其他字符间间隔宽度w3=h×t3。
步骤2-2:根据归一化后的车牌二值图像,字符与字符间,黑色部分最宽区域的左右边界为2、3字符的分割线。用宽度为w2,高度为h的窗,在车牌前面的二分之一区域进行滑窗搜索,当窗口内黑色像素点最多时,此位置的左右边界就是2、3字符间隔左右边界,记左边界为ls2,3,右边界为le2,3。
步骤2-3:定位车牌前2位字符和后5位字符预分割中心位置。根据步骤2-2中确定的2、3字符分割位置右边界l
e2,3,将分割位置右边界l
e2,3向右移动w
1,得到3、4字符的初分割位置左边界l
e2,3+w
1,将分割位置右边界l
e2,3向右移动w
1+w
3,得到3、4字符的初分割位置右边界l
e2,3+w
1+w
3,根据3,4字符初分割位置左右边界,得到3、4字符的分割中心位置loc
3,4。取宽度为w
3,高度为h的窗,在初分割中心位置loc
3,4左右搜索,找到窗内黑色像素点最多的位置,确定为3、4字符的分割位置左边界为l
s3,4,右边界为l
e3,4。由字符的分割位置边界l
e2,3和l
s3,4可以得到第3个字符的中心位置
以此规则,找到所有字符预分割的中心位置。
本实施例提出了一种新的优选的车牌字符分割方法,该方法利用字符与车牌背景的亮度差异,结合字符宽度的先验信息来搜索相邻字符的间隔,从而达到分割的目的,简单,快速,且每步搜素较独立,不过分依赖上一步结果,具有很强的鲁棒性。本领域技术人员也可以根据需求使用其它现有的字符分割方式。
步骤3、滑窗搜索识别步骤:
根据步骤1、2,跟踪到场景内的单个车辆,实现单个车辆的车牌定位、字符预分割,结合获得的图像序列,在时间和空间上进行滑窗字符识别,如图3所示,详细过程如下步骤:
步骤3-1:滑窗字符搜索。根据目标跟踪和字符预分割中心,实现滑窗搜索,详细的实现过程如下:
1、对步骤1-2中跟踪的目标车辆A,精确定位车牌后,采用步骤2进行车牌字符预分割确定各个字符分隔中心,用标准字符尺寸高度h,宽度w1的窗口在每个字符的中心位置进行滑动,从每个字符的中心位置,对每个字符左右滑窗各m次,得到2m+1个窗。
2、窗口特征描述:本实施例中采用经典的方向梯度直方图HOG方法对每个窗口进行特征描述,根据训练的分类器,对滑窗搜索得到的窗口进行分类,分类结果可能有汉字,英文字母,数字和非字符,将单帧目标车牌字符得到的识别结果放入该车辆A的每个字符对应的投票池。
3、对连续N帧图像中跟踪的目标车辆A,反复执行上面的过程1、2,将每一帧得到的识别结果放入目标车辆A的每个字符投票池中,最终目标车辆A每个字符的投票池中包含(2m+1)×N1个识别结果。其中N1表示N帧图像中有N1帧检测到目标车辆A。
步骤3-2:最优投票决策。根据滑窗搜索得到的结果,对跟踪目标区域内各个车辆的车牌字符所对应投票池中的识别结果投票,投票决策过程如下:
1、设定决策阀值T,时间窗更新帧数N2。
2、根据步骤3-1中,对目标区域内跟踪的车辆A的车牌字符图像进行滑窗,当m=3,N1=3时,可得单个字符滑窗搜索识别结果21个,分别计算各个字符投票池中识别结果所占比例,比例最高,且大于决策阈值T的识别结果,作为对应车辆A的单个字符识别结果。
投票池的更新:对于同一目标跟踪车辆A车牌的滑窗识别,在第一次得出字符的最终识别结果之后,如有新的一帧各字符滑窗搜索识别结果进入投票池,则判断当前字符投票池中已装满(2m+1)×M个滑窗识别结果,M为待识别车牌输出结果的限定帧数,如是,则将对应各字符投票池中第一帧识别结果去除,加入对应新的一帧的各字符的滑窗识别结果,如否,则直接加入新的一帧的各字符的滑窗识别结果进入对应各字符投票池。若时间窗连续更新N2帧,跟踪目标车辆A没有新的数据输入,则目标车辆A车牌识别终止,输出各字符滑窗识别最终结果。
通过跟踪目标车辆获得同一车牌的多次检测结果,并结合每个车牌字符预分割在空间和时间上进行滑窗搜索识别,最终的车牌字符识别结果是同一目标在多次识别下的投票。也可以不在时间上滑窗搜索识别,仅在空间上滑窗搜索识别,即每个字符投票池中仅有2m+1个识别结果。
在硬件平台Intel i32120+2G DDR RAM,软件平台C/C++上实施本实施例方法,采用5680张实地拍摄图片,包括雨天、雾天、晴天等不同天气和车牌水平、车牌倾斜、车辆运动、车辆静止等不同状态下的彩色车辆图像作为源实验数据,经实验验证,本实施例对汉字字符识别率达到98.56%,对英文字母字符识别率达到99.12%,对数字字符识别率达到99.37%,各字符统计平均识别率98.92%。与传统的算法相比较,本发明的方法在应用复杂的环境中鲁棒性好,通用性强。