基于卷积神经网络的智能车牌识别研究
2021-11-22史敏红李树文
史敏红,李树文,杨 志
(山西工程职业学院,山西 太原 030032)
卷积神经网络的起源是生物学原理。20世纪60年代,生物学家HUBEL和WIESEL[1]发现了猫的神经系统组织原理。猫的视觉皮层细胞从视网膜获取视觉信息,完成信息转换。日本学者基于此提出了卷积神经网络基础模型,由此开启了卷积神经网络(Convolutional Neural Networks,CNN)的研究[2]。后来,各国计算机研究人员开始对CNN模型进行研究,经典的卷积神经网络模型有GoogLeNet、AlexNet及VGGNet。李英等[3]将GoogLeNet模型应用于遥感图像的识别分类中,解决了在复杂的图像背景干扰下,传统图像处理的分类算法识别效率低下的问题。张素智等[4]将AlexNet网络进行改进,在算法的损失函数中加入了正则项,降低了特征信息的拟合曲线抖动的幅度,最终提高了破损轮胎图像的训练准确率,同时提高了破损轮胎的识别效率。
0 引 言
在城市化进程的发展过程中,人们出行时越来越倾向于选择私家车,智能化交通管理成为未来发展的大方向。作为智能化交通管理体系的重要核心,智能车牌识别被广泛地应用于居民小区、大型商场及大部分公共场所。随着人工智能的发展,图像识别已经覆盖了人类社会的多个领域,包括医学、智能制造、农业等。传统的图像识别主要是基于像素级的,需要对图像进行预处理,这会影响图像识别的整体速率。鉴于卷积神经网络在图像识别方面的优良性能,近年来,将卷积神经网络应用于图像处理领域变得越来越广泛。卷积神经网络在进行图像融合时,不需要对图像进行前期的预处理,可以加快图像识别的进程。崔子越等[5]将VGGNet模型进行改进,和Focal Loss相结合,提高了图像识别的准确率,提升了特征提取能力,避免了过拟合的问题,并且通过实验证实了算法的有效性。
1 CNN的相关理论
CNN是由可学习权重和偏置常量的神经元组成的前馈控制神经网络,具有卷积计算的特征。CNN整体结构包括卷积层、池化层、线性整流层及全连接层。卷积层利用卷积操作对输入的图像进行处理,提取图片的有效特征;池化层对图像进行缩小,降低特征图的数量;线性整流层使用线性整流激活函数,对于输入图像中的每个正值,返回相同的值;全连接层在输出层使用softmax激活函数,对处理好的图像进行分类处理,最后将分类结果输出[6]。CNN模型结构如图1所示。
图1 CNN模型结构图
(1)输入层即INPUT层,图1显示,输入图像为字母A图像,图像大小为36×28。
(2)C1为卷积层,得到4个32×24的特征图(feature maps),每个卷积核大小为5×5,共用了4个卷积核。
(3)S2为采样层(subsampling)。每个C1层的特征图经过下采样变成大小为16×12的特征图,每个采样窗口大小为2×2。
(4)C3为卷积层,得到12个大小为12×8的特征图,每个特征图都是S2层4个特征图卷积的累加,每个卷积核大小为5×5,共12×8个卷积核。
(5)S4采样层对C3层的每个特征图进行下采样,得到12个大小为6×4的特征图,每个采样窗口大小为2×2。
(6)接下来的F5层将上一层的12个特征图降维,转换连接成一个向量。向量一共包含12×6×4即288个神经元,反向传播计算时进行逆运算,将向量逆变换成12个特征图。
(7)输出层(OUTPUT)是由34个神经元构成的向量,对应34个字符的输出。最后的Softmax分类器由F5层和输出层构成。
2 人工智能车牌识别研究现状
2.1 国内外研究现状
国内外研究人员对车牌识别的研究始于20世纪80年代。车牌识别的算法很多,包括传统的基于像素级别的图像识别方法、基于数学形态学的方法(如对图像进行平滑、二值化、模糊处理、边缘检测和图像分割等,为图像的识别做好前期的预处理工作),近年来出现新的人工智能算法,如机器学习和神经网络算法,在图像融合的过程中表现出良好的性能优势。
在车牌图像识别的过程中,外界环境因素如光线变化、雾霾天气及公路上的障碍物遮挡等,对车牌识别造成的影响较大。前期车牌识别技术进展较慢,图像识别中很多数据需要计算,识别的实时性差,因此没有得到良好的应用。为了解决以上问题,目前车牌识别主要采取红外照明摄像或者采用专用的传感器来提高图像拍摄的质量。尽管在一定程度上提高了识别率,但是专用传感器造成系统投入的成本过大,设备应用领域比较窄。因此开发一款经济、高效的智能车牌识别系统,成为研究人员亟待解决的难题。
2.2 智能车牌识别的难点
车牌识别一般发生在户外。户外的天气状况多变,会对车牌的识别造成一定的干扰。雾霾天气和强光照射的天气对车牌图像的识别影响较大。图2所示为强雾霾天气和夜间远光灯照射下拍摄的车牌图片。如图2所示,车牌的数字比较模糊,影响识别的效率和准确率。
图2 不同环境下拍摄的车牌图
3 实验过程
车牌识别的整个过程包括车牌定位、车牌预处理、字符分割、字符识别以及获取车牌号相关信息(车牌、车型及车速等)。国内的车牌一般由汉字、大写的英文字符(不含O和I)以及数字共7位构成,包括汉字字符。除去省份缩写和城市代码,车牌主体部分包含数字和字母共34个字符(其中包含10个数字字符和24个字母字符,不含字母O与I)。进行车牌识别时,需要对车牌字符进行预处理,车牌字符训练的原始数据来源于网络[7]。实验环境为Windows 10操作系统,Anaconda+TensorFlow+PyCharm环境。
车牌的字符结构比较简单,针对图像本身的特点,可以采用LeNet-5结构,既能满足正确识别率的要求,又能减少识别的时间。陶星珍等人[8]将深度学习模型LeNet-5应用于车牌识别中,解决了汉字识别效率低和识别速率慢的问题。在该方法中,LeNet-5结构可以降低图像特征的提取难度,提高识别的效率和识别的速度,提高图像识别的正确率。赵彩敏等人[9]将改进的LeNet-5卷积神经网络用于人脸表情识别中,加上Z-score标准化处理,激活函数使用了性能更优良的Relu函数,减少了梯度弥散的问题,使得算法识别率达到79.81%。LeNet-5卷积神经网络的结构如图3所示。
图3 LeNet-5卷积神经网络结构图
为了验证卷积神经网络在智能交通车牌识别中的有效性,本文运用此方法,对车牌识别进行 训练。
利用卷积神经网络实现智能车牌识别的过程分为以下几个步骤:
(1)完成环境的搭建,对省份、城市代码及车牌编号的卷积神经网络训练代码进行调试;
(2)对省份进行训练与识别(实验选取3个省份:京、苏、沪);
(3)对每个省份对应的城市代码(包含英文大写字母,不含O和I,共24个)进行训练与识别;
(4)对车牌编号进行识别(包含英文大写字母和数字0~9,共34个)。
图4展示了部分车牌字符识别训练的图像集合,图像来源于文献[7]。
图4 车牌字符识别训练图像部分集合
图像采用网络车牌号码,车牌图像如图5所示。将图像拍摄出来,用训练模型进行训练,最后通过模型得到识别后的车牌号码。
图5 车牌图片
用卷积神经网络对省份进行训练识别,结果如图6所示。
图6 省份识别结果图
识别城市代号结果如图7所示。
图7 城市代码识别结果图
最终识别出的车牌编号结果如图8所示。
图8 车牌编号识别结果图
4 结 语
随着计算机技术的不断发展与成熟,人工智能技术在生活中发挥的作用越来越大,其中,以深度学习为代表的各种算法应用如自动驾驶、智慧城市、智能医疗、图像处理及人脸识别等,表现出优良的性能,大大提高了使用单位的工作效率,极大地方便了人们的生活。在深度学习领域,卷积神经网络算法使用最为广泛,其将二维图像作为向量进行输入,通过卷积计算,提取图像的各类特征信息,最后通过分类器实现图像特征识别。算法提高了图像特征提取能力和识别的准确率,实验结果证明算法在车牌识别中性能良好,具有应用和推广价值。