一种车牌识别方法、系统、电子设备和可读存储介质与流程

文档序号:33373913发布日期:2023-03-08 03:18阅读:37来源:国知局
一种车牌识别方法、系统、电子设备和可读存储介质与流程

1.本发明涉及图像识别领域,尤其涉及一种车牌识别方法、系统、电子设备和可读存储介质。


背景技术:

2.车牌识别技术是指通过图像传感器检测受监控路面的车辆并自动提取车辆牌照信息(包括汉字、大写英文字母、阿拉伯数字和车牌颜色等),并且进行相应处理的技术。车牌识别是智能交通系统中的重要组成部分之一,有着广泛的应用场景。
3.但车牌识别往往由于高速运动、光照、遮挡、扭曲、模糊等原因导致识别可能不太准确,另外,识别的速度和能耗也是制约很多场景应用的因素。因此,如何提高车牌识别的准确性和及时性成为了热门课题。目前的车牌识别方法较多的是利用卷积神经网络进行单个字符提取和字符识别,该方法采用的是消耗较大的卷积神经网络的训练资源解决模式识别类问题,消耗大,耗能高,对运算设备要求高,且识别不够准确。
4.因此,急需一种识别速度快、准确率高、耗能低的车牌识别方法来解决上述问题。


技术实现要素:

5.为了解决现有技术中的至少一个技术问题,本公开提供了一种车牌识别方法、系统、电子设备和可读存储介质。
6.根据本公开的第一方面,提供了一种车牌识别方法,包括以下步骤:
7.步骤1:对采集的原始图像进行预处理得到每个车牌字符图像;
8.步骤2:通过对所述车牌字符图像的横向平铺和纵向平铺执行短时傅立叶变换,生成将要识别的实际图形模板;
9.步骤3:利用knn算法,将所述实际图形模板与字符的参考模板进行比较,找到最接近的两个参考模板;
10.步骤4:从所述最接近的两个参考模板中确定最终参考模板,最终参考模板的字符即为识别出的字符。
11.根据本公开的另一方面,提供了一种车牌识别系统,包括以下单元:
12.图像预处理单元,用于对采集的原始图像进行预处理得到每个车牌字符图像;
13.实际图形模板生成单元,用于通过对所述每个车牌字符图像的横向平铺和纵向平铺执行短时傅立叶变换,生成将要识别的实际图形模板;
14.模板匹配单元,用于利用knn算法,将所述实际图形模板与字符的参考模板进行比较,找到最接近的两个参考模板;
15.确定单元,用于从所述最接近的两个参考模板中确定最终参考模板,最终参考模板的字符即为识别出的字符。
16.根据本公开的另一方面,提供了一种电子设备,包括:
17.处理器;以及
18.存储程序的存储器,
19.其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述方法。
20.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法。
21.本技术实施例中提供的一个或多个技术方案,可以实现提高车牌识别的准确性、及时性,降低识别运算量和耗能的技术效果。
附图说明
22.附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
23.图1示出了根据本公开示例性实施例的车牌识别方法的流程图。
24.图2示出了根据本公开示例性实施例的车牌识别方法和系统应用的参考模板的示意图。
25.图3示出了根据本公开示例性实施例的车牌识别方法的模板匹配阶段的流程图。
具体实施方式
26.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
27.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
28.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
29.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
30.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
31.以下参照附图描述本公开的方案的实施例。
32.短时傅立叶变换(stft)是一种与傅立叶变换有关的数学变换,用于确定时变信号的局部正弦波的频率和相位。与小波变换类似,由stft处理的信号在时域和频域[5]局部特征,通常用于分析信号特征。stft将在时域中将原始傅立叶变换转换为多个片段,并执行傅
立叶变换。k邻近算法(k-nearest neighbor,knn)是一种基于模式识别的统计方法,其作为一种机器学习分类算法普遍应用在各种学术场景。它是基于实例的学习方法中最简单的机器学习算法之一,也是最基本和最佳的文本分类算法之一。通过测量不同特征值之间的距离对knn进行分类。
[0033]
本公开实施例揭示了一种车牌识别方法和系统。如图1所示,该方法中,包括以下步骤:
[0034]
步骤1:对采集的原始图像进行预处理得到每个车牌字符图像;
[0035]
步骤2:通过对每个车牌字符图像的横向平铺和纵向平铺执行短时傅立叶变换,生成将要识别的实际图形模板;
[0036]
步骤3:利用knn算法,将实际图形模板与字符的参考模板进行比较,找到最接近的两个参考模板;
[0037]
步骤4:从最接近的两个参考模板中确定最终参考模板,最终参考模板的字符即为识别出的字符。
[0038]
与现有技术中经常利用的卷积神经网络进行单个字符提取和字符识别相比,该方法采用的stft和knn算法运算量小得多,因而消耗小,耗能低,对运算设备要求较低,同时由于该方法在找到最接近的两个参考模板之后,通过运算进一步从中选出最佳的最终参考模板,从而做出更精确的决策,因而识别更为准确。
[0039]
该方法中,步骤1进行图像预处理。图像预处理的目的是从原始图像中提取每个车牌字符图像,具体包括三个重要步骤:图像去噪,提取车牌区域和提取车牌字符图像。
[0040]
首先,对图像进行降噪处理。对采集到的原始图像进行直方图均衡化以解决对比度问题,以便将像素强度设置为均匀分布。然后,进行二值化处理,形成二值化图像。在二值化之后,对车牌号图像进行边缘检测并通过使用腐蚀和膨胀来平滑和连接边缘,以找到图像中车牌的位置并生成车牌蒙版;同时,对二值化图像进行图像去噪处理,包括中值滤波和边缘锐化,形成去噪后图像。然后,将形成去噪后图像与车牌蒙版一起进行逐元素积运算,并裁剪以提取出精确的车牌区域。最后,通过移动边界框在确切的车牌区域中搜索所有连接的组件来提取每个车牌字符图像,每个车牌字符图形包括字母、数字等。
[0041]
该方法中,如图2所示,针对于车牌识别,本公开实施例提前收集了字母a到z,数字是0到9的黑白图像,作为参考模板。为了更好地适应不同角度的字母与数字的识别任务,参考模板还引入了一些数字和字母的填充(filled)版本,以减少对单个字符识别不充分引起的错误。
[0042]
该方法中,步骤2至4进行模板匹配。如图3所示,模板匹配阶段包括使用stft和knn算法来识别每个字符。采用stft算法,通过对第一阶段提取出的每个车牌字符图像的横向平铺和纵向平铺执行stft算法生成将要识别的实际图形模板;采用knn算法对实际图形模板进行竖向横向扫描,通过将实际图形模板与字符的参考模板进行对比,,找到最接近的两个参考模板;从最接近的两个参考模板中进一步确定最佳匹配,即确定最终参考模板,从而提高识别准确率。
[0043]
生成实际图形模板是识别的核心部分,它定义了如何将每个字符或数字表示为模板矩阵,以便将要识别的实际图形模板与参考模板进行比较以进行识别。本公开实施例通过对第一阶段中提取出的车牌字符图像的横向平铺和纵向平铺执行stft来生成实际图形
模板。如图3中所示,假设将一个车牌字符图像划分为四个像素点,左上、右上、左下、右下分别编码为1、2、3、4,则横向平铺的含义是逐列进行扫描,并将扫描得到的点在水平方向上按照从左至右排列,纵向平铺的含义是逐行进行扫描,并将扫描得到的点在水平方向上按照从左至右排列。因为图案的形状可以进行竖直解码与水平解码。以水平解码为例,如果将stft应用于水平的图像,并且其窗口大小与原始图像的行的长度相同,并且没有重叠。频谱图的时间轴表示每行的频率分析,该分析编码了像素值在该行中的分布方式。此外,通过组合所有行信息,频谱图矩阵在水平方向上对所有形状信息进行了编码。最终,对于提取出的车牌中的每个字符图像,都使用stft创建了其自己的实际图形模板。
[0044]
利用knn算法找到最佳的两个模板匹配,即针对提取出的每个字符图像,将其实际图形模板与字符的参考模板进行比较,找到匹配度最高,即最接近的两个参考模板。计算匹配分数的操作是l2(损失)距离。找到最接近的两个参考模板的原因是要以非常熟悉的形式解决识别的歧义,即“8”和“b”,“7”和“1”,“5”和“6”。当以一定角度拍摄图像时,图像的失真会引起歧义。然后,在找到最接近的两个参考模板之后,执行微调以做出更精确的决策。对于“8”和“b”,标准是计算图像最左边的线的方差,通过该方差,“8”在水平方向和垂直方向上都是对称的,而“b”仅在水平方向上是对称的。通过逐行和逐列扫描,可以找到结构的垂直和水平中间线,然后计算这四个段之间的协方差。同时,“8”图像上四个片段之间的协方差将相似,而“b”图像上四个片段之间的协方差相差很大,而对于“7”和“1”,顶线长度和底线长度之间的差异测量线的高度,使“7”的顶部/底部长度比比“1”长得多。最终,在执行微调操作之后,可以成功检测到数字或字符。本公开实施例揭示的使用stft和knn算法的车牌识别系统中,包括以下单元:
[0045]
图像预处理单元,用于对采集的原始图像进行预处理得到每个车牌字符图像;
[0046]
实际图形模板生成单元,用于对每个车牌字符图像从水平、垂直两个方向执行短时傅立叶变换,生成将要识别的实际图形模板;
[0047]
模板匹配单元,用于利用knn算法,将实际图形模板与字符的参考模板进行比较,找到最接近的两个参考模板;
[0048]
确定单元,用于从最接近的两个参考模板中确定最终参考模板,最终参考模板的字符即为识别出的字符。
[0049]
图像预处理单元包括图像去噪子单元、提取车牌区域子单元和提取车牌字符图像子单元,其中图像去噪子单元包括:直方图均衡化处理模块,用于对采集到的原始图像进行直方图均衡化处理;二值化处理模块,用于对直方图均衡化处理后的图像进行二值化处理,形成二值化图像。
[0050]
提取车牌区域子单元包括生成车牌蒙版模块,用于对二值化图像中的车牌号图像进行边缘检测并通过使用腐蚀和膨胀来平滑和连接边缘,生成车牌蒙版;二值化图像处理模块,用于对二值化图像进行图像去噪处理,包括中值滤波和边缘锐化,形成去噪后图像;裁剪模块,用于将去噪后图像与车牌蒙版一起进行逐元素积运算,并裁剪出车牌区域。
[0051]
提取车牌字符图像子单元用于通过移动边界框在车牌区域中搜索来提取每个字符。
[0052]
模板匹配单元通过计算损失距离找到最接近的两个参考模板。确定单元通过计算构成字符的线的方差或长度差的方式,确定最终参考模板。
[0053]
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。该存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本公开实施例的上述方法。
[0054]
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的上述方法。
[0055]
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
[0056]
本公开实施例中的电子设备可以为各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0057]
本公开实施例提出的上述方法、设备、系统、计算机程序产品能够提高车牌识别的准确性、及时性,降低识别运算量和耗能。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1