宋其杰,刘 峰,干宗良,刘思江
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.南京邮电大学 图像处理与图像通信重点实验室,江苏 南京 210003;3.南京邮电大学 教育科学与技术学院,江苏 南京 210023)
在设计智能交通系统时,车牌作为车辆的重要身份标识逐渐成为重点研究的目标。近年来,随着车辆数量的剧增,基于自动车牌识别技术的车辆信息管理系统被广泛应用于交通管制、停车收费、出入境管理和其他相关领域。作为自动车牌识别的第一步,车牌检测的准确率对后续车牌识别的成功率有巨大影响。然而根据文献[1]介绍,车牌检测经常会受到不同观测角度,光照不均,雪、雾天气,复杂背景等非控制条件的影响。因此,如何在开放环境中对车牌进行精准定位仍然是一项具有挑战性的任务。
过去数十年,许多车牌检测算法被提出,可以分为传统算法和基于卷积神经网络的算法两大类。早期传统算法[2-4]通常提取车牌的边缘、颜色、局部纹理、形态学分析等固有属性作为手工图像特征来进行车牌检测。但是大多数基于单一手工特征的方法只能在特定场景中起作用,而基于多特征和编码分类器的方法可能会取得更好的效果。Zhou等[5]利用词袋模型对每个车牌字符产生主视觉词,再与提取到的车牌局部特征进行匹配,以此确定车牌位置。文献[6]在频域中对车牌特征进行分析,通过小波变换和经验模态分解分析方法实现车牌定位。还有一些方法将候选区域和特征分析相结合提高检测精度。文献[7]提出了一种彩色图像的车牌定位方法,该定位方法在细胞神经网络(cell neural network)的分块自适应彩色图像边缘检测算法基础上进行改进:首先对彩色图像边缘检测时,针对边缘颜色对加入约束条件,接着进行边缘滤波,最后根据车牌纹理特征和几何结构判别验证。虽然上述算法结合了多层次特征,取得了一定的效果,但仍然难以克服环境限制。
近几年,越来越多的车牌检测采用深度学习方法,取得了突破性的进展。文献[8]利用CNN对车牌候选区进行判断:首先采用数字图像处理技术,根据车牌的颜色特征、边缘特征和矩形特性等多个特征提取车牌候选区域,再通过Alex Net分类网络进行真伪车牌判定。Polishetty等[9]设计了一个新颖的基于启发式学习的模型将视觉显著性和深度特征结合起来,采用手工设计滤波器提取出车牌粗边界,再经过CNN进一步调整,实现车牌精准定位。大多数一阶段车牌检测方法采用的是回归的思想[10],在大幅降低运算量的同时也造成了精度的损失。这些一阶段车牌检测方法通常由两个连续的子任务组成[11]:车辆检测和车牌检测。采取模型级联策略可以有效减小场景干扰,但是多步处理过程中前置任务出现的错误警报会在后续任务中不断传播。Masood等[12]为了避免错误传导提出了一种端到端的直接车牌检测方法,先通过CNN完成初步检测,接着利用多分类模型确认检测出的图像中的数字和英文字符,同时丢弃错检结果。此外,倾斜文本检测方法[13]对于生成更加可靠的检测框有着借鉴意义。上述算法证明,通过网络结构、训练方法等的演变和革新,相比于传统的检测算法,基于深度卷积网络提取的特征具有更强的鲁棒性。
如图1所示,文中算法采用两阶段检测网络Faster R-CNN[14]作为基准网络,通过多维特征信息增强和语境信息融合对其进行改进,可分为三部分。第一部分,对于给定的输入车牌图像,通过共享的CNN网络提取其多层特征图,然后根据不同的检测对象(车辆、车牌上下文区域、车牌)挑选不同层次的特征图输出进行位置信息和语义信息的融合,并获得多分辨率信息。第二部分,经过特殊设计的RPN网络使用自定义方向和形状的旋转anchor来生成适应车牌角度变化的预测框。最后一部分,设计一个有效的语境信息融合模型,充分利用局部和语境特征来表征车牌信息,完善检测结果。
图1 多维特征信息增强和语境信息融合算法流程
由于监控摄像机架设位置的变化,不同监控视频中车牌尺寸彼此差异很大。除了一些在图像中占据较多像素的车牌外,多数小车牌在高维特征图中的激活区域通常会消失不见。因此,文中算法没有采用Faster R-CNN中对单一尺度特征图进行处理的做法,而是针对车辆,车牌上下文区域,车牌三种目标策略性地使用多层检测结构,选取不同卷积层输出融合成各自新的、包含不同尺度的特征图,同时将位置信息和语义信息结合起来充分适应变化的分辨率。
如图2所示,这些多层特征图与ResNet[15]中各个卷积模块的输出类似,{C2,C3,C4,C5}与输入图像之间的缩放步长依次是{4,8,16,32}。根据FPN[16]中的特征提取策略,{C2,C3},{C3,C4},{C4,C5}分别可以提取出车辆区域,车牌上下文区域和车牌区域特征。其中C4对于图像中多尺度车牌检测具有最为合适的分辨率,所以在前馈网络中使用双线性插值将C5缩放到与C4相同的分辨率。接着,用1×1的卷积层将C4,C5的通道数统一到固定的数目256。在特征融合模块,以按元素相加的方式将高层语义信息和低层细节信息融合成具有强大表征能力的多尺度特征,获得多分辨率信息。最后,设计一个3×3的卷积层来去除采样造成的混叠,同时实现对多尺度特征的进一步凝练。对于语境区域,采取和车牌区域相同的处理方式,并行地对{C2,C3}和{C3,C4}特征图进行融合,分别生成对应车辆和车牌上下文区域的多尺度特征。上述多尺度特征在后续步骤中会被用于车牌的前景分类和边框回归以及语境信息融合。
图2 多尺度特征融合流程
在经典的Faster R-CNN网络中,使用水平检测框的四个参数(x,y,w,h)来描述待检测目标的位置,其中(x,y)表示检测框的中心点坐标,(w,h)分别表示检测框的宽和高。但是在现实监控视频中,车辆和拍摄设备之间往往存在一定的角度,采用水平检测框会不可避免地造成检测区域出现冗余空间,导致预测框和ground truth之间的IOU值急剧减小,对检测效果产生影响。
为了解决上述问题,文中算法在RPN阶段构建anchor时引入了新的变量θ,用来表示anchor的方向。将参数θ定义为旋转检测框的长边与x轴正方向之间的夹角。由于车牌形状对称,车牌上下长边与x轴正向之间的夹角可能是锐角也可能是钝角,而文中仅保留锐角作为的θ取值。因此,旋转检测框的位置可以通过五个参数(x,y,w,h,θ)确定下来。在RPN网络中,旋转预测框和ground truth之间的夹角可以通过参数θ直接计算得到,而预测框的顶点坐标则可借助下列公式转换得到:
(1)
其中,T和R分别表示旋转矩阵和转换矩阵,w和h取决于预测框顶点坐标与中心点坐标的位置关系,定义如下列公式:
(2)
(3)
为了获得合适的anchor参数,对数据集中的车牌角度及尺寸的分布情况进行分析。将基本的anchor尺寸设置在{16,32,64,128}范围中以确定能涵盖所有类型车牌;宽高比设置为{2,3,4}三种取值;角度参数在{-20°,-10°,10°,0°,10°,20° }范围内变化。对于带角度参数的旋转anchor采用Faster R-CNN中的水平IOU计算方式会导致误差放大。文中算法使用一种基于三角划分的倾斜IOU计算方法[13]。上述选定的anchor用于后续步骤中指导生成准确的车牌预测框。
本节聚焦于使用局部和语境信息来优化车牌检测结果。文中首次提出了在车牌检测任务中引入语境上下文区域作为辅助信息。在某些情况下,虽然结合多维特征信息进行了增强,但是预测框和ground truth之间仍然存在偏差,不同车牌之间的高度、宽度及角度差异都有可能导致这些偏差。因为真实场景中车牌普遍具有清晰的纹理特征和固定的背景,并且检测到的车牌通常位于车辆的车牌上下文区域中。笔者认为这些语境区域可以提供详尽的特征信息,增强模型抗环境干扰的能力,提高检测任务中分类和边框回归的鲁棒性。此外,当出现车牌未能成功检测的情况时,车辆区域和车牌上下文区域也可以为车牌的位置回归提供必要的先验信息。
依据上述分析,文中设计了一个语境信息融合模型,如图3所示。首先,在RPN网络中并行地利用多尺度融合特征图分别生成车辆、车牌上下文区域和车牌的预测框并通过ROI align[17]映射回特征图中分割出对应特征区域。同时考虑到车牌特殊的宽高比,将特征维度固定到相同的数目13×4而并非默认值7×7。由于原始Faster R-CNN中网格分割存在特征失准问题,会导致位置回归存在偏差,因此采用双线性插值的ROI align分割方法。然后,用一个由三个连续卷积层(卷积核尺寸依次是1×1,3×3,1×1)构成的卷积模块来激活特征参数。紧接着,一个维度为4 096的全连接层FC1被用来获取高维非线性特征表示并移除信息冗余。最后,经过充分激活和学习的车牌,车牌上下文区域和车辆预测框特征以按元素相加的形式被整合成新的特征,并送入两个连续的1 024维全连接层中进一步挖掘局部区域和语境区域关系的联合特征表示。值得一提的是,上述模型中每个全连接层后面都紧跟着一个非线性激活函数ReLU。此外,与获取车牌信息时采用旋转预测框不同,针对语境区域采用矩阵预测框来避免一些敏感角度造成的信息损失。
图3 语境信息融合流程
(4)
(5)
(6)
(7)
(8)
(9)
公式(8)和公式(9)中的变量m,m*和ma分别针对预测框,ground truth和anchor,m表示x,y,w,h,θ中任意一个变量。参数k,k∈是用来确保θ取值在预设的车牌角度范围以内。
本章节首先介绍了实验中使用的数据集及实验参数的设置,接着设计了一系列对比实验对提出的算法进行评价和分析。实验结果表明,文中算法的每个组成部分都对车牌检测性能的提高起到积极作用。实验所用设备为终端服务器,配备Ubuntu操作系统及Tesla K40C GPU。
实验中使用的数据来源于Application-Oriented License Plate(AOLP)[18]和UFPR-ALPR车牌数据集[11]。AOLP数据集中共包含2 049张台湾车牌图像,根据复杂度和拍摄场景可以分为三个子数据集:出入境控制(AC)、行政执法(LE)和道路监管(RP)。而UFPR数据集是真实复杂街道场景中由车载拍摄装置采集的,总计4 500张图像,尺寸为1 920×1 080,共包含150辆车。值得一提的是,这两个数据集都是用水平检测框进行标注的。为了算法需要,加入了车牌角度信息,重新进行了标注工作,角度范围为(-20°,20°)。为了提高模型的鲁棒性,采用引入随机噪声,亮度调节,水平尺度变换等方法对样本进行数据增广。最后每个数据集可以得到8 000个实验样本,从中随机抽取70%作为训练集,剩余30%作为测试集。
为验证文中算法的有效性和高效性,在UFPR和AOLP两个车牌数据集上进行了对比实验。由于车牌检测任务没有统一的评价指标,实验基于以下三个指标评价算法的优劣性:准确性、回归率和F-measure,定义如下:
(10)
(11)
(12)
式中,TP(true positive)表示分类正确的正样本数目,FP(false positive)表示分类错误的正样本数目,即被分类成背景的车牌数目,FN(false negative)表示分类错误的负样本数目,即背景被错误分类为车牌的数目。实验中,参数α设为1,即常用的F1-measure评价指标。
因为在文中算法中,车牌方向信息是多维特征信息增强的重要组成,所以第一个实验是为了评价模型对于车牌角度预测的准确性。设计以下两个指标来进行评价:一定容错阈值下角度预测准确率(AE)和平均角度误差(ME),定义如下:
(13)
(14)
其中,N表示车牌总数目,Ncorrect表示角度预测正确的车牌数目,pi表示预测的车牌角度值,ti表示标签中的真实车牌角度值。采用相对严格的容错阈值3°及相对宽松的容错阈值7°来详尽描述模型性能。从表1的实验结果来看,相比于RRPN算法[13],提出的多维特征信息增强算法准确性更高,同时平均角度误差更小。此外,在引入语境信息融合之后,性能大幅提升。
表1 基于UFPR数据集的车牌角度预测算法评价
为了进一步验证文中算法的泛化性能,实验二为在AOLP数据集上所做的涵盖多种车牌检测算法的对比实验,定量实验结果如表2所示。
表2 基于AOLP数据集的车牌检测算法定量对比
用于对比的算法按表格排列顺序依次为:经典的Faster R-CNN模型[14];Polishetty等提出的基于启发式学习的检测算法,数据结果引用自文献[9];Ma等提出的多方向文本检测方法RRPN[13],已被验证可以用于车牌检测任务;Masood等提出的基于CNN的端到端检测算法[12];商业化的开源车牌检测系统Open ALPR[19]。文中算法在AOLP的三个子数据集中准确率和回归率都排在前列。子数据集RP中有大量不同程度倾斜的车牌图像,其他算法检测准确率均有所下降;而文中算法结合了车牌角度信息,能够完全适应多方向的车牌检测,相比于其他算法准确率和回归率显著提高。同时算法在配备Ubuntu操作系统及Tesla K40C GPU的终端服务器上进行实验测试时可保持每帧0.76秒的检测速度。
部分检测结果如图4所示。
(a)Faster R-CNN (b)RRPN (c)Open ALPR (d)文中算法
提出了一种基于多维特征信息增强和语境信息融合的端到端车牌检测算法,用于解决真实场景中由于拍摄距离导致的尺寸变化问题和由于拍摄角度导致的车牌倾斜问题。首先,针对车牌图像对经典的Faster R-CNN做出改进:采用多尺度特征融合获得多分辨率信息,利用带角度参数θ的旋转anchor和双支组合结构生成合适的车牌预测框。其次,通过结合车辆,车牌上下文区域等语境信息进一步提高检测准确性。AOLP和UFPR数据集上的实验结果证明了该算法各个模块的有效性,同时整体算法在准确性和回归率上均取得了优越性能。根据文中思路,未来的工作可以聚焦于在所提算法基础上设计包含更少卷积层的轻量级网络,保持高准确率的同时提高检测速度。