车牌识别方法、系统、设备及存储介质与流程

文档序号:32412527发布日期:2022-12-02 21:41阅读:225来源:国知局
车牌识别方法、系统、设备及存储介质与流程

1.本技术涉及图像识别技术领域,尤其涉及一种车牌识别方法、系统、设备及存储介质。


背景技术:

2.在城市交通管理、视频监控、车辆识别和停车场管理中,车牌识别是一项富有挑战而重要的任务,图像的清晰度、光照条件、天气因素、图像形变和车牌字符的多变性使车牌识别问题变的复杂化。一个鲁棒的车牌识别系统应当能够应对各种环境的变化而不失准确性。
3.自然场景中的车牌图像会由于拍摄角度变化、地面倾斜或是车牌不规范造成各种形变,这些形变包括透视变换、弯曲、倾斜、扭曲等。车牌图片的倾斜和扭曲容易影响到后续车牌号码识别的准确性。因此,对车牌进行精确的矫正具有重要的现实意义。而传统的矫正方法如霍夫变换、randon变换等方法通常只能解决车牌的倾斜问题,对于出现的其他的几何形变的矫正无能为力,而且在矫正车牌之后还需要进行一系列的车牌位置精确定位处理,需要进行大量的运算时间,不具备实时性。现有的基于车牌四个角点回归的车牌矫正方法,对于扭曲的或者遮挡的车牌容易出现角点定位不准的现象,从而会影响矫正的结果。
4.现有的车牌识别方法一般包括车牌检测、车牌矫正、车牌字符识别三大主要步骤。车牌检测是为了定位出车牌的大致区域;车牌矫正是为了把倾斜的车牌标准化,有利于提升下一步车牌识别的准确度;车牌字符识别就是将矫正好的车牌图像上的号码依次地以字符形式识别出来。
5.现有技术方案主要存在如下缺点:
6.当获取到的车牌图像存在质量较低、局部遮挡、角度倾斜较大的情况时,现有的基于四个角点的车牌矫正方法检测出的角点不够准确,导致经常会出现矫正不好的现象。


技术实现要素:

7.针对现有技术中的问题,本技术的目的在于提供一种车牌识别方法、系统、设备及存储介质,更加鲁棒地解决大角度低质量车牌难识别的问题。
8.本技术实施例提供一种车牌识别方法,包括如下步骤:
9.获取待识别车牌的车牌区域图像;
10.将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,预测关键点包括预测角点关键点和预测非角点关键点;
11.基于标准车牌的预设关键点位置和所述待识别车牌的预测关键点位置计算透视变换矩阵,预设关键点包括预设角点关键点和预设非角点关键点;
12.根据所述透视变换矩阵对所述车牌区域图像进行矫正,得到矫正车牌图像;
13.将所述矫正车牌图像输入车牌字符识别模型,得到车牌字符。
14.本技术通过采用该车牌识别方法,首先基于关键点预测模型得到待识别车牌区域
图像的预测关键点位置,基于标准车牌的预设关键点位置和待识别车牌区域图像的预测关键点位置计算透视变换矩阵,并基于该透视变换矩阵矫正图像,由于关键点不仅包括角点关键点,还包括其他根据需要选择的非角点关键点,有效避免车牌图像角点检测不够准确影响矫正效果的问题,提高车牌区域图像的矫正效果,在进行车牌字符识别时,矫正效果更好的图像可以获得更准确的字符识别结果。
15.在一些实施例中,还包括采用如下步骤训练所述关键点预测模型:
16.获取样本车牌的样本车牌区域图像,确定所述样本车牌的标注角点关键点的第一位置;
17.根据所述标准车牌的预设关键点位置和所述样本车牌的标注角点关键点的第一位置确定所述样本车牌的标注非角点关键点的第一位置;
18.将所述样本车牌区域图像输入初始关键点预测模型,得到所述初始关键点预测模型输出的所述样本车牌的标注关键点的第二位置,所述标注关键点包括标注角点关键点和标注非角点关键点;
19.基于所述样本车牌的标注关键点的第一位置和第二位置构建损失函数,并基于所述损失函数优化训练所述初始关键点预测模型得到所述关键点预测模型。
20.在一些实施例中,所述根据所述标准车牌的预设关键点位置和所述样本车牌的标注角点关键点的第一位置确定所述样本车牌的标注非角点关键点的第一位置,包括如下步骤:
21.基于所述样本车牌的标注角点关键点的第一位置和标准车牌的预设角点关键点位置,构建位置转换矩阵;
22.基于标准车牌的预设非角点关键点位置以及所述位置转换矩阵,计算所述样本车牌的标注非角点关键点的第一位置。
23.在一些实施例中,对于所述标准车牌,将标准车牌的四个角点围成的区域划分为(m-1)
×
(n-1)个网格,得到m
×
n个网格点,将各个网格点作为所述标准车牌的预设关键点,m≥2,n≥2,且m
×
n≥4。
24.在一些实施例中,所述关键点预测模型包括第一特征提取层、关键点预测分支和局部偏移预测分支;所述将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,包括如下步骤:
25.将所述车牌区域图像输入所述关键点预测模型,通过所述第一特征提取层提取所述车牌区域图像的图像特征,通过所述关键点预测分支获取热度图,通过所述局部偏移预测分支获取局部偏移值;
26.从所述热度图中选择响应值大于邻域点响应值的峰值点,确定峰值点的位置;
27.获取与峰值点位置对应位置处的局部偏移值,根据所述峰值点的位置和所述局部偏移值得到峰值点的矫正位置;
28.将所述峰值点与所述标准车牌的预设关键点进行配对,将与所述标准车牌的预设关键点对应的峰值点作为预测关键点,将作为所述预测关键点的峰值点所对应的矫正位置作为预测关键点的第二位置。
29.在一些实施例中,所述车牌字符识别模型包括依次串联的第二特征提取层、全局可分离卷积层、卷积层、reshape层和分类层。
30.在一些实施例中,将所述矫正车牌图像输入车牌字符识别模型,所述车牌字符识别模型配置为执行如下操作:
31.所述第二特征提取层对所述矫正车牌图像进行特征提取,得到c
×h×
w维度的图像特征,c、h、w分别表示提取得到的图像特征的初始维度、初始高度和初始宽度;
32.所述全局可分离卷积层将所述c
×h×
w维度的图像特征转换为c
×1×
1维度的图像特征;
33.所述卷积层将所述c
×1×
1维度的图像特征转换为a
×1×
1维度的图像特征,其中a=b1*b2,b1为预设的每个字符类别数,b2为预设的车牌最多字符数;
34.所述reshape层将所述a
×1×
1维度的图像特征转换为b1
×
b2
×
1维度的图像特征;
35.所述分类层基于所述b1
×
b2
×
1维度的图像特征进行分类预测,得到b2个车牌字符的预测值。
36.本技术实施例还提供一种车牌识别系统,应用于所述的车牌识别方法,所述系统包括:
37.图像获取模块,用于获取待识别车牌的车牌区域图像;
38.关键点预测模块,用于将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,所述预测关键点包括预测角点关键点和预测非角点关键点;
39.图像矫正模块,用于基于标准车牌的预设关键点位置和所述待识别车牌的预测关键点位置计算透视变换矩阵,所述预设关键点包括预设角点关键点和预设非角点关键点;以及根据所述透视变换矩阵对所述车牌区域图像进行矫正,得到矫正车牌图像;
40.车牌识别模块,用于将所述矫正车牌图像输入车牌字符识别模型,得到车牌字符。
41.本技术通过采用该车牌识别系统,首先通过图像获取模块和关键点预测模块,基于关键点预测模型得到待识别车牌区域图像的预测关键点位置,通过图像矫正模块基于标准车牌的预设关键点位置和待识别车牌区域图像的预测关键点位置计算透视变换矩阵,并基于该透视变换矩阵矫正图像,由于关键点不仅包括角点关键点,还包括其他根据需要选择的非角点关键点,有效避免车牌图像角点检测不够准确影响矫正效果的问题,提高车牌区域图像的矫正效果,在通过车牌识别模块进行车牌字符识别时,矫正效果更好的图像可以获得更准确的字符识别结果。
42.本技术实施例还提供一种车牌识别设备,包括:
43.处理器;
44.存储器,其中存储有所述处理器的可执行指令;
45.其中,所述处理器配置为经由执行所述可执行指令来执行所述的车牌识别方法的步骤。
46.通过采用本技术所提供的车牌识别设备,所述处理器在执行所述可执行指令时执行所述的车牌识别方法,由此可以获得上述车牌识别方法的有益效果。
47.本技术实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的车牌识别方法的步骤。
48.通过采用本技术所提供的计算机可读存储介质,其中存储的程序在被执行时实现所述的车牌识别方法的步骤,由此可以获得上述车牌识别方法的有益效果。
附图说明
49.通过阅读参照以下附图对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显。
50.图1是本技术一实施例的车牌识别方法的流程图;
51.图2是本技术一实施例的标准车牌划分网格的示意图;
52.图3是本技术一实施例的网格点预测模型的示意图;
53.图4是本技术一实施例的车牌矫正的整体流程图;
54.图5是本技术一实施例的车牌字符识别模型的结构示意图;
55.图6是本技术一实施例的车牌识别系统的示意图;
56.图7是本技术一实施例的车牌识别设备的结构示意图;
57.图8是本技术一实施例的计算机存储介质的结构示意图。
具体实施方式
58.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本技术将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
59.如图1所示,在一实施例中,本技术提供了一种车牌识别方法,包括如下步骤:
60.s100:获取待识别车牌的车牌区域图像;
61.此处获取待识别车牌的车牌区域图像包括通过车牌检测器在原始拍摄图像中定位车牌检测框,然后根据车牌检测框的结果,检测框的每条边分别向外侧扩大一定尺寸,剪裁出车牌区域;该车牌检测器可以采用机器学习模型实现,例如可以利用yolox目标检测算法来训练得到,但本技术不限于此;
62.s200:将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,预测关键点包括预测角点关键点和预测非角点关键点;
63.s300:基于标准车牌的预设关键点位置和所述待识别车牌的预测关键点位置计算透视变换矩阵,预设关键点包括预设角点关键点和预设非角点关键点;
64.s400:根据所述透视变换矩阵对所述车牌区域图像进行矫正,得到矫正车牌图像;
65.s500:将所述矫正车牌图像输入车牌字符识别模型,得到车牌字符。
66.本技术通过采用该车牌识别方法,首先通过步骤s100和s200,基于关键点预测模型得到待识别车牌区域图像的预测关键点位置,通过步骤s300和步骤s400基于标准车牌的预设关键点位置和待识别车牌区域图像的预测关键点位置计算透视变换矩阵,并基于该透视变换矩阵矫正图像,由于关键点(预测关键点和标准车牌的预设关键点)不仅包括角点关键点,还包括其他根据需要选择的非角点关键点,有效避免车牌图像角点检测不够准确影响矫正效果的问题,提高车牌区域图像的矫正效果,在通过步骤s500进行车牌字符识别时,矫正效果更好的图像可以获得更准确的字符识别结果。
67.在该实施例中,所述车牌识别方法还包括采用如下步骤训练所述关键点预测模型:
68.获取样本车牌的车牌区域图像,确定所述样本车牌的标注角点关键点的第一位
置;此处确定样本车牌的标注角点关键点的第一位置可以是由人工标注的角点的第一位置;或者也可以通过训练一个角点检测器来基于角点的明显特征自动检测角点的位置;
69.根据标准车牌的预设非角点关键点位置和所述样本车牌的标注角点关键点的第一位置确定所述样本车牌的标注非角点关键点的第一位置;
70.将所述样本车牌区域图像输入初始关键点预测模型,得到所述初始关键点预测模型输出的所述样本车牌的标注关键点的第二位置,所述标注关键点包括标注角点关键点和标注非角点关键点;
71.基于所述样本车牌的标注关键点的第一位置和第二位置构建损失函数,并基于所述损失函数优化训练所述初始关键点预测模型,得到所述关键点预测模型。其中,所述关键点预测模型为将所述初始关键点预测模型训练至损失函数收敛得到的。
72.本技术的车牌识别方法基于更多的车牌上的关键点实现,可以更加鲁棒地对车牌进行矫正。选择的标注关键点,没必要是车牌上有明显特征的四个角点,可以是车牌上任意比例位置的点,例如横坐标四分之一,纵坐标五分之一处的点。因此,可以根据标注的四个角点位置,均匀地设置一些关键点。在该实施例中,对于标准车牌,将标准车牌的四个角点围成的区域划分为(m-1)
×
(n-1)个网格,得到m
×
n个网格点将各个网格点作为所述标准车牌的预设关键点,m≥2,n≥2,且m
×
n≥4。由此,通过标准车牌的预设关键点位置也可以确定样本车牌的更多标注关键点位置,而不仅仅是获取标注角点关键点的位置。如图2所示,将标准车牌的四个角点围成的矩形区域划分为4
×
2个网格,得到5
×
3个网格点即一共有15个预设关键点,其中包括四个预设角点关键点和11个预设非角点关键点。对于标准车牌来说,其中预先确定好15个预设关键点的位置坐标。根据标准车牌的预设非角点关键点位置和所述样本车牌的标注角点关键点的第一位置确定所述样本车牌的标注非角点关键点的第一位置时,能够确定样本车牌的11个标注非角点关键点的坐标。此处m和n的数值仅为示例。在其他实施方式中,也可以采用其他数值,例如将标准车牌划分为2
×
1的网格,确定3
×
2=6个预设关键点,将标准车牌划分为2
×
2的网格,确定3
×
3=9个预设关键点等。在其他可替代的实施方式中,所述预设关键点也可以不是网格点,而是预先在标准车牌中确定的其他位置的关键点,例如在标准车牌的中心位置、左上区域、右下区域等分别选择一个预设关键点,则后续根据标准车牌在样本车牌上标注的标注关键点的位置即与标准车牌的预设关键点相对应。
73.下面以所述预设关键点为网格点为例具体说明对车牌矫正和车牌识别的具体实现方式。所述关键点预测模型即为网格点预测模型。所述标注关键点和预测关键点即为标注网格点和预测网格点。可理解的是,以下方法也适用于其他类型的关键点。
74.在该实施例中,所述根据标准车牌的预设非角点关键点位置和所述样本车牌的标注角点关键点的第一位置确定所述样本车牌的标注非角点关键点的第一位置,包括如下步骤:
75.基于所述样本车牌的标注角点关键点的第一位置和标准车牌的预设角点关键点位置,构建位置转换矩阵;
76.基于标准车牌的预设非角点关键点位置以及所述位置转换矩阵,计算所述待识别车牌的标注非角点关键点的第一位置。
77.因此,本技术只需要根据人工标注的样本车牌的四个标注角点网格点的第一位置
坐标计算出所有标注网格点的第一位置。设样本车牌四个标注角点网格点位置坐标分别为(x1,y1),(x2,y2),(x3,y3),(x4,y4),标准车牌的四个预设角点网格点位置坐标为(0,0),(440,0),(440,140),(0,140)。此时源坐标(样本车牌四个标注角点网格点位置坐标)和目标坐标(标准车牌的四个角点网格点位置坐标)各有4个,通过这4对对应坐标可以构造8个方程,可以计算出8个未知数,这8个解与1可以组成一个3
×
3的矩阵,即为样本车牌四个标注角点网格点位置坐标到标准车牌的四个预设角点网格点位置坐标的位置转换矩阵m1。反过来讲,对于标准车牌上任意位置的预设关键点,可以通过乘上位置转换矩阵m1的逆矩阵,得到样本车牌上的对应标注关键点。因此,将标准车牌上非角点网格点的坐标乘上位置转换矩阵m1的逆矩阵可以得到所述样本车牌的标注非角点网格点的第一位置。
78.具体地,可以构建样本车牌四个标注角点网格点位置坐标到标准车牌的四个预设角点网格点位置坐标的位置转换矩阵m1的公式如下,其中,
[0079][0080]
其中,xyz表示样本车牌区域图像的标注角点在三个坐标轴的坐标值,x'y'z'表示标准车牌的预设角点在三个坐标轴的坐标值。由于车牌区域图像是一个二维图像,实际上只会用到两个坐标轴,因此第三个坐标轴的坐标z,z'是1;通过4对匹配的点(xyz

x'y'z'),可以算得这九个参数a
11
~a
33
。在实际处理中,通常乘以一个非零因子使得最后一个参数a
33
为1,实际上计算其他8个参数即可,从而可以得到位置转换矩阵m1。
[0081]
在该实施例中,所述网格点预测模型主要执行两个子任务,一个是网格点定位任务,一个是网格点局部偏移矫正任务。具体地,所述网格点预测模型包括第一特征提取层、网格点预测分支和局部偏移预测分支。如图3所示,为一种示例的网格点预测模型的结构。其中第一特征提取层包括主干网络和头部网络。主干网络采用通道减半的resnet18网络。所述头部网络采用上采样操作,将特征图变化到一定尺寸,使得预测的特征图的尺寸是输入图像的四分之一。为了提升网格点预测的效果,该实施例特征金字塔融合特征的方式为将网络的底层特征与高层特征进行融合,增强特征的可区分力度。
[0082]
所述步骤s200:将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,所述预测关键点包括预测角点关键点和预测非角点关键点,包括如下步骤:
[0083]
将所述车牌区域图像输入所述网格点预测模型,通过所述第一特征提取层提取所述车牌区域图像的图像特征,通过所述网格点预测分支获取热度图,通过所述局部偏移预测分支获取局部偏移值;
[0084]
从所述热度图中选择响应值大于邻域点响应值的峰值点,确定峰值点的位置;具体地,在网格点预测分支上,分别提取热度图上的峰值点,做法是将热度图上的所有响应点的响应值与其连接的8邻域点的响应值进行比较,将响应值大于或等于与其连接的8邻域点
的响应值的响应点作为峰值点。
[0085]
该实施例在训练网格点预测分支时,对于标签的网格点c,其位置为p,计算得到经过下采样的低分辨率图像上对应的网格点位置r为下采样的步长。然后将所有标签的网格点(x,y)通过高斯核签的网格点(x,y)通过高斯核计算生成到热度图其中)
p
是目标尺度自适应的标准方差,c

为通道数,也为网格点的个数,即各个关键点在不同的特征通道上进行预测,w'、h'分别为下采样后图像特征的宽度和高度。
[0086]
训练网格点热度图的损失函数为像素级逻辑回归的焦点损失函数,计算公式如下:
[0087][0088]
其中α和β是该损失函数的超参数,实验中分别设置为2和4,n是图像中网格点的个数,除以n主要为了将所有损失值归一化。是网格点预测分支预测的热度图,y
x,y,c

为样本热度图。
[0089]
获取与峰值点位置对应位置处的局部偏移值,根据所述峰值点的位置和所述局部偏移值得到峰值点的矫正位置;由于图像下采样时,网格点位置会因数据是离散的而产生偏差,因此,对每个网格点预测了一个局部偏移所有网格点的局部偏移值在同一个通道上进行预测,这个局部偏移预测分支用如下损失函数来训练:
[0090][0091]
其中,为预测局部偏移值。
[0092]
具体地,峰值点的位置加上偏移矫正的局部偏移值即可得到网格点的准确预测位置。在输出预测结果时,只输出置信度大于0.4的网格点。此处置信度的值是指各个网格点的响应值,0.4为设置的阈值,并且可以根据需要选择为其他数值。
[0093]
将所述峰值点与所述标准车牌的预设网格点进行配对,将与所述标准车牌的预设网格点对应的峰值点作为预测网格点,将作为所述预测关键点的峰值点所对应的矫正位置作为预测网格点的第二位置;
[0094]
在大多数情况下,经过网格点预测模型,可以得到比较准确的各个预测网格点的位置。然而,在实际使用时,由于环境的复杂性,相机采集到的图像会受到光照、运动等因素的影响,因此,经常会得到质量较差的图像。这样低质量的图像送入模型中,可能会预测出一些错误的网格点或者出现漏检的网格点,甚至还存在一些重复的网格点。也就是说,模型预测得到的预测网格点的位置和标准车牌的预设网格点位置,在一些情况下达不到一一对应,会存在一些错误的配对点。为了兼容适应这些情况,该实施例在计算透视变换矩阵时,采用ransac(随机抽样一致)过滤错配点的方法来计算透视变换矩阵。该方法是从一组包含“局外点”的观测数据集中,通过迭代的方式,能够逐渐地区分出正确的配对点和错误的配
对点,最后的迭代,几乎就是利用正确的配对点计算出透视变换矩阵的模型参数。从计算透视变换矩阵的方法可以看出,相比于现有技术中只采用四个角点的计算方法,本技术的多个关键点计算方法更加鲁棒,兼容性更加优越。
[0095]
在实际编码时,可以利用opencv中的findhomograpy函数,并传入ransac参数(ransac参数例如包括:n—最小样本集数目(比如直线为2);t—容错阈值(比如设计成距离某直线0.25m之内都是内点);k—迭代次数(比如要迭代1000次);w—数据集中内群的比例(比如70%是内点);p—成功率(比如希望获得成功的概率是0.99);d—一致集的最小数目(生成该模型最少需多少内点)),即可鲁棒地计算出预测的网格点与标注的网格点之间最优的透视变换矩阵。图4展示了车牌矫正的整体流程图。有了透视变换矩阵m后,通过与输入的车牌区域图像相乘的方法,就可以得到矫正后的图像。值得注意的是,如果计算出来错配点对较多的话,该图像可能不包含车牌或者该图像质量太差,应做舍弃处理。
[0096]
当前的车牌识别方法一般是基于ctc(connectionist temporal classification,基于神经网络的时序类分类)识别的,然而现有基于ctc的识别方法更适用于单层车牌的识别,对双层车牌识别不太友好。因此,该实施例从基于全局特征分类的角度出发,设计一个可以同时兼容单层和双层的车牌号码识别的方法。该方法可以与基于ctc的识别方法一样,容易实现并且也方便在各个平台上进行部署。
[0097]
在该实施例中,所述车牌字符识别模型包括依次串联的第二特征提取层、全局可分离卷积层(global depthwise convolution,gdconv)、卷积层(conv)、reshape层和分类层(如softmax分类层)。图5示出了该实施例的车牌字符识别模型的结构。所述第二特征提取层可以采用cnn(卷积神经网络)主干网络,用于提取输入矫正车牌图像的特征。该车牌字符识别模型采用通道砍半的resnet18作为基础网络,整个识别模型网络结构细节如表1所示。
[0098]
表1本技术车牌识别模型的网络结构
[0099][0100]
在该实施例中,所述步骤s500中,将所述矫正车牌图像输入车牌字符识别模型,所述车牌字符识别模型配置为执行如下操作:
[0101]
所述第二特征提取层对所述待识别的矫正车牌图像进行特征提取,得到c
×h×
w维度的图像特征,c、h、w分别表示提取得到的图像特征的初始维度、初始高度和初始宽度;
[0102]
所述全局可分离卷积层将所述c
×h×
w维度的图像特征转换为c
×1×
1维度的图像特征;该实施例在接入分类器之前,舍弃了全连接层,也不采用全局池化层,而采用了全局可分离卷积层;使用全局可分离卷积层有两方面好处,一方面,相对于全连接层可以减少大量的参数,缓解过拟合问题;另一方面,与全局池化层相比,不会由于平均操作丢失信息,但又能像全局池化层一样,使模型能够隐式地将车牌字符位置编码进特征中;
[0103]
所述卷积层将所述c
×1×
1维度的图像特征转换为a
×1×
1维度的图像特征,其中a=b1*b2,b1为预设的每个字符类别数,b2为预设的车牌最多字符数;在该实施例中,以b1为83,b2为9,a为747为例进行说明,具体地,此处可以根据不同的识别任务设定不同的维度;所述全局可分离卷积层后接上1
×
1的卷积层,是为了将通道数变化为747,车牌识别任务中,考虑到8位新能源车牌号,算上结束符,需要识别的字符数最多为9,车牌字符类别包括汉字、字母、数字和结束符总共83种。因此,将此处的通道维度变化为9
×
83=747;
[0104]
所述reshape层将所述a
×1×
1维度的图像特征转换为b1
×
b2
×
1维度的图像特征;在该实施例中,将前面的卷积层输出的747维特征,变形为83
×9×
1维度,此时正好对应车牌号的9个字符位置的83个类别,可方便后面只接上一个分类器一起进行9个字符的分类训练;
[0105]
所述分类层基于所述b1
×
b2
×
1维度的图像特征进行分类预测,得到b2个车牌字符的预测值。
[0106]
由于各个省份的车牌字符数据不平衡,本技术采用焦点损失函数来替代softmax损失函数,用于缓解汉字字符数据不平衡问题。焦点损失函数是在标准softmax损失基础上改进得到的,通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。焦点损失函数的公式如下:
[0107]
fl(p
t
)=-α(1-p
t
)γlog(p
t
)
[0108]
其中p
t
是softmax函数输出的概率得分。α和γ是实验中的超参数,根据文献《focal loss for dense object detection》中的实验结果,可选设定α和γ分别为0.25和2,可以达到最优的实验效果。
[0109]
本技术通过实验对该车牌识别方法的效果进行了验证。实验中,网格点预测模型的主干网络选择的是通道减半的resnet18,输入待识别车牌的车牌区域图像的分辨率为128
×
128,在产生的32
×
32尺寸的特征图上预测网格点和局部偏移值。采用adam优化方法和余弦学习率衰减方式优化目标函数。训练的batchsize为32,初始学习率为0.01,迭代次数为50个epoch。
[0110]
车牌字符识别模型的主干网络也选择的是通道减半的resnet18,输入分辨率为64
×
176。采用sgd优化方法和余弦学习率衰减方式优化目标函数。训练的batchsize为32,初始学习率为0.005,迭代次数为20个epoch。
[0111]
训练是在caffe深度学习框架上进行的,硬件平台为单块nvidia gtx 1080ti显卡。
[0112]
训练的数据集来自公共集ccpd、opencv生成的车牌以及私有相机抓拍的一些监控场景下的图片。为了训练网格点预测模型和车牌字符识别模型,需要标注车牌的四个角点坐标和字符号码。ccpd公共集和生成的车牌已经包含了这些标签,此时,只需要标注私有的一些数据即可。
[0113]
通过测试,本技术车牌识别方法不仅能够更鲁棒的识别出角度大、质量较低的车牌,还能够对双层车牌进行友好的支持。训练时可以采用丰富的图像样本,覆盖各个省份,缓解字符类别不平衡导致识别错误的问题。
[0114]
如图6所示,本技术实施例还提供一种车牌识别系统,应用于所述的车牌识别方法,所述系统包括:
[0115]
图像获取模块m100,用于获取待识别车牌的车牌区域图像;
[0116]
关键点预测模块m200,用于将所述车牌区域图像输入关键点预测模型,获取所述待识别车牌的预测关键点位置,预测关键点包括预测角点关键点和预测非角点关键点;
[0117]
图像矫正模块m300,用于基于标准车牌的预设关键点位置和所述待识别车牌的预测关键点位置计算透视变换矩阵,预设关键点包括预设角点关键点和预设非角点关键点;以及根据所述透视变换矩阵对所述车牌区域图像进行矫正,得到矫正车牌图像;
[0118]
车牌识别模块m400,用于将所述矫正车牌图像输入车牌字符识别模型,得到车牌字符。
[0119]
本技术通过采用该车牌识别系统,首先通过图像获取模块m100和关键点预测模块m200,基于关键点预测模型得到待识别车牌区域图像的预测关键点位置,通过图像矫正模
块m300基于标准车牌的预设关键点位置和待识别车牌区域图像的预测关键点位置计算透视变换矩阵,并基于该透视变换矩阵矫正图像,由于关键点(预测关键点和标准车牌的预设关键点)不仅包括角点关键点,还包括其他根据需要选择的非角点关键点,有效避免车牌图像角点检测不够准确影响矫正效果的问题,提高车牌区域图像的矫正效果,在通过车牌识别模块m400进行车牌字符识别时,矫正效果更好的图像可以获得更准确的字符识别结果。
[0120]
本技术实施例还提供一种车牌识别设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的车牌识别方法的步骤。
[0121]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0122]
下面参照图7来描述根据本技术的这种实施方式的电子设备600。图7显示的电子设备600仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0123]
如图7所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
[0124]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本技术各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
[0125]
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
[0126]
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0127]
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0128]
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0129]
通过采用本技术所提供的车牌识别设备,所述处理器在执行所述可执行指令时执行所述的车牌识别方法,由此可以获得上述车牌识别方法的有益效果。
[0130]
本技术实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的车牌识别方法的步骤。在一些可能的实施方式中,本技术的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本技术各种示例性实施方式的步骤。
[0131]
参考图8所示,描述了根据本技术的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0132]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0133]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0134]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或集群上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0135]
通过采用本技术所提供的计算机可读存储介质,其中存储的程序在被执行时实现所述的车牌识别方法的步骤,由此可以获得上述车牌识别方法的有益效果。
[0136]
以上内容是结合具体的优选实施方式对本技术所作的进一步详细说明,不能认定本技术的具体实施只局限于这些说明。对于本技术所属技术领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1