基于深度学习的美式车牌检测与识别技术

2023-05-04 13:31林立雄何洪钦陈彦杰郑佳春彭侠夫
哈尔滨工程大学学报 2023年4期
关键词:车牌号文本框美式

林立雄, 何洪钦, 陈彦杰, 郑佳春, 彭侠夫

(1.集美大学 海洋信息工程学院, 福建 厦门 361021; 2.福州大学 机械工程及自动化学院, 福建 福州 350000; 3.厦门大学 航空航天学院, 福建 厦门 361000)

全球车辆数逐年增长,对交通管理的压力也越来越大。智能交通集成了通讯、电子、控制、信息等技术,在很大程度上能降低交通管理压力。车牌识别是智能交通的重要组成部分。传统的车牌识别包括字符分割和字符识别2个部分,其中字符分割方法包括:轮廓提取[1],垂直投影[2],灰度统计[3]和模板匹配[4]等;字符识别方法包括:边界特征[5],HOG特征[6],模板匹配[7],支持向量机[8]和模板匹配结合神经网络等[9]。得益于更强大的计算机、更大的数据集和能够训练更深网络的技术,基于深度学习的文本识别技术有了极大的发展。文本识别包括文本检测和识别2个部分。其中文本检测又可以分为2大类:基于回归的文本检测和基于分割的文本检测。基于回归的方法将文字当作一个目标进行检测,其中TIAN等[10]提出的文本建议网络(connectionist text proposal network,CTPN)是目前流传最广、影响最大的开源文本检测模型,可以检测水平或微斜的文本行。采用BLSTM模块提取字符所在图像上下文特征,以提高文本块识别精度。Shi等[11]提出的SegLink则是将单词切割为更易检测的小文字块,再预测邻近连接将小文字块连成词。缺点是不能检测间隔很大的文本行,不能检测形变或者弯曲文本。Liu等[12]提出通过将点式预测分解为无序的关键边,解决了标签不一致的问题。并为了解码准确的顶点位置,提出了一种简单而有效的匹配程序来重构四边形边界框。但该方法只能检测旋转矩形,不能检测多边形以及任意形状的文本。Zhou等[13]提出了基于two-stage的文本检测方法:只包含全卷积网络和非极大值抑制2个阶段,消除中间过程冗余,减少检测时间.可以检测各个方向的文本。由于受到感受野的限制,在检测长文本的时候表现一般。Wang等[14]提出了自适应文本区域表示,根据文本框的形状使用网络去学习应该使用多少个点来表示文本框,可以适应各种形状的文本框。基于分割的方法先判断局部像素是否为文本,再通过后处理得到文本框,其中Wang等[15]提出的PSENe采用了前向渐进式尺度扩展的方法用来区分邻近的文本实例,可用于检测任意方向的文本。缺点是检测速度较慢。Wang等[16]后又进行改进,提升了运行速度。Beak等[17]提出的CRAFT通过先检测单个字符及字符间的连接关系,然后根据字符间的连接关系确定最终的文本行。只需要很小的感受野就可以处理长弯曲文本。但该方法对粘连字符的检测效果不好。Liao等[18]提出了DBNet通过对每一个像素点进行自适应二值化,二值化阈值由网络学习得到,彻底将二值化这一步骤加入到网络里一起训练,这样最终的输出图对于阈值就会非常鲁棒,能够实现任意方向的文本。同样,文本识别方法也分为对单字符的识别和对文本行的识别2大类。随着深度学习的发展,接连涌现的如VggNet[19],ResNet[20],InceptionNet[21],DenseNet[22]等网络模型,在单字符识别中准确率不断提高。而目前更主流的方法是直接对文本行进行识别。对于文字行的识别,近几年效果比较出色的方法主要有基于卷积递归神经网络(convolutional recurrent neural network,CRNN)和具有自动校正功能的鲁棒文本识别模型(robust text recognizer with automatic rectification,RARE)。Shi等[23]提出的CRNN是目前较为流行的图文识别模型,可识别较长的文本序列,且占用的存储空间小。它包含CNN特征提取层和双向长短期记忆网络(bi-directional long short-term memory,BLSTM)序列特征提取层,能够进行端到端的联合训练。它利用BLSTM和端到端的RNN训练方法(connectionist temporal classification,CTC)部件学习字符图像中的上下文关系,从而有效提升文本识别准确率,使得模型更加鲁棒。Shi等[24]提出的RARE模型在识别变形的图像文本时效果很好。模型预测过程中,输入图像首先要被送到一个空间变换网络中做处理,矫正过的图像然后被送入序列识别网络中得到文本预测结果。能够比较准确地识别透视变换过的文本、以及弯曲的文本。

由于美式车牌背景图案多变、文本信息复杂,使用传统的车牌识别方法效果不佳。本文将CTPN用于美式车牌文本检测,针对CTPN速度慢、精确度低的问题,对MobileNetV2[25]和SENet[26]2个网络模型进行研究,提出了SE-MobileNetV2快速特征提取模型,提高网络推理速度。设计了一套锚点机制,以应对美式车牌文本信息复杂,检测时存在多个文本框干扰的情况。将CRNN模型用于车牌号及州名识别,并采用Adam优化算法,提高美式车牌识别的准确度。

为了验证本文方法的有效性,本文以各种自然场景下的美式车牌为数据源,构建了6 500张美式车牌数据集。通过检测与识别实验证明本文的方法具有准确率高,速度快的优点。

1 美式车牌识别算法框架

本文提出的基于深度学习的美式车牌检测和识别技术包括2个方面,一个是基于CTPN的美式车牌检测技术,另一个是CRNN的车牌识别技术,如图1所示。将经过预处理的美式车牌图像输入到美式车牌检测算法中,提取文本;接着将提取的文本输入到美式车牌识别算法中进行识别,输出识别结果。

图1 CTPN+CRNN美式车牌识别算法框架Fig.1 Algorithm framework of American license plate recognition based on CTPN+CRNN

1.1 美式车牌检测技术

美式车牌检测技术目的在于对车牌图像中的文本信息进行检测,从原始的复杂背景图案中筛选出文本图案,得到车牌号和州名的候选区域,为下一步文本识别做准备。由于美式车牌的背景图案极为复杂多变,且没有统一的图案样式,若采用传统的图像预处理方法,包括灰度图转换、中值滤波、边缘检测、二值化等操作,对于颜色单一的标准车牌可以定位到文本信息,但大部分的美式车牌均无法检测。针对以上问题,本文通过构造基于卷积神经网络和循环神经网络的文本检测模块,从输入的美式车牌图像中得到连续文本行,即预测的文本图像,完成对文本图像的框选。为提高文本检测的效率,本文对CTPN进行改进,提出了SE-MobileNetV2快速特征提取模型,提高美式车牌检测的速度和精度。

1.1.1 基于SE-MobileNetV2的快速特征提取

美式车牌图像输入神经网络前,首先需要进行图像预处理,预处理主要包括对图像进行颜色通道变换和归一化处理。颜色变换包括图像亮度、对比度、饱和度,取值分别为0.4,0.4,0.4,归一化参数为平均值MEAN和标准差STD分别为:

MEAN=(0.485, 0.456, 0.406)

(1)

STD=(0.229, 0.224, 0.225)

(2)

现有的CTPN模型通常应用于自然图像中的文本检测,没有应用到美式车牌识别中,在实际场景中对车牌进行检测,提高算法精度至关重要。本文提出的美式车牌文本检测结构如图2所示,使用MobileNetV2作为检测网络的编码层,通过深度可分离卷积代替原有的传统卷积。

如图3所示深度可分离卷积不同于常规卷积,它将卷积分为一次深度卷积和一次点卷积。假定输入图像大小为Hinl×Winl×3,卷积核大小为3×3×3,输出特征矩阵大小为Hout1×Wout1×4。若采用普通卷积,其所需要计算的参数数量P1=3×3×3×4=108。若采用深度可分离卷积,其所需要计算的参数数量P2=3×3×3+1×3×4=39。通过对比普通卷积和深度可分离卷积的参数数量,本文使用3×3的深度可分离卷积,相比于传统卷积计算量更小,大大提高运行速度。

图3 深度可分离卷积Fig.3 Depthwise separable convolution

为进一步提高网络性能,本文引入了SENet模块。SENet可以在特征提取阶段,考虑每个通道的重要性,能够优化网络的学习能力,提升网络准确率。本文在MobileNetV2特征提取层的每一个block下均添加了一个SENet模块,如图4所示。

图4 SE-MobileNetV2框架Fig.4 SE-MobileNetV2 block

SENet模块包括压缩和激励2部分[26],如图5所示。压缩部分将特征图的维度从H×W×C的压缩到1×1×C,使得感受区域更广。激励部分在得到特征图1×1×C的表示后,加入一个FC全连接层,对每个通道的重要性进行预测,再将结果激励作用到之前的特征图对应通道上。

图5 SEnet网络结构Fig.5 A SENet block

1.1.2 基于锚点机制的文本检测

车牌图像通过MobileNetV2编码后,得到最小分辨率特征图,本文使用大小为3×3的滑动卷积处理该层特征图,每个滑动位置产生k个锚,输出4k个坐标和用于估计文本/非文本的2k个分数,每次滑动卷积的结果输入循环神经网络RNN中。RNN将文本图案中的文本框视为序列进行处理,得到每个文本框序列信息。RNN为256维(256D)的双向LSTM网络(BLSTM),包括2个128D的LSTM网络,特征输入BLSTM网络后,最后一层是通道数为512的全连接层。美式车牌的中间区域经常存在干扰项,如图2中的D、V以及DISABLED VETERAN并不属于车牌号内容。为此,本文针对美式车牌设计了一套锚点机制,以实现对车牌中车牌号的筛选。

锚点机制中,如图6所示,每个文本检测候选框x轴方向长度固定,本文取值为16,y轴方向长度变换。设计k个锚点,则y轴方向长度变换表示为:

图6 文本检测候选框Fig.6 Candidate boxes for text detection

y=c/(k0.7)

(3)

式中:c为常量;k=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),通过k值的变换对每个文本框序列进行文本框匹配,依次形成多个文本框。本文中c取值为11。

每个文本框Bk包含有4个顶点坐标和其序列信息:

BOXk=[xi,yi,k], (k∈N,i∈1,2,3,4)

(4)

锚点机制首先比较相邻文本框之间的距离b=xik-xik-1,从x轴方向判断相邻文本框是否属于同一组文本框,若b<50,则认为属于同一组文本框;在y轴方向,将第1个文本框的高度设为初始值,对该文本框进行匹配,得到α的值及高度hk=y2k-y1k,若后续检测的文本框高度在(0.9hk,1.1hk)范围内,则认为属于同一组文本框。通过x和y轴方向的同时定位,将同一类的多个文本框合并成一组文本框,得到多组仅包含文本信息的文本框。

1.2 美式车牌识别技术

利用美式车牌检测技术可以从复杂的车牌图案中得到分割后的车牌号文本框和多组带有其他文本信息的文本框,下一步对这些目标图像进行字符识别,完成对车牌号、州名的识别,输出车牌号和州名。采用CRNN模型进行字符识别,该模型是基于美式车牌对CRNN模型的改进,有助于提高美式车牌识别的准确度。

字符的车牌识别算法结构见图7,经筛选处理后的目标图像首先按固定长宽比缩放到32×W×3,随后输入CNN模型网络,提取图像特征。

图7 字符识别结构Fig.7 Character recognition structure

将从图像中提取到的特征输入BLSTM网络,BLSTM网络的输入必须为单行序列,因此CNN模型网络输出的特征矩阵不能直接输入BLSTM网络中,需要使用一次卷积操作将特征矩阵大小转换为1×W/4×512。特征矩阵的每一列作为一个时间序列输入BLSTM,得到关于每列数据的后验概率矩阵,每个时间序列片段定义为:

f=(f1,f2,…,fW/4)

(5)

g=[g1g2…gW/4]

(6)

车牌图案包括26个英文字母和数字字符L={A,B,…,Z,0,1,…,9},由于字符间还存在空白字符,L′=L∪{blank}。对于给定的输入gt,需要构造损失函数进行梯度下降算法,使模型趋于收敛,损失函数即后验概率:p(l|g),l(l∈L′)为训练样本的标签真实值。

模型训练过程是一个使得输出为l的概率最大化过程,即:l*=arglmaxp(l|g)。

对于输入后验概率矩阵g,矩阵g中存在多种元素的组合得到不同的输出l,如何快速使得输入与输出对齐,找到近似输出为l*的组合。通常使用最小化负对数求解最大后验概率分布,因此目标函数可以写成F=-∑logp(l|g)。

CRNN算法使用反向传播算法进行随机梯度下降(stochastic gradient desent, SGD)训练,利用AdaDelta优化器自动更新学习率。SGD算法每次迭代从训练集中随机抽取小批量样本,计算梯度和误差并更新参数。SGD优化算法的缺点在于,其梯度更新的方向完全依赖于当前样本,并不是朝着整体最优方向,有可能陷入局部最优。同时由于是随机抽取样本,每次计算的梯度误差和噪声大,需要选择合适的学习率并逐渐衰减学习率以保证SGD的收敛性。在实际的美式车牌数据的训练中也发现当模型训练到一定次数后,模型损失较大且无法下降,使用该模型得到的字符识别效果偏差,无法满足使用要求。对此,本文选择使用Adam梯度优化算法,与SGD每次迭代对所有参数使用相同的学习率不同,Adam根据计算梯度的一阶矩估计和二阶矩估计,为不同参数自适应地选择不同学习率,适用于处理稀疏梯度和非平稳目标。Adam梯度优化算法的参数设置为:lr=0.001,β1=0.9,β2=0.999,ε=10-8。

经锚点机制筛选后的车牌号图像输入训练完成的美式车牌识别网络模型中,可获得车牌号信息,剩余的经美式车牌检测技术分割后的目标图像依次输入车牌识别网络模型,得到每张目标图像的文本信息,计算除车牌号图像以外的BOX中的文本和50个州的编辑距离,匹配距离最小的州即为州名,至此完成对美式车牌的车牌号和州名信息提取。

2 美式车牌识别实验

本文的实验环境设置为:操作系统为Ubuntu16.04,显卡型号为NVIDIA GeForce GTX950,使用PyTorch深度学习框架和Python3程序语言。由于缺少美式车牌公共数据集,本文自己构建美式车牌数据集。实验数据集均为美式车牌图像,包含各种自然场景下的图像,如阴影、模糊、污渍、遮挡等,通过对数据集图像进行颜色变换,包括图像亮度、对比度、饱和度,以及添加噪声、旋转、缩放等处理后,生成训练集4 500张,测试集2 000张。本文使用LabelImg标注软件对图像进行标注,标注内容包括目标图像的4个端点坐标以及文本框内的文本信息,将目标图像序号、端点坐标、文本信息存入txt文件,生成训练集和测试集,训练集和测试集均包括车牌图像及txt文件。

本文提出的文本检测方法与CTPN方法的检测效果对比如图8所示。其中8(a)为原始车牌图像,8(b)是采用CTPN的检测结果,8(c)是本文提出的美式车牌检测技术的检测结果。可以看出,本文提出美式车牌检测技术的准确度更高,能正确框选出复杂背景下的车牌文本。

本文提出的美式车牌检测技术有着多方面的优势, 模型对比如表1所示。可以看出, 本文提出的美式车牌检测技术的网络模型更小, 训练时间明显缩短,整个网络对美式车牌的识别时间也大幅缩短,对车牌图像的识别率也更高。图9为美式车牌文本检测的示例, 对应识别结果如表2所示。

表1 车牌检测网络模型对比Table 1 Comparison of license plate detection models

图9 文本检测示例Fig.9 Example of text detection

表2 示例识别结果Table 2 The recognized result of the example

3 结论

1) 本文提出SE-MobileNetV2快速特征提取模型,提升了美式车牌检测的速度及精度。使用Adam梯度优化算法训练识别神经网络,提高了美式车牌识别的准确度。经锚点机制筛选后的车牌号文本框输入训练完成的美式车牌识别网络模型中,可获得车牌号信息。

2)本文美式车牌数据源实验显示,所提方法具有准确率高,速度快,实时性强,更易于嵌入到小型设备中使用。本文提出的方法同样适用于其他场景下的横向文本识别,后续可进一步探究。

猜你喜欢
车牌号文本框美式
巧用文本框实现PPT多图片排版
PPT文本框的另类应用
大气稳健的美式之风Polk Audio Signature系列
美式复古
差一点
我出高考数学题(十八)
差一点儿
高速公路收费数据车牌号质量分析
花样美式
文本框酷变3D效果