论文部分内容阅读
随着经济的迅速发展,人民的物质需求与生活水平逐年提升,这促使交通需求也不断提高。机动车作为重要的出行工具,其保有量更是逐年上升。随之而来的交通管理压力也日益增大,智能交通系统的研究迫在眉睫,而车牌识别系统作为其核心部分,更是研究的重点。目前为止,国内外研究的车牌识别技术在高清静止的场景中已经较为成熟,能解决一般自然场景下的车牌识别问题,如停车场进出系统、高速公路收费系统等。但在复杂场景中,如雨雾天气、光照不均等情况下,现有的技术在整体识别率不高,适用性不强。因此,复杂背景下的车牌识别技术仍然面临着巨大的挑战。本论文为了解决这一问题,结合复杂场景的特点,应用近年来大热的深度学习理论,设计了基于深度学习的端到端车牌识别模型,该模型由若干卷积层、候选区域提取网络、感兴趣区域池化层以及用于车牌识别的RNN网络组成。在一次端到端的传输过程中能同时完成车牌定位和车牌字符识别两项工作,简化了系统工作流程,提高了车牌识别的速度。首先,对传统车牌识别技术进行了深入研究,传统车牌识别系统由车牌定位、字符分割和字符识别组成,目前为止,每一部分的准确率都能做到很高,但是复杂的流程与各个算法之间不够紧密的衔接导致系统的整体准确率不高,大约在89.6%左右,除此之外,大多数的研究都没有考虑到复杂场景的特殊情况。为解决这一问题,研究了深度学习的相关知识,发现深度学习中端到端网络的思想能够有效地解决传统车牌识别系统中误差累计的缺点。然后,针对复杂场景的特点,先对收集到的复杂图像进行了一些特殊的图像预处理,包含图像去雾处理、光照补偿处理以及去运动模糊处理,并对所有预处理方法进行仿真测试。结果表明图像预处理操作对图像清晰化有较好的帮助,为接下来的车牌识别模型做好了准备。接着,运用近几年较为热门的深度学习相关技术,设计了一个统一的深度神经模型,可以在一次正向传递中定位车牌并识别车牌字符。整个模型可以进行端到端的训练,除此之外,可以在训练过程中对参数进行优化处理。与将车牌检测和识别作为两个独立部分来逐步解决的现有方法相比,该方法使用一个端到端的网络共同解决这两个任务。不仅避免了中间误差累积,提高了车牌识别的准确率,还加快了处理速度。为了验证模型的准确性,收集了大量的车牌数据,在Windows10操作系统中采用PyCharm集成开发环境结合Keras 3.4、CUDA 9.0、CUDNN V7.1、Python 3.6等软件技术对设计的模型进行了大量的训练以及测试。其中在进行模型训练的时候,使用图像软件对数据集中的23562张图像进行了手工标注,选取其中的21206张进行模型训练,剩余的2356张图像则进行验证。测试结果表明端到端的网络在准确率上相较于传统的车牌识别系统从89.6%提高到了94.2%,从数据上看有了较大幅度的提升。最后,为了方便模型的使用,在QT平台上将所有的算法封装成深度学习车牌识别系统软件。软件的测试结果与仿真结果一致,其中正常背景下的车牌识别率为96.3%,复杂背景下的车牌识别率也达到90%。综合两种情况的识别率后,软件最终的整体识别率为94.2%,相比传统的89.6%,提高了4.6%。