基于卷积神经网络的车牌定位与识别算法的研究
【摘要】:伴随着科学技术的进步,智能交通系统在城市管理中发挥着越来越重要的作用,但在实际应用中,现有的识别系统仍在效率、精确度等方面存在不足,因此对智慧城市中车牌的准确识别仍有研究意义。本文通过对现有的识别算法进行研究,提出了如下的一些改进意见。首先,本文在目标检测方法YOLOv3算法(You Only Look Once version 3)的基础上进行改进,提出了YOLOv3.1算法对车牌进行定位。YOLOv3算法的激活函数使用Leaky Relu(渗漏整流单元,Leaky Rectified Linear Unit)激活函数,主干网为残差网络,用位置信息损失函数(Location information loss function,简称Loc)、类别损失函数(Class loss function,简称Class)、置信度损失函数(Confidence loss function,简称Conf)之和作为YOLOv3的损失函数,本文在此基础上做出优化:(1)激活函数用Mish(自正则非单调神经激活函数,A Self Regularized Non-Monotonic Neural Activation Function)激活函数代替原来的Leaky Relu激活函数,Mish激活函数避免了因为触及顶点产生的饱和,可以避免神经网络丢失有效信息,增强网络的鲁棒性和泛化能力;(2)主干网用Dense Net(密集网络)代替原有的残差网络,密集网的特点是用密集的连接方式更有效的获取输入图像的特征信息,丰富的信息有利于提高精确度;(3)损失函数更新为将焦点损失函数(Focal Loss)与完全交并比损失函数(Complet Intersection over Union,CIo U)融合的损失函数,融合方法是用焦点损失函数替代YOLOv3的交并比损失函数(Intersection over Union,CIo U)作为置信度损失函数,可以有效的改善网络对困难样本的检测效果,并且使用完全交并比损失函数替代YOLOv3的误差平方和(Sum of Squared Error,SSE)作为位置信息损失函数,以此增加网络模型对边框位置信息、预测框与实际标注边框重叠方式的敏感度,可以在改善检测准确率的同时加快模型的收敛速度。通过后续实验的对比发现,本文改进的YOLOv3.1车牌检测算法相比原YOLOv3平均精度值(Mean Average Precision,m AP)提高了4.07%,说明在车牌检测方面,算法的改进对车牌检测的性能带来了一定的提升。然后本文将王晨耀等人提出的目标检测网络结构CSPResNeXt应用于车牌识别中,提出了基于CSPResNeXt的车牌识别模型,CSPResNeXt主要应用于图像检测分类,在目标检测中有优秀的表现,但是基于目标检测的参数设置并不能直接应用于车牌识别中,本文对其进行了如下的调整:(1)分析国内车牌的长宽比例发现现有的输入层分辨率并不适用于车牌识别,会对图像造成拉伸或者压缩变形,为了使其更好的识别车牌信息,计算准确定位网络裁剪出的实际车牌,得到车牌的平均分辨率为72×273,因此在输入层将分辨率大小224×224改为72×273,这样可以有效的保留车牌信息;(2)分析目标检测网络在输出层的默认参数是1000,对国内7位车牌进行字符编码后为476维行向量,每行向量识别一位字符作为输出,如果不做修改,会增加网络结构的计算量,所以我们把输出层参数1000调整为476,这样可以提高参数利用率,减少网络结构的计算量;(3)分析CSPResNeXt网络结构发现它对小尺寸的目标不够敏感,但是RFB能够模仿人类视觉感知,增大感受野,所以我们在CSPResNeXt的特征图8倍和16倍下采样处加入RFB模块,这样可以更好的识别出复杂场景中的车牌信息。经过如上三个调整,形成了适合车牌图像识别的CSPResNeXt系统。从实验结果可以看出基于CSPResNeXt的车牌识别模型准确率高达99.10%,比Res Net、ResNeXt、Dense Net的准确率都高,具有较强的学习能力。并且CSPResNeXt网络模型比Res Net、ResNeXt、Dense Net都小,甚至只有ResNeXt的一半大小,运行效率会更高。本文将基于CSPResNeXt的车牌识别模型与刁彦华等人在基于Opencv的车牌识别模型上的实验测试相比,实验结果显示基于CSPResNeXt的车牌识别模型的识别准确率提高了7.3%。最后,本文提出将YOLOv3.1定位模型和CSPResNeXt的车牌识别模型级联,得到一种新的车牌识别系统,将其命名为YLCR串接系统,并对其进行整体测试。我们先将车牌图像输入YOLOv3.1进行定位,定位标记后的图像再输入到CSPResNeXt的车牌识别模型进行识别,实验结果显示YLCR串接系统最终的识别准确率为94.13%,平均每张车牌图像识别时间为0.096秒,小于GPU(图形处理器,Graphics Processing Unit)要求的0.2秒,充分满足设备要求。而且YLCR串接系统适用范围更广,更具鲁棒性,能够对一些复杂场景比如光线太强或太暗、模糊情况下的车牌进行准确定位与识别,与之相比,传统的识别系统在一些复杂场景中识别效果都不太理想。最后,本文将YLCR串接系统与开源的传统车牌识别系统Easy PR、基于深度学习的车牌识别系统Hyper LPR相比,实验结果显示Easy PR准确率只有85.2%,Hyper LPR准确率有92.5%,YLCR串接系统的准确率达到了94.13%,可以看出该串接系统YLCR具有较高的准确率。