APP下载

停车管理中车牌识别技术的研究

2021-12-17姚砺马睿周同辉万燕

智能计算机与应用 2021年6期
关键词:车牌矫正定位

姚砺,马睿,周同辉,万燕

(东华大学 计算机科学与技术,上海 201600)

0 引言

近年来,中国的汽车保有量呈现出飞速增长。仅2020 年,全国新注册登记机动车约3 328 万辆,全国机动车保有量达3.72 亿辆。随着机动车数量的增长,市民对停车位的需求日益迫切,原有的一些停车场已难以满足不断增长的停车需求,重要的交通枢纽、医院、商场等开始出现停车难的问题。

为解决停车难的问题,交管部门在路边划分了一些临时停车位缓解停车位紧张的问题,但是这也给相关部门带来了管理上的压力。如停车收费问题、违规停车的监测以及处罚问题等,管理不当会造成道路拥堵,增加发生交通事故的可能性。国务院通过的《“互联网+”行动的指导意见》提出将互联网与各行业深度融合,因此路边停车管理手段与“互联网+”思维的结合势必成为符合国情民意发展的新领域。

目前路边停车管理系统多需要进行道路改造,引进地磁检测器、传感器等硬件设备来检测车辆的停放[1-2],不仅增加了实施成本,还可能会影响其它车辆的正常行驶。针对于此,本文提出了基于视频的路边停车管理方案。该方案利用路边监控系统进行停车管理,即方便实施又节省成本,可以在路边复杂的环境下完成车辆的定位,车牌识别以及停车行为识别。

1 总体设计

本文方法是在路边固定位置放置摄像头用于监控和管理路对面的停车位。在道路对面放置摄像头进行监控的好处是容易判定停车,但由于路边停车多为侧向停车,车辆进入前后车牌可能会倾斜角度较大甚至被自身遮挡,这也对车牌识别提出了更大的挑战。为此,本文使用动态车牌识别算法,可以很好的应用于该场景。

路边停车管理的关键是对停车车辆的车牌进行识别,基于视频的路边停车场景下的车牌识别相比传统的车牌识别主要存在两点不同:一是车辆在停靠时,需不停地移动变换角度,所以大部分截取到的车牌不是正对摄像头;二是由于车位安排较密,车辆停入后可能会遮挡住车牌,导致无法识别。基于这两点,本文提出了动态车牌识别算法:基于视频,在车辆进入镜头内即逐帧开始进行识别,最后通过投票算法选举出最佳结果,可以防止车辆自身遮挡或者相互遮挡导致的无法识别。针对路边停车场景车牌倾斜扭曲的情况,本文算法在定位到车牌后进行倾斜矫正,极大地提高了倾斜状态下车牌的识别率。

动态车牌识别算法需要对同一车辆进行跟踪,持续对其车牌进行识别。对于车辆跟踪,主要难点是路边车辆密集并且会有干扰,需要在短暂的遮挡后能进行重识别。本文提出了基于DeepSORT[3]的车辆跟踪算法,可在短暂遮挡后重识别。算法在跟踪时,对车辆的停车行为进行判断,并识别其车牌。

路边停车管理总体流程为:车辆跟踪算法和动态车牌识别算法并行执行。跟踪算法在跟踪到车辆后,将图片存储,并通过消息中间件通知车牌识别算法识别对应车辆的车牌,车牌识别算法识别后将识别结果存储到数据库中。如果跟踪过程中判断到车辆停入车位,为防止识别的延迟等情况,先延迟等待,跟踪算法再去数据库中读取相应的车牌识别结果,通过投票算法选取最优结果,记录车辆停车信息。

2 动态车牌识别算法

传统车牌识别分为图像预处理、车牌定位、字符分割和字符识别几个步骤。对车牌进行灰度化处理和去噪后,进行边缘检测得到定位车牌,再进行二值化、字符分割,最后通过模版匹配得到结果。但这种方法准确率较低,目前多使用基于卷积神经,网络(CNN)的车牌识别算法,主要分为两步:定位车牌和识别车牌。

上述算法是基于图片进行车牌识别,对视频场景下的车牌识别,上述算法不能很好的利用视频的特性,由于视频角度问题,单帧图片的识别结果很可能会产生误差。针对此问题,本文提出了动态车牌识别算法,可以充分利用视频多帧之间的关联,提高视频状态下的车牌识别率。总体流程为:首先对同一车辆每一帧进行识别,并对图片质量进行打分。图片质量主要包括车牌大小、车牌倾斜程度以及图片清晰度。以打分为权重,通过投票算法选取最优识别结果。

2.1 车牌识别

一般基于深度学习的车牌识别算法主要使用目标检测算法来定位车。如R-CNN 系列[4-7]、YOLO系列[8-11],结果多为矩形框,以四维向量(x,y,w,h)表示。但在路边停车场景下,视频拍摄到的车牌多数会有不同程度的倾斜,如图1 所示(来自CCPD数据集[12])。由目标检测算法定位的车牌位置不够精确,识别效果会因此受到影响。

图1 目标检测算法定位倾斜角度较大的车牌Fig.1 The target detection algorithm locates the license plate with large tilt Angle

针对上述问题,本文使用了场景文本检测算法EAST[13]进行车牌定位。本文基于EAST 完成了车牌定位,精确定位车牌边缘的4 个点,便于后续的矫正和识别。

EAST 主要分为两个阶段:首先基于FCN(全卷积网络)模型生成文本框的预测,再用NMS(非极大值抑制)产生最终的结果。输出可以有两种形式,一是RBOX(旋转矩形),包含4 个通道的水平边界框(AABB)和1 个通道的旋转角度θ;另一种是QUAD(任意四边形),包含8 个通道,表示从矩形的4 个顶点到像素位置的坐标偏移。由于拍摄角度问题,路边停车场景下拍摄的车牌多不仅有旋转倾斜,还存在一定程度的变形,定位到的结果可能不是矩形,而是经过扭曲后的普通四边形,仅进行旋转无法将其矫正为正对的车牌,故本文选择了QUAD 输出。图2 展示了RBOX 和QUAD 输出定位的车牌,其中红线是RBOX 输出的结果,绿线是QUAD 输出的结果。通过EAST 定位到车牌的4 个角点后,通过投影变换对车牌进行倾斜矫正,使车牌正对镜头。

图2 RBOX 输出和QUAD 输出对比Fig.2 RBOX output and QUAD output contrast

设:给定一张图像,对其进行投影变换步骤如下:首先将二维平面中(x,y)处的点,通过变换矩阵投影到一个三维空间(X,Y,Z),如式(1):

再由三维空间(X,Y,Z)变回二维平面(x’,y’),如式(2)和式(3):

即通过上述变化,原图片(x,y)处的点将变化为(x’,y’)处的点。

通过投影变换,可以将任意四边形的车牌矫正为矩形,方便后续的识别。图3 展示了倾斜车牌经过EAST 算法定位及投影变换矫正的效果。通过精确定位及倾斜矫正,可以显著提高识别准确率。

图3 倾斜车牌精确定位及矫正后的效果Fig.3 Accurate positioning and correction effect of slanting plate

经过矫正后的车牌,可使用CRNN[14]网络来进行识别。

CRNN 是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题。将文字识别看作对序列的预测,采用了对序列预测的RNN 网络。通过CNN 将图片的特征提取出来后,采用RNN 对序列进行预测,最后通过一个CTC 的翻译层得到最终结果。使用CRNN 网络不用对字符进行分割,减少了分割带来的误差。

2.2 投票算法

由于动态车牌识别算法是基于视频的识别,对每一帧或者每隔几帧,则对镜头内所有车辆车牌进行识别,将造成对同一辆车产生多个识别,最终导致对多个识别结果的最终选取问题。因此,本文引入投票算法,为每一帧识别的车牌图像进行质量打分,以此打分为权重,在车辆停入后,根据识别结果进行投票,选取得分最高的结果作为最终结果。

在路边停车场景下,车牌的图像质量主要由3部分决定:

(1)车牌大小:某一摄像头会监控一片区域,在车辆移动过程中,车辆离摄像头近、车牌面积大时识别效果较好;

(2)车牌变形程度:在车辆反复移动停车的过程中,车牌会以不同的角度呈现在摄像头下,车牌会有不同程度的变形,变形程度小的车牌会比较容易识别;

(3)图像清晰度:由于车辆可能处于运动之中,会存在运动模糊,模糊程度小的图像,识别准确率较高。

基于上述分析,本文提出车牌图像质量公式如下:

其中,S为车牌面积;D为变形程度;C为图片清晰度;λ、μ为权重。

变形程度可以使用车牌的最小外接矩形面积与车牌面积的比值来表示,计算公式如下:

其中,S'为车牌最小外接矩形的面积。

图像清晰度可以使用拉普拉斯梯度法来计算,其公式如下:

其中,T为阈值,G(x,y)是图像与拉普拉斯算子的卷积,拉普拉斯算子如下:

3 基于DeepSORT 的车辆跟踪算法

3.1 技术路线

动态车牌识别算法需要对车辆进行持续跟踪,以连续地对其车牌进行识别。在路边停车环境下,路况复杂,有很多行人和过往车辆干扰,且会存在车辆之间互相遮挡,短暂出镜的情况,可能会导致跟踪丢失,影响车牌识别结果。经研究,本文基于DeepSORT 完成了车辆跟踪算法。DeepSORT 是一个多目标跟踪算法,与传统目标跟踪算法相比,其融合了对跟踪对象的外观特征进行跟踪,可以对短暂离镜的目标进行重识别,提高了跟踪的稳定性。由于DeepSORT 算法只能对车辆进行跟踪,而无法对车辆行为识别,因此本文算法在DeepSORT 基础上进行改进,加入了停车判定模块。

算法以DeepSORT为基础,以YOLO-v3为检测器,先通过检测器检测目标,生成检测(detection),通过卡尔曼滤波生成预测,再使用匈牙利算法,将检测的检测框和卡尔曼滤波的预测进行匹配。对于匹配成功的detection 预测生成新的跟踪(track)或更新原有track 的状态;每次更新状态,会判断其停车状态,如果判定为驶入,则读取车牌识别情况,开始停车计时;若判定为驶出,则停止停车计时。

对于检测框和预测框的匹配,使用d(1)(i,j)和d(2)(i,j)两个特征融合作为匹配度量。d(1)(i,j)为第i个track 的预测位置到第j个detection 的检测位置的马氏距离,公式如下

其中,dj表示第j个detection 的检测位置;yi表示第i个track 的预测位置;Si为两者的协方差矩阵。

对于每一个detection,都会通过深度学习提取外观特征,得到一个特征向量,此外还会创建一个集合Ri来保存第i个track 近100 个匹配成功的detection 的特征向量。通过加入外观特征的匹配,可以完成对短暂离镜目标的重识别。d(2)(i,j)为第i个track 的最近100 个成功匹配的特征向量集与当前帧第j个detection 的特征向量间的最小余弦距离,公式如下:

其中,rj表示第j个detection 的外观特征向量,为Ri中第k个特征向量。

两个特征通过线性加权结合,作为最终的匹配度量:

其中,λ为线性加权的权值。本文使用了DeepSORT 论文中给出的经验值0,即仅使用外观特征进行匹配。

3.2 停车判定

为判定停车状态,本文使用车位占用比occupation ratio 来量化车位被占用的概率。当occupation ratio 大于设定阈值时即认为车位被占用。计算公式如下:

其中,C表示车辆的面积;P表示停车位的面积;C∩P表示两者相交的面积。

在实际使用时,由于摄像头拍摄角度问题,可能会有车辆暂时路过遮挡停车位,除此之外,算法可能存在某一帧的误判,如果仅依据occupation ratio 判断,可能会造成误判,本文加入不匹配帧数来解决此问题。在track 和detection 匹配之后,将检测目标记录与当前判断的状态是否一致。当状态不一致时,记录不匹配帧数,当此帧数大于阈值时,再判定车辆停入或驶出车位。

4 实验结果及分析

实验环境:Ubuntu 18.04 操作系统,Intel(R)Xeon(R)Bronze 3204 CPU @ 1.90GHz 处理器,GeForce RTX 2080ti 11GB 显卡。

本文使用CCPD 数据集进行训练和评估。CCPD 数据集是一个大型的中文车牌数据集,总共约有30 万张图片,将其分为普通图片和较难识别图片。较难识别的又分为模糊、光线亮或暗、倾斜等情况,标注了车牌的4 个角点和车牌号码等信息。本文将这些图片按照训练:验证:测试=8 ∶1 ∶1 划分进行实验。

使用CCPD 数据集和车牌位置标注信息训练EAST 模型。利用CCPD 的标注截取其中车牌,形成车牌数据集。由于车牌数据集分布不均匀,大部分车牌是皖,即安徽的车牌,其他省份车牌较少,故本文对车牌数据集进行了增强,合成了一些车牌图像,并加入了噪声以模拟真实环境下的效果,如图4 所示。通过扩充后的数据集训练CRNN 模型,对两个模型进行串联评估。对是否进行矫正分别做了测试,其中不加入矫正的识别中,CRNN 的训练集也未经矫正,测试结果见表1。

图4 合成的车牌图像Fig.4 The generated license plate image

表1 是否加入矫正对比结果Tab.1 Comparison results of whether to add corrective

由表1 中结果可以发现,无论是正向车牌还是倾斜车牌,加入矫正后的测试准确率都有较大的提升。

将其与CCPD 数据集论文中的RPNet 识别率对比结果见表2。

表2 车牌识别测试结果Tab.2 License plate recognition test results

分析表2 中结果可以发现,对正向车牌的识别,两者识别率差距较小,而对倾斜车牌的识别,RPNet的识别率只有92.5%,而本文算法比RPNet 的效果有显著提高。

5 结束语

本文对路边停车管理中的车牌识别进行了研究,提出了动态车牌识别算法,基于视频完成车牌识别,利用视频多帧的关联,在车辆入镜后即开始进行识别,对每一帧识别到的车牌图片质量打分,以该分值为比重,通过投票机制选出最佳识别,完成了对视频中车辆的车牌识别。通过场景文本检测算法EAST 定位车牌的4 个角点,经投影变换矫正后通过CRNN 进行车牌识别。在CCPD 数据集上的实验表明,该算法对大角度倾斜车牌的识别率较高。

动态车牌识别算法需要对车辆进行持续跟踪,并识别其停车行为。本文采用基于DeepSORT 的车辆跟踪算法对车辆进行跟踪。以YOLO-v3为检测器检测车辆,对DeepSORT 算法改进,加入停车判定来对车辆行为进行判定,在跟踪的同时对其车牌进行识别,该算法可以较好地与动态车牌识别算法配合,防止车辆停入车位后车牌被遮挡导致无法识别。

猜你喜欢

车牌矫正定位
论行为主义视野下幼儿学习行为的矫正
车牌颜色里的秘密
难与易
社区矫正制度的现状与完善
监狱管理创新视角下的循证矫正研究
第一张车牌
一种侧向插装型车牌架
矫正牙齿,现在开始也不迟
“他的车牌是……”
理想的定位