一种字符置信度的二次车牌识别方法及装置
技术领域
本发明涉及车牌识别领域,尤其是一种字符置信度的二次车牌识别方法及装置。
背景技术
随着时间的推移,“移动电子眼”的触角将会深入到城市的各个角落,扮演越来越重要的角色,为我们的“平安城市”保驾护航。平安城市也是衡量一个城市现代化管理水平的重要体现,是实现一个城市乃至整个国家安全和稳定的重要措施。建立合理,有效的城市视频监控管理系统,才能够使政府管理部门在第一时间发现问题,提出应对措施及应急预案。车牌作为智慧城市重要的信息资源,倍受关注。
从社会车辆摄像头和各卡口摄像头,所拍摄的车牌时,当双车或单车处在运动中,从摄像头所抓取的车牌图片,图片质量因受运动模糊、天气、光线影响而变坏时,保障高识别率将是一大挑战,如能有效地解决此问题,车牌识别相关实际应用范围将可扩展到各种动态抓取应用中。
针对动态环境下,图像质量不佳的情况下,为了有效的增加车牌的识别率,各种图像增强技术被应用到车牌识别的预处理环节,有经过直方图均衡化处理后的图像进行对比度增强来提升车牌图像质量;运用滤波算子和直方图拉伸的方法,以及利用对图像灰度化,灰度归一化以及直方图均衡化的方法来提高车牌的可识别能力;由于车牌中字符区域的重要性,在早先的文献中提出一种增强字符区域而淡化背景区域的模型来提升车牌的识别率;有使用空间自适应正则化的迭代图像复原算法来去除运动模糊;有基于多帧视频二进制编码的方法来提取和增强车牌特征;有提到利用双线性插值的方法来增强车牌信息;有在假设背景移动而视频目标(例如新闻字幕)静止的前提下,提出一种基于亚像素插值的方法来增强目标。以上技术对图像进行增强,存在一定的盲目性,均未充分利用图像中的时域信息、车牌准确度反馈信息和视频帧间的运动信息等;
另一方面,作为车牌识别技术,近年来近年来比较常用的识别算法主要就是神经网络和模板匹配两种方法。神经网络进行字符的识别容错性强,只要样本选取合理,大量且多样,训练出的分类器识别率就会比较高,但是其过多的依赖于样本,训练时间也比较长,不太适合于对实时性要求很强的场合。而且三层神经网络的中间层个数的确定困难,一般是依靠经验取值,加大个数可以提高识别率,但时间过长。而识别的另一种方法一模板匹配,运算简单,识别速度快,却又很难满足识别质量不高图片(如图片模糊、笔画缺失等)的要求,对于相近的字(如8,9和B等)识别率就很低。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种字符置信度的二次车牌识别方法及装置。通过结合模板识别、神经网络识别,有效解决了目前技术上所存在的问题。通过模板识别技术,进行字符识别,并给出识别结果置信度,针对置信度偏低的结果,融合前后帧对应车牌数据,并将此图像进行基于神经网络的车牌识别,得到最终识别结果,有效地保证了识别准确率;进一步的,在神经网络训练和识别之前,进行有针对性的抓取多帧超车牌数据,并进行视频图像超分辨率重建处理,融合出一帧高质量车牌区域图像,进一步的提高识别准确度。进一步的,我们将平台上所抓取的海量车牌数据,作为样本库,放入神经网络进行分类器更新,确保我们的技术更适用于当前工程应用环境。
本发明采用的技术方案如下:
一种字符置信度的二次车牌识别方法包括:
双动态抓取步骤:图像采集设备端处于运动状态下,拍摄同一场景中运动车辆视频,并从该视频中定位指定内容区域,抓取指定内容图片;
字符分割步骤:从车牌图像中分割出车牌的七个字符;
模板匹配识别步骤:对于所述车牌七个字符采用模板匹配识别的方式,计算出所述车牌七个字符的字符识别置信度和整体车牌识别置信度;
车牌分析步骤:当所述字符识别置信度均高于预设车牌置信度阈值Th,则输出所述车牌的识别结果,检测结束;否则执行多帧超分辨步骤;
多帧超分辨步骤:对字符识别度信度和整体车牌识别置信度进行判断;当字符识别置信度和整体车牌识别置信度的最小值Placon_min<Th,则连续抓取T帧ROI图片,T=(Th-Placon_min)*10;ROI区域为当前车牌区域向前后左右扩展N像素而得;通过视频图像超分辨率重建方法处理,融合得到一帧清晰图像,然后基于此帧图像进行车牌定位和分割,识别出各字符;执行神经网络训练和识别步骤;
神经网络训练和识别步骤:通过神经网络训练形成数字分类器、汉字分类器和数字字母分类器;将字符分割步骤获取得到的七个字符进行归一化处理,然后根据各字符的位置关系,将各字符送入所述对应的分类器进行识别,得到车牌识别结果。
进一步的,所述模板匹配识别步骤具体包括:
将车牌中各字符分别归一化为二值化车牌字符模板字符模板,模板大小的标准尺寸为x*y;x,y分别为模板中长宽像素值;
针对车牌各字符分别作加权处理,用矩阵A表示;针对识别二值化字符模板分别作加权处理,用矩阵B表示;对矩阵A与对应字符模板的矩阵B进行逻辑异或运算之后的结果用T表示;
T=A∧B (2);
矩阵T作求和处理,得到值S;S作为相似度判别函数,所取之值为当前字符相似度,即对应该字符置信度;
基于各字符置信度S,加权计算得到整个车牌置信度Plt,其中,f(k)为字符权重函数;
其中,k表示车牌字符总数量。
进一步的,所述神经网络训练与识别步骤中,训练形成汉字分类器、字母分类器和数字字母分类器具体过程如下:
深度学习网络模型选择步骤:选择BP神经网络,它是前馈型神经网络模型,它可以通过反射传播来不断调整网络中各节点的权值使网络的实际输出与期望输出之间的误差平方和最小;在修改各节点的连接权值时,依据的是网络的实际输出和其期望输出的差值,并将这一差值反向向回传播,如果差值大于阈值,则对权值继续进行修改,整个学习的过程是使误差沿着减小的方向发展,直到误差小于阈值。
参数选择步骤:选定神经网络的拓扑结构包括输入层、输出层和处于二层间的隐含层;其中,关于汉字分类器,特征复杂且存在噪点多,所以隐含层采用三层神经元;关于数字、字母分类器,隐含层采用一层神经元;
输入层中输入层神经元数目m取决于数据源的维数;输入神经元以归一化字符图像的像素作为数据源,当归一化的字符图像为为x*y点阵大小的字符图像时,则m=x*y;
输出层神经元数目与待识别的字符个数有关,输出层神经元数目p,则通过公式O=2p计算输出字符的个数p;隐含层神经元数目其中当分类器是数字分类器、字母分类器或汉字分类器,k分别对应为30,40,50;
网络初始化步骤:将权值vij和wjk设置为(-1,1)之间的均匀分布随机数;学习速率初始化为0~1间的小数,从输入层到隐含层、隐含层到输出层权值的学习速率选取0.05,阈值的学习速率选取0.045;总体误差精度ε,p初始化0,并设置训练次数t设置为0;vij是输入层输入神经元i与隐含层间隐含神经元j的权值,wjk是隐含层隐含神经元j与输出层输出神经元k间的权值;
训练样本选择:一方面,选择字符分割完整的样本;另一方面,加入实际双动态应用场景中,所抓取的车牌区域,作为样本;
分类器构造步骤:输入归一化字符图像样本,指定期望得到输入层的输出神经元;根据计算各层输出和各层误差信号;计算实际输出与期望输出误差信号;调整权值,修改相应的分类器。
进一步的,所述分类器构造步骤具体包括:
输入层、隐含层和输出层的神经元数据分别是m、n和p;从样本库中取出输入归一化字符图像x1...xn输入神经网络,x1...xn为输入信号;y1...ym为隐含层神经元;指定期望输出为d1...dn;x1...xn指的是归一化后的字符图像;表示隐含层神经元的阈值;
根据公式计算隐含层各单元输出h1...hn:
神经网络的实际输出o1...on:
计算实际输出与期望输出的误差:δk=(dk-yk)yk(1-yk),其中,k∈(1,m);
计算隐含层误差:
计算实际输出Ep与期望输出误差平方和E的函数:
其中P为训练样本数目;
调整权值,构造相应的分类曲面,即分类器:
其中η为学习因子,汉字分类器对应因子取值为:0.0015;字母分类器和数字分类器对应因子取值为:0.001;
偏历样本,检查是否对所有的样本完成一轮训练,如果已经训练的样本小于总体样本即p<P;则p增加1;返回分类器构造步骤训练,用所有样本反复训练网络,直到权值达到稳定;
利用所有样本,在训练次数内反复训练网络,同时,检查网络的总体误差是否达到精度要求,若达到要求E<ε,则训练结束;否则,执行分类器构造步骤,在规定的训练次数内作反复训练,直至训练次数完成;ε为给定误差范围。
一种字符置信度的二次车牌识别方法还包括分类器模型的更新步骤:基于神经网络训练和识别步骤实际结果反馈,若识别准确率未达到车牌字符识别目标,则将已有的识别出的车牌字符作数据库扩充,对各个分类器地二次训练,优化所述分类器中各模型参数,达到优化训练器的目的,从而提升识别准确率分类器模型的更新,更新原则如下:
将车牌区域的迭代更新次数提高Δn次,计算经过n+Δn次迭代更新后的车牌图像的识别准确率,直至准确率不再提高,此时的迭代更新次数最佳。若此时任未达到目标要求,则说明n帧车牌图像的有效信息不足,接下来将输入的车牌图像数目增加ΔN帧,计算多次迭代更新后的识别准确率,直至识别准确率达到目标,此时的超分辨模型更新结束。
进一步的,所述还包括对采集的车牌图像进行去模糊处理,使得我们可以获得海量的各种车牌图像作为样本库,放入神经网络进行分类器更新,确保我们的技术更适用于当前工程应用环境。
一种字符置信度的二次车牌识别装置包括:
双动态抓取模块:运动设备端拍摄同一场景中运动车辆视频,并从该视频中定位指定内容图片区域,并抓取指定内容图片;
字符分割模块:从车牌图像中分割出车牌的七个字符;
模板匹配识别模块,用于对所述车牌七个字符采用模板匹配的方式,计算出所述车牌七个字符的字符识别置信度和整体车牌识别置信度;
车牌识别模块,用于当所述字符识别置信度均高于预设车牌置信度阈值Th,则输出所述车牌的识别结果,检测结束;否则执行多帧超分辨步骤;
多帧超分辨模块:对字符识别度信度和整体车牌识别置信度进行判断;当字符识别置信度和整体车牌识别置信度的最小值Placon_min<Th,则连续抓取T帧ROI图片,T=(Th-Placon_min)*10);ROI区域为当前车牌区域向前后左右扩展N像素而得;通过视频图像超分辨率重建方法处理,融合得到一帧清晰图像,然后基于此帧图像进行车牌定位和分割,识别出各字符;执行神经网络训练和识别模块;
神经网络训练和识别模块:通过神经网络训练形成数字分类器、汉字分类器和数字字母分类器;将字符分割步骤获取得到的七个字符进行归一化处理,然后根据各字符的位置关系,将各字符送入所述对应的分类器进行识别,得到车牌识别结果。
进一步的,所述模板匹配识别模块具体包括:
将车牌中各字符分别归一化为二值化车牌字符模板字符模板,模板大小的标准尺寸为x*y;x,y分别为模板中长宽像素值;
针对车牌各字符分别作加权处理,用矩阵A表示;针对识别二值化字符模板分别作加权处理,用矩阵B表示;对矩阵A与对应字符模板的矩阵B进行逻辑异或运算之后的结果用T表示;
T=A∧B (2)
矩阵T作求和处理,得到值S;S作为相似度判别函数,所取之值为当前字符相似度,即对应该字符置信度;
基于各字符置信度S,加权计算得到整个车牌置信度Plt,其中,f(k)为字符权重函数;
其中,k表示车牌字符总数量。
进一步的,所述神经网络训练与识别模块中训练形成汉字分类器、字母分类器和数字字母分类器具体过程如下:
深度学习网络模型选择模块:选择BP神经网络,它是前馈型神经网络模型,它可以通过反射传播来不断调整网络中各节点的权值使网络的实际输出与期望输出之间的误差平方和最小;在修改各节点的连接权值时,依据的是网络的实际输出和其期望输出的差值,并将这一差值反向向回传播,如果差值大于阈值,则对权值继续进行修改,整个学习的过程是使误差沿着减小的方向发展,直到误差小于阈值。
参数选择模块:选定神经网络的拓扑结构包括输入层、输出层和处于二层间的隐含层;其中,关于汉字分类器,特征复杂且存在噪点多,所以隐含层采用三层神经元;关于数字、字母分类器,隐含层采用一层神经元;
输入层中输入层神经元数目m取决于数据源的维数;输入神经元以归一化字符图像的像素作为数据源,当归一化的字符图像为为x*y点阵大小的字符图像时,则m=x*y;
输出层神经元数目与待识别的字符个数有关,输出层神经元数目p,则通过公式O=2p计算输出字符的个数o;隐含层神经元数目其中当分类器是数字分类器、字母分类器或汉字分类器,k分别对应为30,40,50;
网络初始化模块:将权值vij和wjk设置为(-1,1)之间的均匀分布随机数;学习速率初始化为0~1间的小数,从输入层到隐含层、隐含层到输出层权值的学习速率选取0.05,阈值的学习速率选取0.045;总体误差精度ε,p初始化0,并设置训练次数t设置为0;vij是输入层输入神经元i与隐含层间隐含神经元j的权值,wjk是隐含层隐含神经元与输出层输出神经元k间的权值;
训练样本模块:一方面,选择字符分割完整的样本;另一方面,加入实际双动态应用场景中,所抓取的车牌区域,作为样本;
分类器构造模块:输入归一化字符图像样本,指定期望得到输入层的输出神经元;根据计算各层输出和各层误差信号;计算实际输出与期望输出误差信号;调整权值,修改相应的分类器。;
进一步的,所述分类器构造模块具体包括:
输入层、隐含层和输出层的神经元数据分别是m、n和p;从样本库中取出输入归一化字符图像x1...xn输入神经网络,x1...xn为输入信号;y1...ym为隐含层神经元;指定期望输出为d1...dn;x1...xn指的是归一化后的字符图像;表示隐含层神经元的阈值;
根据公式计算隐含层各单元输出h1...hn:
神经网络的实际输出o1...on:
计算实际输出与期望输出的误差:δk=(dk-yk)yk(1-yk);
其中,k∈(1,m);
计算隐含层误差:
计算实际输出Ep与期望输出误差平方和E的函数:
其中P为训练样本数目;
调整权值,构造相应的分类曲面,即分类器:
其中η为学习因子,汉字分类器对应因子取值为:0.0015;字母分类器和数字分类器对应因子取值为:0.001;
偏历样本,检查是否对所有的样本完成一轮训练,如果已经训练的样本小于总体样本即p<P;则p增加1;返回分类器构造步骤训练,用所有样本反复训练网络,直到权值达到稳定;
利用所有样本,在训练次数内反复训练网络,同时,检查网络的总体误差是否达到精度要求,若达到要求E<ε,则训练结束;否则,执行分类器构造步骤,在规定的训练次数内作反复训练,直至训练次数完成;ε为给定误差范围。
综上所述,由于采用了上述技术方案,本发明的创新点是:
1)首次模板车牌识别技术可确保识别速度;二次神经网络车牌识别技术可确保复杂环境下,车牌识别的准确度。
2)独特的深度学习架构:基于实际样本的多分类器联合+分类器自适应更新;
a.多分类器联合:作汉字、字母、数字字母三类分类器,各分类器按各样本特点,选择合适的深度学习模型,调优参数,独立训练;
b.分类器自适应更新:
基于应用环境中,海量ROI车牌区域,进行机器学习,自适应更新多帧超分辨处理模型,将模型参数与实际应用环境数据结合起来,有效解决了实际环境中,算法理论的适应性问题;
3)针对识别置信度比较低的情况,自适应地抓取数张车牌ROI区域,传送至服务器端,通过视频图像超分辨率重建方法处理,得到一帧高质量图像,基于此图像进行二次车牌识别方案,确保车牌识别的高准确率;
4)基于应用环境中,海量ROI车牌区域,进行机器学习,进行自学习,提升视频图像超分辨率重建方法处理准确性。根据实际识别结果,进行有针对性的多帧超分辨处理,解决了提升准确率过程中的盲目性;自适应更新多帧超分辨处理模型,将模型参数与实际应用环境数据结合起来,有效解决了实际环境中,算法理论的适应性问题。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明相关说明:
1、加权处理的加权原则,离车牌字符或者任意一个二值化字符模板中心像素坐标点越近,权重越高;
2、二值化字符模板图像中像素坐标是以左上角为原点,从左到右,从上到下方向延伸。每个像素坐标点上是每个图像的像素值。
3、字符模板分为汉字、英文字母和数字三类二值化车牌字符模板,尺寸作归一化统一,各模板皆由统计方法构造并保存到数据库中。
4、双动态环境指的是图像采集设备端是运动的,被拍摄运动车辆也是运动的;
5、视频图像超分辨率重建方法具体过程是:(本重建方法中的字母含义仅在本方法内试用,不与申请文件中其他字母含义相同)
步骤1:获取可动摄像头在同一场景拍摄的连续多帧低分辨率图像;
步骤2:从所述连续多帧低分辨率图像中获得连续多帧低分辨率目标物体图像;其中,为了方便对目标物体进行超分辨率重建,将连续多帧低分辨率图像中进行目标物体定位,获取连续多帧低分辨率目标物体图像。在车牌超分辨率重建过程中,为了方便对车牌进行超分辨率重建,将连续多帧低分辨率图像分别进行车牌定位,获取连续多帧低分辨率车牌图像。
步骤3:衡量所述连续多帧低分辨率目标物体图像的图像质量,获取图像质量最优的低分辨率目标物体图像;图像质量衡量的方法有很多中,例如根据图像边缘特征进行衡量、根据图像分辨率进行衡量等,在本发明实施例中,提出一种根据图像的平均梯度衡量图像质量的方法,根据此方法获得的图像质量最优的低分辨率目标图像,相对清晰程度高,与重建后的目标物体图像最为接近。
步骤4:将所述图像质量最优的低分辨率目标物体图像进行单帧超分辨率重建,得到高分辨率待处理帧,所述高分辨率待处理帧以外的其他低分辨率目标物体图像进行插值,得到多张高分辨率参考帧;
步骤5:对所述高分辨率待处理帧和多张高分辨率参考帧进行多帧超分辨率重建,得到超分辨率目标物体图像。
其中步骤3中所述衡量所述连续多帧低分辨率目标物体图像的图像质量,获取图像质量最优的低分辨率目标物体图像,包括:
计算所述连续多帧低分辨率目标物体图像的平均梯度;所述平均梯度是指图像的边界或影线两侧附近灰度有明显差异,即灰度变化率大,这种变化率的大小可用来表示图像清晰度,它反映了图像微小细节反差变化的塑料,即图像多维方向上密度变化的速率,表征图像的相对清晰程度。
对比所述连续多帧低分辨率目标物体图像的平均梯度,得到平均梯度最大的低分辨率目标物体图像;
将所述平均梯度最大的低分辨率目标物体图像作为图像质量最优的低分辨率目标物体图像。
其中步骤4种将所述图像质量最优的低分辨率目标物体图像进行单帧超分辨率重建,包括:
41)获取训练样本,其中,所述训练样本包括训练样本库中若干相匹配的高分辨率图像块和低分辨率图像块的特征向量组成的特征向量对,所述特征向量为相对应图像块的若干区域梯度组成的梯度向量;
在梯度框架下,选择高分辨率图像块的梯度向量作为该高分辨率图像块的特征向量,与所述高分辨率图像块相匹配的低分辨率图像块的梯度向量作为该低分辨率图像块的特征向量,组成1个特征向量对作为稀疏字典编码的1个特征向量对;其中, 为坐标点为(x,y)处,大小为(M,N)区域内即M×N大小的图像块的平均梯度,M和N分别为图像块的行、列数;f(x,y)、和分别为坐标点为(x,y)的像点灰度及其在行、列方向上的梯度。
42)将所述训练样本在预设的稀疏字典编码超分辨率模型进行稀疏编码,建立所述高分辨率图像块和低分辨率图像块的稀疏关联关系;
稀疏编码的目的是通过对P的学习来估计稀疏字典,并且将相匹配的高分辨率图像块和低分辨率图像块统一到一个稀疏字典编码框架中,使他们具有相同的稀疏表示。再具体实施过程中,目标函数表示为
上式中,Ah表示高分辨率图像块的稀疏字典,Al对应低分辨率图像块的稀疏字典,N和M分别是高、低分辨率图像块向量表示方式的维数,上式可以简化为:
其中,A为学习稀疏字典,Z为X的稀疏表示,Φ为字典D稀疏表示的隐式字典。
建立所述相匹配的高分辨率图像块和低分辨率图像块的稀疏关联关系。通过n个特征向量对对稀疏字典进行编码,修正稀疏字典,进而确定所述稀疏字典编码模型。
43)将所述图像质量最优的低分辨率目标物体图像划分为若干图像块;
44)计算所述图像质量最优的低分辨率目标物体图像的所有图像块的特征向量;
45)将所述图像质量最优的低分辨率目标物体图像的图像块的特征向量分别输入所述稀疏字典编码超分辨率模型,根据所述稀疏关联关系,得到所述高分辨率待处理帧。
其中,步骤4中,所述高分辨率待处理帧以外的其他低分辨率目标物体图像进行插值,包括:
采用8阶对称插值滤波器对所述其他分辨率目标物体图像进行半像素插值,采用7阶非对称插值滤波器对所述其他分辨率目标物体图像进行四分之一像素插值。
其中步骤5中对所述高分辨率待处理帧和多张高分辨率参考帧进行多帧超分辨率重建,包括:
51)将所述高分辨率待处理帧划分成若干图像块;
52)利用运动估计方法对所述高分辨率待处理帧和多张高分辨率参考帧进行图像配准,得到所述多张高分辨率参考帧中与所述高分辨率待处理帧的图像块对应的匹配块;
在具体实施过程中,在高分辨率待处理帧中考虑一个位置为(m,n)的图像块,在多张高分辨率参考帧中的任一帧中搜索一个相应大小的匹配块,假设该匹配块的位置为(m+i,n+j),就可以确定这个两个图像块之间的位移为(i,j),称之为运动矢量。根据此方法确定所述匹配块在所述超分辨率目标图像中的位置。从运动矢量的分布和计算因素考虑,匹配块的搜索限制在48x48的扩展窗口中进行。
53)计算所述匹配块的平均梯度,获取最佳匹配块,其中,所述最佳匹配块包括平均梯度大于预设图像块梯度阈值与运动系数乘积的所有匹配块;
计算多张高分辨率参考帧的匹配块的平均梯度,获取最佳匹配块,其中,所述最佳匹配块包括多张高分辨率参考帧中,平均梯度大于预设图像块梯度阈值与运动系数乘积的所有匹配块。
在具体实施过程中,为了减少计算,仅采用匹配块对高分辨率待处理帧相对应的图像块进行修正。匹配块的平均梯度根据来计算,为坐标点为(x,y)处,大小为(M,N)区域内即M×N大小的图像块的平均梯度,M和N分别为图像块的行、列数;f(x,y)、和分别为坐标点为(x,y)的像点灰度及其在行、列方向上的梯度。运动系数由多次实验得到,为0.85,预设图像块梯度阈值width,height分别表示当前图像的宽和高值。将平均梯度大于预设图像块梯度阈值与运动系数乘积的所有匹配块作为最佳匹配块。
54)利用所述最佳匹配块分别对所述高分辨率待处理帧对应的图像块进行修正,得到所述超分辨率目标物体图像。
实施过程:
本发明基于各字符识别置信度,进行有针对性二次识别;其中,设备端提供车牌识别及各字符识别结果的置信度;
一种字符置信度的二次车牌识别方法实现过程实施例,包括如下步骤:
步骤S1:图像采集设备端处于运动状态下,拍摄同一场景中运动车辆,并从该视频中定位指定内容区域,抓取指定内容图片,即车牌区域;从车牌图像中分割识别出车牌的七个字符;执行步骤S2;
其中图像采集设备端包括高清车载车牌摄像机;低功耗嵌入式车载LVS+高清摄像头;此方案主要应用于各类行驶车辆上摄像头去采集同一场景中另一动态车辆上的车牌;所述设备端主要是指前端设备,主要来源于交通车辆采集得到的资源,从一端动态的装置中(比如各类行驶车辆上摄像头)采集另一动态的车辆视频(行驶中的车辆),进行图片抓取,将检测到的图像选择性地作为双动态车牌识别图片。
步骤S2:对于所述车牌七个字符采用模板匹配识别的方式,计算出所述车牌七个字符的字符识别置信度和整体车牌识别置信度;执行步骤S3;
在此,根据步骤1中的车牌7个字符,计算出的字符识别置信度与整体车牌识别置信度是为了后续是否进行二次识别做准备。
在本发明实施例中,步骤2具体包括:
将车牌中各字符分别归一化为二值化车牌字符模板字符模板,模板大小的标准尺寸为x*y;x,y分别为模板中长宽像素值;
针对车牌各字符分别作加权处理,用矩阵A表示;针对识别二值化字符模板分别作加权处理,用矩阵B表示;对矩阵A与对应字符模板的矩阵B进行逻辑异或运算之后的结果用T表示;
T=A∧B (2);
矩阵T作求和处理,得到值S;S作为相似度判别函数,所取之值为当前字符相似度,即对应该字符置信度;
基于各字符置信度S,加权计算得到整个车牌置信度Plt,其中,f(k)为字符权重函数;
其中,k表示车牌字符总数量。
步骤S3:当所述字符识别置信度均高于预设车牌置信度阈值Th,则输出所述车牌的识别结果,检测结束;否则执行步骤S4;
步骤S4:对字符识别度信度和整体车牌识别置信度进行判断;当字符识别置信度和整体车牌识别置信度的最小值Placon_min<Th,则连续抓取T帧ROI图片,T=(Th-Placon_min)*10;ROI区域为当前车牌区域向前后左右扩展N像素而得;通过视频图像超分辨率重建方法处理,融合得到一帧清晰图像,然后基于此帧图像进行车牌定位和分割,识别出各字符;执行步骤S5;
步骤S5:通过神经网络训练形成数字分类器、汉字分类器和数字字母分类器;将步骤S1得到的七个字符进行归一化处理,然后根据各字符的位置关系,将各字符送入所述对应的分类器进行识别,得到车牌识别结果。
其中训练形成数字分类器、汉子分类器、字母分类器和数字字母分类器具体过程是:
步骤1:选择BP神经网络,它是前馈型神经网络模型,它可以通过反射传播来不断调整网络中各节点的权值使网络的实际输出与期望输出之间的误差平方和最小;在修改各节点的连接权值时,依据的是网络的实际输出和其期望输出的差值,并将这一差值反向向回传播,如果差值大于阈值,则对权值继续进行修改,整个学习的过程是使误差沿着减小的方向发展,直到误差小于阈值。
步骤2:选定神经网络的拓扑结构包括输入层、输出层和处于二层间的隐含层;其中,关于汉字分类器,特征复杂且存在噪点多,所以隐含层采用三层神经元;关于数字、字母分类器,隐含层采用一层神经元;
输入层中输入层神经元数目m取决于数据源的维数;输入神经元以归一化字符图像的像素作为数据源,当归一化的字符图像为为x*y点阵大小的字符图像时,则m=x*y;
输出层神经元数目与待识别的字符个数有关,输出层神经元数目p,则通过公式O=2p计算输出字符的个数p;隐含层神经元数目其中当分类器是数字分类器、字母分类器或汉字分类器,k分别对应为30,40,50;
步骤3:将权值vij和wjk设置为(-1,1)之间的均匀分布随机数;学习速率初始化为0~1间的小数,从输入层到隐含层、隐含层到输出层权值的学习速率选取0.05,阈值的学习速率选取0.045;总体误差精度ε,p初始化0,并设置训练次数t设置为0;vij是输入层输入神经元i与隐含层间隐含神经元j的权值,wjk是隐含层隐含神经元j与输出层输出神经元k间的权值;
步骤4:一方面,选择字符分割完整的样本;另一方面,加入实际双动态应用场景中,所抓取的车牌区域,作为样本;
步骤5:输入归一化字符图像样本,指定期望得到输入层的输出神经元;根据计算各层输出和各层误差信号;计算实际输出与期望输出误差信号;调整权值,修改相应的分类器。
其中步骤5具体包括:
步骤51:输入层、隐含层和输出层的神经元数据分别是m、n和p;从样本库中取出输入归一化字符图像x1...xn输入神经网络,x1...xn为输入信号;y1...ym为隐含层神经元;指定期望输出为d1...dn;x1...xn指的是归一化后的字符图像;表示隐含层神经元的阈值;
步骤52:根据公式计算隐含层各单元输出h1...hn:
步骤53:神经网络的实际输出o1...on:
步骤54:计算实际输出与期望输出的误差:δk=(dk-yk)yk(1-yk);
其中,k∈(1,m);
步骤55:计算隐含层误差:
步骤56:计算实际输出Ep与期望输出误差平方和E的函数:
其中P为训练样本数目;
步骤57:调整权值,构造相应的分类曲面,即分类器:
其中η为学习因子,汉字分类器对应因子取值为:0.0015;字母分类器和数字分类器对应因子取值为:0.001;
步骤58:偏历样本,检查是否对所有的样本完成一轮训练,如果已经训练的样本小于总体样本即p<P;则p增加1;返回分类器构造步骤训练,用所有样本反复训练网络,直到权值达到稳定;
步骤59:利用所有样本,在训练次数内反复训练网络,同时,检查网络的总体误差是否达到精度要求,若达到要求E<ε,则训练结束;否则,执行分类器构造步骤,在规定的训练次数内作反复训练,直至训练次数完成;ε为给定误差范围。
步骤S61:基于步骤S59实际结果反馈,若识别准确率未达到车牌字符识别目标,则将已有的识别出的车牌字符作数据库扩充,对各个分类器地二次训练,优化所述分类器中各模型参数,达到优化训练器的目的,从而提升识别准确率分类器模型的更新,更新原则如下:
将车牌区域的迭代更新次数提高Δn次,计算经过n+Δn次迭代更新后的车牌图像的识别准确率,直至准确率不再提高,此时的迭代更新次数最佳。若此时任未达到目标要求,则说明n帧车牌图像的有效信息不足,接下来将输入的车牌图像数目增加ΔN帧,计算多次迭代更新后的识别准确率,直至识别准确率达到目标,此时的超分辨模型更新结束。
步骤62:基于步骤S59实际结果反馈,对分类器中各模型参数进行更新。具体是:
在车辆行驶过程中,由于汽车速度时快时慢,车辆间距时远时近,使得获得的车牌图像大小不一,模糊程度也不同,极大地增加了识别难度。因此,我们采用了名称是《一种基于超拉普拉斯模型的运动去模糊算法》(作者:卢在盛、玉振明、李陶深;计算机应用研究第28卷第9期,2011年9月,文章编号:1001-3695(2011)09-3548-03)的文中采用的方法,对采集的模糊车牌图像进行去模糊处理,使得我们可以获得海量的各种车牌图像作为样本库,放入CNN模型进行学习,确保我们的技术更适用于当前工程应用环境。通过对大量车牌图像的训练可得到反映输入样本和输入标签之间的关系的一个CNN网络模型,该模型可有效地体现模糊车牌图像和它们对应的清晰车牌图像的映射关系。确定CNN网络模型后,当输入一幅模糊的车牌图像到网络模型中,可得到该模糊车牌对应的清晰车牌,实现车牌去模糊效果。对于不同环境以及不同场景的模糊车牌图像,我们可以通过不断地扩充训练数据集更新分类器网络模型,最终可得到一个完备的车牌去模糊分类器模型。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。