CN113989796B - 一种基于深度学习的车牌检测方法及装置 - Google Patents
一种基于深度学习的车牌检测方法及装置 Download PDFInfo
- Publication number
- CN113989796B CN113989796B CN202111476331.9A CN202111476331A CN113989796B CN 113989796 B CN113989796 B CN 113989796B CN 202111476331 A CN202111476331 A CN 202111476331A CN 113989796 B CN113989796 B CN 113989796B
- Authority
- CN
- China
- Prior art keywords
- license plate
- loss
- regression
- iou
- branch
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 111
- 238000013135 deep learning Methods 0.000 title claims abstract description 20
- 230000006870 function Effects 0.000 claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 41
- 238000010586 diagram Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 18
- 238000002372 labelling Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 238000005286 illumination Methods 0.000 claims description 5
- 239000010410 layer Substances 0.000 description 8
- 239000002356 single layer Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
Classifications
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于深度学习的车牌检测方法,该方法包括:搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;构建基于Anchor‑Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;将标注的车牌样本输入到基于Anchor‑Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置。与现有技术相比,本发明能快速地进行车牌检测,并识别车牌类别。
Description
技术领域
本发明涉及图像处理、智慧停车、车牌识别,特别涉及一种基于深度学习的车牌检测方法及装置。
背景技术
车牌区域随着城市的日益现代化,机动车的保有量持续增加,智能交通系统发挥着越来越重要的作用。不论是当今各种交通场合,还是公共安全管理系统,抑或未来无人汽车、无人驾驶领域,车牌检测系统都是一个不可或缺的过程,给城市健康有序管理带来了诸多便捷。
现有的车牌检测方法主要包括:(1)基于传统方案的车牌检测方法,例如基于梯度的车牌检测方法、基于颜色空间的车牌检测方法,这类方法检测速度快,但存在车牌误检过多、车牌位置检测不准确,对污损车牌、遮挡车牌检测效果较差等问题;(2)基于深度学习网络的车牌检测方法,有两种方式:一种是将车牌作为一种普通目标,以车牌的外接矩形作为检测对象(或者额外增加车牌四个顶点、角度等信息回归,仅作为辅助信息输出而不作为车牌的主要特征);另一种是采用基于深度学习的字符检测模型进行车牌检测,该类方法以车牌字符的包围框作为检测对象,没有利用车牌边界、顶点信息,容易受车身字符、复杂背景等干扰。
综上所述,目前迫切需要提出一种解决上述问题的基于深度学习的车牌检测方法。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于深度学习的车牌检测方法,能够实现精度和速度并重。
为达到上述目的,按照本发明的第一个方面,提供了一种基于深度学习的车牌检测方法,该方法包括:
第一步骤,搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
第二步骤,构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
第三步骤,将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
第四步骤,在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置。
其中,所述第一步骤中所述车牌样本为不同光照、不同角度、不同清晰度情况下不同车牌类别的车牌检测矩形框图像。其中,所述车牌类别包括:蓝牌、绿牌、白牌、黄牌单层、黄牌双层等。
其中,所述按照指定顺序为顺时针顺序或者逆时针顺序。
所述第二步骤中Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归。对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支。其中,分类分支用于车牌分类损失计算;回归分支的Keypoints regression用于车牌四个顶点的回归损失和车牌凸四边形的IOU损失的计算;回归分支的Center-ness用于中心度损失计算。
其中,所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数。
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算步骤包括:
外接矩形交集判断步骤,按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出步骤,否则转入凸四边形面积计算步骤,
凸四边形面积计算步骤,分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计步骤,统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算步骤,采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出步骤,输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
进一步地,所述车牌凸四边形面积计算步骤中将车牌凸四边形看作两个三角形拼接形式,采用海伦公式分别计算两个三角形的面积,将两个三角形的面积求和即得车牌凸四边形的面积。
所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式/>计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
进一步地,所述中心度真值计算中引入透视变换,计算步骤包括:先根据公式计算得到预计算的中心度真值/>根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;根据预计算的中心度真值/>和透视变换参数,计算图像中车牌实际的中心度真值/>
进一步地,所述第四步骤包括:在训练好的车牌检测模型中输入待检测图像;在训练好的车牌检测模型中的推理阶段分别获取Head两个分支特征图,对于每层特征图,基于获取分类特征图中分值大于门限的目标分值、类别及所在位置点(x,y),并基于此,在回归分支的Keypoints regression分支输出的特征图中获得对应位置点(x,y)的四个顶点位置、在回归分支的Center-ness分支输出的特征图中获得对应位置点(x,y)的中心度预测值;基于目标分值、四个顶点位置进行NMS处理获得车牌的四个顶点位置和车牌类别。
按照本发明的另一个方面,提供了一种基于深度学习的车牌检测装置,该装置包括:
车牌样本搜集和标注模块,用于搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
车牌检测模型构建模块,用于构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
车牌检测模型训练模块,用于将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
车牌检测模型检测模块,用于在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置。
所述车牌检测模型构建模块中Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归。对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支。
其中,所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数。
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算采用以下模块实现:
外接矩形交集判断模块,用于按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出步骤S25,否则转入凸四边形面积计算步骤S22,
凸四边形面积计算模块,用于分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计模块,用于统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算模块,用于采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出模块,用于输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
进一步地,所述车牌凸四边形面积计算模块中将车牌凸四边形看作两个三角形拼接形式,采用海伦公式分别计算两个三角形的面积,将两个三角形的面积求和即得车牌凸四边形的面积。
所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式/>计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
进一步地,所述中心度真值计算中引入透视变换,通过以下模块实现:用于先根据公式/>计算得到预计算的中心度真值/>再根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;最后根据预计算的中心度真值和透视变换参数,计算图像中车牌实际的中心度真值/>
进一步地,所述车牌检测模型检测模块包括:用于在训练好的车牌检测模型中输入待检测图像;在训练好的车牌检测模型中的推理阶段分别获取Head两个分支特征图,对于每层特征图,基于获取分类特征图中分值大于门限的目标分值、类别及所在位置点(x,y),并基于此,在回归分支的Keypoints regression分支输出的特征图中获得对应位置点(x,y)的四个顶点位置、在回归分支的Center-ness分支输出的特征图中获得对应位置点(x,y)的中心度预测值;基于目标分值、四个顶点位置进行NMS处理获得车牌的四个顶点位置和车牌类别。
与现有的车牌检测技术相比,本发明的一种基于深度学习的车牌检测方法以FCOS目标检测算法网络结构为基础,将Head中的边界回归修改为车牌四个顶点回归,损失函数修改为车牌目标分类损失、车牌四个顶点的回归损失和车牌凸四边形的IOU损失,通过训练后的模型可以准确的检测到车牌的四个顶点,识别到车牌类别。
附图说明
图1示出了按照本发明的一种基于深度学习的车牌检测方法的流程图。
图2示出了按照本发明的一种基于深度学习的车牌检测装置的框架图。
具体实施方式
为使本领域的技术人员能进一步了解本发明的结构、特征及其他目的,现结合所附较佳实施例详细说明如下,所说明的较佳实施例仅用于说明本发明的技术方案,并非限定本发明。
图1给出了按照本发明的一种基于深度学习的车牌检测方法的流程图。如图1所示,按照本发明的一种基于深度学习的车牌检测方法包括:
第一步骤S1,搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
第二步骤S2,构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
第三步骤S3,将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
第四步骤S4,在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置。
其中,所述第一步骤S1中所述车牌样本为不同光照、不同角度、不同清晰度情况下不同车牌类别的车牌检测矩形框图像。其中,所述车牌类别包括:蓝牌、绿牌、白牌、黄牌单层、黄牌双层等。
进一步地,所述车牌样本中的车牌直观可见。
其中,所述按照指定顺序为顺时针顺序或者逆时针顺序。所述标注车牌样本中车牌的四个顶点位置可以人为标注,也可以通过标注工具进行标注。示例性地,采用labelme标定工具,按照顺时针顺序,在车牌样本中依次标注车牌的左上顶点、右上顶点、右下顶点、左下顶点的位置,并标注车牌的类别。
其中,所述第二步骤S2中FCOS目标检测算法(全称Fully Convolutional One-Stage Object Detection)是一种基于FCN的逐像素目标检测算法,实现了无锚点(anchor-free)、proposal free的解决方案,通过去除预先定义的锚框,FCOS完全的避免了关于锚框的复杂运算,而且节省了训练过程中的内存占用。示例性地,所述FCOS目标检测算法网络结构采用文献《FCOS:A Simple and Strong Anchor-free Object Detector.Zhi Tian,Chunhua Shen,Hao Chen,Tong He.IEEE Trans Pattern Anal Mach Intell.2020》中的网络结构。
进一步地,所述主干网络中采用SCRFD-5G模型,以满足前端设备运行效率和效果要求。示例性地,所述SCRFD-5G模型可以参见文献《Sample and ComputationRedistribution for Efficient Face Detection.Jia Guo,Jiankang Deng,AlexandrosLattas,Stefanos Zafeiriou.Computer Vision and Pattern Recognition 2021》。
所述Neck网络采用FPN结构,选择其中的P3~P6层,分别对应输入图像下采样1/8、1/16、1/32和1/64的特征图。
所述第二步骤S2中Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归。对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支。其中,分类分支用于车牌分类损失计算,输出H×W×C的结果,H和W分别表示特征图的高度和宽度,C表示标注的车牌类别数。回归分支的Keypoints regression用于车牌四个顶点的回归损失和车牌凸四边形的IOU损失的计算,输出为H×W×8的结果;回归分支的Center-ness用于中心度损失计算,输出为H×W×1发结果。
其中,所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数。
进一步地,所述λ的取值范围为(0,5],用于控制分类损失和回归损失权重。
进一步地,所述α和β的取值范围为(0,10]。
所述车牌目标分类损失采用Focal Loss,对输出的特征图中的每个位置进行计算得到。示例性地,可以采用文献《Focal Loss for Dense ObjectDetection.TY Lin,P Goyal,R Girshick,K He,P Dollár.2017IEEE ICCV》中的方法实现。
所述车牌四个顶点的回归损失采用Smooth L1loss。示例性地,SmoothL1loss可以参见文献《A Loss Function for Learning Region Proposals》。
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算步骤包括:
外接矩形交集判断步骤S21,按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出步骤S25,否则转入凸四边形面积计算步骤S22,
凸四边形面积计算步骤S22,分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计步骤S23,统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算步骤S24,采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出步骤S25,输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
进一步地,所述车牌凸四边形面积计算步骤S22中将车牌凸四边形看作两个三角形拼接形式,采用海伦公式分别计算两个三角形的面积,将两个三角形的面积求和即得车牌凸四边形的面积。示例性地,对于预测的车牌凸四边形CQ0,分成一个由点 组成的三角形A0B0C0,一个由/>组成的三角形A0C0D0,采用海伦公式/>分别计算三角形A0B0C0和三角形A0C0D0的面积,其中,S表示三角形的面积,a、b、c分别表示三角形的三个边长,p=(a+b+c)/2;将2个三角形面积相加得到预测的车牌凸四边形CQ0的面积。
所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式/>计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
由于倾斜的车牌会存在一定偏差,会影响中心度真值的计算准确度。进一步地,所述中心度真值/>计算中引入透视变换,计算步骤包括:先根据公式计算得到预计算的中心度真值/>根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;根据预计算的中心度真值/>和透视变换参数,计算图像中车牌实际的中心度真值/>
进一步地,所述第四步骤S4包括:在训练好的车牌检测模型中输入待检测图像;在训练好的车牌检测模型中的推理阶段分别获取Head两个分支特征图,对于每层特征图,基于获取分类特征图中分值大于门限的目标分值、类别及所在位置点(x,y),并基于此,在回归分支的Keypoints regression分支输出的特征图中获得对应位置点(x,y)的四个顶点位置、在回归分支的Center-ness分支输出的特征图中获得对应位置点(x,y)的中心度预测值;基于目标分值、四个顶点位置进行NMS处理获得车牌的四个顶点位置和车牌类别。
图2给出了按照本发明的一种基于深度学习的车牌检测装置的框架图。如图2所示,按照本发明的一种基于深度学习的车牌检测装置包括:
车牌样本搜集和标注模块1,用于搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
车牌检测模型构建模块2,用于构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
车牌检测模型训练模块3,用于将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
车牌检测模型检测模块4,用于在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置。
其中,所述车牌样本搜集和标注模块1中所述车牌样本为不同光照、不同角度、不同清晰度情况下不同车牌类别的车牌检测矩形框图像。其中,所述车牌类别包括:蓝牌、绿牌、白牌、黄牌单层、黄牌双层等。其中,所述按照指定顺序为顺时针顺序或者逆时针顺序。
所述车牌检测模型构建模块2中Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归。对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支。其中,分类分支用于车牌分类损失计算,输出H×W×C的结果,H和W分别表示特征图的高度和宽度,C表示标注的车牌类别数。回归分支的Keypoints regression用于车牌四个顶点的回归损失和车牌凸四边形的IOU损失的计算,输出为H×W×8的结果;回归分支的Center-ness用于中心度损失计算,输出为H×W×1发结果。
其中,所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数。
进一步地,所述λ的取值范围为(0,5],用于控制分类损失和回归损失权重。
进一步地,所述α和β的取值范围为(0,10]。
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算采用以下模块实现:
外接矩形交集判断模块21,用于按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出步骤S25,否则转入凸四边形面积计算步骤S22,
凸四边形面积计算模块22,用于分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计模块23,用于统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算模块24,用于采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出模块25,用于输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
进一步地,所述车牌凸四边形面积计算模块22中将车牌凸四边形看作两个三角形拼接形式,采用海伦公式分别计算两个三角形的面积,将两个三角形的面积求和即得车牌凸四边形的面积。
所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式/>计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
进一步地,所述中心度真值计算中引入透视变换,通过以下模块实现:用于先根据公式/>计算得到预计算的中心度真值/>再根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;最后根据预计算的中心度真值/>和透视变换参数,计算图像中车牌实际的中心度真值/>
进一步地,所述车牌检测模型检测模块4包括:用于在训练好的车牌检测模型中输入待检测图像;在训练好的车牌检测模型中的推理阶段分别获取Head两个分支特征图,对于每层特征图,基于获取分类特征图中分值大于门限的目标分值、类别及所在位置点(x,y),并基于此,在回归分支的Keypoints regression分支输出的特征图中获得对应位置点(x,y)的四个顶点位置、在回归分支的Center-ness分支输出的特征图中获得对应位置点(x,y)的中心度预测值;基于目标分值、四个顶点位置进行NMS处理获得车牌的四个顶点位置和车牌类别。
与现有的车牌检测技术相比,本发明的一种基于深度学习的车牌检测方法以FCOS目标检测算法网络结构为基础,将Head中的边界回归修改为车牌四个顶点回归,损失函数修改为车牌目标分类损失、车牌四个顶点的回归损失和车牌凸四边形的IOU损失,通过训练后的模型可以准确的检测到车牌的四个顶点,识别到车牌类别。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应当理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域中的技术人员实践本发明。任何本领域中的技术人员很容易在不脱离本发明精神和范围的情况下进行进一步的改进和完善,因此本发明只受到本发明权利要求的内容和范围的限制,其意图涵盖所有包括在由所附权利要求所限定的本发明精神和范围内的备选方案和等同方案。
Claims (11)
1.一种基于深度学习的车牌检测方法,其特征在于,该方法包括:
第一步骤,搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
第二步骤,构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
第三步骤,将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
第四步骤,在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置;
其中,所述第一步骤中所述车牌样本为不同光照、不同角度、不同清晰度情况下不同车牌类别的车牌检测矩形框图像;所述按照指定顺序为顺时针顺序或者逆时针顺序;
进一步地,所述Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归;对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支;
其中,分类分支用于车牌分类损失计算;回归分支的Keypoints regression用于车牌四个顶点的回归损失和车牌凸四边形的IOU损失的计算;回归分支的Center-ness用于中心度损失计算;所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数;
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算步骤包括:
外接矩形交集判断步骤,按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出步骤,否则转入凸四边形面积计算步骤,
凸四边形面积计算步骤,分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计步骤,统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算步骤,采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出步骤,输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
2.如权利要求1所述的方法,其特征在于,所述主干网络中采用SCRFD-5G模型。
3.如权利要求1所述的方法,其特征在于,所述车牌目标分类损失采用Focal Loss;所述车牌四个顶点的回归损失/>采用Smooth L1 loss;
所述λ的取值范围为(0,5],用于控制分类损失和回归损失权重;所述α和β的取值范围为(0,10]。
4.如权利要求1所述的方法,其特征在于,所述车牌凸四边形面积计算步骤中将车牌凸四边形看作两个三角形拼接形式,采用海伦公式分别计算两个三角形的面积,将两个三角形的面积求和即得车牌凸四边形的面积。
5.如权利要求1所述的方法,其特征在于,所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
6.如权利要求5所述的方法,其特征在于,所述中心度真值计算中引入透视变换,计算步骤包括:先根据公式/>计算得到预计算的中心度真值/>根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;根据预计算的中心度真值/>和透视变换参数,计算图像中车牌实际的中心度真值/>
7.如权利要求1所述的方法,其特征在于,所述第四步骤包括:在训练好的车牌检测模型中输入待检测图像;在训练好的车牌检测模型中的推理阶段分别获取Head两个分支特征图,对于每层特征图,基于获取分类特征图中分值大于门限的目标分值、类别及所在位置点(x,y),并基于此,在回归分支的Keypoints regression分支输出的特征图中获得对应位置点(x,y)的四个顶点位置、在回归分支的Center-ness分支输出的特征图中获得对应位置点(x,y)的中心度预测值;基于目标分值、四个顶点位置进行NMS处理获得车牌的四个顶点位置和车牌类别。
8.一种基于深度学习的车牌检测装置,其特征在于,该装置包括:
车牌样本搜集和标注模块,用于搜集车牌样本,按照指定顺序标注车牌样本中车牌的四个顶点位置,并标注车牌类别;
车牌检测模型构建模块,用于构建基于Anchor-Free的车牌检测模型,该模型以FCOS目标检测算法网络结构为基础,包含主干网络、Neck、Head和损失函数,将Head中的边界回归修改为车牌四个顶点回归,损失函数包括车牌目标分类损失、车牌四个顶点的回归损失、车牌凸四边形的IOU损失、中心度损失;
车牌检测模型训练模块,用于将标注的车牌样本输入到基于Anchor-Free的车牌检测模型,进行训练,直至模型收敛,得到训练好的车牌检测模型;
车牌检测模型检测模块,用于在训练好的车牌检测模型中输入待检测图像,获得车牌类别和车牌的四个顶点位置;
其中,所述车牌样本搜集和标注模块中所述车牌样本为不同光照、不同角度、不同清晰度情况下不同车牌类别的车牌检测矩形框图像;所述按照指定顺序为顺时针顺序或者逆时针顺序;进一步地,所述Head网络中将对目标外接矩形四个边界的回归,修改为对车牌的四个顶点回归;对于每个Feature Map,采用统一的Neck网络,包含一个分类分支和一个Keypoints regression+Center-ness的回归分支;
其中,分类分支用于车牌分类损失计算;回归分支的Keypoints regression用于车牌四个顶点的回归损失和车牌凸四边形的IOU损失的计算;回归分支的Center-ness用于中心度损失计算;所述损失函数根据公式计算得到,其中,Npos表示车牌中心区域,px,y、/>分别表示分类分支输出的特征图中位置点(x,y)的所属车牌类别的分值、真值,/>表示分类分支输出的特征图中位置点(x,y)的车牌分类损失,tx,y、/>分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的预测值、真值,/>表示分别表示回归分支的Keypoints regression分支输出的特征图中位置点(x,y)的车牌四个顶点的回归损失、车牌凸四边形的IOU损失,ox,y表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度预测值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)计算的中心度真值,/>表示回归分支的Center-ness分支输出的特征图中位置点(x,y)的中心度损失,/>表示非背景的目标,λ表示加权系数,α和β表示回归损失的加权系数;
所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算采用以下模块实现:
外接矩形交集判断模块,用于按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出模块,否则转入凸四边形面积计算模块,
凸四边形面积计算模块,用于分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计模块,用于统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算模块,用于采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出模块,用于输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
9.如权利要求8所述的装置,其特征在于,所述车牌目标分类损失采用Focal Loss;所述车牌四个顶点的回归损失/>采用Smooth L1 loss;
所述λ的取值范围为(0,5],用于控制分类损失和回归损失权重;所述α和β的取值范围为(0,10];
所述中心度损失采用交叉熵损失函数计算得到,其中特征图中位置点(x,y)的中心度预测值ox,y由回归分支的Center-ness分支输出,特征图中位置点(x,y)的中心度真值/>根据公式/>计算得到,/>分别表示位置点(x,y)分别到车牌左边、车牌右边、车牌上边、车牌下边的距离。
10.如权利要求8所述的装置,其特征在于,所述车牌凸四边形IOU损失Liou(CQ0,CQ1)的计算采用以下模块实现:
外接矩形交集判断模块,用于按照顺时针方向,预测的车牌凸四边形CQ0的车牌的四个顶点分别:真实的车牌凸四边形CQ1的车牌的四个顶点分别:/>分别获取预测的车牌凸四边形CQ0、真实的车牌凸四边形CQ1的外接矩形,如果这两个外接矩形没有交集,则车牌凸四边形的IOU损失Liou(CQ0,CQ1)为0,并转入凸四边形的IOU损失输出模块,否则转入凸四边形面积计算模块,
凸四边形面积计算模块,用于分别计算预测的车牌凸四边形CQ0的面积真实的车牌凸四边形CQ1的面积/>
凸四边形交叠面积统计模块,用于统计预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的交叠点的数量N;
IOU损失计算模块,用于采用公式计算IOU损失Liou(CQ0,CQ1);
IOU损失输出模块,用于输出预测的车牌凸四边形CQ0和真实的车牌凸四边形CQ1的IOU损失Liou(CQ0,CQ1)。
11.如权利要求9所述的装置,其特征在于,所述中心度真值计算中引入透视变换,通过以下模块实现:用于先根据公式/>计算得到预计算的中心度真值/>再根据车牌类别选择目标点,结合车牌标注点计算透视变换参数;最后根据预计算的中心度真值/>和透视变换参数,计算图像中车牌实际的中心度真值/>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476331.9A CN113989796B (zh) | 2021-12-06 | 2021-12-06 | 一种基于深度学习的车牌检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476331.9A CN113989796B (zh) | 2021-12-06 | 2021-12-06 | 一种基于深度学习的车牌检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113989796A CN113989796A (zh) | 2022-01-28 |
CN113989796B true CN113989796B (zh) | 2024-05-07 |
Family
ID=79733235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111476331.9A Active CN113989796B (zh) | 2021-12-06 | 2021-12-06 | 一种基于深度学习的车牌检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113989796B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310850A (zh) * | 2020-03-02 | 2020-06-19 | 杭州雄迈集成电路技术股份有限公司 | 车牌检测模型的构建方法及系统、车牌检测方法及系统 |
WO2020173036A1 (zh) * | 2019-02-26 | 2020-09-03 | 博众精工科技股份有限公司 | 基于深度学习的定位方法和系统 |
CN113537211A (zh) * | 2021-06-21 | 2021-10-22 | 电子科技大学 | 一种基于非对称iou的深度学习车牌框定位方法 |
CN113723563A (zh) * | 2021-09-13 | 2021-11-30 | 中科南京人工智能创新研究院 | 一种基于fcos改进的车辆检测算法 |
-
2021
- 2021-12-06 CN CN202111476331.9A patent/CN113989796B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020173036A1 (zh) * | 2019-02-26 | 2020-09-03 | 博众精工科技股份有限公司 | 基于深度学习的定位方法和系统 |
CN111310850A (zh) * | 2020-03-02 | 2020-06-19 | 杭州雄迈集成电路技术股份有限公司 | 车牌检测模型的构建方法及系统、车牌检测方法及系统 |
CN113537211A (zh) * | 2021-06-21 | 2021-10-22 | 电子科技大学 | 一种基于非对称iou的深度学习车牌框定位方法 |
CN113723563A (zh) * | 2021-09-13 | 2021-11-30 | 中科南京人工智能创新研究院 | 一种基于fcos改进的车辆检测算法 |
Also Published As
Publication number | Publication date |
---|---|
CN113989796A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598030B (zh) | 一种航拍图像中车辆检测和分割的方法及系统 | |
CN111401361B (zh) | 一种端到端的轻量级深度车牌识别方法 | |
CN112528878A (zh) | 检测车道线的方法、装置、终端设备及可读存储介质 | |
CN112287912B (zh) | 基于深度学习的车道线检测方法以及装置 | |
CN112016605B (zh) | 一种基于边界框角点对齐和边界匹配的目标检测方法 | |
CN111382658B (zh) | 一种基于图像灰度梯度一致性的自然环境下道路交通标志检测方法 | |
Xiang et al. | Lightweight fully convolutional network for license plate detection | |
CN115631344B (zh) | 一种基于特征自适应聚合的目标检测方法 | |
EP4174792A1 (en) | Method for scene understanding and semantic analysis of objects | |
CN113723377A (zh) | 一种基于ld-ssd网络的交通标志检测方法 | |
CN113095152A (zh) | 一种基于回归的车道线检测方法及系统 | |
CN111931683A (zh) | 图像识别方法、装置及计算机可读存储介质 | |
Kale et al. | A road sign detection and the recognition for driver assistance systems | |
CN114913498A (zh) | 一种基于关键点估计的并行多尺度特征聚合车道线检测方法 | |
Khan et al. | Lane detection using lane boundary marker network with road geometry constraints | |
Rasib et al. | Pixel level segmentation based drivable road region detection and steering angle estimation method for autonomous driving on unstructured roads | |
Chan et al. | Lane mark and drivable area detection using a novel instance segmentation scheme | |
Wu et al. | Vehicle detection based on adaptive multi-modal feature fusion and cross-modal vehicle index using RGB-T images | |
CN111046723A (zh) | 一种基于深度学习的车道线检测方法 | |
CN113989796B (zh) | 一种基于深度学习的车牌检测方法及装置 | |
CN114820931B (zh) | 基于虚拟现实的智慧城市cim可视化实时成像方法 | |
CN116071725A (zh) | 一种路面标线识别方法及系统 | |
CN112733934B (zh) | 复杂环境下的多模态特征融合道路场景语义分割方法 | |
Ren et al. | LaneDraw: Cascaded lane and its bifurcation detection with nested fusion | |
Sreeja et al. | Traffic Sign Detection using Transfer learning and a Comparison Between Different Techniques |
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 |