一种基于transformer的车牌字符识别方法与流程

专利检索2022-05-11  17



1.本发明涉及车牌识别技术领域,特别涉及一种基于transformer的车牌字符识别方法。


背景技术:

2.车牌识别是智能交通的核心技术,包含了两个大部分:车牌位置检测和车牌字符识别。其中,车牌字符识别是整个技术最重要的一部分,车牌字符识别引擎的质量,直接决定车牌识别技术的整体性能。
3.车牌字符识别是指在一幅已知车牌位置的图像中,准确无遗漏的识别出该车牌上的所有汉字、字符和数字,具体包括以下技术步骤:车牌位置校正、车牌字符分割、车牌字符识别等。
4.车牌位置校正是指对位置不理想的初检测车牌进行空间变换,使之成为理想位置的车牌,方便后续进行精确的字符分割,空间变换包括平移变换、旋转变换、缩放变换、错切变换、透视变换等,常用的校正方法有以下几类:
5.(1)基于直线检测的方法,代表方法有“基于hough直线检测的校正方法”和“基于radon直线检测的校正方法”,其原理是直接检测车牌上的直线,根据直线的倾斜角度进行车牌位置校正。
6.(2)基于遍历查找的方法,代表方法有“基于旋转投影的校正方法”。其原理是首先将车牌旋转到每一个允许的角度位置,然后进行投影获取相应的特征值,通过比较获取最佳的特征值,此时对应的角度就是最佳的车牌倾斜角度。
7.(3)基于特征分析的方法,代表方法有“基于主元分析的校正方法”和“基于最小二乘法的校正方法”,该类方法直接对灰度图像或者二值化图像进行整体的分析,获取整体意义上的最优校正参数。
8.字符分割是指在一幅已知车牌位置的图像中,精确分割出每个单一字符,主要有以下几类方法:
9.(1)基于垂直投影的方法,该方法通过获取车牌字符的垂直投影曲线,依据曲线的波峰波谷位置,获取每个字符的边缘位置。
10.(2)基于连通区域分析的方法,该方法首先进行车牌图像二值化,利用单个字符都是单连通区域的特征进行分析,最终获取字符的位置。
11.(3)基于机器学习的方法,如“一种基于支持向量机的车牌字符分割方法”,该类方法通过获取车牌的布局规律特征,借助分类器进行训练学习,最终完成车牌字符的分割。
12.车牌字符识别是指对于已经精确分割的单个字符,识别出其真实的字母意义,常用的方法有以下几类:
13.(1)全局特征,该类特征采用全局变换来获取字符的整体特征,使用有序的整体特征或者子集特征来构成特征向量,常见的特征有gabor变换特征、矩特征、投影特征、笔划密度特征、harr特征、hog特征等。这些特征的优点是对局部变化不敏感,抗干扰能力强;其缺
点是容易忽略某些重要的局部特征,无法区分相似的字符。
14.(2)局部特征,该类特征是在字符的多个局部区域内,计算相应的特征,使用串联的有序局部特征构成最终的特征向量,主要特征包括局部灰度直方图特征、lbp特征、穿线特征、sift特征等。该类特征的优点是区分字符的能力强;其缺点是过分关注字符的局部特征,往往会错误区分具有噪声干扰的字符。
15.以上技术对于清晰的车牌图像,均可以达到很不错的效果,然而,实际环境中采集的车牌图像,往往存在分辨率较低、部分字符变浅或缺失、边缘模糊、字符倾斜等特点,使得准确地进行车牌位置校正、车牌字符分割、车牌字符识别变得很困难,甚至出现失效的情况,严重影响了车牌识别的整体性能。因此,如何准确鲁棒的识别车牌字符,依然是国内车牌识别系统的难点。
16.近年来,深度学习技术凭借着可以模拟人类大脑神经网络,能够进行精确的非线性预测,在各个领域都得到了广泛的关注和应用,但该技术的缺点是模型消耗内存很大,运算量很大,因此需要消耗大量的内存和运算能力。
17.在车牌字符识别领域,由于车牌字符具有明确的位置排列规则,同时车牌字符彼此之间具有一定的相关性,因此我们提出了一种具有自校正意识的车牌字符识别方法,不再严格意义上区分车牌位置校正、车牌字符分割、车牌字符识别等步骤,借助一个具有自校正意识的深度神经网络模型,直接完成车牌字符识别,进而输出最佳车牌识别结果。


技术实现要素:

18.本发明的目的在于克服上述背景技术中的不足,提供一种识别速度快、识别结果准确的车牌字符识别方法。
19.为实现以上目的,采用一种基于transformer的车牌字符识别方法,包括:
20.获取待识别的车牌局部图像作为车牌字符识别模型的输入,车牌字符识别模型包括特征提取模块、解码模块和预测模块;
21.特征提取模块用于获取车牌局部图像的高层特征图;
22.解码模块基于高层特征图,获取每个车牌字符的最优特征表达向量;
23.预测模块基于每个车牌字符的最优特征表达向量,识别出车牌字符。
24.进一步地,所述特征提取模块包括卷积层conv0、conv1、rconv1、rconv2、rconv0、rconv3、rconv4,最大值池化层maxpool0以及合并层eltsum0和eltsum1;
25.所述车牌局部图像作为卷积层conv0的输入,卷积层conv0的输出经最大值池化层maxpool0分别与卷积层rconv2和卷积层rconv0连接,卷积层rconv2的输出连接合并层eltsum0,卷积层rconv0的输出经卷积层rconv1与合并层eltsum0连接,合并层eltsum0的输出分别与合并层eltsum1及卷积层rconv3连接,卷积层rconv3经卷积层rconv4与合并层eltsum1连接,合并层eltsum1输出与卷积层conv1连接,卷积层conv1输出为所述高层特征图。
26.进一步地,所述解码模块包括多头自注意力层multi-head attention、多头全局注意力层multi-head self-attention、全连接层ffn、相加归一化层add&norm;目标查询输出标识向量object queries分别作为多头自注意力层multi-head attention和多头全局注意力层multi-head self-attention的输入,多头自注意力层multi-head attention和
多头全局注意力层multi-head self-attention之间经相加归一化层add&norm1连接,多头全局注意力层multi-head self-attention输出经相加归一化层add&norm2与全连接层ffn连接,全连接层ffn输出与相加归一化层add&norm3连接,相加归一化层add&norm3输出为所述每个车牌字符的最优特征表达向量;
27.目标查询输出标识向量object queries还作为相加归一化层add&norm1的输入,相加归一化层add&norm1的输出与相加归一化层add&norm2了解,相加归一化层add&norm2的输出与相加归一化层add&norm3连接,所述高层特征图及其对应的位置编码特征图作为多头全局注意力层multi-head self

attention的输入。
28.进一步地,所述解码模型第一次执行时,作为所述解码模块输入的目标查询输出标识向量object queries为初始的目标查询输出标识向量,后续执行时,作为所述解码模块输入的目标查询输出标识向量object queries为上一次执行输出的object queries。
29.进一步地,所述预测模块包括一个全连接层。
30.进一步地,在所述获取待识别的车牌局部图像作为车牌字符识别模型的输入之前,还包括:
31.对所述车牌局部图像的尺寸进行归一化处理,得到归一化后的车牌局部图像;
32.相应地,将所述归一化后的车牌局部图像作为所述车牌字符识别模型的输入。
33.进一步地,在所述获取待识别的车牌局部图像作为车牌字符识别模型的输入之前,还包括:
34.获取训练样本图像;
35.设计所述车牌字符识别模型的目标损失函数;
36.利用训练样本图像对所述车牌字符识别模型进行训练,学习模型参数。
37.进一步地,所述获取训练样本图像,包括:
38.收集车牌图像;
39.基于车牌图像获取车牌字符局部区域图像,并标注每一车牌字符的类别,将标注好车牌字符类别的图像作为所述训练样本图像。
40.进一步地,所述目标损失函数采用ctc损失函数。
41.与现有技术相比,本发明存在以下技术效果:本发明借助一个具有自注意力机制和全局注意力机制的深度神经网络模型,直接完成车牌位置校正、车牌字符分割、车牌字符识别等工作,不再严格意义上区分车牌位置校正、车牌字符分割、车牌字符识别等步骤,直接完成车牌字符识别,进而输出最佳车牌识别结果。多个车牌字符识别步骤只需一个深度神经网络模型即可完成,识别速度更快,误差来源更少,识别结果更加准确,对于污损、粘连、字符缺失、定位不够精确的低质量车牌图像,鲁棒性更强。
附图说明
42.下面结合附图,对本发明的具体实施方式进行详细描述:
43.图1是基于transformer的车牌字符识别方法的整体流程图;
44.图2是深度神经网络模型的结构图;
45.图3是特征提取网络模块结构图;
46.图4是解码器模块的网络结构图;
47.图5是车牌字符识别流程图。
48.其中每个模块图形旁边的字母数字,表示当前特征层的名称,当前特征层的特征图尺寸,即:特征图高度
×
特征图宽度
×
特征图通道数。
具体实施方式
49.为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
50.本发明所提出的方法适用于任意制式车牌的字符识别,只需获取整个车牌局部图像即可。为了方便说明本发明,本实施例以7字符单层蓝牌为例展开叙述。如图1所示,本实施例公开了一种基于transformer的车牌字符识别方法,包括如下步骤:
51.s1、设计深度神经网络模型:
52.本发明设计的深度神经网络模型,其主要作用是借助一个基于transformer解码器的深度神经网络模型,直接完成车牌位置校正、车牌字符分割、车牌字符识别,输出整体最优的字符识别结果,由于不再刻意区分车牌位置校正、车牌字符分割、车牌字符识别等步骤,使得整个车牌字符识别速度更快,误差来源更少,识别精度更高。本发明使用卷积神经网络(cnn)进行深度神经网络模型设计,为了方便叙述本发明,定义一些术语:特征图分辨率指的是特征图高度
×
特征图宽度,特征图尺寸指的是特征图高度
×
特征图宽度
×
特征图通道数,核尺寸指的是核宽度
×
核高度,跨度指的是宽度方向跨度
×
高度方向跨度,另外,每一个卷积层后面均带有批量归一化层和非线性激活层。
53.如图2所示,本发明所设计的深度神经网络模型包含三个模块:特征提取模块backbone module、解码模块decoder module,预测模块predict module,具体设计步骤如下:
54.s11、设计特征提取模块backbone module:
55.特征提取网络模块主要用于获取输入车牌图像的具有高度抽象和丰富表达能力的高层特征,高层特征提取的质量直接影响后续字符识别的性能。本发明采用改进的resnet经典网络作为特征提取网络,如图3所示,该特征提取网络的输入图像是一幅图像分辨率为192
×
64的3通道rgb图像;conv0是核尺寸为3x3,跨度为2x2的卷积层,maxpool0是核尺寸为2x2,跨度为2x2的最大值池化层;rconv2是核尺寸为1x1,跨度为2x2的卷积层,rconv0、rconv3是核尺寸为1x1,跨度为1x1的卷积层,rconv1是核尺寸为3x3,跨度为2x2的卷积层,rconv4、conv1均是核尺寸为3x3,跨度为1x1的卷积层,eltsum0层和eltsum1层均是合并层,其作用是把多个输入特征图按对应元素相加合并成一个输出特征图;该特征提取网络模块的输出就是高层特征图feature map。
56.s12、设计解码模块decoder module:
57.解码模块主要在特征提取模块输出的高层特征图基础上,基于改进的detr(end-to-end object detection with transformers)解码器网络模块,通过自注意力机制和全局注意力机制,获取每个车牌字符的最优特征表达向量,具体网络结构如4所示,feature map表示特征提取模块输出的高层特征图;feature pos表示feature map对应的位置编码特征图,用来表示feature map特征图中不同像素的空间位置,其特征图分辨率和特征提取模块输出的特征图分辨率相同,feature pos的具体定义和detr模块里的定义保持一致,
feature pos特征图中每个位置的具体特征值通过网络训练学习获得;multi-head attention、multi-head self-attention、ffn、add&norm分别表示多头自注意力层、多头全局注意力层、全连接层、相加归一化层,具体含义和detr模块里的定义保持一致;v、k、q分别表示注意力层的各个输入分量; 表示两个输入特征层逐像素相加层;object queries是目标查询输出标识向量,用来定义该解码模块需要输出的编码特征向量,其中,n表示需要输出的编码特征向量的个数,本实施例中的蓝牌有7个字数,故n等于7,64表示输出的每一个编码特征向量的维数,和feature map的维数保持一致,object queries里的具体特征值通过网络训练学习获得;该解码模块会被重复执行多次,第一次执行时,解码模块的输入object queries来源于初始的目标查询输出标识向量,后续重复执行时,解码模块的输入object queries均来源于上一次执行输出的object queries,如图4中虚线箭头所示,m表示重复执行的次数,本发明中,m=2。
58.s13、设计预测模块predict module:
59.预测模块主要是在步骤s12获取的每个车牌字符的最优特征表达向量的基础上,预测出每个字符的真实意义。该模块包括一个全连接层,其输出特征图尺寸是n
×
74,其中,n和步骤s12中定义相同,74是车牌字符的类别数目。
60.s2、训练深度神经网络模型:
61.主要是通过大量的标注好的训练样本数据,优化深度神经网络模型参数,使得深度神经网络模型识别性能最优,具体的步骤如下:
62.s21、获取训练样本图像,主要是收集各种场景,各种光线、各种角度下的车牌图像,使用现有的车牌字符分割方法获取车牌字符局部区域图像,然后标注每一车牌字符的类别;
63.s22、设计深度神经网络模型的目标损失函数,目标损失函数采用的是ctc损失函数(ctc loss),ctc loss是识别具有上下文信息关系的语言句子的最有效的训练损失函数。
64.s23、训练深度神经网络模型,主要是把标注好的车牌字符样本图像集合送入定义好的深度神经网络模型,学习相关的模型参数;
65.s3、使用深度神经网络模型,训练完深度神经网络模型后,接下来就是在实际环境中进行模型使用,对于任意给出的一幅车牌局部图像,送入训练好的深度神经网络模型,输出车牌字符识别结果,如图5所示,具体步骤如下:
66.s31、获取待识别的车牌局部图像作为车牌字符识别模型的输入,车牌字符识别模型包括特征提取模块、解码模块和预测模块;
67.s32、特征提取模块用于获取车牌局部图像的高层特征图;
68.s33、解码模块基于高层特征图,获取每个车牌字符的最优特征表达向量;
69.s34、预测模块基于每个车牌字符的最优特征表达向量,识别出车牌字符。
70.进一步地,在步骤s31之前,还包括:
71.检测局部车牌图像,主要是在整幅图像中,检测出车牌所在的位置,通过裁剪操作把局部车牌图像从整幅图中提取出来,并进行图像尺寸归一化,主要方法是使用现有的成熟方法。
72.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和
原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-1056279.html

最新回复(0)