一种车牌分类方法、车牌分类装置和计算机可读存储介质
技术领域
本申请涉及图像处理
技术领域
,具体涉及一种车牌分类方法、车牌分类装置和计算机可读存储介质。背景技术
海外车牌分类技术是指输入一张车牌输出该车牌的所属国家,当前车牌分类技术主要分为两大类:基于传统图像处理方法和基于深度学习,相对于传统图像处理方法,基于深度学习的车牌分类方法准确度更高,适用于各种类型的车牌分类,应用范围更广。但是由于海外车牌国别分类任务需要获取海外各个国家的车牌数据,很难采集到完备的数据,这对分类模型的泛化能力有着较高的要求;另外,有些国家(尤其是地理位置相近的国家)车牌相似度高,不易区分,有些国家车牌种类繁多,即存在“类间差异小,类内差异大”的问题,致使分类准确率较低。
发明内容
本申请提供一种车牌分类方法、车牌分类装置和计算机可读存储介质,能够提高车牌分类的准确度。
为解决上述技术问题,本申请采用的技术方案是:提供一种车牌分类方法,该方法包括:对第一车牌图像进行车牌识别处理,得到车牌识别结果;对车牌识别结果进行编码处理,得到第一车牌特征;对第一车牌图像进行特征提取处理,得到第二车牌特征;利用分类网络对第一车牌特征与第二车牌特征进行处理,得到第一车牌分类结果。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种车牌分类装置,该车牌分类装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的车牌分类方法。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的车牌分类方法。
通过上述方案,本申请的有益效果是:先获取第一车牌图像,然后对该第一车牌图像进行车牌识别处理,生成车牌识别结果,并对该车牌识别结果进行编码以生成第一车牌特征;同时提取第一车牌图像的外观特征,生成第二车牌特征;最后采用分类网络对第一车牌特征与第二车牌特征进行处理,得到车牌分类的结果;本申请所提供的分类网络能够兼顾学习车牌外观样式和车牌内在格式,通过对车牌进行识别得到车牌中的每个字符,提取车牌字符的内在规律,能够将车牌字符转化为可供国别分类的有用特征,降低了车牌国别分类网络对车牌内容的学习难度,提升了车牌国别分类准确率;另外,由于将车牌字符格式的规律融入到分类网络中,而非孤立的先分类再矫正,有助于正确区分车牌样式规则错综复杂的车牌。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1(a)为国家A的车牌的示意图;
图1(b)为国家B的车牌的示意图;
图1(c)为国家C的车牌的示意图;
图2是本申请提供的车牌分类方法一实施例的流程示意图;
图3是本申请提供的车牌分类方法另一实施例的流程示意图;
图4是本申请提供的车牌分类的结构示意图;
图5是本申请提供的Transfomer模型的结构示意图;
图6是本申请提供的车牌分类的另一结构示意图;
图7是本申请提供的车牌分类装置一实施例的结构示意图;
图8是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为方便说明本申请所提供的方案的原理和动机,现举例说明,图1(a)-1(c)为三个不同的国家相似度较高的车牌,图1(a)为国家A的车牌,图1(b)为国家B的车牌,图1(c)为国家C的车牌,国家A的车牌与国家B的车牌外观相似度极高,使用普通分类方法无法准确分类,不过二者在英文字母和数字的排列顺序上有一定区别。而国家C的车牌与国家A的车牌在外观上相较于国家B的车牌有更大的差异,但其字母与数字的排列方式却与国家A的车牌相同。想要准确区分这三个国家的车牌,需要同时结合车牌外观及车牌内在的字符格式;但对于类别数多达几十甚至上百的海外车牌国别分类任务,且有些国家车牌格式错综复杂,仅通过人力去统计规律难度较大;因此,一个合格的海外车牌分类网络不仅要学到车牌的整体外观,同时还需要学到车牌内容及其排列规律。在实际应用中,由于数据量有限任务难度大,一般的分类网络很难对关键特征进行兼顾,一般的卷积神经网络(ConvolutionalNeural Networks,CNN)分类网络往往仅对车牌整体外观的学习较好,几乎无法学习车牌内容。
针对以上问题,本申请提出一种基于CNN与Transformer特征融合的车牌国别分类方法,该方法使用了一个双分支网络:Transformer分支与CNN网络分支,Transformer分支用来提取车牌字符之间的内在联系,CNN网络分支用来提取车牌外观的关键特征,通过对以上两个方面的特征进行融合,组成更具鲁棒性的特征,然后送入分类网络,从而得到更准确的分类结果,下面对本申请所采用的方案进行详细阐述。
请参阅图2,图2是本申请提供的车牌分类方法一实施例的流程示意图,该方法包括:
步骤11:对第一车牌图像进行车牌识别处理,得到车牌识别结果。
第一车牌图像可以通过图像采集设备获得或通过在图像数据库中查找得到,该图像采集设备可以为摄像头,也可以为具有摄像头的设备。图像采集设备可以设置于车辆上,也可以独立于车辆。
在获取到第一车牌图像后,可采用现有的车牌识别算法对该第一车牌图像进行车牌识别处理,生成车牌识别结果;例如,以图1(a)为例,对国家A的车牌进行识别,得到的车牌识别结果为{A,B,D,5,0,7}。
进一步地,可以直接将获取到的场景图像(包括车牌)作为第一车牌图像,也可以将场景图像中车牌所在的区域的图像作为第一车牌图像,仅将车牌所在的区域的图像作为第一车牌图像的方式,能够使得后续对第一车牌图像的处理更加简单和有效。
步骤12:对车牌识别结果进行编码处理,得到第一车牌特征。
在获取到第一车牌图像对应的车牌识别结果后,可采用编码方法对该车牌识别结果进行编码处理,得到相应的编码后的特征(即第一车牌特征)。
步骤13:对第一车牌图像进行特征提取处理,得到第二车牌特征。
对于获取到的第一车牌图像,可采用特征提取方法(比如:CNN)直接对该第一车牌图像进行特征提取处理,生成相应的特征(即第二车牌特征)。
步骤14:利用分类网络对第一车牌特征与第二车牌特征进行处理,得到第一车牌分类结果。
在获取到第一车牌特征与第二车牌特征之后,可将第一车牌特征与第二车牌特征输入预先训练好的分类网络中,该分类网络可对第一车牌特征与第二车牌特征进行融合或分类等处理,得到第一车牌分类结果;例如,以图1(a)为例,对图1(a)所示的图像进行步骤11-步骤14的处理之后,可得到该车牌的国别为A的第一车牌分类结果。
本实施例所提供的方案主要涉及深度学习技术领域,尤其涉及深度学习、车牌分类以及自然语言处理等技术,对获取到的第一车牌图像直接进行车牌识别处理,得到车牌的字符内容,并对该字符内容进行编码处理,得到相应的文本特征,然后将该文本特征与对第一车牌图像进行特征提取得到的外观特征进行融合与分类处理,从而得到车牌分类的结果;由于将车牌字符格式的规律融入到分类网络中,而非孤立的先分类再矫正,有助于正确区分那些车牌样式规则错综复杂的车牌;另外,通过对分类网络的输入进行改进,降低了车牌国别的分类网络对车牌内容的学习难度,获得了更好的分类效果,提升了车牌分类的准确度。
请参阅图3,图3是本申请提供的车牌分类方法另一实施例的流程示意图,该方法包括:
步骤21:获取待处理图像,并对待处理图像进行裁剪,生成第一车牌图像。
先通过图像采集设备获取待处理图像,通过车牌检测模型获取待处理图像中车牌所在的位置;然后对待处理图像中车牌所在的位置的图像进行截取,得到第一车牌图像,该第一车牌图像包括车牌。
步骤22:利用车牌识别网络对第一车牌图像中的字符进行识别,得到车牌识别结果。
如图4所示,第一车牌图像输入至车牌识别网络,该车牌识别网络对第一车牌图像中的字符(包括数字、英文字母或其他特殊字符)进行识别,生成车牌识别结果。
步骤23:利用预设编码方式对车牌识别结果进行编码,得到车牌字符向量序列。
海外车牌中的字符通常由数字、英文字母、当地文字或特殊符号组成,为了将车牌中的字符转换为Transformer模型的有效输入,本实施例采用one-hot编码模块对车牌识别结果进行独热(one-hot)编码,即预设编码方式为one-hot编码,以将车牌识别结果中的字符串转换为一个唯一与之对应的向量,编码规则如下所示:
假定海外车牌的字符种类为M,车牌可能出现的最大字符长度为N,待分类的车牌中字符的长度记作S,则为该车牌中的每个字符分配一个长度为M的向量,由于该向量的长度与字符种类数相同,向量中的每个位置刚好和一个字符相关联。对于某个字符来说,将向量中相应位置的值设置为1,其余位置的值设置为0,则可生成唯一的向量用来表示该字符。对具有S个字符的车牌来说则可生成S个长度为M的向量,然后进行补充,生成(N-S)个值全为0、长度为M的向量,最终得到N个长度为M的向量,即车牌字符向量序列为N×M的向量,其为车牌号码对应的编码序列,编码好的车牌字符向量序列与文本序列类似,可直接送到Transformer模型中,如图4所示。
例如,假设车牌的最大字符长度N为4,字符种类数M为3(以字母“A”、“B”以及“C”为例),给定一个车牌号码“BAA”,则生成三个长度为3的向量,以依次表示字符“B”、“A”以及“A”,字符“B”对应的向量为[0,1,0],字符“A”对应的向量为[1,0,0],由于此车牌的字符长度比最大字符长度小1,所以需要补充一个空向量[0,0,0],最终车牌“BAA”对应的编码后的车牌字符向量序列为:{[0,1,0];[1,0,0];[1,0,0];[0,0,0]}。
步骤24:利用Transformer模型对车牌字符向量序列进行处理,得到第一车牌特征。
Transformer模型包括编码模块与解码模块,如图5所示,先利用编码模块对车牌字符向量序列进行编码,得到编码车牌字符向量;然后利用解码模块对编码车牌字符向量进行解码,得到第一车牌特征。
进一步地,编码模块由几个串联的编码器组成,解码模块由相应个数的解码器组成,即编码器的数量与解码器的数量相同,图5以编码器和解码器的数量为2为例进行说明,所有编码器的结构都是相同的,每个编码器包括第一自注意力层与第一前馈网络,输入的向量先经过第一自注意力层,第一自注意力层输出的数据传递到第一前馈神经网络中,然后进入下一个编码器,最后一个编码器的输出被送到每个解码器中,在解码器中依次经过第二自注意力层、第二编解码注意力层和第二前馈神经网络,最终得到的输出向量即是包含车牌中字符规则的特征向量。
步骤25:对第一车牌图像进行特征提取处理,得到第二车牌特征。
如图4所示,可采用CNN网络对第一车牌图像进行处理,提取出第一车牌图像中的特征,生成第二车牌特征;具体地,在CNN网络所在的分支(即CNN网络分支)中,可使用任意先进的骨干网络,以提取第一车牌图像的外观特征,在CNN网络分支中,网络的末端得到的是车牌的特征图,为了与Transformer模型输出的特征向量融合,二者都需经过整形网络对其维度进行调整,具体方案如步骤26-步骤27所示。
步骤26:利用第一整形网络对第一车牌特征进行降维处理,得到降维后的第一车牌特征。
如图4所示,分类网络包括与Transformer模型连接的第一整形网络,该第一整形网络接收Transformer模型输出的第一车牌特征,对该第一车牌特征进行降维处理,并将处理后的特征输入特征融合层。
步骤27:利用第二整形网络对第二车牌特征进行降维处理,得到降维后的第二车牌特征。
如图4所示,分类网络还包括与CNN网络连接的第二整形网络,该第二整形网络接收CNN网络输出的第二车牌特征,对该第二车牌特征进行降维处理,以使得降维后的第一车牌特征的维度与降维后的第二车牌特征的维度相等,并将降维后的第二车牌特征输入特征融合层,即输入至特征融合层的两路特征的维度相等。
可以理解地,还可以仅设置第一整形网络与第二整形网络中的一个,当第一车牌特征的维度大于第二车牌特征的维度时,仅设置第一整形网络,利用该第一整形网络将第一车牌特征的维度降低至等于第二车牌特征的维度;当第一车牌特征的维度小于第二车牌特征的维度时,仅设置第二整形网络,利用该第二整形网络将第二车牌特征的维度降低至等于第一车牌特征的维度。
步骤28:利用特征融合层对第一车牌特征与第二车牌特征进行融合处理,得到融合车牌特征。
如图4所示,分类网络还包括特征融合层,特征融合层接收第一整形网络与第二整形网络输出的特征,并对二者进行融合,生成新的特征(即融合车牌特征);例如,第一整形网络输出的特征的维度为1*512,第二整形网络输出的特征的维度为1*512,融合车牌特征的维度为1*512。
步骤29:利用分类层对融合车牌特征进行分类处理,得到第一车牌分类结果。
如图4所示,分类层接收特征融合层输出的融合车牌特征,对该融合车牌特征进行分类,生成相应的分类结果,从而确定出当前待分类的车牌所属的国别;具体地,分类层可由全连接层组成。
在一具体的实施例中,如图6所示,第一车牌图像为图1(a)所示的图像,第一整形网络为第一全连接层,第二整形网络为平均池化层,分类层为第二全连接层。
对于CNN网络输出的特征图采用平均池化的方法,将特征图降维到1*512的大小,Transformer模型输出的特征向量则通过第一全连接层变换到1*512的固定大小,然后利用特征融合层将两者融合相加,得到新的特征向量,新的特征向量被送到第二全连接层,最终输出车牌的所属国别。
本实施例所提供的分类网络为融合CNN和Transformer特征的多输入海外车牌国别分类网络,该网络能够兼顾学习车牌外观样式和车牌内在格式,通过one-hot编码将车牌字符内容编码成Transformer可接受的输入,利用Transformer提取车牌字符的内在规律,将车牌字符转化为可供国别分类的有用特征,提升了车牌国别分类的准确率。
可以理解地,在使用分类网络之前,需要对分类网络进行训练,以确保分类的准确率,具体可以通过以下步骤以对分类网络进行训练:
a.获取分类训练数据
a1)获取分类训练图像。
可采用相机捕获第二车牌图像,第二车牌图像为包括车牌的图像。
a2)对分类训练图像进行车牌识别处理,得到第二车牌识别结果。
在获取到分类训练图像后,可采用车牌识别网络对该分类训练图像进行识别,生成相应的车牌识别结果(记作第二车牌识别结果)。
a3)对第二车牌识别结果进行编码处理,得到第三车牌特征。
采用one-hot编码方式对第二车牌识别结果进行编码处理,得到车牌字符向量序列,然后采用Transfomer模型对该车牌字符向量序列进行处理,从而提取出第二车牌图像的文本特征,记作第三车牌特征。
a4)对分类训练图像进行特征提取处理,得到第四车牌特征。
采用训练好的CNN网络提取分类训练图像中的特征,生成第四车牌特征。可以理解地,如果分类训练图像还包括其他非车牌的内容,则通过车牌检测算法获得车牌位置,然后将车牌位置对应的图像截取出来,作为输入至车牌识别网络与CNN网络的图像,以减少计算的复杂度,提升识别的准确率与特征提取的效率。
重复执行上述步骤a1-a4,得到足够的对国别进行分类的分类训练数据,该分类训练数据包括多组训练特征,每组训练特征包括第三车牌特征以及相应的第四车牌特征。
b.利用分类训练数据训练分类网络
b1)从分类训练数据中选择一组训练特征作为当前训练特征。
可以按照设定的顺序或随机从分类训练数据中选择一组训练特征作为当前输入至分类网络的训练特征,以训练整个分类网络,该训练特征包括第三车牌特征与相应的第四车牌特征。
b2)利用分类网络对当前训练特征中的第三车牌特征与第四车牌特征进行处理,得到第二车牌分类结果。
在获取到第三车牌特征与第四车牌特征后,可采用分类网络对这两个输入的特征进行处理,得到相应的分类结果;具体地,如图4所示,分类网络包括第一整形网络、第二整形网络、特征融合层以及分类层,其具体功能与作用已在上述实施例中阐述,在此不再赘述。
b3)判断分类网络的分类准确度超过预设阈值。
为了判定何时终止训练,可统计当前分类网络的分类准确率,判断分类准确率与预设阈值之间的大小关系。
b4)若分类网络的分类准确度未超过预设阈值,则基于第二车牌分类结果调整分类网络的参数。
如果判断出当前分类网络的分类准确度未超过预设阈值,则表明当前分类准确率不符合要求,此时可基于第二车牌分类结果来调整分类网络的参数,然后返回从分类训练数据中选择一组训练特征作为当前训练特征的步骤,即执行步骤b1,直至分类网络的分类准确度超过预设阈值。
b5)若分类网络的分类准确度超过预设阈值,则停止训练,输出分类网络。
如果检测到当前分类网络的分类准确率已经超过预设阈值,则表明当前分类网络的分类准确度已经较高,满足预先设定的要求,此时可停止训练,输出训练好的分类网络模型。
本实施例提供了一种新的基于深度学习的车牌国别分类方法,该方法考虑了每个国家的车牌样式特点,对车牌字符内容进行one-hot编码,将每一个字符编码为一个唯一的特征向量,然后将编码后的向量输入到Transformer分支,直接提取文本特征,将原本的车牌图像送入CNN网络提取外观特征,通过平均池化层和全连接层,将两个分支的输出映射到相同维度并进行融合,之后通过一个由全连接层组成的分类层进行分类,得到国别的分类结果;Transformer分支可以直接提取车牌字符的文本特征,更好地找到车牌字符与所属国别之间的联系,该方法可以为分类网络提供有关车牌内容的有效的先验知识,降低CNN网络对于车牌内在格式特征的学习难度,从而提高分类的准确率。
请参阅图7,图7是本申请提供的车牌分类装置一实施例的结构示意图,车牌分类装置70包括互相连接的存储器71和处理器72,存储器71用于存储计算机程序,计算机程序在被处理器72执行时,用于实现上述实施例中的车牌分类方法。
本实施例提供了一种基于CNN与Transformer特征融合的海外车牌国别分类方案,融合了CNN与Transfermer的特征,针对车牌字符使用one-hot进行编码,每一个字符都有唯一的向量来表示,再用Transformer模型直接进行文本特征提取,借助Transformer模型的强大特性能够直接、有效且细致的为网络提供车牌字符的内在联系,从而辅助国别分类,即在原本CNN提取的车牌外观特征的基础上融合了车牌格式的文本特征,有助于协助分类网络学习车牌内在格式,可有效应用于海外车牌国家分类任务。
请参阅图8,图8是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质80用于存储计算机程序81,计算机程序81在被处理器执行时,用于实现上述实施例中的车牌分类方法。
计算机可读存储介质80可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于判别性区域定位的图像数据增广方法