一种单双行车牌识别方法、装置、计算机设备及存储介质与流程

文档序号:32416547发布日期:2022-12-02 22:18阅读:103来源:国知局
一种单双行车牌识别方法、装置、计算机设备及存储介质与流程

1.本发明属于车牌识别技术领域,具体涉及一种单双行车牌识别方法、装置、计算机设备及存储介质。


背景技术:

2.车牌识别在高速收费卡口、停车场卡口、车辆追踪和交通监管等场景中都有着广泛的应用。传统的车牌识别方案,要么只能针对单行车牌或双行车牌进行单独识别,要么就需要先对车牌图像进行分类,若为双行车牌图像,则需进一步进行分割及再合并处理或者是在该双行车牌图像上确定上下层分割线的位置,然后再进行车牌识别,进而使得识别过程比较复杂,需要占用较多的计算资源。


技术实现要素:

3.本发明的目的是提供一种单双行车牌识别方法、装置、计算机设备及计算机可读存储介质,用以解决现有车牌识别方案在识别双行车牌时所存在过程复杂和所需计算资源较多的问题。
4.为了实现上述目的,本发明采用以下技术方案:
5.第一方面,提供了一种单双行车牌识别方法,包括:
6.获取样本训练集,其中,所述样本训练集中的多个图像样本包括有单行车牌图像和双行车牌图像,所述多个图像样本中的各个图像样本标注有对应的车牌号序列信息,所述车牌号序列信息包含有按照车牌号序列顺序依次排列的多条字符坐标数据,所述字符坐标数据包含有对应字符的数字化唯一标识以及对应字符在所处车牌图像上的且经过归一化处理的横坐标、纵坐标、宽度和高度;
7.将所述各个图像样本及对应的所述车牌号序列信息输入预设的单双行车牌识别模型,以便对所述单双行车牌识别模型进行训练,其中,所述单双行车牌识别模型包括有图像特征提取单元、空间金字塔池化单元、车牌号序列建模单元、车牌号字符定位建模单元和损失函数计算单元;
8.所述图像特征提取单元,用于从所述图像样本中提取出维度为k
×m×
n的图像特征矩阵,并将所述图像特征矩阵送入所述空间金字塔池化单元,其中,k表示2、3和6的第一公倍数,m表示2、3和6的第二公倍数且大于所述第一公倍数,n表示大于所述第二公倍数的正整数;
9.所述空间金字塔池化单元,用于对所述图像特征矩阵分别做2
×
2、3
×
3和6
×
6的最大池化处理,得到维度分别为和的三个特征矩阵,然后对所述三个特征矩阵进行如下方式(a)和(b)的处理:
10.(a)将所述三个特征矩阵中的各个特征矩阵的前两个维度变为一维,得到维度分
别为和的三个第一新特征矩阵,然后拼接所述三个第一新特征矩阵,得到维度为的一个第二新特征矩阵,再然后对所述第二新特征矩阵做的平均池化处理,得到维度为len
×
n的一个第三新特征矩阵,最后将所述第三新特征矩阵输入所述车牌号序列建模单元,其中,len表示车牌号序列长度;
11.(b)对所述三个特征矩阵中的且维度分别为和的两个特征矩阵分别做1
×
2和2
×
4的填充处理,得到维度均为的两个第四新特征矩阵,然后对所述两个第四新特征矩阵和所述三个特征矩阵中的且维度为的特征矩阵进行拼接,得到维度为的一个第五新特征矩阵,再然后对所述第五新特征矩阵做1
×1×
(3
×
(4+1))的卷积处理,得到维度为的第六新特征矩阵,最后将所述第六新特征矩阵输入所述车牌号字符定位建模单元;
12.所述车牌号序列建模单元,用于根据所述第三新特征矩阵,对车牌号序列进行建模,输出得到各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值;
13.所述车牌号字符定位建模单元,用于根据所述第六新特征矩阵,对车牌号字符位置进行建模,输出得到各个字符格子预测框的横坐标预测值、纵坐标预测值、宽度预测值、高度预测值和置信度预测值;
14.所述损失函数计算单元,用于根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,计算得到损失函数值;
15.将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过所述车牌号序列建模单元输出得到对应的输出数据;
16.针对所述待识别的单行车牌图像或双行车牌图像,根据对应的输出数据,确定对应的且在所述各个字符位置上的车牌号字符,得到对应的车牌号序列。
17.基于上述发明内容,提供了一种只需要看一次就可以进行单双行车牌识别的新方案,即在获取样本训练集后,将所述样本训练集中的各个图像样本及对应的车牌号序列信息输入预设的且能够进行车牌号序列建模和车牌号字符定位建模的单双行车牌识别模型,以便进行模型训练,然后将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过车牌号序列建模单元输出得到对应的且各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值,最后根据输出数据得到车牌号序列,如此可无需对输入的待识别车牌图像进行单双行车牌分类,进而可直接进行车牌识别并输出识别结果,大大简化了识别过程,降低了计算资源需求。
18.在一个可能的设计中,所述图像特征提取单元包括有沿从输入至输出方向依次布置的第一卷积层、第二卷积层、第一卷积残差子单元、第二卷积残差子单元、第三卷积残差子单元、第四卷积残差子单元、第十一卷积层、跨阶段局部网络cspnet层和第五卷积残差子单元,其中,所述第一卷积残差子单元、所述第二卷积残差子单元、所述第三卷积残差子单元、所述第四卷积残差子单元和所述第五卷积残差子单元分别包括有沿从输入至输出方向依次布置的两个卷积层和一个残差块;
19.所述跨阶段局部网络cspnet层,用于将输入分为两部分:一部分前向传入内部的dense块,另一部分作为图像特征矩阵送入所述空间金字塔池化单元。
20.在一个可能的设计中,所述车牌号序列建模单元采用transformer语言模型对车牌号序列进行建模;
21.所述transformer语言模型的输入数据由两部分组成:一部分是所述第三新特征矩阵,另一部分是通过词嵌入法将车牌号转化成维度为len
×
128的特征向量,将所述第三新特征矩阵与所述特征向量相加后构成输入数据,以便输入所述transformer语言模型。
22.在一个可能的设计中,所述词嵌入法采用基于word2vec模型的词嵌入法。
23.在一个可能的设计中,所述transformer语言模型的最末全连接层采用softmax函数作为激活函数。
24.在一个可能的设计中,根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,计算得到损失函数值,包括:
25.根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,按照如下公式计算得到损失函数值loss:
[0026][0027]
式中,l1表示边界框坐标的第一损失值,l2表示边界框坐标的第二损失值,l3表示边界框置信度的损失值,ctc
loss
表示联结主义时间分类ctc损失值,λ
coord
表示第一超参数,λ
noobj
表示第二超参数,i和j分别为自然数,xi表示第i个字符格子预测框的横坐标预测值,表示所述第i个字符格子预测框的横坐标真实值,yi表示所述第i个字符格子预测框的纵坐标预测值,表示所述第i个字符格子预测框的纵坐标真实值,wi表示所述第i个字符格子预测框的宽度预测值,表示所述第i个字符格子预测框的宽度真实值,hi表示所述第i个字符格子预测框的高度预测值,表示所述第i个字符格子预测框的高度真实值,ci表示所述第i个字符格子预测框的置信度预测值,表示所述第i个字符格子预测框的置信度真
实值,表示在所述第i个字符格子预测框中是否有目标字符:有则取值为1,表示在所述第i个字符格子预测框中是否无目标字符:无则取值为1,t表示所述车牌号序列建模单元的输出数据,z表示正确的车牌号序列,r表示所述样本训练集,p(z/t)表示在给定输入t时输出序列z的概率。
[0028]
在一个可能的设计中,所述第一超参数取值为5,所述第二超参数取值为0.5。
[0029]
第二方面,提供了一种单双行车牌识别装置,包括有依次通信连接的训练集获取模块、识别模型训练模块、识别模型应用模块和车牌号确定模块;
[0030]
所述训练集获取模块,用于获取样本训练集,其中,所述样本训练集中的多个图像样本包括有单行车牌图像和双行车牌图像,所述多个图像样本中的各个图像样本标注有对应的车牌号序列信息,所述车牌号序列信息包含有按照车牌号序列顺序依次排列的多条字符坐标数据,所述字符坐标数据包含有对应字符的数字化唯一标识以及对应字符在所处车牌图像上的且经过归一化处理的横坐标、纵坐标、宽度和高度;
[0031]
所述识别模型训练模块,用于将所述各个图像样本及对应的所述车牌号序列信息输入预设的单双行车牌识别模型,以便对所述单双行车牌识别模型进行训练,其中,所述单双行车牌识别模型包括有图像特征提取单元、空间金字塔池化单元、车牌号序列建模单元、车牌号字符定位建模单元和损失函数计算单元;
[0032]
所述图像特征提取单元,用于从所述图像样本中提取出维度为k
×m×
n的图像特征矩阵,并将所述图像特征矩阵送入所述空间金字塔池化单元,其中,k表示2、3和6的第一公倍数,m表示2、3和6的第二公倍数且大于所述第一公倍数,n表示大于所述第二公倍数的正整数;
[0033]
所述空间金字塔池化单元,用于对所述图像特征矩阵分别做2
×
2、3
×
3和6
×
6的最大池化处理,得到维度分别为和的三个特征矩阵,然后对所述三个特征矩阵进行如下方式(a)和(b)的处理:
[0034]
(a)将所述三个特征矩阵中的各个特征矩阵的前两个维度变为一维,得到维度分别为和的三个第一新特征矩阵,然后拼接所述三个第一新特征矩阵,得到维度为的一个第二新特征矩阵,再然后对所述第二新特征矩阵做的平均池化处理,得到维度为len
×
n的一个第三新特征矩阵,最后将所述第三新特征矩阵输入所述车牌号序列建模单元,其中,len表示车牌号序列长度;
[0035]
(b)对所述三个特征矩阵中的且维度分别为和的两个特征矩阵分别做1
×
2和2
×
4的填充处理,得到维度均为的两个第四新特征矩阵,然后
对所述两个第四新特征矩阵和所述三个特征矩阵中的且维度为的特征矩阵进行拼接,得到维度为的一个第五新特征矩阵,再然后对所述第五新特征矩阵做1
×1×
(3
×
(4+1))的卷积处理,得到维度为的第六新特征矩阵,最后将所述第六新特征矩阵输入所述车牌号字符定位建模单元;
[0036]
所述车牌号序列建模单元,用于根据所述第三新特征矩阵,对车牌号序列进行建模,输出得到各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值;
[0037]
所述车牌号字符定位建模单元,用于根据所述第六新特征矩阵,对车牌号字符位置进行建模,输出得到各个字符格子预测框的横坐标预测值、纵坐标预测值、宽度预测值、高度预测值和置信度预测值;
[0038]
所述损失函数计算单元,用于根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,计算得到损失函数值;
[0039]
所述识别模型应用模块,用于将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过所述车牌号序列建模单元输出得到对应的输出数据;
[0040]
所述车牌号确定模块,用于针对所述待识别的单行车牌图像或双行车牌图像,根据对应的输出数据,确定对应的且在所述各个字符位置上的车牌号字符,得到对应的车牌号序列。
[0041]
第三方面,本发明提供了一种计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意可能设计所述的单双行车牌识别方法。
[0042]
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意可能设计所述的单双行车牌识别方法。
[0043]
第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意可能设计所述的单双行车牌识别方法。
[0044]
有益效果:
[0045]
(1)本发明创造提供了一种只需要看一次就可以进行单双行车牌识别的新方案,即在获取样本训练集后,将所述样本训练集中的各个图像样本及对应的车牌号序列信息输入预设的且能够进行车牌号序列建模和车牌号字符定位建模的单双行车牌识别模型,以便进行模型训练,然后将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过车牌号序列建模单元输出得到对应的且各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值,最后根据输出数据得到车牌号序列,如此可无需对输入的待识别车牌图像进行单双行车牌分类,进而可直接进行车牌识别并输出识别结果,大大简化了识别过程,降低了计算资源需求;
[0046]
(2)由于是通过骨干网络提取车牌图像特征,并在训练过程中是分别基于该车牌图像特征进行车牌号识别和字符定位的建模,且字符定位建模过程中只是一个卷积操作,不会占用太多计算资源,便于实际应用和推广。
附图说明
[0047]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]
图1为本实施例提供的单双行车牌识别方法的流程示意图。
[0049]
图2为本实施例提供的单双行车牌识别模型的结构示意图。
[0050]
图3为本实施例提供的在单双行车牌识别模型中图像特征提取单元及空间金字塔池化单元的层结构示意图。
[0051]
图4为本实施例提供的单双行车牌识别装置的结构示意图。
[0052]
图5为本实施例提供的计算机设备的结构示意图。
具体实施方式
[0053]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
[0054]
应当理解,尽管本文可能使用术语第一和第二等等来描述各种对象,但是这些对象不应当受到这些术语的限制。这些术语仅用于区分一个对象和另一个对象。例如可以将第一对象称作第二对象,并且类似地可以将第二对象称作第一对象,同时不脱离本发明的示例实施例的范围。
[0055]
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a、单独存在b或者同时存在a和b等三种情况;又例如,a、b和/或c,可以表示存在a、b和c中的任意一种或他们的任意组合;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a或者同时存在a和b等两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
[0056]
如图1所示,本实施例第一方面提供的所述单双行车牌识别方法,可以但不限于由具有一定计算资源的计算机设备执行,例如由平台服务器、个人计算机(personal computer,pc,指一种大小、价格和性能适用于个人使用的多用途计算机;台式机、笔记本电脑到小型笔记本电脑和平板电脑以及超级本等都属于个人计算机)、智能手机、个人数字助理(personal digital assistant,pda)或可穿戴设备等电子设备执行。如图1所示,所述单双行车牌识别方法,可以但不限于包括有如下步骤s1~s4。
[0057]
s1.获取样本训练集,其中,所述样本训练集中的多个图像样本包括有单行车牌图
像和双行车牌图像,所述多个图像样本中的各个图像样本标注有对应的车牌号序列信息,所述车牌号序列信息包含有按照车牌号序列顺序依次排列的多条字符坐标数据,所述字符坐标数据包含有对应字符的数字化唯一标识以及对应字符在所处车牌图像上的且经过归一化处理的横坐标、纵坐标、宽度和高度。
[0058]
在所述步骤s1中,所述样本训练集中的单行车牌图像数目与双行车牌图像数目优选为相差不大。所述多条字符坐标数据的示例如下表1所示:
[0059]
表1.多条字符坐标数据的示例
[0060][0061]
如表1所示,其为某个单行车牌图像的七条字符坐标数据(其与七个字符位置一一对应),对应的车牌号序列为“皖a38519”。此外,由于车牌号序列一般是由24个字母、10个数字及42个汉字(包括省份及特殊车牌汉字,如“挂”和“警”等)构成,因此所需的车牌号字符有76个。
[0062]
s2.将所述各个图像样本及对应的所述车牌号序列信息输入预设的单双行车牌识别模型,以便对所述单双行车牌识别模型进行训练,其中,所述单双行车牌识别模型包括但不限于有图像特征提取单元、空间金字塔池化单元、车牌号序列建模单元、车牌号字符定位建模单元和损失函数计算单元等。
[0063]
在所述步骤s2中,所述图像特征提取单元,用于从所述图像样本中提取出维度为k
×m×
n的图像特征矩阵,并将所述图像特征矩阵送入所述空间金字塔池化单元,其中,k表示2、3和6的第一公倍数,m表示2、3和6的第二公倍数且大于所述第一公倍数,n表示大于所述第二公倍数的正整数。优选的,如图3所示,所述图像特征提取单元包括但不限于有沿从输入至输出方向依次布置的第一卷积层、第二卷积层、第一卷积残差子单元、第二卷积残差子单元、第三卷积残差子单元、第四卷积残差子单元、第十一卷积层、跨阶段局部网络cspnet层和第五卷积残差子单元,其中,所述第一卷积残差子单元、所述第二卷积残差子单元、所述第三卷积残差子单元、所述第四卷积残差子单元和所述第五卷积残差子单元分别包括但不限于有沿从输入至输出方向依次布置的两个卷积层和一个残差块;所述跨阶段局部网络cspnet层,用于将输入分为两部分:一部分前向传入内部的dense块,另一部分作为
图像特征矩阵送入所述空间金字塔池化单元。即考虑车牌场景简单,若结构太复杂,则会过拟合,因此在参考cspdarknet53网络(即yolov4的主干网络cspdarknet53)的基础上,所述图像特征提取单元的前半部分只使用了13个卷积层,不但省去了原cspdarknet53网络中的大部分卷积层,还可以节约大量的计算资源。同时通过在所述第十一卷积层之后引入所述跨阶段局部网络cspnet(cross stage partial densenet)层,可通过传播保留特征,鼓励网络重利用特征,减少网络参数的数量,帮助保存细粒度特征,进而可更高效地前向进入更深的层。此外,如图3所示,所述第一公倍数k取值举例为12,所述第二公倍数m取值举例为24,n取值举例为128。
[0064]
在所述步骤s2中,所述空间金字塔池化(spatial pyramid pooling,spp)单元,用于对所述图像特征矩阵分别做2
×
2、3
×
3和6
×
6的最大池化处理,得到维度分别为6的最大池化处理,得到维度分别为和的三个特征矩阵,然后对所述三个特征矩阵进行如下方式(a)和(b)的处理:(a)将所述三个特征矩阵中的各个特征矩阵的前两个维度变为一维,得到维度分别为和的三个第一新特征矩阵,然后拼接所述三个第一新特征矩阵,得到维度为的一个第二新特征矩阵,再然后对所述第二新特征矩阵做的平均池化处理,得到维度为len
×
n的一个第三新特征矩阵,最后将所述第三新特征矩阵输入所述车牌号序列建模单元,其中,len表示车牌号序列长度(一般为7);(b)对所述三个特征矩阵中的且维度分别为和的两个特征矩阵分别做1
×
2和2
×
4的填充处理,得到维度均为的两个第四新特征矩阵,然后对所述两个第四新特征矩阵和所述三个特征矩阵中的且维度为的特征矩阵进行拼接,得到维度为的一个第五新特征矩阵,再然后对所述第五新特征矩阵做1
×1×
(3
×
(4+1))的卷积处理,得到维度为的第六新特征矩阵,最后将所述第六新特征矩阵输入所述车牌号字符定位建模单元。
[0065]
前述方式(a)对应车牌号序列建模,而前述方式(b)对应车牌号字符定位建模,虽然两种建模在特征矩阵的拼接方式上有不同,但源数据是相同的,也意味着所述两种建模共享了特征矩阵,这样无论输入的车牌图像是单行车牌图像还是双行车牌图像,都会有更精确的定位和识别效果。此外,前述的最大池化处理、平均池化处理和填充处理等均为现有常规处理方式,例如2
×
2的最大池化处理(maxpooling)表示在2
×
2的格子中取最大值;平均池化处理(avgpooling)表示取均值;1
×
2的填充处理(padding)表示矩阵左右分别添加1个0且上下分别添加2个0做填充。
[0066]
在所述步骤s2中,所述车牌号序列建模单元,用于根据所述第三新特征矩阵,对车牌号序列进行建模,输出得到各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值。具体的,所述车牌号序列建模单元采用transformer语言模型(其为谷歌大脑在2017年底发表的论文attention is all you need中所提出的seq2seq模型,它抛弃了传统的cnn和rnn,整个网络结构完全是由attention机制组成,在nlp中的许多任务都超越了rnn和lstm,而且算法的并行性好,能够使用gpu加速训练)对车牌号序列进行建模;所述transformer语言模型的输入数据由两部分组成:一部分是所述第三新特征矩阵(维度为len
×
128),另一部分是通过词嵌入法将车牌号转化成维度为len
×
128的特征向量,将所述第三新特征矩阵与所述特征向量相加后构成输入数据(即构成整个车牌号的编码),以便输入所述transformer语言模型。详细的,前述的词嵌入法可以但不限于采用基于word2vec模型(其是用来生成词向量的工具,也是从大量文本语料中以无监督方式学习语义知识的模型)的词嵌入法;所述transformer语言模型的最末全连接层可以但不限于采用softmax函数作为激活函数,以便经过所述最末全连接层输出得到各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值,即输出数据为一个维度为len
×
76的矩阵,其中,76代表76个车牌号字符。此外,具体对车牌号序列进行建模的过程为现有技术,于此不再赘述。
[0067]
在所述步骤s2中,所述车牌号字符定位建模单元,用于根据所述第六新特征矩阵,对车牌号字符位置进行建模,输出得到各个字符格子预测框的横坐标预测值、纵坐标预测值、宽度预测值、高度预测值和置信度预测值。具体对车牌号字符位置进行建模的过程为现有技术,于此不再赘述。
[0068]
在所述步骤s2中,所述损失函数计算单元,用于根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,计算得到损失函数值。具体的,根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,按照如下公式计算得到损失函数值loss:
[0069][0070]
式中,l1表示边界框坐标的第一损失值,l2表示边界框坐标的第二损失值,l3表示边界框置信度的损失值,ctc
loss
表示联结主义时间分类ctc(connectionist temporal classification)损失值,λ
coord
表示第一超参数,λ
noobj
表示第二超参数,i和j分别为自然数,xi表示第i个字符格子预测框的横坐标预测值,表示所述第i个字符格子预测框的横坐标真实值,yi表示所述第i个字符格子预测框的纵坐标预测值,表示所述第i个字符格子预测框的纵坐标真实值,wi表示所述第i个字符格子预测框的宽度预测值,表示所述第
i个字符格子预测框的宽度真实值,hi表示所述第i个字符格子预测框的高度预测值,表示所述第i个字符格子预测框的高度真实值,ci表示所述第i个字符格子预测框的置信度预测值,表示所述第i个字符格子预测框的置信度真实值,表示在所述第i个字符格子预测框中是否有目标字符:有则取值为1,表示在所述第i个字符格子预测框中是否无目标字符:无则取值为1,t表示所述车牌号序列建模单元的输出数据,z表示正确的车牌号序列,r表示所述样本训练集,p(z/t)表示在给定输入t时输出序列z的概率。基于前述公式可知,损失函数由每个字符的边界框参数和ctc损失联合组成,其中,ctc损失会构造一个表格,该表格中每个格子代表当前位置是某个字符的概率,ctc会根据给定输入t从初始位置到结束位置找输出序列为z的所有可能路径,即p(z/t)为其中一条路径,取所有输出序列z路径概率的乘积,取负对数后,最小化损失函数,就可以使输出序列z的概率达到最大。前述的第一超参数和第二超参数均可人为设定,详细的,所述第一超参数取值为5,所述第二超参数取值为0.5。此外,前述各项预测值及真实值均可在模型训练中常规获取得到,以及所述损失函数值的具体应用为现有模型训练的常规方式,于此不再赘述。
[0071]
s3.将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过所述车牌号序列建模单元输出得到对应的输出数据。
[0072]
在所述步骤s3中,输出数据即为维度为len
×
76的矩阵,以便表示各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值。
[0073]
s4.针对所述待识别的单行车牌图像或双行车牌图像,根据对应的输出数据,确定对应的且在所述各个字符位置上的车牌号字符,得到对应的车牌号序列。
[0074]
在所述步骤s4中,具体的,可针对所述各个字符位置,将对应的且具有最大出现概率预测值的车牌号字符作为对应的字符,从而组合所有位置的字符,得到所述车牌号序列。例如,一般的车牌号序列会有七个字符位置,针对所述七个字符位置,若对应的且具有最大出现概率预测值的车牌号字符分别为“皖”、“a”、“3”、“8”、“5”、“1”和“9”,则可串联得到车牌号序列为“皖a38519”,以便作为最终的车牌识别结果。
[0075]
由此基于前述步骤s1~s4所描述的单双行车牌识别方法,提供了一种只需要看一次就可以进行单双行车牌识别的新方案,即在获取样本训练集后,将所述样本训练集中的各个图像样本及对应的车牌号序列信息输入预设的且能够进行车牌号序列建模和车牌号字符定位建模的单双行车牌识别模型,以便进行模型训练,然后将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过车牌号序列建模单元输出得到对应的且各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值,最后根据输出数据得到车牌号序列,如此可无需对输入的待识别车牌图像进行单双行车牌分类,进而可直接进行车牌识别并输出识别结果,大大简化了识别过程,降低了计算资源需求。此外,由于是通过骨干网络提取车牌图像特征,并在训练过程中是分别基于该车牌图像特征进行车牌号识别和字符定位的建模,且字符定位建模过程中只是一个卷积操作,不会占用太多计算资源,便于实际应用和推广。
[0076]
如图4所示,本实施例第二方面提供了一种实现第一方面所述的单双行车牌识别方法的虚拟装置,包括有依次通信连接的训练集获取模块、识别模型训练模块、识别模型应用模块和车牌号确定模块;
[0077]
所述训练集获取模块,用于获取样本训练集,其中,所述样本训练集中的多个图像样本包括有单行车牌图像和双行车牌图像,所述多个图像样本中的各个图像样本标注有对应的车牌号序列信息,所述车牌号序列信息包含有按照车牌号序列顺序依次排列的多条字符坐标数据,所述字符坐标数据包含有对应字符的数字化唯一标识以及对应字符在所处车牌图像上的且经过归一化处理的横坐标、纵坐标、宽度和高度;
[0078]
所述识别模型训练模块,用于将所述各个图像样本及对应的所述车牌号序列信息输入预设的单双行车牌识别模型,以便对所述单双行车牌识别模型进行训练,其中,所述单双行车牌识别模型包括有图像特征提取单元、空间金字塔池化单元、车牌号序列建模单元、车牌号字符定位建模单元和损失函数计算单元;
[0079]
所述图像特征提取单元,用于从所述图像样本中提取出维度为k
×m×
n的图像特征矩阵,并将所述图像特征矩阵送入所述空间金字塔池化单元,其中,k表示2、3和6的第一公倍数,m表示2、3和6的第二公倍数且大于所述第一公倍数,n表示大于所述第二公倍数的正整数;
[0080]
所述空间金字塔池化单元,用于对所述图像特征矩阵分别做2
×
2、3
×
3和6
×
6的最大池化处理,得到维度分别为和的三个特征矩阵,然后对所述三个特征矩阵进行如下方式(a)和(b)的处理:
[0081]
(a)将所述三个特征矩阵中的各个特征矩阵的前两个维度变为一维,得到维度分别为和的三个第一新特征矩阵,然后拼接所述三个第一新特征矩阵,得到维度为的一个第二新特征矩阵,再然后对所述第二新特征矩阵做的平均池化处理,得到维度为len
×
n的一个第三新特征矩阵,最后将所述第三新特征矩阵输入所述车牌号序列建模单元,其中,len表示车牌号序列长度;
[0082]
(b)对所述三个特征矩阵中的且维度分别为和的两个特征矩阵分别做1
×
2和2
×
4的填充处理,得到维度均为的两个第四新特征矩阵,然后对所述两个第四新特征矩阵和所述三个特征矩阵中的且维度为的特征矩阵进行拼接,得到维度为的一个第五新特征矩阵,再然后对所述第五新特征矩阵做1
×1×
(3
×
(4+1))的卷积处理,得到维度为的第六新特征矩阵,最后将所述第六新特征矩阵输入所述车牌号字符定位建模单元;
[0083]
所述车牌号序列建模单元,用于根据所述第三新特征矩阵,对车牌号序列进行建
模,输出得到各个车牌号字符在车牌号序列中各个字符位置上的出现概率预测值;
[0084]
所述车牌号字符定位建模单元,用于根据所述第六新特征矩阵,对车牌号字符位置进行建模,输出得到各个字符格子预测框的横坐标预测值、纵坐标预测值、宽度预测值、高度预测值和置信度预测值;
[0085]
所述损失函数计算单元,用于根据所述车牌号序列建模单元及所述车牌号字符定位建模单元的输出数据,计算得到损失函数值;
[0086]
所述识别模型应用模块,用于将待识别的单行车牌图像或双行车牌图像输入已完成训练的所述单双行车牌识别模型,以便经过所述车牌号序列建模单元输出得到对应的输出数据;
[0087]
所述车牌号确定模块,用于针对所述待识别的单行车牌图像或双行车牌图像,根据对应的输出数据,确定对应的且在所述各个字符位置上的车牌号字符,得到对应的车牌号序列。
[0088]
本实施例第二方面提供的前述装置的工作过程、工作细节和技术效果,可以参见第一方面所述的单双行车牌识别方法,于此不再赘述。
[0089]
如图5所示,本实施例第三方面提供了一种执行如第一方面所述的单双行车牌识别方法的计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面所述的单双行车牌识别方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(random-access memory,ram)、只读存储器(read-only memory,rom)、闪存(flash memory)、先进先出存储器(first input first output,fifo)和/或先进后出存储器(first input last output,filo)等等;所述处理器可以但不限于采用型号为stm32f105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源模块、显示屏和其它必要的部件。
[0090]
本实施例第三方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见第一方面所述的单双行车牌识别方法,于此不再赘述。
[0091]
本实施例第四方面提供了一种存储包含如第一方面所述的单双行车牌识别方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的单双行车牌识别方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memory stick)等计算机可读存储介质,所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。
[0092]
本实施例第四方面提供的前述计算机可读存储介质的工作过程、工作细节和技术效果,可以参见如第一方面所述的单双行车牌识别方法,于此不再赘述。
[0093]
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面所述的单双行车牌识别方法。其中,所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。
[0094]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1