一种基于卷积神经网络的中文车牌识别方法
【专利摘要】本发明公开了一种基于卷积神经网络的中文车牌识别方法,S1:车牌定位,将颜色模板匹配算法和轮廓查找算法相结合,定位出车牌;S2:字符分割,将灰度化后的车牌矩形块,二值化、闭操作、取轮廓后,可以得到外接矩形,从而截取出字符图块;S3:卷积神经网络的设计和训练,其中,卷积神经网络设置为10层结构;S4:字符识别,使用S3中预先训练好的卷积神经网络,作为分类器,将要识别的字符输入,得到分类结果和其置信率。通过上述方式,本发明提供的基于卷积神经网络的中文车牌识别方法,具有准确率极高、普适性极强、处理时间很短等优点,在现代智能交通系统、停车场管理、高速公路收费站等场景上有着广泛的应用前景。
【专利说明】
一种基于卷积神经网络的中文车牌识别方法
技术领域
[0001]本发明涉及计算机视觉、数字图像处理和深度学习领域,特别是涉及基于卷积神经网络的中文车牌识别方法。
【背景技术】
[0002]车牌识别是现代智能交通系统中的重要组成部分之一,应用十分广泛。它以数字图像处理、计算机视觉、机器学习等技术为基础,对摄像机所拍摄的车辆图像或者视频序列进行分析,得到每一辆汽车唯一的车牌号码,从而完成识别过程。通过一些后续处理手段可以实现停车场收费管理,交通流量控制指标测量,车辆定位,汽车防盗,高速公路超速自动化监管、闯红灯电子警察、公路收费站等等功能。对于维护交通安全和城市治安,防止交通堵塞,实现交通自动化管理有着现实的意义。
[0003]车牌识别系统的硬件基础一般包括触发设备(监测车辆是否进入视野)、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机(如计算机)等,而其软件核心包括车牌定位算法、车牌字符分割算法和字符识别算法。
[0004]车牌定位和车牌字符分割部分主要是使用计算机视觉和图像处理技术。通过对静态图像进行旋转、变换、灰度化、模糊、闭操作、腐蚀、取轮廓、直方图统计等形态学操作,可以从图像中提取出我们所需要部分。
[0005]常用的字符识别方法,大致可以分为两类:光学字符识别技术(OCR)和人工神经网络算法(ANN) ACR主要使用基于模板匹配的算法,方法如下:首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,选择最佳匹配作为结果。然而该方法有两个显著缺点,一方面,其受限于模板数据库的大小,若数据库太小且分割字符形变大,则很可能产生错误匹配结果;另一方面,匹配过程比较耗时间,对于要求实时性的应用场景是无法接受的。
[0006]ANN算法是机器学习界最流行的算法之一,可以完成复杂的分类任务。一个简化的ANN可以分为输入层、隐藏层和输入层。输入层负责接收数据,隐藏层负责对数据进行分解和处理,整合最后结果到输出层。中间的隐藏层越多,ANN的表征能力越强,越能提取出数据的特征。理论上,3个隐藏层的ANN可以表示任何函数,即可以处理任何分类任务。然而,随着ANN隐层层数的增加,ANN模型训练时间和复杂度指数上升,其发展进入了瓶颈期。
[0007]2006年,机器学习领域庄家Geoffrey Hinton在《Science》发表文章,论证了两个观点:(I)多隐层神经网络具有优异的特征学习能力,学习到的特征对数据有更本质的刻画,从而有利于可视化或分类;
(2)深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服。
[0008]该论证,不仅解决了神经网络在计算上的难度,同时也说明了深层神经网络在学习上的优异性。因此,具有多个隐藏层的神经网络被称为深度神经网络,基于深度神经网络的学习研究称之为深度学习。另外,随着计算机能力的提高和GPU计算、分布式计算的发展,深度神经网络模型已经可以在可接受时间范围内训练出来。
[0009]卷积神经网络(CNN)作为深度神经网络的一种,已经成为当前语音分析和图像识别领域的研究热门。CNN可以直接从原始图像中识别视觉模式,提取并学习特征,并且能够识别有变化的模式,具有对简单几何变形的鲁棒性。
[0010]CNN较一般ANN在图像处理方面有如下优点:(I)输入图像和网络的拓扑结构能很好的吻合;(2)特征提取和模式分类同时进行;(3)权值共享可以较少网络的训练参数,使神经网络结构更简单,适应性更强。
[0011 ]综上所述,在中文车牌识别系统中,使用深度学习中的CNN模型取代传统的OCR方法和ANN算法,可以极大提高识别准确率,降低识别时间,在中文车牌识别领域有极其光明的应用前景。
【发明内容】
[0012]本发明主要解决的技术问题是如何提供一种具有准确率极高、普适性极强、处理时间很短等优点,在现代智能交通系统、停车场管理、高速公路收费站等场景上有着广泛的应用前景的卷积神经网络的中文车牌识别方法。
[0013]为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于卷积神经网络的中文车牌识别方法,包括包括如下步骤:
S1:车牌定位步骤,将颜色模板匹配算法和轮廓查找算法相结合,定位出车牌;
S2:字符分割步骤,将灰度化后的车牌矩形块,二值化、闭操作、取轮廓后,可以得到外接矩形,从而截取出字符图块;
S3:卷积神经网络的设计和训练步骤,其中,卷积神经网络设置为10层结构,包括I个输入层、I个输出层、2个用于特征提取的卷积层、2个用于特征优化选取的抽样层、2个用于表示特征的全连接层、I个用于快速收敛的激励层和I个用于计算输出和目标损失值的损失层;
S4:字符识别步骤,使用S3中预先训练好的卷积神经网络,作为分类器,将要识别的字符输入,得到分类结果和其置信率。
[0014]在一个较佳实施例中,在SI中使用颜色查找算法,对图像预处理并进行颜色模板的匹配,并判断车牌是否匹配成功。
[0015]在一个较佳实施例中,在SI中如果颜色查找算法无法定位车牌,则使用轮廓查找算法,将图像灰度化后,进行角度判断和尺寸检测,得到车牌矩形块,同时使用预先训练的支持向量机分类器,筛选出真正的车牌。
[0016]在一个较佳实施例中,在SI中所述车牌定位既可以应用于静态图像,又可以应用于动态视频,若为动态视频时,则先提取出关键帧,再作为静态图像处理。
[0017]在一个较佳实施例中,使用S2中分割出来的字符,作为数据集,进行迭代训练,将数据集按8:2比例分为训练集和验证集,经过10万次迭代,训练出卷积神经网络模型。
[0018]本发明的有益效果是:具有准确率极高、普适性极强、处理时间很短等优点,在现代智能交通系统、停车场管理、高速公路收费站等场景上有着广泛的应用前景。
【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的第一阶段的车牌定位流程图;
图2是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的第二阶段的字符分割流程图;
图3是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的第三阶段的设计的卷积神经网络PRNet模型图;
图4是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的第三阶段中卷积操作示意图;
图5是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的第三阶段中PRNet模型训练示意图;
图6是本发明基于卷积神经网络的中文车牌识别方法一较佳实施例的整体流程图。
【具体实施方式】
[0020]下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0021]请参阅图1-6,在本发明的一个具体实施例中提供一种基于卷积神经网络的中文车牌识别方法,所述的基于卷积神经网络的中文车牌识别方法包括包括如下步骤:
SI:车牌定位步骤,将颜色模板匹配算法和轮廓查找算法相结合,定位出车牌;
S2:字符分割步骤,将灰度化后的车牌矩形块,二值化、闭操作、取轮廓后,可以得到外接矩形,从而截取出字符图块;
S3:卷积神经网络的设计和训练步骤,其中,卷积神经网络设置为10层结构,包括I个输入层、I个输出层、2个用于特征提取的卷积层、2个用于特征优化选取的抽样层、2个用于表示特征的全连接层、I个用于快速收敛的激励层和I个用于计算输出和目标损失值的损失层;
S4:字符识别步骤,使用S3中预先训练好的卷积神经网络,作为分类器,将要识别的字符输入,得到分类结果和其置信率。
[0022]在SI中使用颜色查找算法,对图像预处理并进行颜色模板的匹配,并判断车牌是否匹配成功。如果颜色查找算法无法定位车牌,则使用轮廓查找算法,将图像灰度化后,进行角度判断和尺寸检测,得到车牌矩形块,同时使用预先训练的支持向量机分类器,筛选出真正的车牌。所述车牌定位既可以应用于静态图像,又可以应用于动态视频,若为动态视频时,则先提取出关键帧,再作为静态图像处理。使用S2中分割出来的字符,作为数据集,进行迭代训练,将数据集按8:2比例分为训练集和验证集,经过10万次迭代,训练出卷积神经网络模型。
[0023]在一个具体实施例中:一种基于卷积神经网络的中文车牌识别方法,使用传统的计算机视觉和图像处理技术,从动态视频或静态图片中,定位出车牌,并切割成字符;使用预先训练好的表征能力强大的卷积神经网络(CNN)分类字符,将分类结果组合成车牌字符串;针对中文车牌的中文字符难识别的问题,使用CNN可以明显提高识别率。
[0024]具体来说包括如下步骤:
(I)车牌定位:将颜色模板匹配算法和轮廓查找算法相结合,定位出车牌。首先使用颜色查找算法,对图像预处理后,进行黄蓝两色的颜色模板匹配,若成功则很有可能为车牌。如果颜色查找算法无法定位车牌,则使用轮廓查找算法,将图像灰度化后,使用Sobel算子取轮廓,进行角度判断和尺寸检测,得到可能车牌矩形块。为了进一步提高准确率,使用预先训练的支持向量机(SVM)分类器,筛选出真正的车牌。
[0025](2)字符分割:将灰度化后的车牌矩形块,二值化、闭操作、取轮廓后,可以得到外接矩形,从而截取出字符图块。中文字符由于存在笔画区间,在取轮廓的时候,会产生断裂现象,分割成多个轮廓。针对这一问题,使用位置反推方法,由第二位城市代码字符,反推出中文字符位置。
[0026](3)CNN的设计和训练:本发明设计的CNN的简称PRNet,共有10层结构,包括I个输入层、I个输出层、2个卷积层、2个抽样层、2个全连接层、I个激励层和I个损失层。其中,卷积层,用于特征提取;抽样层,用于特征优化选取;全接连层,用于表示特征;激励层,用于快速收敛;损失层,用于计算输出和目标损失值。与传统的光学字符识别技术(OCR)和人工神经网络算法(ANN)相比,该PRNet模型表征能力更强,容错率更高,可以更好地学习到中文车牌特征信息,达到更好字符识别效果。为了训练该PRNet模型,需要使用步骤(2)的分割出来的字符,作为数据集,进行迭代训练。将数据集按8:2比例分为训练集和验证集,经过10万次迭代,训练出PRNet模型。由于该PRNet模型是通过最小化输出和目标的损失(loss)来驱动学习,在不断迭代训练中,可以自我纠正学习效果。
[0027](4)字符识别:使用步骤(3)预先训练好的PRNet,作为分类器,将要识别的字符输入,可以得到分类结果和其置信率。组合车牌的7个字符分类结果,便得到车牌识别结果。
[0028]步骤(I)中的所述车牌定位方法既可以应用于静态图像,又可以应用于动态视频,动态视频需要先提取出关键帧,再作为静态图像处理。
[0029]步骤(3)中的PRNet的训练是基于伯克利大学视觉和学习中心(BVLC)的深度学习框架caffe。
[0030]步骤(4)中使用的PRNet只需要经过一次训练,可以多次多处使用。
[0031]本发明技术方案主要分为四个阶段,分别是:车牌定位、车牌字符分割、卷积神经网络的设计和训练、应用卷积神经网络进行识别。其中车牌定位和车牌字符分割主要使用计算机视觉和图像处理技术。卷积神经网络的设计可以针对特定情况,进行优化;而训练过程需要一个较长但是可接受的时间。该卷积神经网络只需要一次训练,便可以多次多处使用。所以实际应用场景中,本发明实施方案只有三部分,即车牌定位、字符分割和使用卷积神经网络识别。
[0032]—、车牌定位阶段,如图1所示,将颜色模板匹配算法和轮廓查找算法相结合,准确定位出车牌。由于输入图像大多处于RGB颜色空间,而RGB是一个基于红绿蓝三色按比例搭配产生不同颜色的空间,这对使用黄蓝两色模板匹配带来了很大困难。因此需要将输入图像转换到适宜的HSV颜色空间,寻找H值在200-280之间并且S值和V值落在0.35-1.00之间的区域,这些区域很大可能性为车牌。
[0033]如果颜色模板匹配算法无法定位车牌,或者定位车牌数量少于预设阈值,则继续使用轮廓查找算法定位车牌。先高斯模糊,对图像去噪,然后灰度化,将图片转化为灰度图片。使用Soble算子检测图像中的垂直边缘,在二值化后进行闭操作,让车牌字母连成一个连通域,以便于取轮廓。将取轮廓得到矩形,进行尺寸判断和角度判断,排除非车牌矩形块。为了后续车牌字符分割得到更好的效果,需要对车牌进行旋转和归一化。为了进一步提高车牌定位率,使用预先训练的支持向量机分类器,筛选出真正的车牌。
[0034]二、字符分割阶段,如图2所示,这一步操作较为简单。在上个阶段成功定位出车牌图片的基础上,将所有车牌文字一一分割开来,形成单一的字符块。首先将上一阶段输出的车牌图片转为灰度图片。由于在字符取轮廓的时候,针对黄蓝车牌的二值化参数不同,需要在这里进行颜色判断。然后使用自适应阈值算法(大津阈值法)进行二值化操作后,取轮廓得到后6个字符。这里不取全部7个字符的原因在于,首位中文字符由于笔画区间的原因,如“苏”字,取轮廓会将其分成两个连通区域。为了解决该问题,由第二位的城市代码字母往前推字符宽度的1.15倍距离,即为中文字符。经过该阶段,字符分割过程完成,得到车牌的7个字符块图片。
[0035]三、卷积神经网络设计和训练阶段。本发明设计的车牌识别卷积神经网络简称PRNet,其结构如图3所示,一共有10层。下面逐层讲解其作用和设计思路。
[0036]输入层为输入的字符,尺寸为32x32。
[0037]卷积层由20幅特征图组成,每幅特征图中的每个神经元与前层输入图像相同区域相连,提取图像中的边缘、拐点等非视觉特征,进过卷积操作,输出图像尺寸为28*28。所谓卷积操作就是将将图像中符合条件的部分筛选出来,也就是提出特征。如图4所示,一个5x5的图像灰度值矩阵,进过一个3x3的卷积内核操作后,得到一个3x3的图像矩阵。以最中间9个单元格为例,其卷积权值分别为1、0、1、0、1、0、1、0、1,卷积后得到一个值为4的单个格。在本发明设计的PRNet中,卷积层内核都为5x5.抽样层(也叫池化层)通过次抽样来对特征二次采样,并是卷积得到的特征具有空间不变性。该层特征图数目与前一层卷积层中特征图数目相一致,内核为2x2。
[0038]为了提高采样精度,提取更多特征细节,PRNet构造了两次卷积层-抽样层结构,并且第二节卷积层-抽样层特征图幅数变为50。
[0039]全链接层(也叫内连层)用来表示特征,学习更多信息。第一个全链接层共有500个输出神经元,可以表示更多的特征细节。第二个全链接层收敛到65个输出神经元,这与最终输出数目相一致。
[0040]激励层用来快速收敛,将500个输出收敛到65个。这65个输出也就对应车牌的65个字符(其中包括31个省市直辖市、24个字母和1个数字)。
[0041]损失层用来帮助PRNet模型自动纠正学习效果,通过最小化输出和目标的损失(loss)来驱动学习。
[0042]如图5所示,PRNet模型训练有两个过程,分别是向前传播和向后传播。向前传播是一个从底层到顶层的过程,将模型中每一层都当作函数,计算输出,最终到达顶部损失层。而向后传播(也叫反向传播),是从顶层到底层的过程,由损失值计算每一层的导数,最后到达底层找到关键参数,修正模型的学习参数,来达到自我纠正学习效果的功能。
[0043]将数据集按8:2比例分为训练集和测试集,以Imdb格式存储起来,形成数据层。在开源深度学习框架caffe中,以protobuf格式定义好上面定义的模型结构,预设好初始参数,进行10万次迭代。在不断自我学习和纠正中,最终得到一个识别率很高的车牌识别卷积神经网络PRNet。
[0044]四、字符识别阶段,使用上一阶段训练出来的PRNet模型,对需要识别的字符图块进行分类,分类结果即为该字符图块的真实值。组合车牌的7个字符图块分类结果,便可以得到该车牌识别结果。
[0045]因此,本发明具有以下优点:
一、通过将颜色模板匹配算法和轮廓查找算法相结合,大大提高了车牌定位准确率;
二、通过基于归一化和扭正后的车牌,使用位置反推法,很好地定位中文字符;
三、通过使用卷积神经网络直接从原图识别视觉模式,自我学习与纠正,在完成很高识别率的情况下,避免了大量的预处理工作;
四、卷积神经网络可以一次训练,多次使用,且单次识别时间在毫秒级别,能够胜任需要实时车牌识别的场景。
[0046]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种基于卷积神经网络的中文车牌识别方法,其特征在于,包括包括如下步骤: Si:车牌定位步骤,将颜色模板匹配算法和轮廓查找算法相结合,定位出车牌; S2:字符分割步骤,将灰度化后的车牌矩形块,二值化、闭操作、取轮廓后,可以得到外接矩形,从而截取出字符图块; S3:卷积神经网络的设计和训练步骤,其中,卷积神经网络设置为10层结构,包括I个输入层、I个输出层、2个用于特征提取的卷积层、2个用于特征优化选取的抽样层、2个用于表示特征的全连接层、I个用于快速收敛的激励层和I个用于计算输出和目标损失值的损失层; S4:字符识别步骤,使用S3中预先训练好的卷积神经网络,作为分类器,将要识别的字符输入,得到分类结果和其置信率。2.根据权利要求1所述的基于卷积神经网络的中文车牌识别方法,其特征在于,在SI中使用颜色查找算法,对图像预处理并进行颜色模板的匹配,并判断车牌是否匹配成功。3.根据权利要求1所述的基于卷积神经网络的中文车牌识别方法,其特征在于,在SI中如果颜色查找算法无法定位车牌,则使用轮廓查找算法,将图像灰度化后,进行角度判断和尺寸检测,得到车牌矩形块,同时使用预先训练的支持向量机分类器,筛选出真正的车牌。4.根据权利要求1所述的基于卷积神经网络的中文车牌识别方法,其特征在于,在SI中所述车牌定位既可以应用于静态图像,又可以应用于动态视频,若为动态视频时,则先提取出关键帧,再作为静态图像处理。5.根据权利要求1所述的基于卷积神经网络的中文车牌识别方法,其特征在于,在步骤S3中,使用S2中分割出来的字符,作为数据集,进行迭代训练,将数据集按8:2比例分为训练集和验证集,经过10万次迭代,训练出卷积神经网络模型。
【文档编号】G06K9/20GK106096602SQ201610445168
【公开日】2016年11月9日
【申请日】2016年6月21日
【发明人】刘安, 孙悦, 周晓方, 李直旭, 赵雷
【申请人】苏州大学