0引言作为智能交通系统(intelligent transportation system, ITS)的重要组成部分,自动车牌识别(automatic license plate detection and recognition, ALPR) 一直是计算机视觉领域的研究热点。随着深度学习技术的发展,无人驾驶、平安城市等领域对车牌识别提出新的需求,伴随着手机等各种移动终端设备拍摄复杂车牌图像所带来挑战的升级,车牌识别技术也面临新的挑战,成为新的研究契机。ALPR的任务是在图像中寻找和识别车牌,通常分为3个子任务:车辆检测、车牌检测和车牌字符识别。基于深度神经网络的图像分类、目标检测和光学字符识别(optical character recognition, OCR)等计算机视觉任务取得了许多重要的成果,显然,这对于ALPR的发展有着巨大的促进作用。目前车辆检测能够通过现有的目标检测模型来有效解决,然而针对车牌检测的模型较少,且其准确率直接影响着车牌字符识别甚至是整体ALPR的准确率,因此车牌检测至关重要。针对车牌检测,现有多数算法只能在受控条件下工作,如只采用车辆的正面视图、特定的车牌颜色或固定的大小等。然而,在自然场景中变形车牌的检测仍然存在着许多挑战,主要体现在:不同国家的车牌其底色、尺寸、文字及文字排列规则有所不同;车牌图像易受复杂环境影响,如弱光照、雨雪天气和复杂背景干扰等;现实ALPR应用中采集设备(如手机、执法记录仪)的多样性,导致车牌图像存在各种不规则的变形。这些影响因素增加了自然场景中车牌检测的挑战性。车牌检测方法可分为两大类:基于传统特征的方法和基于深度学习的方法。基于传统特征的方法主要针对受控条件或相对单一场景下的车牌样本。通常车牌的形状是矩形的,长宽比固定,颜色也是确定的,因此传统方法使用边缘信息和颜色特征来检测车牌。王永杰等人(2014)提出一种基于多信息融合的快速车牌定位方法,首先通过边缘密度信息快速排除大量背景区域,其次根据车牌字符的分布信息精确定位车牌;Tian等人(2017)基于Canny边缘检测器获取边界图并去除冗余的水平背景边缘,利用基于密度的方法将边界划分为不同的簇,最后使用支持向量机检测车牌。基于边缘的方法时间复杂度较低,但要求车牌边缘清晰连续,因此难以应用于复杂场景;魏亭等人(2018)提出一种计算机多尺度辅助定位车牌算法,模拟视觉感知原理,从车辆特征、纹理特征和颜色特征尺度,逐次聚焦至车牌所在区域。基于颜色或低层特征的方法计算效率高,在停车场入口等受控场景中得到了广泛的应用。然而,这些方法对自然场景中车牌图像的光照、视角变化、污渍、遮挡和图像模糊等影响因素过于敏感,检测效果远无法达到应用级别。由于深度学习方法在人脸检测、目标定位和图像分类等视觉任务(Ren等,2015;Simonyan和Zisserman,2014;He等,2016)中取得了非常大的进展,许多研究者也将其应用于车牌检测任务。Hsu等人(2017)提出了一种基于卷积神经网络(convolutional neural network, CNN)的多视角、多场景下的车牌检测方法,该方法基于YOLO(you only look once)9000(Redmon和Farhadi,2017)网络模型,扩大了网络输出尺寸,并调整了正负样本(车牌和背景)的概率,以提升模型对尺寸较小的车牌的检测性能。针对巴西车牌,Montazzolli和Jung(2017)提出了一种基于YOLO模型的端到端车牌检测网络,检测车辆的前视图和车牌,并对巴西车牌数据集进行微调,取得了良好的检测和识别效果。Bulan等人(2017)提出利用逐次平均量化变换来提取少量尺度的特征信息,利用滑动窗口机制以提取候选框,对得到的候选区域使用强分类器进行筛选。Xie等人(2018)训练了两个基于YOLO的网络以检测出旋转的车牌,第1个网络用于寻找包含车牌的区域,称为“注意力模型”,第2个网络用于得到一个旋转的矩形车牌包围盒。然而Xie等人(2018)的方法只考虑了平面上的旋转,没有考虑到由倾斜相机视角引起的更复杂的变形。Ying等人(2018)提出利用卷积神经网络基于滑动窗口提取候选区域的特征,通过支持向量机获取车牌区域。然而,固定的滑动窗口会导致最终提取的候选框过大或过小。Laroca等人(2018)提出一种基于YOLO网络的实时车牌检测模型,实现了多数据集上的快速车牌检测。上述基于深度学习的车牌识别方法,其局限性如下:1)均简单地把车牌作为一个规则的矩形区域来看待,没有考虑到自然场景下车牌变形不规则的问题;2)均使用基于锚框的目标检测器以检测车牌,然而,锚框形状为矩形,难以准确表述变形后车牌的形状,导致其对变形车牌的检测精度降低;3)预设框的方式会带来大量的冗余锚框,需要通过非极大值抑制等后处理方法来筛选冗余锚框,增加了计算的复杂度。事实上,自然场景下拍摄的车牌存在不同程度的变形现象,尤其是监控视频、手机抓拍视频中的车牌,变形尤为严重。针对自然场景下的车牌检测,本文提出一种基于深度学习的变形车牌检测模型DLPD-Net(distorted license plate detection network),该模型通过车牌热力值图与偏移值图来预测车牌中心,基于仿射变换寻找车牌角点位置,将变形车牌校正为接近于正面视角的平面矩形,从而实现在各种自然场景下变形车牌的检测。同时,基于该模型开发了车牌识别系统,并将其应用于具体的车牌识别任务中,获得了很好的识别效果,能够处理遮挡、污垢和模糊等复杂场景下的自然环境中变形车牌的识别问题。本文设计的自然场景下变形车牌检测模型DLPD-Net,其特点总结如下:1) 该模型首次将免锚框目标检测方法应用于车牌检测任务中,不再使用锚框获取车牌候选区域,而是基于车牌热力值图与偏移值图来预测车牌中心;2) 将仿射变换应用于车牌校正任务中,基于仿射变换参数图寻找车牌角点位置,将变形车牌校正为接近于正面视角的平面矩形;3) 设计了一种检测块,应用于车牌检测网络结构中,同时设计了热力点预测损失、偏移损失和仿射损失函数,基于这些损失函数的加权组合,能够有效地进行模型的训练。1DLPD-Net算法描述虽然由于抓拍方向的不同,自然场景中的车牌图像会出现不同程度的变形,但车牌本质上是附着在车辆上的一个平面矩形目标。为了更好地利用车牌这一形状特点,本文设计了DLPD-Net检测网络,通过预测车牌中心和角点位置,在进行车牌位置预测的同时,将变形车牌校正回接近于正面视角的平面矩形区域,以实现其检测。1.1算法主要思想借鉴CenterNet(Zhou等,2019)和空间变换网络(spatial transformer networks, STN)(Jaderberg等,2015)的思想:CenterNet提出一种免锚框方法进行目标检测,使用热力值图中局部峰值代表目标中心位置,并且不需要非极大值抑制等后处理方法处理冗余锚框,能够更加快速、精确地检测目标;STN具有主动对特征图进行仿射变换的能力,对具有大幅变形的目标识别性能好;本文设计了DLPD-Net模型,其主要算法思想为:1) 将车辆区域图像作为DLPD-Net的输入,经过ResNet-50(He等,2016)初步提取特征图,设计了一种检测块用于回归车牌热力值图、偏移值图和仿射变换参数图,分别为通道数为1、2和6的3维特征图。2) 将免锚框目标检测方法应用于车牌中心检测任务中,通过车牌热力值图反映出是否存在车牌中心,通过偏移值图反映出车牌中心位置的偏移值,能够快速且精确地检测出车牌中心。3) 将仿射变换应用于车牌校正任务中,设想在车牌中心处存在1个固定尺寸的正方形,通过仿射变换参数图构建仿射矩阵,并对正方形进行仿射变换,得到变形车牌的角点位置,从而将变形车牌提取出来,并校正为接近于正面视角的平面矩形区域。4) 设计了热力点预测损失、偏移损失和仿射损失函数,基于这些损失函数的加权组合,能够有效地进行模型的训练。1.2网络结构DLPD-Net采用ResNet-50作为特征提取骨干网络,如图 1所示。在ResNet-50后设计了检测块,包含3个并行的卷积层:第1个用于回归图像热力值,激活函数使用ReLU函数;第2个用于回归偏移值,没有使用激活函数(或者等价地来看,使用恒等式$F(x)=x $作为激活函数);第3个用于回归仿射变换参数,没有使用激活函数。再将检测块3个卷积层的输出合并作为网络输出,得到输入图像的热力值图$ \hat{\boldsymbol{Y}} \in {\bf{R}}_{+}^{\frac{W}{S} \times \frac{H}{S} \times C}$、偏移值图$ \hat{\boldsymbol{O}} \in {\bf{R}}^{\frac{W}{5} \times \frac{H}{S} \times 2}$与仿射变换参数图$\hat{\boldsymbol{V}} \in {\bf{R}}^{\frac{W}{S} \times \frac{H}{S} \times 6} $。其中,${\mathit{\boldsymbol{R}}}_+ $代表正实数,${\mathit{\boldsymbol{R}}} $代表实数,$ W$为输入图像宽度,$H $为输入图像高度,$ S$为下采样步长,$ C$为类别数量。热力值图为3维特征图,维度为$ \frac{W}{S} \times \frac{H}{S} \times C$,图中每点的值为热力值,用$ \hat{\boldsymbol{Y}}_{x y c_{1}}$表示,即每点$ (x, y, c_1)$处的置信度。本文取$ C=1$,表示仅有一种车牌类别,此时$ c_1=1$。为避免下采样步长$ S$引起的离散误差,使用偏移值图预测车牌中心的偏移值。偏移值图为3维特征图,维度为$\frac{W}{S} \times \frac{H}{S} \times 2 $,图中每点的值为偏移值,用$ \hat{\boldsymbol{O}}_{x y c_{2}}$表示(此处,$c_{2} $取值为1~2,表示通道数为2,分别代表水平与垂直方向的偏移值)。仿射变换参数图为3维特征图,维度为$ \frac{W}{S} \times \frac{H}{S} \times 6$,图中每点的值为仿射变换参数值,用$ \hat{\boldsymbol{V}}_{x y c_{3}}$表示(此处,$c_{3} $取值为1~6,表示通道数为6,代表 6个仿射变换参数$v_{1} $、$v_{2} $、$v_{3} $、$v_{4} $、$v_{5} $和$v_{6} $)。 图1 DLPD-Net网络结构 The model structure of DLPD-NetFig 11.3检测过程DLPD-Net检测过程描述如下(如图 1所示):1) 首先,将车辆区域图像作为DLPD-Net的输入,经过ResNet-50初步提取特征图,再利用检测块得到9通道的特征图,即:热力值图(通道数为1)+偏移值图(通道数为2)+仿射变换参数图(通道数为6)。2) 遍历特征图所有网格,如果网格对应的热力值大于该点处八邻域所有点的热力值,认为该点为热力点(代表该点处为车牌中心位置)。3) 设想在该热力点处存在一个固定尺寸的正方形,利用仿射变换参数构建仿射矩阵,将设想的正方形变换为契合车牌形状的四边形,仿射变换公式为 1 $T_{x y}\left(\boldsymbol{q}_{i}\right)=\left[\begin{array}{cc}\max \left(v_{1}, 0\right) & v_{2} \\v_{3} & \max \left(v_{4}, 0\right)\end{array}\right] \boldsymbol{q}_{i}+\left[\begin{array}{c}v_{5} \\v_{6}\end{array}\right]$ 式中,${\mathit{\boldsymbol{q}}}_{i} $表示以该热力值处为中心的单位正方形四个顶点的向量,即本文设想的在车牌中心处存在的固定尺寸正方形,顺序为从左下角开始以逆时针方向旋转,其中${\mathit{\boldsymbol{q}}}_{1}=[-0.5, -0.5]^T $,${\mathit{\boldsymbol{q}}}_{2} =[0.5, -0.5]^T$,${\mathit{\boldsymbol{q}}}_{3} =[0.5, 0.5]^T$,${\mathit{\boldsymbol{q}}}_{4} =[-0.5, 0.5]^T$。通过该正方形框与仿射变换参数的结合,可以变换为契合车牌形状的四边形,得到需要的变形车牌区域框。4) 利用基于偏移值图预测的偏移值平移上述四边形,筛选出置信度大于阈值的四边形作为车牌最终位置,从而将变形的车牌提取出来,并校正为矩形区域。本文设置置信度阈值为0.3。1.4损失函数DLPD-Net的损失函数共包括3个部分:1) 热力点预测损失。本文使用高斯公式将目标真实包围盒坐标转换为真实值热力图${\mathit{\boldsymbol{Y}}} $,即 2 $\boldsymbol{Y}_{x y c}=\exp \left(-\frac{\left(x-\lfloor\boldsymbol{p} / S\rfloor_{x}\right)^{2}+\left(y-\lfloor\boldsymbol{p} / S\rfloor_{y}\right)^{2}}{2 \sigma^{2}}\right)$ 式中,$ {\mathit{\boldsymbol{Y}}}_{xyc}$代表真实值热力图中$(x, y, c) $处的置信度,$ {\mathit{\boldsymbol{p}}}$代表图像中的目标真实中心点,$S $为网络下采样步长,值为32,$σ $为目标大小自适应标准差,由式(3)—(6)求得,该标准差首次由CornerNet(Law和Deng,2020)提出,CornerNet假设真实目标框的左上和右下两个角点处分别存在一个以角点为圆心、$r $为半径的圆,考虑了预测框两个圆一个外切、一个内切,均内切和均外切3种情况,分别对应于式(3)—(5),为保证最终所取的$σ $值能够满足所有预测框与真实框的IOU(intersection over union)均大于阈值$g $,取$r_{1} $、$r_{2} $和$r_{3} $中的最小值作为最终的标准差。其中,$ w$和$h $代表经过下采样后的目标真实宽和高,本文跟随CornerNet的设置,令阈值$g=0.7 $。 3 $\begin{array}{c}r_{1}=\frac{(h+w)}{2}+ \\\frac{\sqrt{(h+w)^{2}-4 w h(1-g) /(1+g)}}{2}\end{array}$ 4 $\begin{array}{c}r_{2}=\frac{(h+w)}{4}+ \\\frac{\sqrt{(h+w)^{2}-4 w h(1-g)}}{4}\end{array}$ 5 $\begin{array}{c}r_{3}=\frac{-g(h+w)}{4 g}+ \\\frac{\sqrt{g^{2}(h+w)^{2}-4 w h g(g-1)}}{4 g}\end{array}$ 6 $\sigma=\min \left(r_{1}, r_{2}, r_{3}\right)$ 为解决车牌中心预测时正负样本不均衡的问题,使用焦点损失函数(Lin等,2017)训练热力值图 7 $\begin{array}{c}{L_{{\rm{heatmap }}}} = \frac{{ - 1}}{N} \times \\\sum\limits_{xyc} {\left\{ {\begin{array}{*{20}{l}}{{{\left( {1 - {{\mathit{\boldsymbol{\hat Y}}}_{xyc}}} \right)}^\alpha }\log \left( {{{\mathit{\boldsymbol{\hat Y}}}_{xyc}}} \right)}&{{\mathit{\boldsymbol{Y}}_{xyc}} = 1}\\{{{\left( {1 - {\mathit{\boldsymbol{Y}}_{xyc}}} \right)}^\beta }{{\left( {{{\mathit{\boldsymbol{\hat Y}}}_{xyc}}} \right)}^\alpha } \times }&{}\\{\log \left( {1 - {{\mathit{\boldsymbol{\hat Y}}}_{xyc}}} \right)}&{{\rm{其他}}}\end{array}} \right.} \end{array}$ 式中,$α $和$β$代表焦点损失函数的超参数,本文设置$α=2 $,$β=4 $,$ N$代表图像中目标的个数。2) 偏移损失。由于网络输出步长的存在会引起目标真实坐标产生离散化误差,本文设计偏移损失以预测每个目标中心点的局部偏移值,使用L1损失对偏移值进行训练, 即 8 $L_{\text {offet }}=\frac{1}{N} \sum\limits_{\boldsymbol{p}} \mid \hat{\boldsymbol{O}}_{\lfloor{\boldsymbol{p}} / \mathrm{S}\rfloor}-(\boldsymbol{p} / S-\lfloor\boldsymbol{p} / S\rfloor)$ 式中,$ N$是图像中目标的个数,$ \hat{\boldsymbol{O}}_{\lfloor {\mathit{\boldsymbol{p}}} / S\rfloor}$代表偏移图中对应位置$\lfloor {\mathit{\boldsymbol{p}}} / S\rfloor $处的偏移值,$L_{{\rm{offset}}} $只在目标真实中心点位置发挥作用,而忽略其他位置。3) 仿射损失。由于图像输入尺寸与网络输出尺寸不匹配,本文对车牌4个角点的真实坐标值进行归一化处理,即 9 $A_{x y}(\boldsymbol{u})=\frac{1}{\gamma}\left(\frac{1}{S} \boldsymbol{u}-\left[\begin{array}{l}y \\x\end{array}\right]\right)$ 式中,$γ $代表一个比例常数,为加速网络收敛,本文统计了训练数据内车牌的平均尺寸,除以网络下采样步长后作为$γ $,设置为6.25;$S $代表下采样步长,${\mathit{\boldsymbol{u}}} $代表车牌4个角点的真实坐标向量,$x$和$y $代表网络输出特征图中网格所在位置。计算单位正方形每个角点的变换值$T_{x y}(\boldsymbol{q}) $和车牌角点归一化真实值$ A_{x y}(\boldsymbol{u})$的差,然后求和,即为仿射损失 10 $L_{\text {affine }}(x, y)=\sum\limits_{i=1}^{4}\left\|T_{x y}\left(\boldsymbol{q}_{i}\right)-A_{x y}\left(\boldsymbol{u}_{i}\right)\right\|_{1}$ 4) 整体损失。计算为 11 $\begin{array}{c}Loss=L_{\text {heatmap }}+\lambda_{\text {offeet }} \lambda_{\text {obj }} L_{\text {offset }}+ \\\lambda_{\text {affine }} \lambda_{\text {obj }} L_{\text {affine }}\end{array}$ 式中,设置$\lambda_{\text {offset }}=1, \lambda_{\text {affine }}=0.5 $。如果点($x, y, c $)处为热力点则$\lambda_{\text {obj }} $为1,否则为0。2基于DLPD-Net的车牌识别系统为进一步验证DLPD-Net算法的有效性,基于DLPD-Net模型,设计了自然场景中变形车牌识别系统。该系统由3个模块组成:车辆检测模块、车牌检测及校正模块和车牌字符识别模块,如图 2所示。给定一个输入图像,车辆检测模块负责检测图像场景中的车辆区域,并将车辆区域图像作为车牌检测及校正模块的输入;车牌检测及校正模块基于DLPD-Net寻找车牌角点位置,并将变形车牌区域校正为接近于正面视图的矩形区域;车牌字符识别模块以校正后的矩形车牌区域作为输入,进行最终的字符识别。 图2 变形车牌识别系统结构 The structure of distorted license plate recognition systemFig 22.1车辆检测由于车辆目标是许多经典检测和识别数据集的基础目标之一,如PASCAL-VOC(pattern analysis,statistical modelling and computational learning visual object classes)(Everingham等,2010)、ImageNet(Russakovsky等,2015)和MS COCO(Microsoft common objects in context)(Lin等,2014),因此本文不再从零开始训练新的检测模型,而是选择一个已知的模型来检测车辆区域。本文考虑两个方面作为检测模型选取的标准: 1)该模型需要具有高召回率,因为任何漏检的车辆都会直接导致整体的车牌漏检;2)该模型需要具有高精确率,由于被错误检测到的车辆区域也需要经过DLPD-Net作进一步验证,因此,高精确率能够保证模型具有较低的运行时间。基于以上两个方面的考虑,本文最终选用CenterNet网络作为车辆检测模型,因为CenterNet具有较快的运行速度,同时具有良好的精确率与召回率的折中(在COCO数据集上,mAP(mean average precision)最高能达到45.1%)。车辆检测模块没有对CenterNet作任何修改或优化,只是将该网络作为一个黑盒,选取网络输出中与车辆(COCO数据集中为汽车、公共汽车和卡车3类)相关的类别,而忽略其他无关类别。2.2车牌检测及校正车辆检测模块检测出的车辆区域即为车牌检测及校正模块的输入,经过DLPD-Net网络前向传播后得到特征图,通过预测得到的热力值、偏移值和仿射变换参数图将变形的车牌提取出来并校正为矩形区域。本系统中将输出图像尺寸大小设置为240×80像素。2.3车牌字符识别车牌具有两个有助于字符识别的特性:首先,同一地区内,车牌命名规则是确定的;其次,车牌字符是按照顺序水平排列的,每个字符占有一定的比例。为了充分利用深度学习的高语义特征表达能力,本文采用LPS/CR-Net网络(Montazzolli和Jung,2017)对校正后的车牌进行字符识别,得到预测字符及其位置,以每个字符预测框中心点的横坐标为排序标准,按照从左至右的顺序拼接为字符串作为车牌号码,以加速网络训练过程,提升字符识别精确率。不同国家或地区车牌命名规则不同,本文系统依据其车牌命名规则采用一个启发式规则以优化车牌字符识别结果,如:中国台湾车牌号码长度为6位,如果预测字符超过6位,则删除多余字符,只保留置信度最高的6位字符,最终按照从左至右的顺序将6位预测字符拼接为字符串作为车牌号码。3实验结果与分析3.1数据集与实验为评估DLPD-Net模型与基于此模型的车牌识别系统的有效性,本文选用了2个开放数据集来进行验证。第1个数据集是面向应用的车牌数据库(the application-oriented license plate database, AOLP)(Hsu等,2013)。该数据集总共包含2 049幅中国台湾车牌的图像,分为3个不同难度和拍摄场景的子集:通行管制场景(access control,AC)、交通执法场景(traffic law enforcement,LE)和道路巡逻场景(road patrol,RP)。AC是指汽车以明显低于正常速度通过固定通道或完全停止的情况,共681幅图像。LE是指车辆违反交通法规时被路边的摄像头拍摄的情况,共757幅图像。RP是指巡逻车辆或手持摄像机拍摄得到的任意视角和距离的图像,共611幅图像。由于LE子集与RP子集相近,且二者接近于自然场景条件,因此本文使用LE子集作训练,在RP子集上进行算法性能评估。第2个数据集是从Stanford Cars数据集中挑选出的CD-HARD数据集(Silva和Jung,2018)。考虑到现有的数据集虽然能够涵盖大部分情况,但仍然缺乏具有挑战性的图像,因此CD-HARD从Stanford Cars数据集中挑选出207幅变形角度较大,但仍然可读的图像,其中105幅作为训练集,102幅作为测试集。由于所选用的部分数据集存在训练样本较少的问题,可能会导致网络很难达到最优性能,因此本文针对车牌检测数据集与OCR数据集作了不同的数据扩充。对于车牌检测数据集,本文使用校正、宽高比、中心化、缩放、旋转、镜像、平移和剪切等方法(Silva和Jung,2018)进行数据集扩充。对于OCR数据集,使用5种方法对车牌图像进行数据扩充,包含图像旋转、平移、椒盐噪声、散焦模糊和运动模糊等,如图 3所示。使用扩充数据进行训练能够极大地提高网络的泛化能力,使得同一个网络能够对不同场景的车牌具有更加良好的表现。 图3 5种数据集扩充方法 Five methods of dataset augmenting((a) source image; (b) rotation; (c) translation; (d) defocus blur; (e) salt and pepper noise; (f) motion blur)Fig 3实验环境为:CPU为Intel Core i7-7700K;内存为16 GB;显卡为Nvidia GTX 1080;显存为8 GB。CUDA版本为10.1;Keras版本为2.3。网络训练细节如下:通过加载在ImageNet中预训练的ResNet-50模型初始化DLPD-Net骨干网络,使用Adam优化器训练网络,学习率设置为0.001,$ β_1$设置为0.9,$ β_2$设置为0.999。批量大小为32,共迭代10万次。3.2实验分析3.2.1车牌检测结果分析本节评价了提出的车牌检测方法的性能,由于在车牌检测任务中没有统一的性能评价标准,因此采用通用文本检测中常用的评价标准:精确率、召回率与F值。定义交并比IOU(intersection over union)为 12 $I O U=\frac{\operatorname{area}\left(\boldsymbol{R}_{\mathrm{det}} \cap \boldsymbol{R}_{\mathrm{gt}}\right)}{\operatorname{area}\left(\boldsymbol{R}_{\mathrm{det}} \cup \boldsymbol{R}_{\mathrm{gt}}\right)}$ 式中,$\boldsymbol{R}_{\mathrm{det}} $代表预测出的车牌四边形区域,$\boldsymbol{R}_{\mathrm{gt}} $代表真实的车牌四边形区域,$ area$代表$\boldsymbol{R}_{\mathrm{det}} $和$ \boldsymbol{R}_{\mathrm{gt}}$相交或相并区域的面积。如果预测车牌区域的IOU值大于阈值,则认为该预测区域为正确车牌区域。本文定义精确率为正确检测到的车牌数量除以检测到的车牌总数,召回率为正确检测到的车牌数量除以真实车牌的总数,对于给定的IOU值,精确率、召回率与F值分别为 13 $P =\frac{T P}{T P+F P}$ 14 $R =\frac{T P}{T P+F N}$ 15 $F =2 \times \frac{P \times R}{P+R}$ 式中,$ TP$和$FP $分别表示被正确检测到的车牌数量和被错误检测到的车牌数量,$ FN$表示未被检测到的车牌数量。相比于AOLP数据集,CD-HARD数据集大部分为变形车牌,最契合本文所研究的方向,所以在CD-HARD上对DLPD-Net进行评估。由式(12)可知,IOU的变化范围为0~1。为充分比较各方法在不同IOU阈值阶段的表现,将IOU变化范围进行均分,间隔为0.1,由于IOU阈值为0.0或1.0时各方法的精确率和召回率均为1或0,失去了对比的意义,因此本文采用的IOU阈值为从0.1开始,等间隔增大至0.9。绘制出DLPD-Net在上述IOU阈值范围下的车牌检测精确率、召回率和F值曲线,如图 4所示。从中可以看出,IOU阈值处于0.1~0.7范围时,DLPD-Net对阈值变化不是很敏感,一直保持着高精确率、高召回率和高F值;随着IOU阈值的继续增加,未被检测到的车牌数量逐渐增加,导致精确率平缓下降,召回率和F值较陡峭地降低。 图4 精确率、召回率和F值曲线 Precision, recall and F-measure curvesFig 4大多数车牌检测方法都采用正面视图的车牌图像进行检测,相较来说,OpenALPR (http://www.openalpr.com/)、Sighthound (https://www.sighthound.com/)与Silva和Jung(2018)的方法更侧重于自然场景下的车牌检测,因此本文也给出了此3种方法在CD-HARD上检测结果的精确率、召回率与F值曲线,如图 4所示。对比可知:对于不同的IOU阈值,DLPD-Net的精确率、召回率与F值均高于OpenALPR、Sighthound与Silva和Jung(2018)方法,且变化较为平缓,对IOU阈值敏感度不高,表明DLPD-Net寻找到的车牌区域更契合真实车牌区域,能更好地预测变形车牌的位置。3.2.2基于DLPD-Net的ALPR系统识别准确率与速度分析如果基于DLPD-Net的ALPR系统具有较高的识别准确率,这同时也能证明本文所提出的车牌检测方法DLPD-Net的有效性。如表 1所示,比较了不同ALPR方法在AOLP RP和CD-HARD数据集上的识别准确率,包括现有的商业系统OpenALPR和Sighthound,以及其他文献中提出的一些方法。实验结果表明,在上述两种数据集上,本文的ALPR方法其识别准确率整体性能均优于其他方法。表1 不同ALPR方法在2个数据集上的准确率比较 算法 AOLP RP CD-HARD OpenALPR 69.7 67.3 Sighthound 83.5 45.2 Li和Shen(2016) 83.6 - Silva和Jung(2018) 98.4 75.0 本文 96.6 79.4 Accuracy comparison of different ALPR systems running on two datasets /%Table 1 “-”表示对比方法缺少该项实验。在AOLP RP数据集中,OpenALPR识别准确率只有69.7%;Sighthound识别率比OpenALPR高大约14个百分点,达到了83.5%;Li和Shen(2016)方法具有与Sighthound相似的准确率,达到83.6%。本文算法准确率达到96.6%,高于Li和Shen(2016)方法约13%。Li和Shen(2016)方法中将车牌作为矩形目标来预测车牌的位置,并未考虑车牌具有变形的特性,表明本文DLPD-Net的检测及校正车牌这一步骤对于整体ALPR方法是有益的。Silva和Jung(2018)方法在该数据集上具有最高的识别准确率98.4%,这是因为该方法通过合成和扩充的数据,大大扩展了车牌字符识别训练数据集,提高了识别准确率。但是,在未使用扩充数据集的情况下,该方法准确率仅为93.3%。在使用了扩充数据集的情况下,本文方法的识别准确率比Silva和Jung(2018)方法低1.8%,但是在未使用扩充数据集的情况下,本文方法的识别准确率为94.9%,高于Silva和Jung(2018)方法1.6%(注意Silva和Jung(2018)方法所使用的合成和扩充数据的方法与本文方法是不一样的)。上述情况说明:1) 在未使用扩充数据时,本文方法的识别准确率高于Silva和Jung(2018)方法,这是本文方法的优点;2)本文方法中所使用的数据合成和扩充方法有待进一步改进。在CD-HARD数据集中,OpenALPR识别准确率只有67.3%;Sighthound在该数据集上表现很差,仅仅有45.2%的准确率,表明该商业系统无法很好地处理具有高度变形的车牌图像;Silva和Jung(2018)方法识别率比OpenALPR高8%左右,达到75.0%;本文算法准确率达到79.4%,高于其他所有的方法,表明本文方法在CD-HARD数据集中有着良好的性能。通过与不同ALPR方法在AOLP RP和CD-HARD数据集上识别准确率的比较,可以看出,基于DLPD-Net的ALPR系统在遮挡、污垢和图像模糊等复杂自然场景下具有十分良好的检测效果,鲁棒性强,如图 5所示。同时也证明了DLPD-Net具有更好的变形车牌检测性能,能够提升车牌识别系统的识别准确率。 图5 基于DLPD-Net的ALPR系统在复杂场景下识别结果 The recognition results of ALPR based on DLPD-Net in complex natural scenarios((a) blocked plate; (b) dirty; (c) blur; (d) broken character)Fig 5为分析基于DLPD-Net的ALPR系统的应用性能,本文统计了该系统对AOLP RP和CD-HARD数据集每幅图像的处理时间,计算平均处理时间。该系统在AOLP RP数据集上平均处理时间为185 ms,在CD-HARD数据集上平均处理时间为237 ms。国际交通技术对于ALPR识别速度的标准是1 s以内,越快越好,本文提出的系统平均处理时间远小于1 s,证明了该系统具有良好的应用性。3.2.3仿射变换的作用分析为证明使用仿射变换校正图像对于车牌检测的贡献,本节对是否使用仿射变换进行研究。由于去除仿射变换后,DLPD-Net无法预测目标的尺寸,因此本文将检测块中负责预测仿射变换参数的卷积层的输出通道数修改为$ \frac{W}{S} \times \frac{H}{S} \times 2$,同时替换激活函数为ReLU函数,输出特征图中每点的值分别代表目标包围盒的宽和高。同时去除仿射损失,替换为L1损失。 16 $L_{\text {size }}=\frac{1}{N} \sum|(\hat{w}-w)+(\hat{h}-h)|$ 式中,$ N$是图像中目标的个数,$\hat{w} $和$ \hat{h}$代表目标宽和高的预测值,$w $和$ h$代表目标宽和高的真实值。整体损失修改为 17 $\begin{array}{c} Loss =L_{\text {heatmap }}+\lambda_{\text {offset }} \lambda_{\mathrm{obj}} L_{\text {offset }}+ \\\lambda_{\text {size }} \lambda_{\mathrm{obj}} L_{\text {size }}\end{array}$ 式中,设置$ \lambda_{\text {offset }}=1, \lambda_{\text {size }}=0.5$。如果点$(x, y, c) $处为热力点则$\lambda_{\text {obj }} $为1,否则为0。将修改后的DLPD-Net称为无仿射DLPD-Net。使用相同的训练策略在CD-HARD数据集上训练无仿射DLPD-Net,训练完成后对无仿射DLPD-Net作评价,如图 6所示。无仿射DLPD-Net在不同IOU阈值下的精确率、召回率与F值均低于DLPD-Net,且在高IOU阈值下这种差距更加明显,这是因为无仿射DLPD-Net预测结果为目标的包围盒,是矩形框,难以完全契合变形车牌的形状,因此精确率、召回率与F值低。本节使用无仿射DLPD-Net替换ALPR系统中的DLPD-Net,在AOLP RP数据集中识别准确率为88.3%,低于DLPD-Net 8%;在CD-HARD数据集中识别准确率为64.7%,低于DLPD-Net 14%。这证明了DLPD-Net通过仿射变换参数预测车牌角点位置,将变形的车牌提取出来,并校正回接近于正面视角矩形区域的策略对车牌检测和完整ALPR系统都是十分有益的。 图6 DLPD-Net与无仿射DLPD-Net检测结果 The detection results of DLPD-Net and DLPD-Net without affine transformationFig 64结论本文充分考虑变形车牌的形状特征,提出了一种自然场景下的变形车牌检测模型DLPD-Net,该模型将车牌热力值图中的局部峰值作为车牌中心,利用回归得到的仿射变换参数构建仿射矩阵,变换得到车牌角点位置,从而检测出变形的车牌, 并校正为接近于正面视角的平面矩形。同时,基于DLPD-Net模型开发了变形车牌识别系统。在数据集AOLP和CD-HARD上的实验结果表明,本文提出的方法能够实现在各种变形条件下的车牌检测,鲁棒性强,在遮挡、污垢和图像模糊等复杂自然场景下具有十分良好的检测效果。未来将针对实际应用,一方面不断优化本文所提变形车牌识别网络的性能,另一方面进一步完善车牌字符识别数据集的扩充方式,设计更为先进的车牌字符识别网络,以提升变形车牌检测与识别的性能,是进一步工作的目标。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读