CN112541500B - 一种端到端的车牌识别方法及装置 - Google Patents
一种端到端的车牌识别方法及装置 Download PDFInfo
- Publication number
- CN112541500B CN112541500B CN202011414553.3A CN202011414553A CN112541500B CN 112541500 B CN112541500 B CN 112541500B CN 202011414553 A CN202011414553 A CN 202011414553A CN 112541500 B CN112541500 B CN 112541500B
- Authority
- CN
- China
- Prior art keywords
- license plate
- feature map
- layer
- output
- bezier curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种端到端的车牌识别方法,该方法包括:输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果。与现有技术相比,本发明能快速地进行车牌识别,且识别准确率高。
Description
技术领域
本发明涉及图像处理、智慧停车、车牌识别,特别涉及一种端到端的车牌识别方法及装置。
背景技术
目标随着城市的日益现代化,机动车的保有量持续增加,智能交通系统发挥着越来越重要的作用。不论是当今各种交通场合,还是公共安全管理系统,抑或未来无人汽车、无人驾驶领域,车牌识别都是一个不可或缺的过程,给城市健康有序管理带来了诸多便捷。
现有的车牌检测方法主要包括:(1)基于传统的非深度学习的车牌识别方法,该方法包括车牌定位、车牌分割和车牌字符识别等流程,引入了大量的先验信息和规则,对极端场景或者新的车牌类型则需要大量的改进和调优,增加了开发的难度;(2)基于深度学习的车牌识别方法,该方法主要包括基于深度学习的车牌定位、车牌矫正和基于深度车牌字符识别等流程,能够获得较高的识别率,但由于把车牌定位和车牌字符识别分开处理,在特征计算上带来了冗余,在优化角度上来讲也不是最优。
综上所述,目前迫切需要提出一种减少计算量、节省运算资源的一种端到端的车牌识别方法。
发明内容
有鉴于此,本发明的主要目的在于快速实现车牌识别,且识别准确率较高。
为达到上述目的,按照本发明的第一个方面,提供了一种端到端的车牌识别方法,该方法包括:
第一步骤,输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
第二步骤,根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
第三步骤,针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果。
其中,所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1。
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标。
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数。
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
进一步地,所述第二步骤包括:
输出特征图归一化步骤:对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算步骤:对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取步骤,根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B″y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取步骤,根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出步骤,输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
进一步地,所述贝塞尔曲线计算步骤中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
进一步地,所述第三步骤包括:
训练阶段处理步骤,针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理步骤,针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出。
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五次:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器。
进一步地,所述训练阶段处理步骤中总损失LTotal根据公式LTotal=γc_hmLc_hm+γc_offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
按照本发明的另一个方面,提供了一种端到端的车牌识别装置,该装置包括:
特征图和车牌信息获取模块,用于输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
贝塞尔车牌对齐处理模块,用于根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
输出特征图训练和预测模块,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果。
其中,所述特征图和车牌信息获取模块中主干网络为DLA网络。
所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1。
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标。
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数。
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
进一步地,所述输出特征图训练和预测模块包括:
输出特征图归一化模块:用于对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算模块:用于对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取模块,用于根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B″y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取模块,用于根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出模块,用于输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
进一步地,所述贝塞尔曲线计算模块中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
进一步地,所述输出特征图训练和预测模块包括:
训练阶段处理模块,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理模块,用于针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出。
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五次:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器。
进一步地,所述训练阶段处理模块中总损失LTotal根据公式LTotal=γc_hmLc_hm+γc_offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
与现有的车牌识别技术相比,本发明的一种端到端的车牌识别方法及装置充分利用车牌定位网络的特征图,结合车牌坐标位置,采用贝塞尔车牌对齐方法,可以处理车牌任意角度的形变,在特征图上扣取车牌区域特征作为字符分割网络的初始特征,并联合训练车牌定位网络和车牌字符分割网络。本发明的一种端到端的车牌识别方法减少了重复计算检测网络特征和字符识别网络特征的冗余,使车牌定位网络和车牌字符识别网络联合学习达到检测和识别效果最优。
附图说明
图1示出了按照本发明的一种端到端的车牌识别方法的流程图。
图2示出了按照本发明的一种端到端的车牌识别装置的框架图。
具体实施方式
为使本领域的技术人员能进一步了解本发明的结构、特征及其他目的,现结合所附较佳实施例详细说明如下,所说明的较佳实施例仅用于说明本发明的技术方案,并非限定本发明。
图1给出了按照本发明的一种端到端的车牌识别方法的流程图。如图1所示,按照本发明的一种端到端的车牌识别方法包括:
第一步骤S1,输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
第二步骤S2,根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
第三步骤S3,针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果。
其中,所述第一步骤S1中主干网络为DLA(Deep Layer Aggregation)网络。所述DLA网络可参见文献:“Deep Layer Aggregation,Yu,Fisher,Wang,Dequan,Shelhamer,Evan,Darrell,Trevor,Computer Science-Computer Vision and Pattern Recognition2017”。
所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1。
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标。
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数。
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
进一步地,所述第二步骤S2包括:
输出特征图归一化步骤S21:对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算步骤S22:对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取步骤S23,根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B″y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取步骤S24,根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出步骤S25,输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
其中,所述输出特征图的宽度Wout和高度Hout人为设置。示例性地,Wout设为24或者32,Hout设为8。
进一步地,所述贝塞尔曲线计算步骤S22中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
示例性地,所述贝塞尔曲线计算步骤S22包括:车牌区域有2个上边缘点和2个下边缘点,利用输入特征图Fin上车牌区域的2个上边缘点P0、P1,根据公式B′x(t)=P0,x(1-t)+P1,xt和B′y(t)=P0,y(1-t)+P1,yt,分别计算上边缘点P0、P1在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t);利用输入特征图Fin上车牌区域的2个下边缘点P2、P3,根据公式B″x(t)=P2,x(1-t)+P3,xt和B″y(t)=P2,y(1-t)+P3,yt,分别计算下边缘点P2、P3在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t)。
示例性地,所述贝塞尔曲线计算步骤S22包括:车牌区域有3个上边缘点和3个下边缘点,利用输入特征图Fin上车牌区域的3个上边缘点P0、P1、P2,根据公式B′x(t)=P0,x(1-t)2+2P1,xt(1-t)+P2,xt2和B′y(t)=P0,y(1-t)2+2P1,yt(1-t)+P2,yt2,分别计算上边缘点P0、P1、P2在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t);利用输入特征图Fin上车牌区域的3个下边缘点P3、P4、P5,根据公式B″x(t)=P3,x(1-t)2+2P4,xt(1-t)+P5,xt2和,分别计算下边缘点P3、P4、P5在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t)。
示例性地,所述贝塞尔曲线计算步骤S22包括:车牌区域有4个上边缘点和4个下边缘点,利用输入特征图Fin上车牌区域的4个上边缘点P0、P1、P2、P3,根据公式B′x(t)=P0,x(1-t)3+3P1,xt(1-t)2+3P2,xt2(1-t)+P3,xt3和B′y(t)=P0,y(1-t)3+3P1,yt(1-t)2+3P2,yt2(1-t)+P3, yt3,分别计算上边缘点P0、P1、P2、P3在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t);利用输入特征图Fin上车牌区域的4个下边缘点P4、P5、P6、P7,根据公式B″x(t)=P4,x(1-t)3+3P5,xt(1-t)2+3P6,xt2(1-t)+P7,xt3和B″y(t)=P4,y(1-t)3+3P5,yt(1-t)2+3P6,yt2(1-t)+P7,yt3,分别计算下边缘点P4、P5、P6、P7在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t)。
其中,所述P0,x、P1,x、P2,x、P3,x、P4,x、P5,x、P6,x、P7,x分别表示点P0、P1、P2、P3、P4、P5、P6、P7的X坐标,所述P0,y、P1,y、P2,y、P3,y、P4,y、P5,y、P6,y、P7,y分别表示点P0、P1、P2、P3、P4、P5、P6、P7的Y坐标。
进一步地,所述第三步骤S3包括:
训练阶段处理步骤S31,针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理步骤S32,针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出。
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五次:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器。
进一步地,所述训练阶段处理步骤S31中总损失LTot,根据公式LTotal=γc_hmLc_hm+γc_offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
进一步地,所述权重γc_hm的取值范围为1~10,所述权重γc_off的取值范围为1~10,所述权重γp_hm的取值范围为1~10,所述权重γp_off的取值范围为1~10,所述权重γctc的取值范围为2~10。示例性地,所述权重γc_hm、γc_off、γp_hm、γp_off选为1,所述权重γctc选为5。
图2给出了按照本发明的一种端到端的车牌识别装置的框架图。如图2所示,按照本发明的一种端到端的车牌识别装置包括:
特征图和车牌信息获取模块1,用于输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
贝塞尔车牌对齐处理模块2,用于根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
输出特征图训练和预测模块3,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果。
其中,所述特征图和车牌信息获取模块1中主干网络为DLA(Deep LayerAggregation)网络。
所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1。
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标。
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数。
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
进一步地,所述输出特征图训练和预测模块2包括:
输出特征图归一化模块21:用于对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算模块22:用于对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取模块23,用于根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B′y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取模块24,用于根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出模块25,用于输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
其中,所述输出特征图的宽度Wout和高度Hout人为设置。示例性地,Wout设为24或者32,Hout设为8。
进一步地,所述贝塞尔曲线计算模块22中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
进一步地,所述输出特征图训练和预测模块3包括:
训练阶段处理模块31,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理模块32,用于针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出。
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五次:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器。
进一步地,所述训练阶段处理模块31中总损失LTot根据公式LTotal=γc_hmLc_hm+γc_offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
进一步地,所述权重γc_hm的取值范围为1~10,所述权重γc_off的取值范围为1~10,所述权重γp_hm的取值范围为1~10,所述权重γp_off的取值范围为1~10,所述权重γctc的取值范围为2~10。
与现有的车牌识别技术相比,本发明的一种端到端的车牌识别方法及装置充分利用车牌定位网络的特征图,结合车牌坐标位置,采用贝塞尔车牌对齐方法,可以处理车牌任意角度的形变,在特征图上扣取车牌区域特征作为字符分割网络的初始特征,并联合训练车牌定位网络和车牌字符分割网络。本发明的一种端到端的车牌识别方法减少了重复计算检测网络特征和字符识别网络特征的冗余,使车牌定位网络和车牌字符识别网络联合学习达到检测和识别效果最优。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应当理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域中的技术人员实践本发明。任何本领域中的技术人员很容易在不脱离本发明精神和范围的情况下进行进一步的改进和完善,因此本发明只受到本发明权利要求的内容和范围的限制,其意图涵盖所有包括在由所附权利要求所限定的本发明精神和范围内的备选方案和等同方案。
Claims (10)
1.一种端到端的车牌识别方法,其特征在于,该方法包括:
第一步骤,输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
第二步骤,根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
第三步骤,针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果;
其中,所述主干网络为DLA网络;
所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1;
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2;所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标;
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数;
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
2.如权利要求1所述的方法,其特征在于,所述第二步骤包括:
输出特征图归一化步骤:对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算步骤:对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取步骤,根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B″y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取步骤,根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出步骤,输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
3.如权利要求2所述的方法,其特征在于,所述贝塞尔曲线计算步骤中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3l3,t∈[0,1];其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
4.如权利要求2所述的方法,其特征在于,所述Wout设为24或者32,Hout设为8。
5.如权利要求2所述的方法,其特征在于,所述第三步骤包括:
训练阶段处理步骤,针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理步骤,针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出;
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五层:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器;
进一步地,所述训练阶段处理步骤中总损失LTotal根据公式LTotal=γc_hmLc_hm+γc_ offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
6.如权利要求5所述的方法,其特征在于,所述权重γc_hm的取值范围为1~10,所述权重γc_off的取值范围为1~10,所述权重γp_hm的取值范围为1~10,所述权重γp_off的取值范围为1~10,所述权重γctc的取值范围为2~10。
7.一种端到端的车牌识别装置,其特征在于,该装置包括:
特征图和车牌信息获取模块,用于输入图像,采用主干网络,从图像中提取最后一层的特征图作为输入特征图;针对输入特征图,分别添加预测车牌中心点热力图的卷积层、预测车牌中心点偏置损失的卷积层、预测车牌矩形顶点热力图的卷积层、预测车牌矩形顶点偏置损失的卷积层,以获取特征图中车牌中心点位置和车牌顶点坐标;
贝塞尔车牌对齐处理模块,用于根据输入特征图中车牌顶点坐标,对特征图进行贝塞尔车牌对齐处理,获得输出特征图;
输出特征图训练和预测模块,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,对输出特征图进行训练,在预测阶段,对输出特征图进行车牌字符识别,输出车牌字符识别结果;
其中,所述特征图和车牌信息获取模块中主干网络为DLA网络;
所述预测车牌中心点热力图卷积层用于判断输入特征图中是否有车牌,其网络结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数1;
所述预测车牌中心点偏置损失卷积层用于修正车牌中心点位置,使位置更准确,其结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2;所述预测车牌矩形顶点热力图的卷积层和所述预测车牌矩形顶点偏置损失的卷积层用于输出车牌顶点坐标;
所述预测车牌矩形顶点热力图的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数n,其中n为预测车牌顶点的个数;
所述预测车牌矩形顶点偏置损失的卷积层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:1*1卷积,步长stride=1,填充pad=0,滤波器个数2。
8.如权利要求7所述的装置,其特征在于,所述输出特征图训练和预测模块包括:
输出特征图归一化模块:用于对于第n个通道的输入特征图Fin,选取第n个通道的输出特征图Fout上的任意一点P(x,y),对点P(x,y)的坐标进行归一化处理,获得归一化的坐标点(u,v),其中u=x/Wout,v=y/Hout,Wout和Hout表示输出特征图的宽度和高度,n∈[1,N],N为输入特征图Fin的通道的个数;
贝塞尔曲线计算模块:用于对于归一化的坐标点(u,v),将曲线长度比例t=u,根据贝塞尔曲线公式,分别获得上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t),获得下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t);
输入特征图映射点获取模块,用于根据获取的上边缘点在X坐标轴上的贝塞尔曲线B′x(t)和Y坐标轴上的贝塞尔曲线B′y(t)、下边缘点在X坐标轴上的贝塞尔曲线B″x(t)和Y坐标轴上的贝塞尔曲线B″y(t),分别根据公式Pc(x)=B″x(t)*v+B′x(t)*(1-v)和Pc(y)=B″y(t)*v+B′y(t)*(1-v),将Pc(x)和Pc(y)作为中心点Pc(x,y)的X和Y坐标;对Pc(x)和Pc(y)分别取整后得到xl和yl,获取中心点Pc(x,y)的四个邻近点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1),将四个邻近点作为第n个通道的输出特征图Fout上的点P(x,y)在第n个通道的输入特征图上的映射点;
输出特征图特征值获取模块,用于根据第n个通道的输入特征图Fin的特征值,根据公式fout(P)=fin(Pc,0)*w0+fin(Pc,1)*w1+fin(Pc,2)*w2+fin(Pc,3)*w3,计算第n个通道的输出特征图Fout的特征值,其中fin(Pc,0)、fin(Pc,1)、fin(Pc,2)、fin(Pc,3)表示第n个通道的输入特征图上的映射点的特征值,w0、w1、w2、w3表示对应映射点Pc,0(xl,yl)、Pc,1(xl+1,yl)、Pc,2(xl,yl+1)、Pc,3(xl+1,yl+1)的权重,w0=(1-Pc(y)+yl)*(1-Pc(x)+xl),w1=(1-Pc(y)+yl)*(Pc(x)-xl),w2=(Pc(y)-yl)*(1-Pc(x)+xl),w3=(Pc(y)-yl)*(Pc(x)-xl);
输出特征图输出模块,用于输出第n个通道的输入特征图Fin对应的第n个通道的输出特征图Fout。
9.如权利要求8所述的装置,其特征在于,所述贝塞尔曲线计算模块中如果车牌区域有2个上边缘点和2个下边缘点,采用1阶贝塞尔曲线公式B(t)=P0(1-t)+P1t;如果车牌区域有3个上边缘点和3个下边缘点,采用2阶贝塞尔曲线公式B(t)=P0(1-t)2+2P1t(1-t)+P2t2;如果车牌区域有4个上边缘点和4个下边缘点,采用3阶贝塞尔曲线公式B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1];其中t表示曲线长度比例,P0、P1、P2、P3表示车牌区域上边缘点或者下边缘点。
10.如权利要求8所述的装置,其特征在于,所述输出特征图训练和预测模块包括:
训练阶段处理模块,用于针对输出特征图,添加车牌字符识别网络层,在训练阶段,把线性分类器的输出作为CTC损失的输入,计算CTC损失和总损失;
预测阶段处理模块,用于针对输出特征图,添加车牌字符识别网络层,在预测阶段,计算分类器的输出的softmax得到最终的车牌字符预测结果,并输出;
其中,所述车牌字符识别网络层的结构包括:第一层:3*3卷积,步长stride=1,填充pad=1,滤波器个数128,激活函数为Relu;第二层:3*3卷积,步长stride=1,填充pad=1,滤波器个数256,激活函数为Relu;第三层:3*3卷积,步长stride=(2,1),填充pad=1,滤波器个数256,激活函数为Relu;第四层:(Hout/2)*1卷积,步长stride=1,填充pad=0,滤波器个数256,激活函数为Relu;第五层:Permute层,把输入数据转化为宽度方向的1维序列;第六层:输入特征为256,输出为79的线性分类器;
进一步地,所述训练阶段处理模块中总损失LTotal根据公式LTotal=γc_hmLc_hm+γc_ offLc_off+γp_hmLp_hm+γp_offLp_off+γctcLctc计算得到,其中Lc_hm为车牌中心点热力图损失,Lc_off为车牌中心点偏置损失,Lp_hm为车牌矩形顶点热力图损失,Lp_off为车牌矩形顶点偏置损失,Lctc为车牌字符识别CTC损失,γc_hm、γc_off、γp_hm、γp_off、γctc分别为Lc_hm、Lc_off、Lp_hm、Lp_off、Lctc对应的权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011414553.3A CN112541500B (zh) | 2020-12-03 | 2020-12-03 | 一种端到端的车牌识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011414553.3A CN112541500B (zh) | 2020-12-03 | 2020-12-03 | 一种端到端的车牌识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112541500A CN112541500A (zh) | 2021-03-23 |
CN112541500B true CN112541500B (zh) | 2023-07-25 |
Family
ID=75016229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011414553.3A Active CN112541500B (zh) | 2020-12-03 | 2020-12-03 | 一种端到端的车牌识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112541500B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570563B (zh) * | 2021-07-19 | 2024-03-01 | 江苏新绿能科技有限公司 | 一种高速铁路接触网绝缘端子健康状态评估方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845487A (zh) * | 2016-12-30 | 2017-06-13 | 佳都新太科技股份有限公司 | 一种端到端的车牌识别方法 |
CN110969160A (zh) * | 2019-11-21 | 2020-04-07 | 合肥工业大学 | 一种基于深度学习的车牌图像校正、识别方法及系统 |
CN111339846A (zh) * | 2020-02-12 | 2020-06-26 | 深圳市商汤科技有限公司 | 图像识别方法及装置、电子设备和存储介质 |
KR102157990B1 (ko) * | 2020-06-29 | 2020-09-21 | 이홍기 | 신경망을 이용한 차량 번호판 인식 방법 및 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704857B (zh) * | 2017-09-25 | 2020-07-24 | 北京邮电大学 | 一种端到端的轻量级车牌识别方法及装置 |
-
2020
- 2020-12-03 CN CN202011414553.3A patent/CN112541500B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845487A (zh) * | 2016-12-30 | 2017-06-13 | 佳都新太科技股份有限公司 | 一种端到端的车牌识别方法 |
CN110969160A (zh) * | 2019-11-21 | 2020-04-07 | 合肥工业大学 | 一种基于深度学习的车牌图像校正、识别方法及系统 |
CN111339846A (zh) * | 2020-02-12 | 2020-06-26 | 深圳市商汤科技有限公司 | 图像识别方法及装置、电子设备和存储介质 |
KR102157990B1 (ko) * | 2020-06-29 | 2020-09-21 | 이홍기 | 신경망을 이용한 차량 번호판 인식 방법 및 시스템 |
Non-Patent Citations (1)
Title |
---|
基于改进LeNet-5的车牌识别算法;张荣梅;张琦;陈彬;;科学技术与工程(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112541500A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427937B (zh) | 一种基于深度学习的倾斜车牌矫正和不定长车牌识别方法 | |
CN109583483B (zh) | 一种基于卷积神经网络的目标检测方法和系统 | |
CN108986465B (zh) | 一种车流量检测的方法、系统及终端设备 | |
CN106971185B (zh) | 一种基于全卷积网络的车牌定位方法及装置 | |
CN111814623A (zh) | 一种基于深度神经网络的车辆车道偏离视觉检测方法 | |
CN106778659B (zh) | 一种车牌识别方法及装置 | |
CN111582339B (zh) | 一种基于深度学习的车辆检测与识别的方法 | |
CN112287912B (zh) | 基于深度学习的车道线检测方法以及装置 | |
CN111179152A (zh) | 一种道路标识识别方法及装置、介质、终端 | |
CN110705342A (zh) | 一种车道线分割检测方法及装置 | |
CN101901343A (zh) | 基于立体约束的遥感影像道路提取方法 | |
CN111738033B (zh) | 基于平面分割的车辆行驶信息确定方法及装置、车载终端 | |
CN112541500B (zh) | 一种端到端的车牌识别方法及装置 | |
CN112348752B (zh) | 一种基于平行约束的车道线消失点补偿方法及装置 | |
Yamashita et al. | Multiple skip connections of dilated convolution network for semantic segmentation | |
CN114842430B (zh) | 一种用于道路监测的车辆信息识别方法及系统 | |
CN114820679B (zh) | 图像标注方法、装置、电子设备和存储介质 | |
CN110733416B (zh) | 一种基于逆透视变换的车道偏离预警方法 | |
CN112446353B (zh) | 基于深度卷积神经网络的视频图像道线检测方法 | |
CN117437519B (zh) | 一种无水尺水位识别方法及装置 | |
CN111488762A (zh) | 一种车道级定位方法、装置及定位设备 | |
CN111881914B (zh) | 一种基于自学习阈值的车牌字符分割方法及系统 | |
CN112053407B (zh) | 一种交通执法影像中基于ai技术的车道线自动检测方法 | |
CN113011293B (zh) | 一种行道线参数实时提取方法 | |
CN111428537B (zh) | 一种道路导流带边缘提取方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |