一种车牌识别方法、装置、设备及存储介质与流程

专利查询12月前  69



1.本发明涉及智能交通领域,特别是涉及一种车牌识别方法、装置、设备及存储介质。


背景技术:

2.车牌自动识别任务是智能交通领域内非常重要的一个问题,智能停车场的收费系统、车辆查找系统、交通卡口的违法行为抓拍、流动式违法稽查设备等都需要通过自动识别车牌进行车辆的身份确认。
3.目前,现有的车牌识别方式主要包括两种方式,第一种方式是基于传统机器学习的车牌识别方式,首先通过图像分割的方式将每一个字符扣取出来,然后对每一个字符采用模板匹配或者svm(支持向量机)的方式进行分类,通过这种方式来识别车牌号码,同时,通过抠图字符的位置信息来确定车牌层数,并通过传统的颜色分析来实现颜色提取。这种方式鲁棒性较差,一般应用于停车场入口处。而第二种方式是采用深度学习的方式将车牌识别任务分解为目标检测任务和分类任务来进行处理。首先检测出车牌中的各个字符,然后对每个字符分别进行分类,识别车牌号码,然后通过检测框的位置确定层数,通过颜色分析或者分类模型识别车牌颜色。这种方式可以处理复杂的环境,但是将车牌识别任务分为两个阶段处理,增加了系统的复杂度,部署更加麻烦,且处理时间也会大幅增加,难以保证实时性。
4.因此,如何实现快速,低资源占用的车牌识别,是本领域技术人员亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种车牌识别方法、装置、设备及存储介质,可以充分利用计算资源,保证车牌识别的精确度,鲁棒性好。其具体方案如下:
6.一种车牌识别方法,包括:
7.获取车牌图片样本作为训练集;
8.构建基于多任务网络结构的车牌识别模型;所述多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;
9.使用所述训练集训练所述车牌识别模型;
10.利用训练完成的所述车牌识别模型对待测车牌图片进行识别。
11.优选地,在本发明实施例提供的上述车牌识别方法中,在所述多任务网络结构中利用不同的信息层级处理不同的任务,所述任务包括车牌号码识别任务、颜色分类任务和层数分类任务。
12.优选地,在本发明实施例提供的上述车牌识别方法中,在所述多任务网络结构的浅层特征中引入所述颜色分类任务;
13.在所述多任务网络结构的中层特征中引入所述层数分类任务;
14.在所述多任务网络结构最后的输出任务中引入所述车牌号码识别任务。
15.优选地,在本发明实施例提供的上述车牌识别方法中,在所述多任务网络结构最后一个卷积层的后面接入两个池化层,以使所述车牌号识别任务变为两个分支,第一个分支用来处理双层车牌的上层车牌号码识别,第二个分支用来处理双层车牌的下层车牌号码识别或识别单层车牌号码识别。
16.优选地,在本发明实施例提供的上述车牌识别方法中,训练所述车牌识别模型,包括:
17.对于双层车牌,所述第一个分支以上层车牌字符为标注,所述第二个分支以下层车牌字符为标注;
18.对于单层车牌,所述第一个分支以空字符串为标注,所述第二个分支以单层车牌字符作为标注。
19.优选地,在本发明实施例提供的上述车牌识别方法中,训练所述车牌识别模型,还包括:
20.在所述颜色分类任务中利用softmax输出加crossentrophy损失的方式进行训练;
21.在所述层数分类任务中利用softmax输出加crossentrophy损失的方式进行训练;
22.在所述车牌号码识别任务中利用ctc连接时序分类损失进行训练。
23.优选地,在本发明实施例提供的上述车牌识别方法中,利用训练完成的所述车牌识别模型对待测车牌图片进行识别,包括:
24.利用训练完成的所述车牌识别模型的对应层的softmax输出进行待测车牌图片的颜色和层数的识别,并直接对最后一个卷积层的输出进行解码得到所述待测车牌图片的车牌号码信息。
25.本发明实施例还提供了一种车牌识别装置,包括:
26.样本获取模块,用于获取车牌图片样本作为训练集;
27.模型构建模块,用于构建基于多任务网络结构的车牌识别模型;所述多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;
28.模型训练模块,用于使用所述训练集训练所述车牌识别模型;
29.模型推理模块,用于利用训练完成的所述车牌识别模型对待测车牌图片进行识别。
30.本发明实施例还提供了一种车牌识别设备,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如本发明实施例提供的上述车牌识别方法。
31.本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述车牌识别方法。
32.从上述技术方案可以看出,本发明所提供的一种车牌识别方法,包括:获取车牌图片样本作为训练集;构建基于多任务网络结构的车牌识别模型;多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;使用训练集训练车牌识别模型;利用训练完成的车牌识别模型对待测车牌图片进行识别。
33.本发明利用神经网络的优势,通过多任务网络结构能够在同一网络中同时提取所有的车牌信息,充分利用了计算资源,且计算量非常小,构建的模型结构简单,不需要任何额外的处理即可一步到位获得车牌识别的所有目标,解决了传统方法鲁棒性低的问题,实
现了高精度的车牌识别。
34.此外,本发明还针对车牌识别方法提供了相应的装置、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该装置、设备及计算机可读存储介质具有相应的优点。
附图说明
35.为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1为本发明实施例提供的车牌识别方法的流程图;
37.图2为本发明实施例提供的多任务网络结构的结构示意图之一;
38.图3为本发明实施例提供的空间注意力机制的原理示意图;
39.图4为本发明实施例提供的多任务网络结构的结构示意图之二;
40.图5为本发明实施例提供的车牌识别装置的结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本发明提供一种车牌识别方法,如图1所示,包括以下步骤:
43.s101、获取车牌图片样本作为训练集;
44.在实际应用中,车牌图片样本可以包括利用摄像头抓拍的车牌图片、已有的高清车牌图片等。车牌识别一般需要自动进行车牌号码的提取以及车牌类型的识别;其中,车牌类型包括车牌层数和车牌颜色,车牌层数包括双层车牌(如第一层是湘j,第二层是s2668)和单层车牌(如只有一层:湘j s2668),车牌颜色包括黄色车牌、蓝色车牌、绿色车牌、白色车牌、黄绿渐变车牌等。
45.s102、构建基于多任务网络结构的车牌识别模型;多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;
46.需要说明的是,本发明构建的模型结构简单,通过紧凑的多任务网络结构能够同时实现车牌号码识别,车牌层数识别,车牌颜色识别,计算量非常小。
47.s103、使用训练集训练车牌识别模型;
48.s104、利用训练完成的车牌识别模型对待测车牌图片进行识别。
49.在本发明实施例提供的上述车牌识别方法中,通过多任务网络结构能够在同一网络中同时提取所有的车牌信息,充分利用了计算资源,且计算量小,构建的模型结构简单,不需要任何额外的处理即可一步到位获得车牌识别的所有目标,解决了传统方法鲁棒性低的问题,实现了高精度的车牌识别。
50.在具体实施时,在本发明实施例提供的上述车牌识别方法中,在多任务网络结构
中利用不同的信息层级处理不同的任务,任务可以包括车牌号码识别任务、颜色分类任务和层数分类任务。
51.可以理解的是,由于不同的深度学习任务需要提取的特征不一样,比如对于图像分类任务需要提取整张图片的全局信息,而语义分割任务需要提取每一个像素的语义信息。因此,目前大多数深度网络都是为了实现一个固定类型的任务,比如一个动物分类网络只能实现图像分类任务,输出图片中的动物类型。一个行人目标检测网络只能输出图像中每个人的位置信息。但是,神经网络的信息是逐层传递的,在网络的不同层提取的特征也是逐渐加深,在较浅的层中可能是简单的提取边缘信息,颜色信息等浅层特征,在更深的层中提取的是更深层的语义信息。基于这样的特点,因此本发明可以在不同的层去实现不同的任务,使在同一个网络中去解决车牌识别中的三个要素成为可能。
52.通过对网络信息传递的先验信息分析,本发明精细的设计了不同的任务在网络中的接入位置,对于车牌识别中的这三个任务,每一个任务所需要关注的信息都不一样,对于车牌颜色,只需要比较粗略的特征就能进行判断,对于车牌层数需要更精确一点的位置信息来进行推导,不需要关注颜色信息,而对于车牌号码识别任务,则需要更加抽象的特征才能表示。因此,在具体实施时,在本发明实施例提供的上述车牌识别方法中,在深度网络的浅层特征中引入颜色分类任务,在中层特征中引入层数分类任务,在最后的输出任务中引入车牌号码识别任务。
53.另外,如图2所示,可以在卷积层后面接入一个循环神经网络模块(rnn),rnn可以学习不同字符之间的关联关系,从一定程度上缓解双层网络识别效果差的问题。
54.在具体实施时,在本发明实施例提供的上述车牌识别方法中,在执行步骤s103训练车牌识别模型的过程中,还可以包括:在颜色分类任务中利用softmax输出加crossentrophy(交叉熵损失)损失的方式进行训练;在层数分类任务中利用softmax输出加crossentrophy损失的方式进行训练;在车牌号码识别任务中利用ctc连接时序分类损失(ctcloss)进行训练来解决车牌号码的识别问题。
55.需要注意的是,由于采用ctcloss(连接时序分类)一般用来处理单维度上的序列识别问题,直接采用ctcloss(连接时序分类)对于处理双层车牌的识别具有天然的劣势。图2中神经网络采用cnn+rnn的结构可以在一定程度上缓解这个问题。rnn的主要目的是学习序列中的元素之间的关联信息,在存在大量双层车牌作为数据集的情况下,rnn也能学习到这种位置上的关联信息。但是,通常数据集双层车牌的数据也比较少,所以rnn产生的改善也非常有限。另一方面,除了双层车牌的位置信息以外,车牌字符间并没有太强烈的相关性,不像普通的文字识别任务,有语法之间的前后关联。因此,本发明提出了一种空间注意力机制来解决双层车牌识别效果较差的问题,同时去掉rnn模块,在减少计算量的同时提升双层车牌的识别效果。
56.在具体实施时,在本发明实施例提供的上述车牌识别方法中,如图3和图4所示,在多任务网络结构最后一个卷积层的后面接入两个池化层,以使车牌号识别任务变为两个分支,第一个分支用来处理双层车牌的上层车牌号码识别,第二个分支用来处理双层车牌的下层车牌号码识别或识别单层车牌号码识别。这样在cnn+rnn网络的基础上去掉rnn模块,依然能够保持较高的精度,在去掉rnn模块后,能够保证模型能够快速在所有嵌入式设备上快速部署。
57.进一步地,在具体实施时,在本发明实施例提供的上述车牌识别方法中,在执行步骤s103训练车牌识别模型的过程中,具体可以包括:对于双层车牌(如第一层是湘j,第二层是s2668),第一个分支以上层车牌字符(如湘j两个字符)为标注,第二个分支以下层车牌字符(如s2668五个字符)为标注;对于单层车牌(如只有一层:湘js2668),第一个分支以空字符串为标注,第二个分支以单层车牌字符(如湘js2668七个字符)作为标注。
58.通过这种方式训练,可以使不同的分支关注到车牌的不同位置,上层分支专注于识别上层车牌,下层分支专注于下层车牌,这种设计从根本上克服了利用ctcloss进行训练带来的问题。
59.在具体实施时,在本发明实施例提供的上述车牌识别方法中,步骤s104利用训练完成的车牌识别模型对待测车牌图片进行识别,具体可以包括:利用训练完成的车牌识别模型的对应层的softmax输出进行待测车牌图片的颜色和层数的识别,并直接对最后一个卷积层的输出进行解码得到待测车牌图片的车牌号码信息。若是双层车牌,则将上下层车牌分开进行推理解码,然后将解码后的数据进行拼接得到最终的车牌输出,从而实现单网络多任务的功能。
60.需要指出的是,本发明的多任务网络设计,能够在同一个网络中提取所有的车牌信息,充分利用了计算资源;针对不同的任务在不同的信息层级进行处理,充分利用先验信息分配不同语义信息能够保证每一个任务都是先更高的精度;并且本发明提出了一种空间来解决双层车牌识别的效果,在不增加额外操作的情况下能够进一步提升车牌识别精度。
61.基于同一发明构思,本发明实施例还提供了一种车牌识别装置,由于该装置解决问题的原理与前述一种车牌识别方法相似,因此该装置的实施可以参见车牌识别方法的实施,重复之处不再赘述。
62.在具体实施时,本发明实施例提供的车牌识别装置,如图5所示,具体包括:
63.样本获取模块11,用于获取车牌图片样本作为训练集;
64.模型构建模块12,用于构建基于多任务网络结构的车牌识别模型;多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;
65.模型训练模块13,用于使用训练集训练车牌识别模型;
66.模型推理模块14,用于利用训练完成的车牌识别模型对待测车牌图片进行识别。
67.在本发明实施例提供的上述车牌识别装置中,可以通过上述四个模块的相互作用,充分利用计算资源,计算量非常小,模型结构简单,不需要任何额外的处理即可一步到位获得车牌识别的所有目标,解决了传统方法鲁棒性低的问题,实现了高精度的车牌识别。
68.关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
69.相应地,本发明实施例还公开了一种车牌识别设备,包括处理器和存储器;其中,处理器执行存储器中存储的计算机程序时实现前述实施例公开的车牌识别方法。
70.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
71.进一步地,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的车牌识别方法。
72.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再
进行赘述。
73.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
74.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
75.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
76.综上,本发明实施例提供的一种车牌识别方法,包括:获取车牌图片样本作为训练集;构建基于多任务网络结构的车牌识别模型;多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;使用训练集训练车牌识别模型;利用训练完成的车牌识别模型对待测车牌图片进行识别。本发明利用神经网络的优势,通过多任务网络结构能够在同一网络中同时提取所有的车牌信息,充分利用了计算资源,且计算量非常小,构建的模型结构简单,不需要任何额外的处理即可一步到位获得车牌识别的所有目标,解决了传统方法鲁棒性低的问题,实现了高精度的车牌识别。此外,本发明还针对车牌识别方法提供了相应的装置、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该装置、设备及计算机可读存储介质具有相应的优点。
77.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
78.以上对本发明所提供的车牌识别方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种车牌识别方法,其特征在于,包括:获取车牌图片样本作为训练集;构建基于多任务网络结构的车牌识别模型;所述多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;使用所述训练集训练所述车牌识别模型;利用训练完成的所述车牌识别模型对待测车牌图片进行识别。2.根据权利要求1所述的车牌识别方法,其特征在于,在所述多任务网络结构中利用不同的信息层级处理不同的任务,所述任务包括车牌号码识别任务、颜色分类任务和层数分类任务。3.根据权利要求2所述的车牌识别方法,其特征在于,在所述多任务网络结构的浅层特征中引入所述颜色分类任务;在所述多任务网络结构的中层特征中引入所述层数分类任务;在所述多任务网络结构最后的输出任务中引入所述车牌号码识别任务。4.根据权利要求3所述的车牌识别方法,其特征在于,在所述多任务网络结构最后一个卷积层的后面接入两个池化层,以使所述车牌号识别任务变为两个分支,第一个分支用来处理双层车牌的上层车牌号码识别,第二个分支用来处理双层车牌的下层车牌号码识别或识别单层车牌号码识别。5.根据权利要求4所述的车牌识别方法,其特征在于,训练所述车牌识别模型,包括:对于双层车牌,所述第一个分支以上层车牌字符为标注,所述第二个分支以下层车牌字符为标注;对于单层车牌,所述第一个分支以空字符串为标注,所述第二个分支以单层车牌字符作为标注。6.根据权利要求5所述的车牌识别方法,其特征在于,训练所述车牌识别模型,还包括:在所述颜色分类任务中利用softmax输出加crossentrophy损失的方式进行训练;在所述层数分类任务中利用softmax输出加crossentrophy损失的方式进行训练;在所述车牌号码识别任务中利用ctc连接时序分类损失进行训练。7.根据权利要求6所述的车牌识别方法,其特征在于,利用训练完成的所述车牌识别模型对待测车牌图片进行识别,包括:利用训练完成的所述车牌识别模型的对应层的softmax输出进行待测车牌图片的颜色和层数的识别,并直接对最后一个卷积层的输出进行解码得到所述待测车牌图片的车牌号码信息。8.一种车牌识别装置,其特征在于,包括:样本获取模块,用于获取车牌图片样本作为训练集;模型构建模块,用于构建基于多任务网络结构的车牌识别模型;所述多任务网络结构用于通过一个深度cnn网络同时提取车牌中各种信息,包括号码、颜色和层数;模型训练模块,用于使用所述训练集训练所述车牌识别模型;模型推理模块,用于利用训练完成的所述车牌识别模型对待测车牌图片进行识别。9.一种车牌识别设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如权利要求1至7任一项所述的车牌识别方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的车牌识别方法。

技术总结
本申请公开了一种车牌识别方法、装置、设备及存储介质,该方法包括:获取车牌图片样本作为训练集;构建基于多任务网络结构的车牌识别模型;多任务网络结构用于通过一个深度CNN网络同时提取车牌中各种信息,包括号码、颜色和层数;使用训练集训练车牌识别模型;利用训练完成的车牌识别模型对待测车牌图片进行识别。这样通过多任务网络结构能够在同一网络中同时提取所有的车牌信息,充分利用了计算资源,且计算量非常小,构建的模型结构简单,不需要任何额外的处理即可一步到位获得车牌识别的所有目标,解决了传统方法鲁棒性低的问题,实现了高精度的车牌识别。实现了高精度的车牌识别。实现了高精度的车牌识别。


技术研发人员:何超 邓富城
受保护的技术使用者:山东极视角科技有限公司
技术研发日:2021.12.06
技术公布日:2022/3/8

最新回复(0)