基于SURF的多阶段车牌定位算法

2022-08-25 09:57孙卓婷王福龙
软件导刊 2022年8期
关键词:描述符极大值响应值

孙卓婷,王福龙

(广东工业大学数学与统计学院,广东广州 510630)

0 引言

基于计算机视觉的智能交通系统(Intelligent Traffic System,ITS)已在多种实时应用中发挥关键作用,如电子通行费支付[1]、智能停车管理[2]、交通监控[3]等。车牌识别技术是ITS 发挥作用的重要基础[4-5],主要包括车牌区域检测和车牌字符识别两部分。其中车牌区域检测是车牌识别技术的关键和难点,常用方法可分为两类:一是基于滑动窗口[6-7]的方法,该类方法综合多种图像特征,利用滑动窗口结合机器学习方法或神经网络精准定位车牌位置,但其需要海量车牌样本进行学习以提高检出率,且受控于参数分布[8-9],训练时间较长,当车牌大小发生较大变化时还需要重新训练网络模型,计算复杂度高。由于该类方法需要使用大量训练样本,不具备通用属性,很难满足实时和工业应用的效率和精度要求;二是基于特征提取的方法,主要分为基于颜色特征、形态学特征和边缘检测的车牌定位方法。基于颜色特征的方法[10]主要通过车牌颜色特征构建颜色模型缩小检测范围以提高定位精度,但该类方法仅适用于道路卡口和停车场等特定场景,在复杂环境中由于受视角、光照条件变化等因素影响,很难获得满意的识别准确度;基于形态学特征的方法,如基于最大稳定极值区域(Maximally Stable Extremal Regions,MSER)与笔画宽度变换(Stroke Width Transform,SWT)算法的车牌定位方法[11]在存在噪声的情况下识别效果仍较好,但其识别效果在很大程度上取决于预处理结果;基于边缘检测的方法通过提取边缘信息定位车牌,对具有高对比度和清晰纹理的图像具有较高的识别精度和较快的计算速度。例如文献[12]中提出的基于MESR 与边缘投影的车牌定位算法对各种天气、光照条件下的低图像质量具有鲁棒性,但易受到锯齿过大和过于粗糙形态无效区域的影响,例如汽车的排气门和保险杠;文献[13]采用Sobel 滤波器和边缘修剪进行边缘检测以获得车牌候选区域,但对于光照变化条件下的图像无效,在该条件下找到车牌候选区域的最佳方法为使用动态阈值,但定义动态阈值并非易事。

传统车牌检测算法在各种复杂环境中极易出错,为此本文提出一种基于SURF(Speeded Up Robust Feature)算法的多阶段车牌定位模型,针对传统车牌检测算法利用水平和垂直投影法得到车牌位置的不可预测性问题,采用新颖的四维特征描述符用于表达车牌信息。该模型在保证准确提取车牌特征的同时,极大降低了计算复杂度。

1 车牌特征提取

特征点是指在垂直和水平方向上局部梯度有剧烈变化的小的图像区域[14],从图像中提取特征点是检测车牌的重要步骤。车牌信息可看作是一种特殊的纹理属性,而Hessian 矩阵的行列式值可为车牌边框信息提供高值,为非背景信息提供低值。因此,本文在水平方向上选用高斯二阶微分算子,垂直方向上使用Hessian 矩阵的行列式值提取特征点。为减少计算耗时,使用盒状滤波器近似替代高斯二阶微分算子,再通过积分图计算对图像进行滤波处理,从而得到相应的特征响应值。然而,由于受环境复杂性、车牌图像低分辨率以及背景变化等因素影响,仅通过特征值检测很难将车牌候选区域与非车牌候选区域区分开来。为此,通过行协方差向量增加车牌与非车牌候选区域之间的差异以消除大部分非车牌候选区域,例如车标、车灯以及汽车格栅等。然后为每个候选区域建立四维特征描述符,并通过比较描述符响应值的高低提取出车牌行候选区域。

首先,采用近似Hessian 矩阵行列式的局部最大值定位特征点位置。图像I 的点I(x,y)在尺度为σ 的Hessian矩阵H(x,σ)定义为:

高斯函数虽然是最佳的尺度空间分析工具,但由于在实际应用时总需要对其进行离散化和剪裁处理,可能会导致一定误差,因此可以采用其他工具代替高斯函数,只要误差不大即可。σ=1.2 的模板Lyy和Lxy高斯二阶微分算子如图1(a)(b)所示,加权后的Dyy和Dxy盒状滤波器如图1(c)(d)所示。

Fig.1 Comparison of Gaussian second-order differential template and box filter template图1 高斯二阶微分模板与盒状滤波器模板比较

利用盒状滤波器(Dxx,Dyy,Dxy)近似替代高斯二阶微分算子对图像进行滤波处理,得到响应值(Lxx,Lyy,Lxy),则Hessian 矩阵的行列式可简化为:

式中,滤波器响应的相关权重ω是为了平衡Hessian行列式的表示式,此处ω=0.9[15]。

在盒状滤波器中,白色部分的权值为1,灰色部分的权值为0,模板Dxx和Dyy黑色部分的权值为-2,Dxy黑色部分的权值为-1。黑色部分和白色部分统称为突起部分。利用盒状滤波器对图像进行滤波处理后得到的响应值为:

式中,N 表示突起部分的总和;模板Dxx和Dyy的N 值取3;模板Dxy的N 值取4;Sn表示第n个突起部分的面积,除以Sn为进行归一化处理;wn表示第n 个突起部分的权值。整个括号部分是使用由Viola 和Jones[15]提出的积分图计算得到的矩阵区域灰度之和。

将输入图像转化为灰度图像,计算该图像的积分图。如图2 所示,选用模板Dxx,利用式(4),通过滑动窗口遍历整个图像并提取车牌特征,从而得到与输入图像尺寸相同的特征矩阵。

Fig.2 Schematic diagram of box filter extracting image features图2 盒状滤波器提取图像特征示意图

图3 显示了不同大小窗口的输出结果,与3×3 窗口相比,5×5 窗口丢失了大量车牌信息。可以看出,3×3 窗口的前景与背景已经明显区分开来,且与车牌相关的主要信息几乎没有丢失,但前景区域内包含了许多冗杂信息。综上,将窗口大小确定为3×3。

Fig.3 Output results of different window size图3 不同窗口输出结果

2 车牌行候选区域检测

2.1 去噪处理

由特征矩阵结果可以看出,由于汽车型号的不可预测性,仅通过特征值检测很难将车标、车灯、汽车格栅与车牌区域区分开来。但无论是上述哪一种因素干扰,均都与车牌存在明显的水平分界线。

在统计学中,方差用于度量单个随机变量的离散程度,而协方差则用于度量两个随机变量的线性相关程度,两个变量越线性相关,协方差越大。因此,以下针对上一节的特征矩阵计算行协方差。

设图像I 的特征矩阵为Tm×n=[t1,t2,...,tn],则行协方差矩阵表示为:

式中,对角线上的元素为各行方差,非对角线上的元素为每两行之间的协方差。根据协方差的定义,R 为对称矩阵。由于车牌所在区域所有字符均位于同一水平线上,若将该对称矩阵按列求和,会使车牌所在行的特征信息更加突出,进而使车牌的特征信息与整个车辆图像分离开来。因此,定义一个行协方差向量为:

由于非车牌候选区域的特征值较小,一般小于特征向量的均值,为了减少其干扰,将小于均值的特征值置零。如图4(c)(彩图扫OSID 码可见,下同)所示,行协方差向量被划分为多个差异明显的小区域,称为分块区域;红线部分即车牌候选区域,已与其他区域明显区分开来,且其对应的纵坐标即为车牌候选区域所在行的位置。

2.2 车牌行特征描述符建立

Fig.4 Candidate areas for subdividing license plates图4 细分车牌候选区域

车牌候选区域通常包含一些平行线,这是由于每个完整车牌字符具有统一的高度与宽度,而这些平行线对应于车牌及其上各个字符的边界,可作为描述符的一部分用于确定车牌候选区域。将这些平行线分为水平和垂直两种方向,并称之为边缘。车牌候选区域的垂直和水平边缘梯度方向通常具有相同的值,以下计算原图像的梯度方向值。

图像I在点I(x,y)的梯度方向为:

式中,(Gx,Gy)为“1.1”节中使用盒状滤波器计算所得的值(Dx,Dy)。

从这些梯度方向中提取0°和90°两个方向作为局部特征描述符的一部分。由于自然环境下拍摄车牌图像角度的不确定性,车牌轮廓会发生少许变化,导致这些平行线不再平行。因此在检测梯度方向时,在水平方向上检测0°±10°,垂直方向上检测90°±10°,容许10°范围内的偏差。将这两个梯度方向的个数分别作为车牌行候选区域特征描述符的两个维度。

除了考虑分块区域内每个点的梯度方向信息,描述符中还包含每个点周围的响应值信息。如图4(c)所示,红线部分即车牌所在位置,其曲线相较于具有丰富信息的车体更细长平滑,这是由于非车牌候选区域噪声较大,导致行协方差向量曲线有许多锯齿,因此车牌所在候选区域的极大值点个数远小于车牌上方具有丰富特征信息的车体,且车牌所在候选区的极大值点个数一般小于8。除此之外,车牌候选区域的极大值均值也相对较大。基于此,集成每个分块区域内的极大值个数、加权极大值均值以及两个梯度方向的总个数,构造一个四维向量作为分块区域局部特征描述符,表示为:

式中,i表示第i个分块区域,N表示极大值个数,M表示极大值。车牌上方丰富的车体特征信息会导致其极大值均值对车牌候选区域选择造成干扰,因此对每个区域的极大值均值添加权重i。由于车牌位于车辆靠下位置,分块区域越靠下,权重越大。

至此,行协方差向量图的各个分块区域均确定了相应的特征描述符。根据描述符计算其响应值,从中选出响应值最高的描述符作为车牌候选区域。如果描述符向量中极大值个数大于8,则判断为非车牌候选区域,不参与描述符响应值的计算。

设行协方差向量分块区域个数为i,则对应分块区域特征描述符响应值的计算公式为:

式中,V(i,j)表示第i个分块区域的第j维描述符。经归一化处理以及协方差矩阵计算后,行协方差向量的数值均小于0.1,因此极大值均值亦是一个非常小的数值。为了平衡极大值均值数值,增加描述符响应值的相关权重ω,表示为:

由于分块区域的描述符与汽车类型、车牌颜色、车牌字符大小等无关,将该步骤的输出视为车牌行候选区域。

3 车牌列候选区域检测

对车牌候选区域提取Hessian 特征矩阵,并求其列和得到列和特征向量。由于非车牌候选区域的特征值较小,一般小于列和特征向量均值,为了减少其干扰,将这些特征值置零,最后作出列和特征向量图。列和特征值随着车牌字符结构特征的变化而跳动,形成了多个相近的间隔。通过计算列和特征值非零的坐标,可以得到这些间隔所在位置,根据这些位置坐标的密集程度,可以实现车牌列候选区域与非车牌列候选区域的分割,具体步骤为:

(1)将车牌行候选区域宽度平均分割成18 份,这是由于中国车牌字符间距并不完全相等。如图5(a)红线部分所示,第2 与第3 个字符间距相对较大,而CCPD 数据集中的图像宽度均为360,为了使它们不被识别为分割点,分割的每个区间应大于该间距。然后作出列和特征值非零坐标的频数分布直方图,如图5(b)所示。

(2)以频数为0 的直条端点作为车牌列候选区域的分割点,从而将该区域分割成若干个小区域。由图3 可以看出,车牌所在区域的蓝线占据全部蓝线的绝大部分,因此选择区间最大的区域作为车牌列候选区域。

(3)计算距离区间端点最近的列和特征值非零坐标,作为车牌列候选区域的起始与终止位置,最终得到车牌列候选区域。

Fig.5 Precise positioning process of the candidate area of the license plate column图5 车牌列候选区域精定位过程

4 实验结果分析

验证实验均在MATLAB R2016a 环境下进行。在CCPD 数据集[16]中选取2 631 幅大小为720×1 160×3 的车辆图像进行测试。这些车辆图像涵盖了不同的拍摄视角、拍摄地点、车牌大小、光照强度、运动模糊等复杂场景。

4.1 鲁棒性

图6 显示了多尺度、不同拍摄视角下的车牌检测结果,证明本文方法能适用于各种场景。图7 表明本文方法能够定位不同光照条件以及运动模糊的车牌。图8 的车牌出现颜色变化、污秽遮挡、破损以及文字干扰,但本文方法仍能够准确定位。图9 显示了非车牌区域被误检为车牌区域的情况,但被误检为车牌区域的数量不多,后期可以通过调节对误检样本的分割参数改善检测结果。表1为不同环境条件下车牌检测实验结果。

Fig.6 Examples of license plate detection with multi-scale and attitude changes图6 多尺度、不同拍摄视角下的车牌检测示例

Fig.7 Examples of license plate detection with different lighting and motion blur图7 不同光照条件和运动模糊的车牌检测示例

Fig.8 Examples of license plate detection with color changes,filth damage,and word interference图8 颜色变化、污秽遮挡、破损和文字干扰的车牌检测示例

Fig.9 Some examples of false detections图9 部分误检情况示例

Table 1 Test results of license plate detection under different environmental conditions表1 不同环境条件下车牌检测实验结果

4.2 与其他方法比较

为验证本文算法的有效性,表2 列出了其与基于MSER 车牌字符合并[18]、基于构造最近邻对[19]以及基于Faster R-CNN 结合VGG 网络[20]3 种车牌检测方法在复杂场景下的车牌定位结果比较。可以看出,基于MSER 车牌字符合并的方法大多数错误定位都发生在包含某些特殊物体(车标、散热器、保险杠)、复杂背景(树木、自行车)、杂物遮挡以及过强、过暗光线情况下捕获的图像中,因此该法在较多噪声的环境下不再适用。基于构造最近邻对的方法通过构造最近邻对的方式进行车牌检测,但无法应对拍摄距离较远导致的车牌区域过小而产生字符粘连的情况,因此其准确率较低。基于Faster R-CNN 结合VGG 网络的方法虽然准确率高于其他方法,但在缺乏训练数据集的情况下计算耗时明显多于其他方法,因此不适于计算资源有限的情况[21]。

Table 2 Comparison of license plate detection algorithm表2 不同车牌定位算法比较

5 结语

为不受车牌大小、颜色、拍摄尺度和光照环境影响,对各型车牌进行精准定位,本文提出基于SURF 算法的多阶段车牌定位模型,其能为边缘信息提供高系数,为背景信息提供低系数。该模型使用SURF 特征矩阵的行协方差系数分布定义车牌行候选区域的特征,采用四维特征描述符表达车牌信息。该模型的有效性在复杂场景下的车牌图像检测实验中得到了验证。然而,在建立特征描述符时,梯度值的使用限制了该方法的通用性[22]。为解决旋转角度过大图像的车牌检测问题,后期计划提出一种新的预处理技术矫正图像,以扩展该方法的通用性。本文仅限于提出一个新想法并对其进行实验验证,以表明其理论上适用于不同情况。由于最终目标是开发在真实环境中从大型数据库中检索车牌的系统,如何在拥挤的街道场景中捕获包含密集车辆信息的车牌图像是下一步研究的课题。

猜你喜欢
描述符极大值响应值
基于结构信息的异源遥感图像局部特征描述符研究
基于AKAZE的BOLD掩码描述符的匹配算法的研究
提高环境监测数据准确性初探
紫外荧光法测硫各气路流量对响应值的影响
Linux单线程并发服务器探索
利用CNN的无人机遥感影像特征描述符学习
基于小波模极大值理论的励磁涌流新判据研究
基于经验模态分解的自适应模极大值去噪方法
行人检测中非极大值抑制算法的改进
基于自适应非极大值抑制的SIFT改进算法