公开/公告号CN112215224A
专利类型发明专利
公开/公告日2021-01-12
原文格式PDF
申请/专利权人 深圳市平方科技股份有限公司;
申请/专利号CN202011137148.1
申请日2020-10-22
分类号G06K9/32(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);G06T3/40(20060101);
代理机构44405 深圳市徽正知识产权代理有限公司;
代理人卢杏艳
地址 518000 广东省深圳市龙华区龙华街道清湖社区清湖村宝能科技园7栋4层B座JK单位
入库时间 2023-06-19 09:32:16
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于深度学习的挂车号码识别方法、装置、终端设备和存储介质。
背景技术
当前市面上车牌识别系统有前车牌识别和后车牌识别,没有专门的挂车号识别。前车牌识别无法通用识别挂车号。后车牌识别是从识别算法出发,基于图像分割的方式将双行车牌上下两行一分为二,将上下两行分开识别,该方案通常分割不准确,且对于一些有角度的车牌基本上分割效果非常差,从而导致识别错误的情况。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于深度学习的挂车号码识别方法、装置、终端设备和存储介质。
第一个方面,本发明实施例提供一种基于深度学习的挂车号码识别方法,所述方法包括:
获取待检测的车牌图片,所述车牌图片至少包括两行文本;
将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,所述预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的。
可选地,所述预先建立的挂车号码检测模型通过如下方式获得:
获得所述训练样本集中的样本车牌图片;
用Unicode排序算法标注所述样本车牌图片中的样本挂车号码;
对所述样本车牌图片进行归一化处理;
采用深度卷积神经网络模型从所述样本车牌图片中提取出挂车号码对应的特征向量序列;
利用循环神经网络RNN中的BiLSTM对所述特征向量序列进行识别,获取挂车号码序列的上下文信息,并得到每列特征向量的概率分布。
可选地,所述方法还包括:
将所述样本车牌图片的高像素缩放至第一预设值,同时将宽像素按照图像宽高比例进行缩放。
可选地,所述方法还包括:
若所述样本车牌图片的宽像素大于第二预设值,则将所述宽像素缩放至第三预设值;
若所述样本车牌图片的宽像素小于第二预设值,则将所述宽像素值填充至所述第三预设值。
可选地,所述采用深度卷积神经网络从所述样本车牌图片中提取出对应的特征向量序列,包括:
利用深度卷积神经网络模型中的卷积层和最大池化层来构造卷积层,所述卷积层用于从所述样本车牌图片中提取出二维特征向量序列;
将所述二维特征向量序列转化成一维特征向量。
可选地,所述将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码,包括:
将所述待检测的车牌图片输入到所述预先建立的挂车号码检测模型中,得到所述车牌图片中的文本信息对应的特征向量的概率;
基于词典和查找候选目标的模式,选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
第二个方面,本发明实施例提供一种基于深度学习的挂车号码识别装置,所述装置包括:
获取模块,用于获取待检测的车牌图片,所述车牌图片至少包括两行文本;
识别模块,用于将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,所述预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的。
可选地,所述装置还包括模型建立模块,所述模型建立模块用于:
获得所述训练样本集中的样本车牌图片;
用Unicode排序算法标注所述样本车牌图片中的样本挂车号码;
对所述样本车牌图片进行归一化处理;
采用深度卷积神经网络模型从所述样本车牌图片中提取出挂车号码对应的特征向量序列;
利用循环神经网络RNN中的BiLSTM对所述特征向量序列进行识别,获取挂车号码序列的上下文信息,并得到每列特征向量的概率分布。
可选地,所述模型建立模块还用于:
将所述样本车牌图片的高像素缩放至第一预设值,同时将宽像素按照图像宽高比例进行缩放。
可选地,所述所述模型建立模块还用于:
若所述样本车牌图片的宽像素大于第二预设值,则将所述宽像素缩放至第三预设值;
若所述样本车牌图片的宽像素小于第二预设值,则将所述宽像素值填充至所述第三预设值。
可选地,所述识别模块用于:
利用深度卷积神经网络模型中的卷积层和最大池化层来构造卷积层,所述卷积层用于从所述样本车牌图片中提取出二维特征向量序列;
将所述二维特征向量序列转化成一维特征向量。
可选地,所述将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码,包括:
将所述待检测的车牌图片输入到所述预先建立的挂车号码检测模型中,得到所述车牌图片中的文本信息对应的特征向量的概率;
基于词典和查找候选目标的模式,选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的基于深度学习的挂车号码识别方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的基于深度学习的挂车号码识别方法。
本发明实施例包括以下优点:
本发明实施例提供的基于深度学习的挂车号码识别方法、装置、终端设备和存储介质,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
附图说明
图1是本发明的一种基于深度学习的挂车号码识别方法实施例的步骤流程图;
图2是本发明的一种基于深度学习的挂车号码识别装置实施例的结构框图;
图3是本发明的一种终端设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明一实施例提供一种基于深度学习的挂车号码识别方法,用于对车牌上的挂车号码进行识别。本实施例的执行主体为基于深度学习的挂车号码识别装置,设置在终端设备上,其中,终端设备可以为计算机,平板电脑和手机终端等。
参照图1,示出了本发明的一种基于深度学习的挂车号码识别方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、获取待检测的车牌图片,所述车牌图片至少包括两行文本;
具体地,监控设备可以为CCD(Charge Coupled Device,电荷相合器件)摄像机,也可以为其他可以进行图像采集并可以与终端进行通信的摄像头。终端可以为台式计算机、便携式电脑、网络服务器等计算机设备。监控设备与终端设备建立有通信连接,通过通信连接,监控设备可以将采集到的图像发送至终端设备。
终端设备在接收到监控设备发送的车牌图片时,可以对车牌图片中挂车号码进行识别,并输出最终的识别结果。
S102、将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,所述预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的。
具体地,终端设备在获取到车牌图片上的图片区域之后,终端设备可以将该车牌区域作为预先建立的挂车号检测模型的输入,进而通过CNN模型提取车牌图片内的文本信息的特征信息。其中,该特征信息主要包括用于指示车牌区域内的多个字符的多个特征序列。
其中,预先建立的挂车号检测模型可以是CNN模型,该CNN模型可以按照从左到右从上到下的顺序对车牌图片内的特征信息进行提取,从而按照提取顺序输出多个特征序列。
进而,得到所述车牌图片中的文本信息对应的特征向量的概率;
基于词典和查找候选目标的模式,选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
本发明实施例提供的基于深度学习的挂车号码识别方法,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本发明又一实施例对上述实施例提供的基于深度学习的挂车号码识别方法做进一步补充说明。
如图2所示,示出了本发明的另一种基于深度学习的挂车号码识别方法实施例的步骤流程图,该基于深度学习的挂车号码识别方法包括:
可选地,所述预先建立的挂车号码检测模型通过如下方式获得:
获得所述训练样本集中的样本车牌图片;
用Unicode排序算法标注所述样本车牌图片中的样本挂车号码;
示例性地,采用中文的Unicode排序算法标注所述样本车牌图片中的样本挂车号码;
例如,按照在UNICODE编码表中的字符顺序排序。如有字符串“1” ,“5” ,“3” ,“2” ,“1”,按UNICODE编码排序后就形成了“1” ,“1” ,“2” ,“3” ,“5”。
对所述样本车牌图片进行归一化处理;
采用深度卷积神经网络模型从所述样本车牌图片中提取出挂车号码对应的特征向量序列;
利用循环神经网络RNN中的BiLSTM对所述特征向量序列进行识别,获取挂车号码序列的上下文信息,并得到每列特征向量的概率分布。
可选地,所述方法还包括:
将所述样本车牌图片的高像素缩放至第一预设值,同时将宽像素按照图像宽高比例进行缩放。
可选地,所述方法还包括:
若所述样本车牌图片的宽像素大于第二预设值,则将所述宽像素缩放至第三预设值;
若所述样本车牌图片的宽像素小于第二预设值,则将所述宽像素值填充至所述第三预设值。
具体说,其中,在一种可能的实现方式中,终端可以将获取到的车牌区域归一化至指定尺寸,然后再将该指定尺寸的车牌区域输入至CNN模型。例如,该指定尺寸可以为160*32,当然,也可以为其他尺寸,本发明实施例在此不做具体限定。
可选地,所述采用深度卷积神经网络从所述样本车牌图片中提取出对应的特征向量序列,包括:
利用深度卷积神经网络模型中的卷积层和最大池化层来构造卷积层,所述卷积层用于从所述样本车牌图片中提取出二维特征向量序列;
将所述二维特征向量序列转化成一维特征向量。
可选地,所述将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码,包括:
将所述待检测的车牌图片输入到所述预先建立的挂车号码检测模型中,得到所述车牌图片中的文本信息对应的特征向量的概率;
基于词典和查找候选目标的模式,选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
具体地,当终端设备置通过预先建立的挂车号码检测模型从车牌图片中提取到多个特征序列,并可以得到车牌图片中的文本信息对应的特征向量的概率;
其中,终端可以基于多个特征序列,利用CNN模型确定不同的特征向量对应的概率。
终端设备可以将多个特征序列进行softmax归一化处理,并根据归一化结果确定车牌属于每个特征向量的概率值,之后,终端可以选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
具体地,Step1:数据预处理:将挂车号车牌图片分成训练集、测试集、评估集数据,然后利用中文车牌的Unicode排序算法标注图像里面的文本信息,
Step2:训练任务开始之前,将全部输入的图像像素的高度缩放到32,宽度的缩放按照图像宽高比例进行缩放,如果宽度大于160,则把宽度缩放到160,如果宽度小于160,则把宽度进行随机填充。
Step3:将输入图像归一化处理;
Step4:特征向量序列提取:采用深度卷积神经网络从输入中提取出对应的特征向量序列,利用深度卷积神经网络模型中的卷积层和最大池化层来构造卷积层,这一层用于从输入的图像中提取出二维特征向量序列转化成一维特征向量。
Step5:利用循环神经网络RNN中的BiLSTM识别上一步得到的特征向量序列,获取序列的上下文信息,从而得到每列特征的概率分布;
一般用于基于的图像序列预测(如手写稿图片,每一个单词都在图像里面,对这些单词序列做出预测)。所以先用CNN(convolutional and max-pooling layers, fully-connected layersare removed)提取图像特征,再用RNN对CNN输出的特征进行序列预测。RNN本来就擅长处理序列预测,但是RNN之前需要有a preprocessing step,这里的CNN相对于预处理过程。当然也可以处理篮子序列,CNN处理篮子内部的小序列,RNN处理篮子间的大序列。
Long Short-Term Memory,它是RNN(Recurrent Neural Network,卷积神经网络)的一种。LSTM由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。BiLSTM是Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成。两者在自然语言处理任务中都常被用来建模上下文信息。
Step6:基于词典和查找候选目标的模式选取最大的标签序列概率所对应的标签序列作为图像中每一帧的最终的预测结果,即获得挂车号码。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的基于深度学习的挂车号码识别方法,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本发明另一实施例提供一种基于深度学习的挂车号码识别装置,用于执行上述实施例提供的基于深度学习的挂车号码识别方法。
参照图2,示出了本发明的一种基于深度学习的挂车号码识别装置实施例的结构框图,该装置具体可以包括如下模块:获取模块201和识别模块202,其中:
获取模块201用于获取待检测的车牌图片,所述车牌图片至少包括两行文本;
识别模块202用于将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,所述预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的。
本发明实施例提供的基于深度学习的挂车号码识别装置,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本发明又一实施例对上述实施例提供的基于深度学习的挂车号码识别装置做进一步补充说明。
可选地,所述装置还包括模型建立模块,所述模型建立模块用于:
获得所述训练样本集中的样本车牌图片;
用Unicode排序算法标注所述样本车牌图片中的样本挂车号码;
对所述样本车牌图片进行归一化处理;
采用深度卷积神经网络模型从所述样本车牌图片中提取出挂车号码对应的特征向量序列;
利用循环神经网络RNN中的BiLSTM对所述特征向量序列进行识别,获取挂车号码序列的上下文信息,并得到每列特征向量的概率分布。
可选地,所述模型建立模块还用于:
将所述样本车牌图片的高像素缩放至第一预设值,同时将宽像素按照图像宽高比例进行缩放。
可选地,所述所述模型建立模块还用于:
若所述样本车牌图片的宽像素大于第二预设值,则将所述宽像素缩放至第三预设值;
若所述样本车牌图片的宽像素小于第二预设值,则将所述宽像素值填充至所述第三预设值。
可选地,所述识别模块用于:
利用深度卷积神经网络模型中的卷积层和最大池化层来构造卷积层,所述卷积层用于从所述样本车牌图片中提取出二维特征向量序列;
将所述二维特征向量序列转化成一维特征向量。
可选地,所述将所述待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码,包括:
将所述待检测的车牌图片输入到所述预先建立的挂车号码检测模型中,得到所述车牌图片中的文本信息对应的特征向量的概率;
基于词典和查找候选目标的模式,选取最大的特征向量的概率所对应的挂车号码,确定为所述车牌图片中的挂车号码。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的基于深度学习的挂车号码识别装置,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的基于深度学习的挂车号码识别方法。
图3是本发明的一种终端设备的结构示意图,如图3所示,该终端设备包括:至少一个处理器301和存储器302;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的基于深度学习的挂车号码识别方法。
本实施例提供的终端设备,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的基于深度学习的挂车号码识别方法。
根据本实施例的计算机可读存储介质,通过获取待检测的车牌图片,车牌图片至少包括两行文本;将待检测的车牌图片输入到预先建立的挂车号码检测模型中,获取车牌图片中的挂车号码;其中,预先建立的挂车号检测模型是通过对训练样本集中的样本车牌图片中的挂车号码进行训练获得的,这样不需要对车牌图片进行图像分割,提高挂车号码识别准确性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
机译: 基于深度学习模型的步态识别方法和装置,以及计算机设备
机译: 基于深度学习的雷达目标识别方法和装置
机译: 基于深度学习的面部识别方法和装置