车牌号码识别方法及装置
文献发布时间:2023-06-19 11:14:36
技术领域
本发明属于车牌号码识别技术领域,涉及一种车牌号码识别方法及装置。
背景技术
智能车牌识别方法是一种基于视频图像中的车牌特征进行车牌号码识别的技术。这种技术被广泛地运用在交通车辆违章监管、交通事故取证复核等领域。常规卡口的车辆车牌识别技术路线可以总结为:对输入处理的一张图像或一段视频,首先采用车辆检测器对视频图像中的车辆进行一级检测,再将车辆区域进行车二级车牌区域检测,然后将车牌待检区域输入到车牌关键点特征模型中提取车牌区域图像的关键点特征,再通过仿射变换、水平投影等对车牌关键点矫正,最后将矫正后的车牌通过字符检测及号码识别技术,实现常规卡口抓拍车辆的车牌号码准确识别。
然而移动佩戴式执法仪办案环境复杂多变,视频拍摄易受光照,抖动,佩戴高低及角度等因素干扰,导致视频图像中的车辆特征缺失严重,车牌偏斜角度及形变较大,加大了执法仪视频图像车牌识别的难度。车牌号码的准确识别对交通违章及事故核实取证等至关重要,而依靠传统方法的车牌特征提取,常规卡口车辆一级至车牌域二级检测模式及单次倾斜车牌角度矫正方法已无法有效解决执法仪车牌识别所遇到的问题,因此急需一种针对执法仪的智能车牌识别技术方案。
发明内容
本申请提供了一种车牌号码识别方法及装置,技术方案如下:
第一方面,提供了一种车牌号码识别方法,所述方法包括:
利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别,利用拉东变换对车牌域进行粗矫正;
将粗矫正后的车牌域输入至车牌关键点特征模型进行车牌关键点特征标注,得到包含标注有车牌关键点特征的车牌;
依次利用仿射变换和投影精准矫正方式分别对所述车牌进行二次精确矫正;
利用训练好的端到端的车牌字符识别模型及与车牌类型匹配模板,对所述二次精确矫正后的车牌进行车牌号码修正识别,所述端到端的车牌字符识别模型标签对应于车牌号码的字符类别数。
可选地,在所述输入至车牌关键点特征模型进行车牌关键点特征标注之前,所述方法还包括:
对标注的所述车牌关键点的坐标进行随机外扩,得到具备所述外扩后的车牌关键点坐标的车牌域。
可选地,在所述利用训练好的端到端的车牌字符识别模型及与车牌类型匹配模板,对所述二次精确矫正后的车牌进行车牌号码修正识别之前,所述方法还包括:
获取各类标签的字符识别框的样本集,每个字符识别框中的字符均进行过字符预标注,所述样本集中包含困难样本;
利用所述样本集训练所述端到端的车牌字符识别模型,所述车牌字符识别模型的卷积神经网络中添加有CBAM特征注意力模块,所述困难样本用于对所述注意力模块进行在线调整;
在所述车牌字符识别模型的字符正确识别率达到预定识别率时,停止训练。
可选地,所述获取各类标签的字符识别框的样本集,包括:
识别样本车牌图像中车牌的车牌类型,获取与所述车牌类型对应的车牌模板;
获取所述车牌图像中待识别车牌所包含的每个字符各自所在的字符识别框;
根据所述车牌模板,添加漏生成的字符识别框以及删除误生成的字符识别框,得到字符识别框集合;
对所述字符识别框集合中的每个字符识别框进行字符预标注,得到所述样本集。
可选地,所述添加漏生成的字符识别框,包括:
根据所述待识别车牌的宽高比,确定漏生成的字符识别框的尺寸,添加具备所述尺寸的漏生成的字符识别框。
可选地,所述方法还包括:
从视频帧中抽帧获取包含车辆特征的车辆图像;
从具备完整车牌的车辆图像中筛选出同一辆车的具备不同倾斜角度车牌的车牌图像;
从筛选出的车牌图像中随机选取预定数量的车牌图像作为车牌图像数据集,并在训练过程中以随机复制、旋转及加噪的方式加大困难样本在所述车牌图像数据集中的占比,所述车牌图像数据集中的每张车牌图像均被进行了车牌关键点特征的预标注;
利用所述车牌图像数据集对所述车牌检测器进行训练,所述车牌检测器用于识别出包含有车牌的图像,所述车牌检测器的网络模型中添加有CBAM卷积注意力;
当所述车牌检测器检测出车牌图像的验证准确率达到预定阈值时,停止训练;
将训练完成的所述车牌检测器的网络模型迁入到一个保留主SSD架构,复杂度更低的网络模型中,得到所述训练好的车牌检测器。
第二方面,本申请提供一种车牌号码识别装置,所述装置包括:
车牌识别模块,被配置为利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别;
粗矫正模块,被配置为将所述车牌识别模块识别出的车牌域先拉东变换粗矫正;
关键点标注模块,被配置为将所述粗矫正模块粗矫正后的车牌域输入至车牌关键点特征模型进行车牌关键点特征标注,得到包含标注有车牌关键点特征的车牌;
二次矫正模块,被配置为依次利用仿射变换和投影精准矫正方式分别对所述车牌进行二次精确矫正;
号码识别模块,被配置为利用端到端的车牌字符识别模型及与车牌类型匹配模板,对所述二次矫正模块矫正后的车牌进行车牌号码修正识别,所述端到端的车牌字符识别模型所使用的标签对应于车牌号码的字符类别数。
可选的,所述装置还包括:
外扩模块,被配置为对标注的所述车牌关键点的坐标进行随机外扩,得到具备所述外扩后的车牌关键点坐标的车牌域。
可选的,所述装置还包括第一训练模块,被配置为:
获取各类标签的字符识别框的样本集,每个字符识别框中的字符均进行过字符预标注,所述样本集中包含困难样本;
利用所述样本集训练所述端到端的车牌字符识别模型,所述车牌字符识别模型的卷积神经网络中添加有CBAM特征注意力模块,所述困难样本用于对所述注意力模块进行在线调整;
在所述车牌字符识别模型的字符正确识别率达到预定识别率时,停止训练。
可选的,所述第一训练模块,被配置为:
识别样本车牌图像中车牌的车牌类型,获取与所述车牌类型对应的车牌模板;
获取所述车牌图像中待识别车牌所包含的每个字符各自所在的字符识别框;
根据所述车牌模板,添加漏生成的字符识别框以及删除误生成的字符识别框,得到字符识别框集合;
对所述字符识别框集合中的每个字符识别框进行字符预标注,得到所述样本集。
可选的,所述第一训练模块,被配置为:
根据所述待识别车牌的宽高比,确定漏生成的字符识别框的尺寸,添加具备所述尺寸的漏生成的字符识别框。
可选的,所述装置还包括第二训练模块,被配置为:
从视频帧中抽帧获取包含车辆特征的车辆图像;
从具备完整车牌的车辆图像中筛选出同一辆车的具备不同倾斜角度车牌的车牌图像;
从筛选出的车牌图像中随机选取预定数量的车牌图像作为车牌图像数据集,并在训练过程中以随机复制、旋转及加噪的方式加大困难样本在所述车牌图像数据集中的占比;
所述车牌图像数据集中的每张车牌图像均被进行了车牌关键点特征的预标注;
利用所述车牌图像数据集对所述车牌检测器进行训练,所述车牌检测器用于识别出包含有车牌的图像,所述车牌检测器的网络模型中添加有CBAM卷积注意力;
当所述车牌检测器检测出车牌图像的验证准确率达到预定阈值时,停止训练;
将训练完成的所述车牌检测器的网络模型迁入到一个保留主SSD架构,复杂度更低的网络模型中,得到所述训练好的车牌检测器。
本申请至少可以实现如下有益效果:
通过拉东变换和仿射变换、投影精准矫正方式分别对车牌域和车牌进行矫正,弥补单次矫正的不足,提高矫正效率;通过端到端的车牌字符识别模型和车牌类型匹配模板的匹配机制,规避了字符误生成或漏生成问题,并降低了车牌多次循环匹配的复杂度。
通过困难样本在线循环调整训练和特征注意力模块添加机制,有利于卷积网络层强化困难样本学习力度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请一个实施例中提供的车牌号码识别方法的方法流程图;
图2A是本申请另一个实施例中提供的车牌号码识别方法的方法流程图;
图2B是本申请一个实施例提供的在对车牌检测器进行训练时的流程示意图;
图2C是本申请一个实施例中提供的对车牌字符识别模型进行训练时的示意图;
图3A是本申请一个实施例中提供的车牌号码识别装置的结构示意图;
图3B是本申请另一个实施例中提供的车牌号码识别装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是本申请一个实施例中提供的车牌号码识别方法的方法流程图,本申请提供的车牌号码识别方法可以包括如下步骤:
步骤101,利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别,利用拉东变换对车牌域进行粗矫正;
步骤102,将粗矫正后的车牌域输入至车牌关键点特征模型进行车牌关键点特征标注,得到包含标注有车牌关键点特征的车牌;
步骤103,依次利用仿射变换和投影精准矫正方式分别对车牌进行二次精确矫正;
投影精准矫正方式可以包括水平方向矫正和竖直方向矫正。
步骤104,利用端到端的车牌字符识别模型及车牌类型匹配模板,对二次精确矫正后的车牌进行车牌号码修正识别。
这里所讲的端到端的车牌字符识别模型所使用的标签对应于车牌号码的字符类别数。
综上所述,本申请提供的车牌号码识别方法,通过拉东变换和仿射变换、投影精准矫正方式分别对车牌域和车牌进行矫正,弥补单次矫正的不足,提高矫正效率;通过端到端的车牌字符识别模型和车牌类型匹配模板的匹配机制,规避了字符误生成或漏生成问题,并降低了车牌多次循环匹配的复杂度。
图2A是本申请另一个实施例中提供的车牌号码识别方法的方法流程图,本申请提供的车牌号码识别方法可以包括如下步骤:
步骤201,对车牌检测器进行训练;
在对车牌号码识别之前,首先需要对车牌检测器进行训练,以便后续可以利用训练好的车牌检测器对视频帧进行车牌图像的检测识别。
在一种可能的实现方式中,请参见图2B所示,其是本申请一个实施例提供的在对车牌检测器进行训练时的流程示意图,本申请在实现对车牌检测器进行训练时,可以包括如下步骤:
步骤2011,从视频帧中抽帧获取包含车辆特征的车辆图像;
这里的抽帧方式可以抽取视频帧中的关键帧,或者每隔预定数量的视频帧抽取一帧视频帧,显然,在实际应用中,还可以采用其他的抽帧方式,本申请对此不进行过多限定,只要能够保证从视频帧可以抽取出包含有车辆特征的车辆图像即可。
步骤2012,从具备完整车牌的车辆图像中筛选出同一辆车的具备不同倾斜角度车牌的车牌图像;
选取不同倾斜角度的车牌,可以使得车牌检测器的训练具备更好的适应性,并可以提高车牌识别的识别成功率。
步骤2013,从筛选出的车牌图像中随机选取预定数量的车牌图像作为车牌图像数据集,并在训练过程中以随机复制、旋转及加噪的方式加大困难样本在车牌图像数据集中的占比;
通过在对车牌检测器模型训练过程中增加困难样本在线调整机制,可以提高车牌检测器模型对困难样本的学习强度。
车牌图像数据集中的每张车牌图像均被进行了车牌关键点特征的预标注。
在训练阶段,可以人为地为每张车牌图像进行车牌关键点特征的预标注。
步骤2014,利用车牌图像数据集对车牌检测器进行训练,车牌检测器用于识别出包含有车牌的图像,车牌检测器的网络模型中添加有CBAM卷积注意力;
本申请在对车牌检测器进行训练的阶段,采用SSD网络为基础网络对车牌检测器进行预训练及检测应用,为降低车牌域相近颜色模糊性及倾斜大角度带来的特征识别干扰,提高网络对车牌特征的注意力,在网络中添加适量的CBAM卷积注意力块,以便挖掘车牌特征图更加重要的深层特征信息,加强网络的特征提取能力,从而得到更加精确的车牌通道和空间特征信息。
步骤2015,当车牌检测器检测出车牌图像的验证准确率达到预定阈值时,停止训练;
当车牌检测器检测出车牌图像的验证准确率达到预定阈值时,表明,车牌检测器的验证准确率较高,此时可以停止继续训练。
步骤2016,将训练完成的车牌检测器的网络模型迁入到一个保留主SSD架构,复杂度更低的网络模型中,得到训练好的车牌检测器。
为降低嵌入式模型参量及应用网络模型复杂度,提高时效性,运用“知识蒸馏”方式将训练好的网络模型迁入到一个保留主SSD架构、复杂度更低的网络模型中。
步骤202,对车牌字符识别模型进行训练;
请参见图2C所示,其是本申请一个实施例中提供的对车牌字符识别模型进行训练时的示意图,对车牌字符识别模型进行训练可以包括如下步骤:
步骤2021,获取各类标签的字符识别框的样本集,每个字符识别框中的字符均进行过字符预标注,样本集中包含困难样本;
可选地,获取各类标签的字符识别框的样本集,包括:
S1、识别样本车牌图像中车牌的车牌类型,获取与车牌类型对应的车牌模板;
在实际应用中,需要预先对车牌类型预标注模型进行训练,然后利用训练好的车牌类型预标注模型识别车牌图像中车牌的车牌类型。
在识别出车牌图像中车牌的车牌类型后,可以获取与车牌类型对应的车牌模板,以减少字符识别框匹配验证时的匹配计算复杂度。
为弥补少量字符识别框漏生成及车牌与多模板循环匹配的问题,将识别的车牌类型与相对应的车牌模板高效匹配,其中车牌类型匹配模板有5个,分别是:单层蓝牌和黄牌为一个字符分布标准,双层黄牌,警牌,港澳牌及新能源车牌各一个。
S2、获取车牌图像中待识别车牌所包含的每个字符各自所在的字符识别框;
S3、根据车牌模板,添加漏生成的字符识别框以及删除误生成的字符识别框,得到字符识别框集合;
根据车牌模板,在判定漏生成字符标识框时,则可以添加漏生成的字符识别框;在判定误生成字符识别框时,则可以删除误生成的字符识别框,最终得到字符识别框集合。
在一种可能的实现方式中,在添加漏生成的字符识别框时,可以根据待识别车牌的宽高比,确定漏生成的字符识别框的尺寸,添加具备尺寸的漏生成的字符识别框。
S4、对字符识别框集合中的每个字符识别框进行字符预标注,得到样本集。
步骤2022,利用样本集训练端到端的车牌字符识别模型;
本申请中提供的车牌字符识别模型的卷积神经网络中添加有CBAM特征注意力模块,困难样本用于对注意力模块进行在线调整。
在实际应用中,车牌号码中的每一个字符为车牌字符识别模型中的一个标签量,以中国为例,中国有省23个(暂不计台湾车牌),自治区5个,直辖市4个及特别行政区2个,小计34个,数字0-9为10个,大写字母采用的是25个(I未使用,O少量采用),外加警牌的“警”字,教练牌的“学”字及双层黄牌的“挂”字,一共为72个标签类别。
步骤2023,在车牌字符识别模型的字符正确识别率达到预定识别率时,停止训练。
在完成对车牌检测器和车牌字符识别模型的训练后,可以利用顺序后的模型进行如下的车牌识别流程。
步骤203,利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别,利用拉东变换进行粗矫正;
利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别,得到识别出的车牌域之后,利用拉东变换对识别出的车牌域进行粗矫正。
步骤204,将粗矫正后的车牌域输入至车牌关键点特征模型进行车牌关键点特征标注,得到包含标注有车牌关键点特征的车牌;
在实际应用中,也需要预先对车牌关键点标注模型进行训练,然后利用训练好的车牌关键点标注模型对车牌域进行车牌关键点特征标注。
步骤205,对标注的车牌关键点的坐标进行随机外扩,得到具备外扩后的车牌关键点坐标的车牌;
在实际应用中,为增加复杂场景和多尺度车牌图像关键点定位鲁棒性,依据车牌关键点坐标随机外扩(0-30),(5-60)和(10-90)像素点值,并以0.2比例随机筛选车牌检测数据集做车牌关键点定位模型的训练以及车牌类型预标注模型的训练。
车牌关键点模型定位模型采用的基础网络为SqueezeNet,为了针对性加强倾斜大角度车牌特征学习注意力,提高倾斜车牌关键点特征回归准确率,网络模块间也对应加入CBAM注意力模块,也采用在线困难样本用以加噪,轻度旋转的方式用以数据增强,经过多轮注意力困难数据调整循环,直至在线验证模型定位准确率达到预设要求。另外,也采用“知识蒸馏”方式将训练好的网络模型迁入到一个递减SqueezeNet架构中的Fire及CBAM模块的简易网络中,再选出准确率最高,模型参量最低的最优轻量网络模型。
步骤206,依次利用仿射变换和投影精准矫正方式分别对车牌进行二次精确矫正;
也就是说,首先以车牌关键点特征坐标随机外扩对应的像素点值作为车牌关键点特征数据,然后采用拉东变换对车牌关键点特征数据进行粗矫正,减低后续仿射变换的难度,提高车牌识别的准确率。
先采用仿射变换对精准定位的车牌图像进行矫正,再以投影的方式对垂直方向的倾斜形变再次矫正,得到了微或无倾斜角度的车牌。
步骤207,利用端到端的车牌字符识别模型及车牌类型匹配模板,对矫正后的车牌进行车牌号码修正识别。
端到端的车牌字符识别模型所使用的卷积神经网络的标签对应于车牌号码的字符。
对于矫正后的车牌特征图像,以Fcos算法为基础车牌字符识别模型的网络架构,其以逐像素预测方式实现多标签目标检测,规避预定义锚框相关的复杂计算,降低显存及模型参量。此外,网络框架中加入了适量的CBAM特征注意力模块,也采用在线困难数据注意力调整,以获取到最好的车牌识别模型。
针车牌字符框可能存在的漏或误检问题,利用相对应的国标模板和车牌类型进行匹配,其中以检测到的字符宽度为缩放比例进行实际尺度缩放,并按照对应的间距添加缺失的字符框,另外对额外生成的字符框与模板不匹配的情况,依据模板要求删去多余错误字符框。
综上所述,本申请提供的车牌号码识别方法,通过拉东变换和仿射变换、投影精准矫正方式分别对车牌域和车牌进行矫正,弥补单次矫正的不足,提高矫正效率;通过端到端的车牌字符识别模型和车牌类型匹配模板的匹配机制,规避了字符误生成或漏生成问题,并降低了车牌多次循环匹配的复杂度。
通过困难样本在线循环调整训练和特征注意力模块添加机制,有利于卷积网络层强化困难样本学习力度。
请参见图3A所示,其是本申请一个实施例中提供的一种车牌号码识别装置的结构示意图,本申请提供的车牌号码识别装置可以包括:车牌识别模块310、粗矫正模块320、关键点标注模块330、二次矫正模块340和号码识别模块350。
车牌识别模块310可以被配置为利用训练好的车牌检测器对执法仪视频中的图像进行车牌域识别;
粗矫正模块320,被配置为将车牌识别模块310识别出的车牌域先拉东变换粗矫正;
关键点标注模块330可以被配置为将所述粗矫正模块320粗矫正后的车牌域输入至车牌关键点特征模型进行车牌关键点特征标注,得到包含标注有车牌关键点特征的车牌;
二次矫正模块340可以被配置为依次仿射变换和投影精准矫正方式分别对所述关键点标注模块330得到的车牌进行二次精确矫正;
号码识别模块350可以被配置为利用训练好的端到端的车牌字符识别模型及所述车牌类型匹配模板,对所述二次矫正模块340矫正后的车牌进行车牌号码修正识别,所述端到端的车牌字符识别模型标签对应于车牌号码的字符类别。
在一种可能的实现方式中,请参见图3B所示,其本申请另一个实施例中提供的一种车牌号码识别装置的结构示意图,本申请提供的车牌号码识别装置还可以包括:外扩模块360。
外扩模块360可以被配置为对标注的所述车牌关键点的坐标进行随机外扩,得到具备所述外扩后的车牌关键点坐标的车牌。
仍旧参见图3B所示,本申请提供的车牌号码识别装置还可以包括第一训练模块370,第一训练模块370可以被配置为执行如下操作:
获取各类标签的字符识别框的样本集,每个字符识别框中的字符均进行过字符预标注,所述样本集中包含困难样本;
利用所述样本集训练所述端到端的车牌字符识别模型,所述车牌字符识别模型的卷积神经网络中添加有CBAM特征注意力模块,所述困难样本用于对所述注意力模块进行在线调整;
在所述车牌字符识别模型的字符正确识别率达到预定识别率时,停止训练。
可选的,所述第一训练模块370还可以被配置为执行如下操作:
识别样本车牌图像中车牌的车牌类型,获取与所述车牌类型对应的车牌模板;
获取所述车牌图像中待识别车牌所包含的每个字符各自所在的字符识别框;
根据所述车牌模板,添加漏生成的字符识别框以及删除误生成的字符识别框,得到字符识别框集合;
对所述字符识别框集合中的每个字符识别框进行字符预标注,得到所述样本集。
可选的,第一训练模块370还可以被配置为执行如下操作:
根据所述待识别车牌的宽高比,确定漏生成的字符识别框的尺寸,添加具备所述尺寸的漏生成的字符识别框。
仍旧参见图3B所示,本申请提供的车牌号码识别装置还可以装置还包括第二训练模块380,第二训练模块380可以被配置为执行如下操作:
从视频帧中抽帧获取包含车辆特征的车辆图像;
从具备完整车牌的车辆图像中筛选出同一辆车的具备不同倾斜角度车牌的车牌图像;
从筛选出的车牌图像中随机选取预定数量的车牌图像作为车牌图像数据集,并在训练过程中以随机复制、旋转及加噪的方式加大困难样本在所述车牌图像数据集中的占比;
所述车牌图像数据集中的每张车牌图像均被进行了车牌关键点特征的预标注;
利用所述车牌图像数据集对所述车牌检测器进行训练,所述车牌检测器用于识别出包含有车牌的图像,所述车牌检测器的网络模型中添加有CBAM卷积注意力;
当所述车牌检测器检测出车牌图像的验证准确率达到预定阈值时,停止训练;
将训练完成的所述车牌检测器的网络模型迁入到一个保留主SSD架构,复杂度更低的网络模型中,得到所述训练好的车牌检测器。
综上所述,本申请提供的车牌号码识别装置,通过拉东变换、仿射变换和投影精准矫正方式分别对车牌域进行矫正,弥补单次矫正的不足,提高矫正效率;通过端到端的车牌字符识别模型和车牌类型匹配模板的匹配机制,规避了字符误生成或漏生成问题,并降低了车牌多次循环匹配的复杂度。
通过困难样本在线循环调整训练和特征注意力模块添加机制,有利于卷积网络层强化困难样本学习力度。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
- 车牌号码识别方法、装置、电子设备及存储介质
- 车牌号码识别方法及装置