CN107688811B - 车牌识别方法及装置 - Google Patents
车牌识别方法及装置 Download PDFInfo
- Publication number
- CN107688811B CN107688811B CN201710817860.8A CN201710817860A CN107688811B CN 107688811 B CN107688811 B CN 107688811B CN 201710817860 A CN201710817860 A CN 201710817860A CN 107688811 B CN107688811 B CN 107688811B
- Authority
- CN
- China
- Prior art keywords
- sub
- character
- lattice
- sample
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Abstract
本发明实施例公开一种车牌识别方法及装置,通过将车牌图像按照预设尺寸的子格进行提取,并分别对提取到的每个待识别子格区域进行字符识别,最终得到目标车牌。由于各个待识别子格区域相互独立、互不重叠,故很少出现冗余的识别结果,不需要先验知识来排除冗余识别结果,从而本实施例可以准确识别字符间距、字符位数等格式信息未知的自由格式车牌号码;同时,也由于各个待识别子格区域之间互不重叠,相对于现有技术产生大量重叠的候选区域的情况,本发明实施例可以减少数据处理量,提高识别效率。另外,由于待识别子格区域的尺寸是根据字符尺寸设定的,与图像尺寸无关,因此本实施例中训练得到的车牌识别模型可以对任意尺寸的图像进行车牌识别。
Description
技术领域
本发明涉及智能交通技术领域,尤其涉及一种车牌识别方法及装置。
背景技术
车牌识别是智能交通系统中的一项核心技术,其通过获取包含车牌的图像、利用识别算法对图像中的字符进行识别,从而得到车牌号码,大大方便了相关人员及系统对于车辆的管理,在交通监控、车辆违章检测、停车场、高速公路收费站等方面有着广泛的应用。虽然现在已经有了一些相对成熟的车牌识别技术,但是随着实际应用场景对识别效率、识别准确率等性能的更高要求,以及相关领域的新发展,促使了车牌识别技术的改进。
车牌识别技术中最关键的部分即用于识别车牌字符的识别技术。目前车牌识别技术多是基于神经网络实现的,例如目标检测算法中比较先进的快速区域卷积网络算法(Faster Regions with Convolutional Neural Network,Faster R-CNN)和YOLO9000算法。
基于Faster R-CNN算法在训练阶段通过对图像密集采样生成大量候选区域,针对每个候选区域内的图像块进行字符识别,然后再将上述两个步骤各重复一次(即候选区域生成和字符识别各执行两次,共四个训练步骤),不仅训练步骤繁复,还会导致候选区域多而密集,并存在大量重叠,进而导致数据冗余、处理速度慢;同时,由于候选区域的大量重叠,位于重叠区域内的同一个或几个字符可能被识别出多种不同的结果,对于已知格式车牌,此时可以通过车牌格式所规定的字符间距、排列方式等先验知识排除多个识别结果中的错误结果,但对于自由格式车牌(车牌号码格式不定、字符位数不定),由于无法预先得知其先验知识,也就无法准确排除错误识别结果,故该算法对自由格式车牌的识别率很低。另外,YOLO9000算法在训练过程中所输入的样本图像的尺寸都是相同且固定的,从而在利用训练得到的识别模型进行识别时,要求所输入的待识别图像的大小也必须与训练时完全一致(通常分辨率为448*448像素);然而一些自由格式的车牌大小和长宽比都是不确定的,不一定都能适应某一种固定的图像尺寸。可见,相关现有技术在进行车牌识别时,都是在车牌格式已知且固定的前提下实现的,难以保证对自由格式车牌的识别效率及准确度。
发明内容
为克服现有技术中存在的问题,本发明提供一种车牌识别方法及装置。
本发明实施例的第一方面,提供一种车牌识别方法,包括:
获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
可选的,所述方法还包括:
获取候选区域配置参数;
针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域;
所述对所述待识别子格区域进行字符识别,包括:
确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
可选的,所述根据所述字符识别结果得到所述待识别图像中的目标车牌的步骤,包括:
根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌。
可选的,所述方法还包括:
获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;
通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域,并对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
根据所述标注信息获取所述样本子格区域对应的期望识别结果;
获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
可选的,所述方法还包括:
获取候选区域配置参数;
在获取到所述样本子格区域后,根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域;
所述对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果的步骤,包括:
确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果;
针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
可选的,所述标注信息包括所述样本图像中每个车牌字符的字符类型和字符位置坐标;
所述根据所述标注信息获取所述样本子格区域对应的期望识别结果的步骤,包括:
针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果;
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符所在区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符所在区域的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符所在区域。
本发明实施例的第二方面,提供一种车牌识别装置,包括:
信息获取模块,用于获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
字符识别模块,用于通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
结果处理模块,用于获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
可选的,所述信息获取模块还用于获取候选区域配置参数;
所述装置还包括:
候选区域生成模块,用于针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域;
所述字符识别模块具体被配置为:
确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
可选的,所述结果处理模块具体被配置为:
根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌。
可选的,所述装置还包括:样本训练模块,用于训练得到所述车牌识别模型;
所述样本训练模块包括:
样本信息获取单元,用于获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;
子格区域提取单元,用于通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域;
实际结果获取单元,用于对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
期望结果获取单元,用于根据所述标注信息获取所述样本子格区域对应的期望识别结果;
模型优化单元,用于获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
可选的,所述样本训练模块还包括:
候选区域生成单元,用于获取候选区域配置参数,并在获取到所述样本子格区域后,根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域;
所述实际结果获取单元具体被配置为:
确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果;
针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
可选的,所述标注信息包括所述样本图像中每个车牌字符的字符类型和字符位置坐标;
所述期望结果获取单元具体被配置为:
针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果;
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符所在区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符所在区域的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符所在区域。
第三方面,本发明实施例还提供了一种电子设备,可以包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:
获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种车牌识别方法。
第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种车牌识别方法。
本发明实施例提供的技术方案,通过对车牌图像设置矩形网格,将车牌图像划分为多个子区域,分别对每个子区域进行分析、训练及识别,最后通过将各个子区域的识别结果进行合并,即可得到最终的车牌号码识别结果。本发明实施例中由于各个子区域相互独立、互不依赖、互不重叠,冗余数据少,从而数据处理速度快,很少出现冗余的识别结果,更不需要依赖字符间距、排列顺序等先验知识来排除冗余识别结果中的错误结果,从而无论待识别的车牌号码的格式如何、有几位字符,都可以通过相应区域处的子区域识别出来,再通过合并得到最终的车牌号码,故本发明实施例可以保证对任意格式车牌图像的识别精度。另外,本发明实施例中,子区域尺寸是参照要识别的字符大小设置的,候选区域是基于每个子区域产生的,因此,相对于现有技术在整个图像范围内生成上千个甚至更多各种大小的候选区域,本实施例可以大大减少候选区域的个数,从而减少数据处理量,提高识别效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种车牌识别方法的流程图;
图2是根据一示例性实施例示出的图像处理示意图;
图3是根据一示例性实施例示出的车牌识别方法中基于样本图像的模型训练方法的流程图;
图4是根据一示例性实施例示出的车牌识别方法中9种偏移方向的示意图;
图5是根据一示例性实施例示出的另一种车牌识别方法的流程图;
图6是根据一示例性实施例示出的一种车牌识别装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种车牌识别方法的流程图。参照图1,该方法包括以下步骤:
S11、获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
本发明实施例中,所述预设子格宽度Wcell和预设子格高度Hcell不是随意设定的,而是根据待检测的车牌字符的大小而设定的,即Wcell不大于待检测的车牌字符的宽度Wchar,且Hcell不大于待检测的车牌字符的高度Hchar;这样可以保证在下文步骤S12中获取的每个待识别子格区域中最多包含一个完整字符,相对于一个子格区域中存在两个甚至更多个字符,本实施例可以提高每个待检测子格区域内的字符识别准确度,从而提高对整个车牌的识别准确度。
需要说明的是,本发明实施例中,为保证识别精度,所述待识别图像优选为通过车牌定位技术从包含大量背景区域的车辆图像中确定并抠取的车牌区域图像。实际应用中,由于车牌是按照一定规格制造的,当车牌尺寸确定时,该车牌中字符的尺寸也就可以确定(自由格式车牌只是字符间距、字符的具体排列方式等具体格式不同于一般的标准车牌);因此,本实施例中,在不改变预设子格宽度和预设子格高度的情况下,可以通过对作为待检测图像的车牌区域图像进行缩放来保证其中的待检测字符尺寸大于所述预设子格宽度Wcell和预设子格高度Hcell,进而保证识别准确度。
S12、通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域;
S13、通过所述车牌识别模型对每个所述待识别子格区域进行字符识别;
所述待识别图像作为输入图像输入所述车牌识别模型后,可以以该待识别图像的左上角为起始原点,依次获取待识别子格区域,然后通过所述车牌识别模型分别对获取到的每个待识别子格区域进行字符识别,得到每个待识别子格区域对于的字符识别结果。所述字符识别结果即相应待识别子格区域内的字符信息,如字符类型、字符位置等。
以图2所示的车牌图像200为例,当其作为待识别图像输入所述车牌识别模型后,从该图像200的左上角开始,以Wcell为横向步长、Hcell为纵向步长,依次获取宽度为Wcell、高度为Hcell的待识别子格区域并对获取到的待识别子格区域进行字符识别,即图2中所示的27(即9*3)个虚线框区域。
需要说明的是,实际应用中,不能保证待识别图像的宽度和高度恰好为Wcell和Hcell的整倍数,故本实施例在剩余宽度和剩余高度小于相应方向上的步长时,不再获取待识别子格区域,如图2中图像200的宽度并不恰好为Wcell的整倍数,故在沿横向方向获取到9个待识别子格区域后,剩余区域的宽度w小于Wcell,则不再沿横向方向获取;纵向方向上同理。
S14、获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
本实施例中,在获取到每个待识别子格区域对应的字符识别结果后,对这些字符识别结果进行合并操作,即可得到待识别图像中所包含的目标车牌。
由以上技术方案可知,本发明实施例提供的车牌识别方法,通过将车牌图像按照预设尺寸的子格进行提取,并分别对提取到的每个待识别子格区域进行字符识别,最终得到目标车牌。由于各个待识别子格区域相互独立、互不重叠,故很少出现冗余的识别结果,不需要先验知识来排除冗余识别结果,从而本实施例可以准确识别字符间距、字符位数等格式信息未知的自由格式车牌号码;同时,也由于各个待识别子格区域之间互不重叠,相对于现有技术产生大量重叠的候选区域的情况,本发明实施例可以减少数据处理量,提高识别效率。另外,由于待识别子格区域的尺寸是根据字符尺寸设定的,与图像尺寸无关,因此本实施例中训练得到的车牌识别模型可以对任意尺寸的图像进行车牌识别。
上文所述步骤S11~S14(即图1)为车牌识别过程中利用预先训练好的车牌识别模型对待识别图像的识别进行识别的流程,本发明实施例提供的车牌识别方法还包括图3所示的模型训练流程,以得到识别流程所需的所述车牌识别模型。
参照图3,本发明实施例中训练得到所述车牌识别模型的过程包括以下步骤:
S21、获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;
实际应用中,可以结合车牌定位技术,从包含大面积背景部分的图像中定位并抠取车牌区域,得到多个不同的车牌样本图像。
本实施例中,对每个样本图像,还要获取其标注信息,该标注信息用于记录该样本图像中真正包含的字符内容、字符位置等信息,从而根据这些标注信息来对车牌识别模型进行训练优化。具体的,本实施例中样本图像的每个车牌字符对应一条标注信息,其中至少包括该车牌字符的字符类型(具体可以是字符本身或该字符对应的预设标识码),以及该车牌字符的位置坐标。如图2所示,当该图像200作为样本图像时,要同时获取其中包含的“E”、“C”、“F”、“2”、“7”、“9”和“6”七个车牌字符的标注信息。
本实施例中,所述标注信息中每个车牌字符的位置坐标具体可以采用该车牌字符的外接框的坐标,即{xref,yref,wref,href};其中,xref和yref分别为对应车牌字符的外接框的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wref和href分别为该外接框的宽度和高度。
需要说明的是,本发明实施例所述的预设参考点(包括前文出现的预设标注框的预设参考点,以及后文中的子格区域的预设参考点、候选区域的预设参考点),既可以是相应区域的中心点,也可以是相应区域的四个顶点中的任一个;根据这5种参考点中的任意一个,结合相应区域的宽度和高度,可以计算得到另外四种参考点的坐标,因此可以根据应用需求进行坐标变换。可选的,为便于人工标注,本实施例的标注信息中以车牌字符外接框的左上角为其预设参考点来标注该车牌字符的位置坐标。以图2中的车牌字符“6”为例,其位置坐标{xref,yref,wref,href}中的xref和yref分别为“6”的外接框的左上角在该图像200的坐标系中的横坐标和纵坐标,wref和href分别为“6”的外接框的宽度和高度。
S22、通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域,并分别执行步骤S23和S24;
本实施例旨在以子格区域为单位来对样本图像进行处理,以使训练得到的所述车牌识别模型在对待识别图像进行识别时也以子格区域为单位来进行字符识别。有鉴于此,为保证图像中的每个字符都能被准确识别,每个子格区域(包括样本子格区域和待识别子格区域)的尺寸不宜过大也不宜过小(如果子格区域过大,对应子格区域中则可能容纳两个或更多个字符,不利于准确识别每个字符;如果子格区域过小,对应子格区域中仅能容纳单个字符的一小部分,同样难以准确识别)。本实施例中,对样本图像和待识别图像基于相同的预设子格宽度和预设子格高度进行子格区域的获取,故可以在在线训练过程中根据样本图像中车牌字符的尺寸来设定单个子格区域的最大尺寸,即:所述预设子格宽度Wcell不大于单个车牌字符的宽度Wchar,且所述预设子格高度Hcell不大于单个车牌字符的高度Hchar;同时,还可以进一步限定子格区域的最小尺寸,即:所述预设子格宽度Wcell不小于字符宽度Wchar的1/2,且所述预设子格高度Hcell不小于字符高度Hchar的1/2;子格尺寸和字符尺寸之间的关系可以通过如下公式(1)表示:
需要说明的是,由于从不同车辆图像中抠取到的车牌样本图像的尺寸可能不尽相同,相应的图像中字符尺寸也不尽相同,故为便于统一训练及确定子格区域的尺寸,可以预先将各个样本图像进行适当缩放处理,使各个样本图像中字符的尺寸都统一在一个较窄的尺寸范围内,进而可以将该尺寸范围内的平均字符宽度和平均字符高度作为所述Wchar和Hchar。
S23、通过所述预设识别模型对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
S24、根据所述标注信息获取所述样本子格区域对应的期望识别结果;
S25、获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
需要说明的是,上述步骤S23和S24的执行顺序不分先后,可以同时执行以节约时间,也可以先执行任一步骤。
本实施例中,步骤S23中所执行的动作也就是在对待识别图像进行字符识别时所执行的动作,相当于模拟实际识别过程,得到实际识别结果;相应的,步骤S24即根据样本图像中各个车牌字符的标注信息经过精确计算得到的正确识别结果,也即所述预设识别模型达到理想最佳状态时所能得到的期望识别结果;通过比较所述实际识别结果和期望识别结果之间的差距,即所述误差损失,就可以得知应当如何调节当前的预设识别模型才能使其趋近理想最佳状态,从而使得最终训练得到的车牌识别模型的识别效果最佳。
在本发明一种可行的实施例中,还可以进一步限定预设子格宽度和预设子格高度均为2的指数幂;相应的,上式(1)可以进一步表示如下公式(2):
其中,指数n和m均为正整数,其物理意义为预设识别模型在对样本图像进行模拟识别,或者,训练好的所示车牌识别模型在对待识别图像进行识别的过程中,相应图像的宽度和高度上的降采样(downsample)次数,也即相应模型在每个子格区域的宽度和高度上的降采样次数。因此,在满足式(2)时,通过对样本图像(或待识别图像)进行多次2倍降采样,可以使得每个样本子格区域(待识别子格区域)在相应模型的输出层都变换为一个1*1*d的特征向量(d为输出层的特征图像个数),从而使得用于表征样本图像(待识别图像)信息的数据被大大精简,仅提取并保留字符识别所需的特征图像。
本领域技术人员可以理解的是,在其他实施例中,降采样倍数也可以为除了2以外的其他数值,例如3倍;考虑到计算难度和下采样时的信息损失率,实际应用时可以优选2倍降采样。
例如,假设某样本图像的尺寸为80*32,取样本子格区域尺寸为Wcell=23,Hcell=24,则可以从该样本图像中获取到10*2个样本子格区域;通过对该样本图像在宽度方向上执行3次2倍降采样,在高度方向上执行4次2倍降采样,就可以将原尺寸为80*32的图像变为尺寸为10*2、深度为d的图像,即得到10*2个特征向量,每个特征向量对应一个样本子格区域的字符识别结果。
在一个可行的实施例中,上述步骤S23所述的得到实际识别结果至少包括以下两项:
S231、确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
S232、确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果。
通过对所示样本子格区域进行模拟识别,可以得到所述预设识别模型是否在该样本子格区域内识别出字符(即所述第一实际识别结果),所述预设识别模型实际识别出的字符是什么(即所述第二实际识别结果中的字符类型),以及所述实际识别出的字符与该样本子格区域的相对位置关系(即所述第二实际识别结果中的偏移方向)。
进一步的,上述图3所示训练流程,在步骤S22之后,步骤S23和S24之前,还可以执行如下步骤:
S26、获取候选区域配置参数,并根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域;
所述候选区域配置参数具体可以包括一组或多组。可选的,所述候选区域配置参数可以包括至少一个候选区域的预设宽高比Wanchor/Hanchor,或者,至少一对候选区域的预设宽度值Wanchor和预设高度值Hanchor;另外,所述候选区域配置参数还可以包括至少一个缩放比α,在所述预设宽高比或预设宽度值和预设高度值的基础上,按照所述缩放比进行缩放,即可得到更多个候选区域尺寸。例如,所述候选区域配置参数中记录有如下信息:
{Wanchor/Hanchor=20/11,16/9;α=0.8,1.0,1.2};
根据上述候选区域配置参数中设定的2个宽高比Wanchor/Hanchor和3个缩放比α,可以对一个样本子格区域生成至少2*3=6个候选区域(所有候选区域的中心点都与相应样本子格区域的中心点重合),其宽度Wanchor和高度Hanchor分别为如下表中序号1至6所示。
序号 | 1 | 2 | 3 | 4 | 5 | 6 |
W<sub>anchor</sub> | 20 | 20*0.8 | 20*1.2 | 16 | 16*0.8 | 16*1.2 |
H<sub>anchor</sub> | 11 | 11*0.8 | 11*1.2 | 9 | 9*0.8 | 9*1.2 |
需要说明的是,实际应用中,预设及确定候选区域尺寸的方式可以有多种,上文仅阐述了一种可行的实施方式,本发明实施例并不仅限于此。
本实施例中,每个候选区域的中心都与相应样本子格区域的中心重合,即每个样本子格区域的候选区域是以该子格区域的中心为基准构建的。由于各个样本子格区域是按照固定步长依次获取的,不能保证样本图像中任一个字符都能恰好完整地落在某一个样本子格区域内,故通过宽度和高度与样本子格区域不完全相同的候选区域来预测字符所在位置。如图2所示,对于样本图像200中的一个样本子格区域210,可以根据以其中心点为基准生成第一候选区域211、第二候选区域212等若干个样本候选区域。
基于上述步骤S26所生成的样本候选区域,上述步骤S23所述的得到实际识别结果除了步骤S231和S232之外,还可以包括:
S233、针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符(即通过所述预设识别模型实际识别出的字符)之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
其中,任一候选区域与对应的样本子格区域中存在的字符之间的实际回归目标值,包括:该候选区域的预设参考点(具体可以为中心点和四个顶点中的任一个,为便于计算,优选以候选区域的中心点为其预设参考点)和该字符的外接框的预设参考点之间的实际横坐标偏差度和实际纵坐标偏差度,该候选区域和该字符的外接框之间的宽度偏差度和高度偏差度,以及该候选区域和该字符的外接框之间的检测评价函数值(intersection-over-union,IOU)。
对应于上述步骤S231~S233得到的三种实际识别结果,本发明实施例中步骤S24中根据所述标注信息获取的期望识别结果也包括三种,具体步骤如下:
S240、针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
参照图2,该图像200作为样本图像时,对于其中的每个样本子格区域,都要计算其与“E”、“C”、“F”、“2”、“7”、“9”和“6”七个车牌字符之间的重合度。可选的,本发明实施例基于如下公式(3)来计算任一样本子格区域所围成的区域R1和任一车牌字符的外接框所围成的区域R2之间的重合度:
S241、当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
本实施例中,如果计算得到某个样本子格区域与某个车牌字符之间的重合度为0,或者小于预设阈值,则说明该样本子格区域内部不包含该车牌字符,或者仅包含该车牌字符的一小部分(难以根据这一小部分进行字符识别)。从另一角度来说,对于任意一个样本子格区域而言,如果至少有一个车牌字符与其重合度大于预设阈值,则说明该样本子格区域内存在车牌字符(至少一个),故将该样本子格区域作为正样本;反之,如果每个车牌字符与该样本子格区域的重合度都不大于预设阈值,则可以说明该样本子格区域内不包含任何车牌字符,或者仅包含单个字符的很小一部分,对于训练模型的识别精度无正向作用,故而将该样本子格区域作为负样本。
可选的,在第一期望识别结果或者第一实际识别结果中,可以以编码“1”表示相应样本子格区域为正样本,以编码“0”表示相应样本子格区域为负样本。
需要说明的是,所述预设阈值的具体取值可以根据实际场景需求来调节、设置;例如,一般可以设置该预设阈值为20%,即如果存在一个或几个预设标注框与某样本子格区域的重合度大于20%,则该样本子格区域的第一期望识别结果就记为正样本。
S242、对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
对于某个样本子格区域,如果其与某一个车牌字符的重合度,大于该样本子格区域与其他6个车牌字符中任一个的重合度,说明该重合度最大值对应的车牌字符为该样本子格区域内所占面积最大的字符,故将其作为该样本子格区域对应的目标车牌字符,确定其字符类型及相对于该样本子格区域的偏移方向,得到该样本子格区域对应的第二期望识别结果。
如图4所示的偏移方向示意图,相对于子区域(实线所示)的中心点O,本实施例所述的偏移方向具体可以包括9种:
1)如点O1所示,目标字符的中心位于子区域中心点O偏左上的虚线框内;
2)如点O2所示,目标字符的中心位于子区域中心点O偏上的虚线框内;
3)如点O3所示,目标字符的中心位于子区域中心点O偏右上的虚线框内;
4)如点O4所示,目标字符的中心位于子区域中心点O偏左的虚线框内;
5)如点O5所示,目标字符的中心位于子区域中心点O所在中心区域的虚线框内;
6)如点O6所示,目标字符的中心位于子区域中心点O偏右的虚线框内;
7)如点O7所示,目标字符的中心位于子区域中心点O偏左下的虚线框内;
8)如点O8所示,目标字符的中心位于子区域中心点O偏下的虚线框内;
9)如点O9所示,目标字符的中心位于子区域中心点O偏右下的虚线框内。
可选的,分别为上述9种偏移方向配置唯一的编码,以编码的形式将目标字符的偏移方向记录于相应样本子格区域的第二期望识别结果中。
S243、根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果。
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符的外接框的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符的外接框的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符的外接框所围成的区域。
仍以图2所示图像200为例,将其作为样本图像,对于其中的一个样本子格区域210,假设经过步骤S240~S242确定其对应的目标车牌字符为“2”,以该样本子格区域210的左上角顶点为预设参考点,则该目标车牌字符“2”的外接框所围成的区域记为Rref,其预设参考点坐标为(xref,yref)、宽度和高度分别为wref和href,样本子格区域210的第一候选区域211记为Ranchor1、其预设参考点坐标为(xanchor1,yanchor1)、宽度和高度分别为wanchor1和hanchor1,第二候选区域212记为Ranchor2、其预设参考点坐标为(xanchor2,yanchor2)、宽度和高度分别为wanchor2和hanchor2;则,根据上式(3)可以计算得到第一候选区域211和目标车牌字符“2”之间的5种期望回归目标值:
横坐标偏差度Δx1=(xanchor1-xref)/xref;
纵坐标偏差度Δy1=(yanchor1-yref)/yref;
宽度偏差度Δw1=log(wanchor1/wref);
高度偏差度Δh1=log(hanchor1/href);
检测评价函数IOU1=Overlap(Ranchor1,Rref);
以及,第二候选区域212和目标车牌字符“2”之间的5种期望回归目标值:
横坐标偏差度Δx2=(xanchor2-xref)/xref;
纵坐标偏差度Δy2=(yanchor2-yref)/yref;
宽度偏差度Δw2=log(wanchor2/wref);
高度偏差度Δh2=log(hanchor2/href);
以及,检测评价函数IOU2=Overlap(Ranchor2,Rref)。
基于上述三种实际识别结果和三种期望实际结果,本发明实施例步骤S25中所得到的误差损失可包括:第一实际识别结果和第一期望识别结果之间的误差损失lossobj(即分类错误损失)、第二实际识别结果和第而期望识别结果之间的误差损失losscls,及5种实际回归目标值和5个期望回归目标值之间的误差损失lossreg。
本实施例中每个样本子格区域对应的误差损失loss的计算公式可以为:
loss=lossobj+losscls+lossreg (4)
通过误差损失对车牌识别模型进行优化,即调整车牌识别模型的相关参数使得误差损失最小或者小于预设的误差阈值,从而使得训练得到的车牌识别模型的识别精度更高。
对应于前文所述的样本训练流程(即图3所示流程),可以在图1所示流程的基础上,改进得到图5所示的另一种车牌识别方法流程图。相对于图1所示流程,图5所示车牌识别方法在步骤S12和S13之间,还执行如下步骤:
S15、获取候选区域配置参数,并针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域;
本步骤S15中针对待识别子格生成候选区域的过程,与前文步骤S26中针对样本子格区域生成候选区域的过程相同,此处不再赘述。
基于步骤S15生成的候选区域,步骤S13的字符识别过程,具体可以包括如下三个子步骤:
S131、确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
S132、确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
S133、针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
上述步骤S131~S133分别与前文所述的通过基于深度神经网络的预设识别模型对样本子格区域进行模拟识别的步骤S231~S233,即:步骤S131得到的第一字符识别结果表示相应待识别子格区域中是否识别出目标字符;步骤S132得到的第二字符识别结果表示在相应待识别子格区域中识别出的目标字符是什么(即所述字符类型),以及该目标字符的中心点相对于该待识别子格区域的中心点的偏移方向,根据该偏移方向可以估测该目标字符的整体所在区域;步骤S133得到的第三字符识别结果,即所述回归目标值,表示该待识别子格区域的每个候选区域相对于该目标字符的偏移量,也用于估测该目标字符的整体所在区域。
可选的,针对某个待识别子格区域,可以选择其IOU最大值对应的候选区域来估测其目标字符的位置坐标,即根据IOU最大值对应的候选区域的坐标,和其对应的横坐标偏差度、纵坐标偏差度、宽度偏差度和高度偏差度,依照前文所述的回归目标值计算公式逆向运算,得到目标字符的位置坐标。
另外需要说明的是,前文所述的特征图像个数d具体为上述三种字符识别结果的维度之和,每种字符识别结果的维度不完全相同。例如,上述第一字符识别结果的维度可以为2,上述第二字符识别结果的维度可以为预设的车牌字符类型总个数与偏移方向总个数的乘积(假设车牌字符类型总个数为76,偏移方向总个数为9,则上述第二字符识别结果的维度为76*9),第三字符识别结果的维度为该子格区域的候选区域个数与每个候选区域对应的回归目标值个数的乘积(本实施例中每个候选区域的回归目标值个数为5,假设每个子格主要对应的候选区域个数为6,则上述第三字符识别结果的维度为6*5)。可见,本实施例以子格区域为单位对待识别图像/样本图像进行处理,利用基于深度神经网络的识别模型的降采样操作,既保留了子格区域中必要的字符信息,又大大精简了数据量,提高了识别效率。
在本发明一个可行的实施例中,前文步骤S14中所述的根据所述字符识别结果得到所述待识别图像中的目标车牌,具体可以包括以下步骤:
S141、根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
S142、将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌。
本实施例中,在对每个待识别子格区域进行字符识别,得到各个待识别子格区域对应的字符识别结果后,可以根据实际需要获取并解析三种字符识别结果中的至少一种,来得到目标车牌的相关信息。
具体的,通过解析步骤S131得到的第一字符识别结果和步骤S132得到的第二字符识别结果,可以得知每个待识别子格区域是否存在目标字符,以及如果存在则该目标字符是什么,然后按照各个待识别子格区域之间的相对位置关系将其对应的目标字符进行排列,得到字符矩阵,然后对该字符矩阵在横向和纵向两个方向上执行合并操作,将同一个字符同时在两个待识别子格区域中被识别出来得到的两个相同的目标字符合并为一个,即得到该待识别图像中所包含的字符(车牌号码)。
可选的,本实施例对所述字符矩阵执行合并操作时,所采用的字符合并规则为:将连续且相同的识别结果合并为一个。
以下以横向方向上的合并为例阐述本实施例所述的合并规则。本实施例中,对于判定不存在目标字符的待识别子格区域,可以将预设特殊字符作为所述字符矩阵中该待识别子格区域对应的字符(也可以在字符识别过程中,直接将该预设特殊字符作为该待识别子格的目标字符记录在其第二字符识别结果中);所述预设特殊字符可以为“-”、“#”等与车牌字符不冲突的字符,表示该待识别子格区域为字符之间的空隙区域。基于此,假设位于同一行的从左到右七个待识别子格区域的目标字符依次为“a”、“a”、“-”、“a”、“b”、“-”和“c”,则按照这七个待识别子格区域的相对位置关系进行排列后得到的字符串为“aa-ab-c”。该字符串中,前两个字符相同,故依照本实施例的字符合并规则将二者合并为一个,即变换为包含6个字符的字符串“a-ab-c”;该变换后的字符串,虽然仍存在两个字符“a”,但由于二者之间存在间隔字符“-”,表示两个“a”之间是存在空隙的(同一个字符内部是不会存在空隙的),说明原待识别图像中确实存在两个字符“a”,故不进行合并;最后,去掉字符串中的间隔字符“-”,得到字符串“aabc”,记为最终识别结果。上述字符合并变换过程可以表示为下式(5):
B(aa-ab-c)=aabc (5)
需要说明的是,上述字符合并规则只是本发明一个实施例,在本发明其他可行的实施例中,也可以采用其他字符合并规则/算法对各个子区域的识别结果进行合并,最终得到正确的车牌号码。例如,还可以结合第二字符识别结果中的偏移方向判断两个连续的相同字符是否应当合并为一个:仍以上述七个待识别子格区域的识别结果为例,假设第一个待识别子格区域对应的目标字符“a”相对于该第一个待识别子格区域的偏移方向为“向左”,第二个待识别子格区域对应的目标字符“a”相对于该第二个待识别子格区域的偏移方向为“向右”,由于第二个待识别子格区域在第一个待识别子格区域的右侧,则显然这两个待识别子格区域对应的目标字符“a”在实际图像中不是同一个字符,不应该合并;而如果第一个待识别子格区域的目标字符“a”的偏移方向为“向右”,第二个待识别子格区域的目标字符“a”的偏移方向为“向左”,则可以判定这两个字符“a”在实际图像中是同一个字符,应当将二者合并为一个。
由以上技术方案可知,本发明实施例车牌识别方法以预设尺寸的子格区域为单位进行训练、识别,在生成候选区域时,也是以该子格区域的中心为基准,相对于现有技术中每间隔几个像素就生成一系列候选区域的方式,本发明实施例大大减少了候选区域的个数及重叠率,从而可以减少数据处理量,提高识别效率。
图6是根据一示例性实施例示出的一种车牌识别装置框图。参照图6,该装置包括:信息获取模块601、字符识别模块602和结果处理模块603。
该信息获取模块601,用于获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
该字符识别模块602,用于通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
该结果处理模块603,用于获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
可选的,所述信息获取模块601还可以用于获取候选区域配置参数。相应的,所述车牌识别装置还可以包括:
候选区域生成模块604,用于针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域。
基于上述候选区域生成模块604,所述字符识别模块602具体被配置为:
确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
基于上述字符识别模块602,所述结果处理模块603具体被配置为:
根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌。
在本发明一个可行的实施例中,为得到车牌字符识别缩小的所述的车牌识别模型,上述车牌识别装置还可以包括:样本训练模块605,用于训练得到所述车牌识别模型。
其中,该样本训练模块605可以包括:
样本信息获取单元,用于获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;所述标注信息包括所述样本图像中每个车牌字符的字符类型和字符位置坐标;
子格区域提取单元,用于通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域;
实际结果获取单元,用于对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
期望结果获取单元,用于根据所述标注信息获取所述样本子格区域对应的期望识别结果;
模型优化单元,用于获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
可选的,该样本训练模块605还可以包括:
候选区域生成单元,用于获取候选区域配置参数,并在获取到所述样本子格区域后,根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域。
基于上述候选区域生成单元,所述实际结果获取单元具体被配置为:
确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果;
针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
所述期望结果获取单元具体被配置为:
针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果;
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符所在区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符所在区域的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符所在区域。
关于上述任一实施例中的车牌识别装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例还提供一种电子设备,该电子设备可以包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:
获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌。
本发明实施例还提供一种存储介质,该存储介质用于存储应用程序,所述应用程序用于执行本发明实施例所提供的任一种车牌识别方法。
本发明实施例还提供一种应用程序,该应用程序用于执行本发明实施例所提供的任一种车牌识别方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种车牌识别方法,其特征在于,包括:
获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌;
所述车牌识别方法还包括:
获取候选区域配置参数;
针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域;
对所述待识别子格区域进行字符识别,包括:
确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
2.根据权利要求1所述的车牌识别方法,其特征在于,所述根据所述字符识别结果得到所述待识别图像中的目标车牌的步骤,包括:
根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌;
所述第三字符识别结果,即所述回归目标值,表示该待识别子格区域的每个候选区域相对于该目标字符的偏移量,也用于估测该目标字符的整体所在区域。
3.根据权利要求1所述的车牌识别方法,其特征在于,还包括:
获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;
通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域,并对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
根据所述标注信息获取所述样本子格区域对应的期望识别结果;
获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
4.根据权利要求3所述的车牌识别方法,其特征在于,还包括:
获取候选区域配置参数;
在获取到所述样本子格区域后,根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域;
所述对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果的步骤,包括:
确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果;
针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
5.根据权利要求4所述的车牌识别方法,其特征在于,所述标注信息包括所述样本图像中每个车牌字符的字符类型和字符位置坐标;
所述根据所述标注信息获取所述样本子格区域对应的期望识别结果的步骤,包括:
针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果;
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符所在区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符所在区域的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符所在区域。
6.一种车牌识别装置,其特征在于,包括:
信息获取模块,用于获取待识别图像、预设子格宽度、预设子格高度和基于深度神经网络的车牌识别模型;
字符识别模块,用于通过所述车牌识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述待识别图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的待识别子格区域,并对所述待识别子格区域进行字符识别;
结果处理模块,用于获取所述待识别子格区域对应的字符识别结果,根据所述字符识别结果得到所述待识别图像中的目标车牌;
所述信息获取模块还用于获取候选区域配置参数;
所述装置还包括:
候选区域生成模块,用于针对每个所述待识别子格区域,根据所述候选区域配置参数生成中心点与所述待识别子格区域的中心点重合的候选区域;
所述字符识别模块具体被配置为:
确定所述待识别子格区域中是否存在字符,得到所述待识别子格区域的第一字符识别结果;
确定所述待识别子格区域中存在的目标字符的字符类型和相对于所述待识别子格区域的偏移方向,得到所述待识别子格区域的第二字符识别结果;
针对所述待识别子格区域对应的每个所述候选区域,确定其与所述待识别子格区域中存在的目标字符之间的回归目标值,得到所述待识别子格区域的第三字符识别结果。
7.根据权利要求6所述的装置,其特征在于,所述结果处理模块具体被配置为:
根据各个所述待识别子格区域对应的第一字符识别结果和第二字符识别结果,将各个所述待识别子格区域对应的目标字符组合为字符矩阵;
将所述字符矩阵中相邻且字符类型相同的两个目标字符进行合并,得到所述目标车牌;
所述第三字符识别结果,即所述回归目标值,表示该待识别子格区域的每个候选区域相对于该目标字符的偏移量,也用于估测该目标字符的整体所在区域。
8.根据权利要求6所述的装置,其特征在于,还包括:样本训练模块,用于训练得到所述车牌识别模型;
所述样本训练模块包括:
样本信息获取单元,用于获取样本图像、所述样本图像中每个车牌字符对应的标注信息和基于深度神经网络的预设识别模型;
子格区域提取单元,用于通过所述预设识别模型,以所述预设子格宽度为横向步长、所述预设子格高度为纵向步长,从所述样本图像的起始原点开始,依次获取尺寸符合所述预设子格宽度和预设子格高度的样本子格区域;
实际结果获取单元,用于对所述样本子格区域进行字符识别,得到所述样本子格区域对应的实际识别结果;
期望结果获取单元,用于根据所述标注信息获取所述样本子格区域对应的期望识别结果;
模型优化单元,用于获取所述实际识别结果和所述期望识别结果之间的误差损失,并根据所述误差损失对所述预设识别模型进行优化,得到所述车牌识别模型。
9.根据权利要求8所述的装置,其特征在于,所述样本训练模块还包括:
候选区域生成单元,用于获取候选区域配置参数,并在获取到所述样本子格区域后,根据所述候选区域配置参数生成中心点与所述样本子格区域的中心点重合的样本候选区域;
所述实际结果获取单元具体被配置为:
确定所述样本子格区域中是否存在字符,得到所述样本子格区域的第一实际识别结果;
确定所述样本子格区域中存在的字符的字符类型和相对于所述样本子格区域的偏移方向,得到所述样本子格区域的第二实际识别结果;
针对所述样本子格区域对应的每个所述样本候选区域,确定其与所述样本子格区域中存在的字符之间的实际回归目标值,得到所述样本子格区域的第三实际识别结果。
10.根据权利要求9所述的装置,其特征在于,所述标注信息包括所述样本图像中每个车牌字符的字符类型和字符位置坐标;
所述期望结果获取单元具体被配置为:
针对每个所述样本子格区域,根据所述字符位置坐标,分别获取所述样本图像中每个车牌字符与所述样本子格区域的重合度;
当至少一个车牌字符与所述样本子格区域的重合度大于预设阈值时,得到所述样本子格区域的第一期望识别结果为正样本,当每个车牌字符与所述样本子格区域的重合度都不大于预设阈值时,得到所述样本子格区域的第一期望识别结果为负样本;
对于所述第一期望识别结果为正样本的正样本子格区域,根据所述字符类型和字符位置坐标,获取与所述正样本子格区域重合度最大的目标车牌字符的字符类型,及所述目标车牌字符的中心点相对于所述正样本子格区域的中心点的偏移方向,得到所述正样本子格区域的第二期望识别结果;
根据所述正样本子格区域对应的目标车牌字符的字符位置坐标,获取所述正样本子格区域对应的每个所述样本候选区域与所述目标车牌字符之间的期望回归目标值,得到所述正样本子格区域的第三期望识别结果;
其中,所述期望回归目标值包括:
横坐标偏差度Δx=(xanchor-xref)/xref;
纵坐标偏差度Δy=(yanchor-yref)/yref;
宽度偏差度Δw=log(wanchor/wref);
高度偏差度Δh=log(hanchor/href);
以及,检测评价函数值IOU=Overlap(Ranchor,Rref);
其中,xanchor和yanchor分别为所述样本候选区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,xref和yref分别为所述目标车牌字符所在区域的预设参考点在相应样本图像坐标系中的横坐标和纵坐标,wanchor和hanchor分别为所述样本候选区域的宽度和高度,wref和href分别为所述目标车牌字符所在区域的宽度和高度,Ranchor表示所述样本候选区域,Rref表示所述目标车牌字符所在区域。
11.一种电子设备,其特征在于,包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时进行如权利要求1至5任一项所述的车牌识别方法。
12.一种存储介质,其特征在于,所述存储介质中存储有应用程序,所述应用程序用于执行如权利要求1至5任一项所述的车牌识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710817860.8A CN107688811B (zh) | 2017-09-12 | 2017-09-12 | 车牌识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710817860.8A CN107688811B (zh) | 2017-09-12 | 2017-09-12 | 车牌识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688811A CN107688811A (zh) | 2018-02-13 |
CN107688811B true CN107688811B (zh) | 2020-11-03 |
Family
ID=61156236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710817860.8A Active CN107688811B (zh) | 2017-09-12 | 2017-09-12 | 车牌识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688811B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490186B (zh) * | 2018-05-15 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 车牌识别方法、装置及存储介质 |
CN111199225B (zh) * | 2018-11-20 | 2023-10-31 | 浙江宇视科技有限公司 | 车牌标定方法及装置 |
JP7289723B2 (ja) * | 2019-05-23 | 2023-06-12 | 日立Astemo株式会社 | 物体認識装置 |
CN112115748B (zh) * | 2019-06-21 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 证件图像识别方法、装置、终端及存储介质 |
CN112651417A (zh) * | 2019-10-12 | 2021-04-13 | 杭州海康威视数字技术股份有限公司 | 车牌识别方法、装置、设备及存储介质 |
CN110909641A (zh) * | 2019-11-13 | 2020-03-24 | 北京文安智能技术股份有限公司 | 一种检测摩托车超载的方法、装置及系统 |
CN111507342B (zh) * | 2020-04-21 | 2023-10-10 | 浙江大华技术股份有限公司 | 一种图像处理方法、装置、系统及存储介质 |
CN112036401B (zh) * | 2020-07-14 | 2024-03-26 | 中山大学 | 一种基于车牌图像属性标定的车牌识别一体机评测方法及装置 |
CN115265620B (zh) * | 2022-09-28 | 2023-01-17 | 明度智云(浙江)科技有限公司 | 一种仪器显示数据的获取录入方法、装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344925A (zh) * | 2007-07-10 | 2009-01-14 | 富士通株式会社 | 字符识别方法 |
CN102375991A (zh) * | 2010-08-24 | 2012-03-14 | 北京中星微电子有限公司 | 分类器训练方法和装置以及字符识别方法和装置 |
CN102629322A (zh) * | 2012-03-12 | 2012-08-08 | 华中科技大学 | 一种基于边界点笔画形状的字符特征提取方法及应用 |
CN103455823A (zh) * | 2013-08-27 | 2013-12-18 | 电子科技大学 | 一种基于分类模糊及图像分割的英文字符识别方法 |
CN104978578A (zh) * | 2015-04-21 | 2015-10-14 | 深圳市前海点通数据有限公司 | 手机拍照文本图像质量评估方法 |
CN106203539A (zh) * | 2015-05-04 | 2016-12-07 | 杭州海康威视数字技术股份有限公司 | 识别集装箱箱号的方法和装置 |
CN106407981A (zh) * | 2016-11-24 | 2017-02-15 | 北京文安智能技术股份有限公司 | 一种车牌识别方法、装置及系统 |
-
2017
- 2017-09-12 CN CN201710817860.8A patent/CN107688811B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344925A (zh) * | 2007-07-10 | 2009-01-14 | 富士通株式会社 | 字符识别方法 |
CN102375991A (zh) * | 2010-08-24 | 2012-03-14 | 北京中星微电子有限公司 | 分类器训练方法和装置以及字符识别方法和装置 |
CN102629322A (zh) * | 2012-03-12 | 2012-08-08 | 华中科技大学 | 一种基于边界点笔画形状的字符特征提取方法及应用 |
CN103455823A (zh) * | 2013-08-27 | 2013-12-18 | 电子科技大学 | 一种基于分类模糊及图像分割的英文字符识别方法 |
CN104978578A (zh) * | 2015-04-21 | 2015-10-14 | 深圳市前海点通数据有限公司 | 手机拍照文本图像质量评估方法 |
CN106203539A (zh) * | 2015-05-04 | 2016-12-07 | 杭州海康威视数字技术股份有限公司 | 识别集装箱箱号的方法和装置 |
CN106407981A (zh) * | 2016-11-24 | 2017-02-15 | 北京文安智能技术股份有限公司 | 一种车牌识别方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107688811A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688811B (zh) | 车牌识别方法及装置 | |
US9014432B2 (en) | License plate character segmentation using likelihood maximization | |
Quiros et al. | A kNN-based approach for the machine vision of character recognition of license plate numbers | |
CN112016605B (zh) | 一种基于边界框角点对齐和边界匹配的目标检测方法 | |
CN107992819B (zh) | 一种车辆属性结构化特征的确定方法与装置 | |
Wang et al. | License plate segmentation and recognition of Chinese vehicle based on BPNN | |
WO2022134996A1 (en) | Lane line detection method based on deep learning, and apparatus | |
CN105574543A (zh) | 一种基于深度学习的车辆品牌型号识别方法和系统 | |
CN111914839B (zh) | 基于YOLOv3的同步端到端车牌定位与识别方法 | |
CN111797829A (zh) | 一种车牌检测方法、装置、电子设备和存储介质 | |
CN111460927B (zh) | 对房产证图像进行结构化信息提取的方法 | |
CN105303153A (zh) | 一种车辆车牌识别方法及装置 | |
CN106780639B (zh) | 基于显著性特征稀疏嵌入和极限学习机的哈希编码方法 | |
CN115424282A (zh) | 一种非结构化文本表格识别方法和系统 | |
CN104978567A (zh) | 基于场景分类的车辆检测方法 | |
CN105046714A (zh) | 一种非监督的基于超像素和目标发现机制的图像分割方法 | |
CN110796230A (zh) | 卷积神经网络的训练及使用方法、设备及存储介质 | |
CN110704652A (zh) | 基于多重注意力机制的车辆图像细粒度检索方法及装置 | |
Keetha et al. | A hierarchical dual model of environment-and place-specific utility for visual place recognition | |
CN105912977A (zh) | 基于点聚类的车道线检测方法 | |
CN112347986A (zh) | 样本生成、神经网络训练、智能行驶控制方法及装置 | |
CN110287970B (zh) | 一种基于cam与掩盖的弱监督物体定位方法 | |
CN103065315B (zh) | 一种多图谱融合方法、系统及医疗设备 | |
CN115438682B (zh) | 用于确定解码方向的方法、装置及解码设备 | |
CN109325487B (zh) | 一种基于目标检测的全种类车牌识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 8 floors of Block E, No.2 Building, 9 Yuan, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Wen'an Beijing intelligent technology Limited by Share Ltd Address before: 100085 Fourth Floor of Huanyang Building, 7th Building, No. 1 Courtyard, Shangdi East Road, Haidian District, Beijing Applicant before: Wen'an Beijing intelligent technology Limited by Share Ltd |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |