基于深度学习的车牌定位与识别算法研究
【摘要】:机动车辆在很大程度上解决了人们日常出行的需求,但同时不免会出现诸多交通事故和车辆管制问题。机动车辆的迅速增加给智能交通管理带来一定程度的挑战。机动车辆的主要信息体现在车牌上,是外界对车辆最直观的身份确认。因此车牌定位与识别算法对智能化的交通管理和处理交通事故问题起到至关重要的作用。中国机动车辆的车牌由汉字、字母和数字组成,车牌字符按照中国车管所的法则排列在固定尺寸的方框里。车牌定位与识别算法可分为传统的图像处理方法和具有学习能力的深度学习方法。基于图像处理的字符分割与识别多任务方法对于字符粘连、照明不均、车牌模糊、车牌破损和车牌倾斜等情况识别效果不佳。深度学习可以通过大量的数据来学习车牌特征,因此使用深度学习识别出车牌字符的方法在很大程度上可以解决传统方法的不足。本文采用的车牌数据集是开源的CCPD数据集和一些自己采集的车牌图像,构成了一个分布于各种场景且数量充足的车牌数据集。本文提出的车牌识别模型由车牌定位和车牌字符识别组成,并对这两部分进行算法设计,力求具有更好的鲁棒性、更高的精度和更快的速度。本文的主要工作包括:(1)在车牌定位模型中,本文提出在U-Net网络的基础上引入空洞卷积(Dilated Convolution),构成一个基于DU-Net的像素级车牌定位模型。具体地,首先通过下采样提取低层特征信息,然后跳跃拼接相应通道的特征图和转置卷积,最后恢复到原图大小的尺寸,从而实现像素级分类,以获得车牌区域。该模型能够在各种复杂的场景下精确定位。实验结果表明,该模型不仅可以对各种场景下的车牌图像进行定位,而且能够矫正出现扭曲和形变的车牌。(2)在车牌字符识别模型中,基于把车牌字符看作文本序列的思路,本文提出基于PGC-Net的车牌字符识别算法,构成一个由多个网络模块配合并高效解决一个任务的车牌字符识别模型。对于基于PGC-Net的车牌字符识别算法,本文可分为三部分进行设计。具体地,首先设计一个基于Max pooling和Mean pooling技术结合构成的P-CNN网络对由车牌定位模型定位到的车牌区域进行图像特征提取。然后为了提取车牌字符的序列特征,设计一个基于RNN网络改进的双向GRU网络,对P-CNN网络提取到的车牌特征图进行车牌字符序列特征提取。最后当得到车牌字符的序列信息之后,要做的是对这些序列特征进行识别,本文引入CTC字符解码模块对车牌字符的时序特征进行多任务学习和分类。实验结果表明,该模型实现了在精度、速度和鲁棒性上有所提升。