本发明涉及智能交通领域,特别涉及一种车牌检测方法及装置。
背景技术:
随着智能交通技术的发展,车牌检测技术的应用已从原有的收费站、治安卡口等背景变化不大的场景扩展到了电子警察、出入口等普通监控场景。然而,在这些场景中获得的交通监测图片的背景千变万化,图片中车牌区域附近有复杂的纹理和噪声,并且当图片中的非车牌区域有跟车牌区域非常相似的纹理(比如车窗、车灯、散热格栅、树叶、草丛、栅栏、路面标志)时,会极大地增加确定车牌区域的错误率,同时带来真实车牌区域包含部分背景和真实车牌区域的边界精准度下降的问题,进而易造成车牌检测结果错误,车牌检测正确率低。
技术实现要素:
本发明实施例公开了一种车牌检测方法及装置,以提高车牌检测的正确率。
为达到上述目的,本发明实施例公开了一种车牌检测方法,所述方法包括步骤:
根据待检测图片中像素点的像素值,获得所述待检测图片的车牌候选区域m1;
计算所述车牌候选区域m1的宽高比值,并判断所述宽高比值是否大于第一预设阈值;
若为是,则根据预设的基于机器学习的回归算法,从所述车牌候选区域m1中重新确定车牌候选区域m2,其中,所述车牌候选区域m2为宽高比值不大于第一预设阈值的区域;
按照第一预设分类模型,判断所述车牌候选区域m2是否为车牌区域,其中,所述第一预设分类模型,为通过机器学习算法对样本车牌区域进行学习获得的分类模型;
若为是,则确定所述车牌候选区域m2为车牌区域,并根据所述车牌候选区域m2,生成检测结果。
在本发明的一种具体实现方式中,所述根据待检测图片中像素点的像素值,获得所述待检测图片的车牌候选区域m1,包括:
按照预设的扫描顺序,获得所述待检测图片的各个像素行的有效像素段,其中,所述有效像素段为:根据像素行中灰度跳变值大于第二预设阈值的像素点确定的像素段;
根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度;
对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理;
根据合并处理后的有效像素段,获得所述待检测图片的车牌候选区域m1。
在本发明的一种具体实现方式中,所述按照预设的扫描顺序,获得所述待检测图片的各个像素行的有效像素段,包括:
按照预设的扫描顺序,通过以下步骤获得所述待检测图片的每一像素行的有效像素段:
计算像素行x中每一像素点的灰度跳变值,其中,所述像素行x为所述待检测图片中的任一像素行;
选择灰度跳变值大于第二预设阈值的像素点;
根据所选择的像素点中水平坐标最大和最小的像素点,获得所述像素行x上的候选像素段;
判断所述候选像素段内各个像素点的灰度跳变值是否与预设的灰度跳变规则相匹配;
若为是,则确定所述候选像素段为有效像素段。
在本发明的一种具体实现方式中,所述根据合并处理后的有效像素段,获得所述待检测图片的车牌候选区域m1,包括:
确定合并处理后的有效像素段中的疑似字符串区域;
根据所述疑似字符串区域中像素点的像素值,获得字符串颜色信息,并根据合并处理后的有效像素段中非所述疑似字符串区域中像素点的像素值,获得背景颜色信息;
根据所述字符串颜色信息和所述背景颜色信息,确定车牌候选区域的边界;
根据所确定的边界获得车牌候选区域m1。
在本发明的一种具体实现方式中,所述根据预设的基于机器学习的回归算法,从所述车牌候选区域m1中重新确定车牌候选区域m2,包括:
确定所述车牌候选区域m1中疑似字符串的位置;
按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界;
根据所重新确定的边界获得车牌候选区域m2。
在本发明的一种具体实现方式中,所述第一预设分类模型通过以下方式获得:
获得边界精确度大于预设精确度阈值的样本车牌区域和/或宽高比值小于所述第一预设阈值的样本车牌区域,并将所获得的样本车牌区域作为正样本;
根据预设的机器学习算法和所述正样本,获得所述第一预设分类模型。
在本发明的一种具体实现方式中,在所述根据预设的机器学习算法和所述正样本,获得所述第一预设分类模型之前,还包括:
获得为非车牌区域的样本区域;
按照所获得的样本区域的内容,对所获得的样本区域进行分类,得到多个类别的负样本;
根据预设的机器学习算法和所述正样本,获得所述第一预设分类模型,包括:
根据预设的机器学习算法、所述正样本和所述多个类别的负样本,获得所述第一预设分类模型。
在本发明的一种具体实现方式中,所述方法还包括:
在判断得到所述车牌候选区域m2不是车牌区域的情况下,判断所述车牌候选区域m2的亮度是否在预设的亮度范围内;
若为否,则对所述车牌候选区域m2进行灰度均衡化处理;
按照第二预设分类模型,判断灰度均衡化处理后的所述车牌候选区域m2是否为车牌区域,其中,所述第二预设分类模型,为通过机器学习算法对经灰度均衡化处理后的样本车牌区域进行学习获得的分类模型;
若是车牌区域,则执行所述确定所述车牌候选区域m2为车牌区域,并根据所述车牌候选区域m2,生成检测结果的步骤。
为达到上述目的,本发明实施例还公开了一种车牌检测装置,所述装置包括:候选区域获得模块、宽高比值判断模块、候选区域确定模块、第一车牌区域判断模块和检测结果生成模块;
其中,所述候选区域获得模块,用于根据待检测图片中像素点的像素值,获得所述待检测图片的车牌候选区域m1;
所述宽高比值判断模块,用于计算所述车牌候选区域m1的宽高比值,并判断所述宽高比值是否大于第一预设阈值,若为是,则触发所述候选区域确定模块;
所述候选区域确定模块,用于根据预设的基于机器学习的回归算法,从所述车牌候选区域m1中重新确定车牌候选区域m2,其中,所述车牌候选区域m2为宽高比值不大于第一预设阈值的区域;
所述第一车牌区域判断模块,用于按照第一预设分类模型,判断所述车牌候选区域m2是否为车牌区域,其中,所述第一预设分类模型,为通过机器学习算法对样本车牌区域进行学习获得的分类模型,若为是,则触发所述检测结果生成模块;
所述检测结果生成模块,用于确定所述车牌候选区域m2为车牌区域,并根据所述车牌候选区域m2,生成检测结果。
在本发明的一种具体实现方式中,所述候选区域获得模块,包括:有效像素段获得子模块、相似程度计算子模块、像素段合并子模块和候选区域获得子模块;
其中,所述有效像素段获得子模块,用于按照预设的扫描顺序,获得所述待检测图片的各个像素行的有效像素段,其中,所述有效像素段为:根据像素行中灰度跳变值大于第二预设阈值的像素点确定的像素段;
所述相似程度计算子模块,用于根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度;
所述像素段合并子模块,用于对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理;
所述候选区域获得子模块,用于根据合并处理后的有效像素段,获得所述待检测图片的车牌候选区域m1。
在本发明的一种具体实现方式中,所述有效像素段获得子模块,具体用于:
按照预设的扫描顺序,获得所述待检测图片的每一像素行的有效像素段;
所述有效像素段获得子模块,包括:灰度跳变值计算单元、像素点选择单元、候选像素段获得单元、灰度跳变判断单元和有效像素段确定单元;
其中,所述灰度跳变值计算单元,用于计算像素行x中每一像素点的灰度跳变值,其中,所述像素行x为所述待检测图片中的任一像素行;
所述像素点选择单元,用于选择灰度跳变值大于第二预设阈值的像素点;
所述候选像素段获得单元,用于根据所选择的像素点中水平坐标最大和最小的像素点,获得所述像素行x上的候选像素段;
所述灰度跳变判断单元,用于判断所述候选像素段内各个像素点的灰度跳变值是否与预设的灰度跳变规则相匹配,若为是,则触发所述有效像素段确定单元;
所述有效像素段确定单元,用于确定所述候选像素段为有效像素段。
在本发明的一种具体实现方式中,所述候选区域获得子模块,包括:疑似字符串区域确定单元、颜色信息获得单元、边界确定单元和候选区域获得单元;
其中,所述疑似字符串区域确定单元,用于确定合并处理后的有效像素段中的疑似字符串区域;
所述颜色信息获得单元,用于根据所述疑似字符串区域中像素点的像素值,获得字符串颜色信息,并根据合并处理后的有效像素段中非所述疑似字符串区域中像素点的像素值,获得背景颜色信息;
所述边界确定单元,用于根据所述字符串颜色信息和所述背景颜色信息,确定车牌候选区域的边界;
所述候选区域获得单元,用于根据所确定的边界获得车牌候选区域m1。
在本发明的一种具体实现方式中,所述候选区域确定模块,包括:位置确定子模块、边界确定子模块和候选区域确定子模块;
其中,所述位置确定子模块,用于确定所述车牌候选区域m1中疑似字符串的位置;
所述边界确定子模块,用于按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界;
所述候选区域确定子模块,用于根据所重新确定的边界获得车牌候选区域m2。
在本发明的一种具体实现方式中,所述装置还包括:第一样本区域获得模块和分类模型获得模块;
其中,所述第一样本区域获得模块,用于获得边界精确度大于预设精确度阈值的样本车牌区域和/或宽高比值小于所述第一预设阈值的样本车牌区域,并将所获得的样本车牌区域作为正样本;
所述分类模型获得模块,用于根据预设的机器学习算法和所述正样本,获得所述第一预设分类模型。
在本发明的一种具体实现方式中,所述装置还包括:第二样本区域获得模块和样本区域分类模块;
其中,所述第二样本区域获得模块,用于获得为非车牌区域的样本区域;
所述样本区域分类模块,用于按照所获得的样本区域的内容,对所获得的样本区域进行分类,得到多个类别的负样本;
分类模型获得模块,具体用于:
根据预设的机器学习算法、所述正样本和所述多个类别的负样本,获得所述第一预设分类模型。
在本发明的一种具体实现方式中,所述装置还包括:亮度判断模块、灰度均衡化处理模块和第二车牌区域判断模块;
其中,所述亮度判断模块,用于在判断得到所述车牌候选区域m2不是车牌区域的情况下,判断所述车牌候选区域m2的亮度是否在预设的亮度范围内,若为否,则触发所述灰度均衡化处理模块;
所述灰度均衡化处理模块,用于对所述车牌候选区域m2进行灰度均衡化处理;
所述第二车牌区域判断模块,用于按照第二预设分类模型,判断灰度均衡化处理后的所述车牌候选区域m2是否为车牌区域,若是车牌区域,则触发所述检测结果生成模块,其中,所述第二预设分类模型,为通过机器学习算法对经灰度均衡化处理后的样本车牌区域进行学习获得的分类模型。
由上可知,本发明实施例中,检测终端接收到待检测图片后,根据待检测图片中像素点的像素值,获得待检测图片的车牌候选区域m1,在车牌候选区域m1的宽高比值大于第一预设阈值的情况下,根据基于机器学习的第一预设分类模型,从车牌候选区域m1中重新确定车牌候选区域m2,在根据基于机器学习的第一预设分类模型,判断车牌候选区域m2是否为车牌区域,若为是,则确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果。这样,避免了因为车牌候选区域的宽高比值过大误判包含真实车牌的区域为非车牌区域,提高了车牌检测的正确率,另外,采用基于机器学习的第一预设分类模型采集车牌候选区域的特征,对车牌候选区域进行分类,判断车牌候选区域是否为车牌区域,而不是通过用户手动设置特征来建立分类模型,进一步提高了车牌检测的正确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种车牌检测方法的流程示意图;
图2为本发明实施例提供的另一种车牌检测方法的流程示意图;
图3为本发明实施例提供的另一种车牌检测方法的流程示意图;
图4为本发明实施例提供的另一种车牌检测方法的流程示意图;
图5为本发明实施例提供的一种车牌检测装置的结构示意图;
图6为本发明实施例提供的另一种车牌检测装置的结构示意图;
图7为本发明实施例提供的另一种车牌检测装置的结构示意图;
图8为本发明实施例提供的另一种车牌检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
参考图1,图1为本发明实施例提供的一种车牌检测方法的流程示意图,该方法可以包括如下步骤:
s101:根据待检测图片中像素点的像素值,获得该待检测图片的车牌候选区域m1;
具体地,检测终端接收到待检测图片后,可以根据待检测图片中各个像素点的像素值,确定该图片中可能包含车牌内容的区域,即车牌候选区域m1。例如:获得每一像素行中灰度跳变值大于预设阈值的像素点,并确定满足预设的灰度跳变规则的两个像素点间的像素段为有效像素段,合并上下相邻且边界相似程度大于另一预设阈值的有效像素段,获得车牌候选区域m1。
s102:计算车牌候选区域m1的宽高比值,并判断宽高比值是否大于第一预设阈值,若为是,则执行步骤s103;
其中,第一预设阈值可以根据实际应用中真实车牌的宽高比值确定,如: 真实车牌的宽和高为:440mm*140mm,则第一预设阈值可以为:440/140≈3.14。
实际交通场景图片中,真实车牌区域的周围可能会存在较多的与真实车牌区域相似的背景区域,这样,进行车牌检测时,若车牌候选区域m1的宽高比值过大,说明该车牌候选区域m1中包含有过多不属于车牌的区域,进而在判断候选车牌区域m1是否为车牌区域时,很容易参考到非车牌区域的特征,进而易判定该车牌候选区域m1为非车牌区域,若车牌候选区域m1中包含真实车牌区域,这样就造成了误判。因此,需要判断车牌候选区域m1的宽高比值是否大于第一预设阈值,并对宽高比值大于第一预设阈值的车牌候选区域m1的宽高比进行调整,得到合适的车牌候选区域。
在本发明的一种具体实现方式中,在判断得到宽高比值不大于第一预设阈值的情况下,可以将车牌候选区域m1作为车牌候选区域m2,继续执行步骤s104。
s103:根据预设的基于机器学习的回归算法,从车牌候选区域m1中重新确定车牌候选区域m2;
这里,车牌候选区域m2为宽高比值不大于第一预设阈值的区域。
另外,上述基于机器学习的回归算法是通过学习样本区域的特征来构建的一种边界回归算法。具体地,上述基于机器学习的回归算法是:通过模型训练,从样本区域中学习出该样本中的对象的特征,然后根据学习到的对象的特征来确定对象的边界的一种边界回归算法。
需要说明的是,通过基于机器学习的回归算法,学习到的对象的特征比用户手动设置的对象的特征更为全面,进而确定的边界更为准确,可以有效的减少背景纹理对车牌检测的干扰。
s104:按照第一预设分类模型,判断车牌候选区域m2是否为车牌区域,若为是,则执行步骤s105;
其中,第一预设分类模型,为通过机器学习算法对样本车牌区域进行学习获得的分类模型。在构建第一预设分类模型时,可以预先找到大量样本车牌区域,然后,采用机器学习算法对这些样本车牌区域进行学习,得到分类模型,通过该分类模型可以简单的把一个区域分为车牌区域和非车牌区域两大类。
本领域内的技术人员可以理解的是,在构建第一预设分类模型时,所选择 的样本车牌区域数量越大、车牌区域的种类越多,构建的分类模型分类效果越好。
在本发明的一种具体实现方式中,上述第一预设分类模型,可以为:基于随机森林、支持向量机、深度神经网络或卷积神经网络等的分类模型。以基于卷积神经网络的分类模型为例,利用该卷积神经网络的分类模型,可以获得车牌候选区域m2的卷积特征,再根据获得的卷积特征对车牌候选区域m2进行分类,判断其是否为车牌区域。在本发明实施例中,采用基于机器学习的分类模型,不需要用户手动设置特征,而是从样本车牌区域中学习有利于分类的对象的特征,提高了该机器学习算法的泛化能力和检测车牌的正确率。
在本发明的一种具体实现方式中,上述第一预设分类模型可以通过以下方式获得:
s11、获得边界精确度大于预设精确度阈值的样本车牌区域和/或宽高比值小于第一预设阈值的样本车牌区域,将所获得的样本车牌区域作为正样本;
其中,边界精确度可以为样本车牌区域的边界与真实车牌的边界间的距离,也可以为真实车牌的边界的连贯度,本发明对此不进行限定。
s12、根据预设的机器学习算法和正样本,获得第一预设分类模型。
具体地,将边界精确度大于预设精确度阈值的样本车牌区域、宽高比值小于第一预设阈值的样本车牌区域作为两类正样本,通过机器学习算法来训练获得第一预设分类模型,这样,明确区分样本车牌区域的种类,能够有效地提高第一预设分类模型对背景噪声的抗干扰能力。
实际应用中,在对模型进行训练获得第一预设分类模型时,为了提高车牌检测的正确率,还需要采集负样本来对模型进行训练。鉴于此,在本发明的一种具体实现方式中,在步骤s12之前,还可以包括:
s13、获得为非车牌区域的样本区域;
这里,非车牌区域可以为包含车道路面、绿化带、隔离栅栏、车门窗、车头散热格栅、车灯、车标、车身广告文字等区域。
s14、按照所获得的样本区域的内容,对所获得的样本区域进行分类,得到多个类别的负样本。
如上述的包含车道路面、绿化带、隔离栅栏的区域可以作为路面类的样本区域,包含车门窗、车头散热格栅、车灯的区域可以作为车身类的样本区域,包含车标、车身广告文字的区域可以作为车身文字图案类的样本区域,当然还可以有其他类别的样本区域,此处不再一一赘述。
这种情况下,步骤s12可以包括:
根据预设的机器学习算法、正样本和多个类别的负样本,获得第一预设分类模型。
这样对样本进行类型的细分,有利于模型的收敛,有效地提高了车牌检测的正确率。
s105:确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果。
在本发明的一种具体实现方式中,生成检测结果后,可以将检测结果存储在检测终端中,在检测结果的数量达到一定数量后,再将所有的检测结果发送给预设的终端,避免预设的终端总是收到检测结果,影响用户对终端的使用;另外,生成检测结果后,也可以将该检测结果直接发送给预设的终端,以便及时通知用户车牌的检测结果。
应用图1所示实施例,检测终端接收到待检测图片后,根据待检测图片中像素点的像素值,获得待检测图片的车牌候选区域m1,在车牌候选区域m1的宽高比值大于第一预设阈值的情况下,根据基于机器学习的第一预设分类模型,从车牌候选区域m1中重新确定车牌候选区域m2,在根据基于机器学习的第一预设分类模型,判断车牌候选区域m2是否为车牌区域,若为是,则确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果。这样,避免了因为车牌候选区域的宽高比值过大误判包含真实车牌的区域为非车牌区域,提高了车牌检测的正确率,另外,采用基于机器学习的第一预设分类模型采集车牌候选区域的特征,对车牌候选区域进行分类,判断车牌候选区域是否为车牌区域,而不是通过用户手动设置特征来建立分类模型,进一步提高了车牌检测的正确率。
参考图2,图2为本发明实施例提供的另一种车牌检测方法的流程示意图,该方法中,步骤s101可以包括如下步骤:
s1011:按照预设的扫描顺序,获得待检测图片的各个像素行的有效像素段;
其中,有效像素段为:根据像素行中灰度跳变值大于第二预设阈值的像素点确定的像素段。
在本发明的一种具体实现方式中,上述预设的扫描顺序可以为横向逐行扫描,也可以为横向跨行扫描,还可以是其他扫描顺序,本发明对此不进行限定。
在本发明的一种具体实现方式中,上述步骤s1011,可以包括:
按照预设的扫描顺序,通过以下步骤获得待检测图片的每一像素行的有效像素段:
s21、计算像素行x中每一像素点的灰度跳变值;
其中,像素行x为待检测图片中的任一像素行。
需要说明的是,每一像素点的灰度跳变值为该像素点的像素值与上一扫描点的像素值的差值。
s22、选择灰度跳变值大于第二预设阈值的像素点;
实际应用中,车牌的颜色是有规定的,如:、蓝底白字、黄底黑字、黑底白字和白底黑字等,因此在车牌区域中的背景区域的像素点和车牌字符串的像素点间的灰度跳变值是有迹可寻的,可以根据真实车牌中“底(车牌背景)”和“字(车牌前景)”间的灰度跳变值来确定第二预设阈值,假设,真实的车牌的“底”和“字”间的灰度跳变值为10,则可以确定第二预设阈值为10;另外,考虑到环境因素和图片采集设备分辨率等因素的影响,可以将第二预设阈值设置为真实的车牌的“底”和“字”间的灰度跳变值的一定倍数,如:可将第二预设阈值设置为车牌的“底”和“字”间的灰度跳变值的0.8倍。
s23、根据所选择的像素点中水平坐标最大和最小的像素点,确定像素行x上的候选像素段;
s24、判断候选像素段内各个像素点的灰度跳变值是否与预设的灰度跳变规则相匹配,若为是,则执行步骤s25;
实际应用中,车牌上字符的类型以及排列顺序是有规定的,也就是:汉字、字母、“·”、五个字符(包括字母、数字和/或汉字),因此,在车牌区域的每个 像素行中像素点的灰度跳变值的变化是有规律的,可以根据该变化规律设置灰度跳变规则,若车牌候选区域的一个像素行中候选像素段满足灰度跳变规则,则可以确定该候选像素段为有效像素段。
在本发明的一种具体实现方法中,可能确定的候选像素段过长,其在与预设的灰度跳变规则进行匹配时,该候选像素段中的一部分满足灰度跳变规则,而另一部分不满足灰度跳变规则,则可以截取满足灰度跳变规则的一部分,并将该部分作为候选像素段。
s25、确定候选像素段为有效像素段。
s1012:根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度;
这里,边界相似程度可以为:垂直相邻的两个有效像素段同侧/异侧的两端点像素点的像素值之间的差值,也可以为垂直相邻的两个有效像素段同侧/异侧的两端点像素点的像素值之间的比值,本发明对此不进行限定。
假设,垂直相邻的两个有效像素段分别为x1和x2,x1左侧端点为a,x1右侧端点为b,x2左侧端点为c,x2右侧端点为d,此时,x1和x2的边界相似程度可以为a与b(或c与d)的差值,也可以为a与b(或c与d)的比值,也可以为a与c(或b与d)的差值,还可以为a与c(或b与d)的比值。
s1013:对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理;
实际应用中,在待检测图片中,车牌是占有一定区域的,而非是一个像素行,因此需要对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理。
s1014:根据合并处理后的有效像素段,获得待检测图片的车牌候选区域m1。
具体地,可以将合并处理后的有效像素段作为待检测图片的车牌候选区域m1,但是合并处理后的有效像素段的边界并不一定是一条直线或近似直线,而是一条不规则的曲线,这种情况下需要进一步确定车牌候选区域m1的边界,因 此上述步骤s1014,可以包括:
s26、确定合并处理后的有效像素段中的疑似字符串区域;
s27、根据疑似字符串区域中像素点的像素值,获得字符串颜色信息,并根据合并处理后的有效像素段中非疑似字符串区域中像素点的像素值,获得背景颜色信息;
实际应用中,车牌的“底(车牌背景)”和“字(车牌前景)”的颜色是有规定,车牌的“底”的颜色和“字”的颜色之间的对比是一定,因此可以获得车牌的“底”的颜色信息和“字”的颜色信息,来确定车牌候选区域的边界。
s28、根据字符串颜色信息和背景颜色信息,确定车牌候选区域的边界;
假设,上述确定的字符串颜色信息为白色,上述确定的背景颜色信息为黑色,则确定疑似字符串区域相邻的颜色为黑色的区域为背景区域,该背景区域的边界为车牌候选区域的边界。
另外,上述字符串颜色信息可以为疑似字符串区域中所有像素点的平均像素值a1,背景颜色信息可以为非疑似字符串区域中所有像素点的平均像素值a2,根据a1和a2的比值,确定第四预设阈值,若与疑似字符串区域相邻的区域中所有像素点的平均像素值a3与a1的比值与第四预设阈值匹配,则可以确定该相邻的区域为背景区域,该背景区域的边界为车牌候选区域的边界。
s29、根据所确定的边界获得车牌候选区域m1。
另外,在本发明中还可以采用基于车牌边缘特征或遗传算法的车牌检测方法来确定车牌候选区域,也可以采用基于harr等特征的adaboost车牌检测器来确定车牌候选区域,本发明对此不进行限定。但是,这几种确定车牌候选区域的方法与上述确定的车牌候选区域的方法相比,较为复杂且泛化能力较差。
应用图2所示实施例,检测终端按照预设的扫描顺序,获得待检测图片的各个像素行的有效像素段,根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度,对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理,根据合并处理后的有效像素段,获得待检测图片的车牌候选区域m1,这种获得车牌候选区域的方法简单、容易实现,因此提高了车牌检测方法的通 用性和泛化性。
参考图3,图3为本发明实施例提供的另一种车牌检测方法的流程示意图,该方法中,步骤s103可以包括如下步骤:
s1031:确定车牌候选区域m1中疑似字符串的位置;
在车牌候选区域m1的宽高比大于第一预设阈值的情况下,表明该车牌候选区域m1中包含有过多图片背景区域,而过多图片背景区域会产生背景噪声,对车牌区域的检测造成干扰,降低了车牌检测的正确率。因此,对于宽高比大于第一预设阈值的车牌候选区域m1,需要重新确定车牌候选区域。而在车牌区域中必定包含车牌字符串,因此,在重新确定车牌候选区域时,首先确定车牌候选区域m1中疑似字符串的位置,再根据该位置来重新确定车牌候选区域。
s1032:按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界;
在本发明的一种具体实现方式中,通过上述基于机器学习的回归算法,学习到的对象的特征不是用户手动设置的,而是通过基于机器学习到的,获得的对象的特征更为全面,进而确定的边界更为准确,可以有效的减少背景纹理对车牌检测的干扰。
s1033:根据所重新确定的边界获得车牌候选区域m2。
在边界确定后,边界内的区域就是车牌候选区域m2。
应用图3所示实施例,在车牌候选区域m1的宽高比大于第一预设阈值的情况下,检测终端首先确定车牌候选区域m1中疑似字符串的位置,再按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界,根据所重新确定的边界获得车牌候选区域m2,这样基于机器学习的回归算法中的特征不用用户手动设置,因此根据该回归算法来确定车牌候选区域m2,有效地减少了背景纹理对车牌检测的干扰,进而提高车牌检测的正确率。
参考图4,图4为本发明实施例提供的另一种车牌检测方法的流程示意图,该方法中还可以包括如下步骤:
s106:判断车牌候选区域m2的亮度是否在预设的亮度范围内,若为否,则执行步骤s107;
在本发明的一种具体实现方式中,车牌候选区域m2的亮度可以为车牌候选区域m2中所有像素点的亮度的均值,也可以为车牌候选区域m2中某一部分区域中所有像素点的亮度的均值,还可以为车牌候选区域m2中随机选择的预设数量的像素点的亮度的均值,本发明对此不进行限定。
在本发明的一种具体实现方式中,在判断得到车牌候选区域m2不是车牌区域的情况下,判断车牌候选区域m2的亮度是否在预设的亮度范围内,若车牌候选区域m2的亮度在预设的亮度范围内,则可以判定该车牌候选区域m2为非车牌区域,该次车牌检测过程结束。
s107:对车牌候选区域m2进行灰度均衡化处理;
其中,灰度均衡化处理的方法为现有技术,此处不再赘述。
s108:按照第二预设分类模型,判断灰度均衡化处理后的车牌候选区域m2是否为车牌区域,若是车牌区域,则执行步骤s105,生成检测结果。
其中,第二预设分类模型,为通过机器学习算法对经灰度均衡化处理后的样本车牌区域进行学习获得的分类模型。
在本发明的一种具体实现方式中,在判断得到灰度均衡化处理后的车牌候选区域m2不是车牌区域的情况下,则可以判定该车牌候选区域m2为非车牌区域,该次车牌检测过程结束。
另外,在本发明的一种具体实现方式中,上述第二预设分类模型可以与第一预设分类模型的获得方法相同,此处不再赘述。
需要说明的是,在获得第二预设分类模型时,进行模型训练的正样本和负样本都是经灰度均衡化处理后的样本车牌区域。
应用图4所示实施例,在判断得到车牌候选区域m2不是车牌区域的情况下,检测终端会判断车牌候选区域m2的亮度是否在预设的亮度范围内,若不在预设的该亮度范围内,再对车牌候选区域m2进行灰度均衡化处理,按照第二预设分类模型,判断灰度均衡化处理后的车牌候选区域m2是否为车牌区域,若是车牌区域,则确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果,这样避免了因车牌候选区域m2过亮或过暗,而误判包含真实车牌的车牌候选区域m2为非车牌区域,提高了车牌检测的正确率。
参考图5,图5为本发明实施例提供的一种车牌检测装置的结构示意图,该装置可以包括:候选区域获得模块501、宽高比值判断模块502、候选区域确定模块503、第一车牌区域判断模块504和检测结果生成模块505;
其中,候选区域获得模块501,用于根据待检测图片中像素点的像素值,获得待检测图片的车牌候选区域m1;
宽高比值判断模块502,用于计算车牌候选区域m1的宽高比值,并判断宽高比值是否大于第一预设阈值,若为是,则触发候选区域确定模块503;
候选区域确定模块503,用于根据预设的基于机器学习的回归算法,从车牌候选区域m1中重新确定车牌候选区域m2,其中,车牌候选区域m2为宽高比值不大于第一预设阈值的区域;
第一车牌区域判断模块504,用于按照第一预设分类模型,判断车牌候选区域m2是否为车牌区域,其中,第一预设分类模型,为通过机器学习算法对样本车牌区域进行学习获得的分类模型,若为是,则触发检测结果生成模块505;
检测结果生成模块505,用于确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果。
在本发明的一种具体实现方式中,上述车牌检测装置还可以包括:第一样本区域获得模块和分类模型获得模块(图5中未示出);
其中,第一样本区域获得模块,用于获得边界精确度大于预设精确度阈值的样本车牌区域和/或宽高比值小于第一预设阈值的样本车牌区域,并将所获得的样本车牌区域作为正样本;
分类模型获得模块,用于根据预设的机器学习算法和正样本,获得第一预设分类模型。
在本发明的一种具体实现方式中,上述车牌检测装置还可以包括:第二样本区域获得模块和样本区域分类模块(图5中未示出);
其中,第二样本区域获得模块,用于获得为非车牌区域的样本区域;
样本区域分类模块,用于按照所获得的样本区域的内容,对所获得的样本区域进行分类,得到多个类别的负样本;
这种情况下,分类模型获得模块,具体用于:
根据预设的机器学习算法、正样本和多个类别的负样本,获得第一预设分类模型。
应用图5所示实施例,检测终端接收到待检测图片后,根据待检测图片中像素点的像素值,获得待检测图片的车牌候选区域m1,在车牌候选区域m1的宽高比值大于第一预设阈值的情况下,根据基于机器学习的第一预设分类模型,从车牌候选区域m1中重新确定车牌候选区域m2,在根据基于机器学习的第一预设分类模型,判断车牌候选区域m2是否为车牌区域,若为是,则确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果。这样,避免了因为车牌候选区域的宽高比值过大误判包含真实车牌的区域为非车牌区域,提高了车牌检测的正确率,另外,采用基于机器学习的第一预设分类模型采集车牌候选区域的特征,对车牌候选区域进行分类,判断车牌候选区域是否为车牌区域,而不是通过用户手动设置特征来建立分类模型,进一步提高了车牌检测的正确率。
参考图6,图6为本发明实施例提供的另一种车牌检测装置的结构示意图,该装置中,候选区域获得模块501,可以包括:有效像素段获得子模块5011、相似程度计算子模块5012、像素段合并子模块5013和候选区域获得子模块5014;
其中,有效像素段获得子模块5011,用于按照预设的扫描顺序,获得待检测图片的各个像素行的有效像素段,其中,有效像素段为:根据像素行中灰度跳变值大于第二预设阈值的像素点确定的像素段;
相似程度计算子模块5012,用于根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度;
像素段合并子模块5013,用于对边界相似程度大于第三预设阈值的相邻有效像素段进行合并处理;
候选区域获得子模块5014,用于根据合并处理后的有效像素段,获得待检测图片的车牌候选区域m1。
在本发明的一种具体实现方式中,有效像素段获得子模块5011,具体用于:
按照预设的扫描顺序,获得所述待检测图片的每一像素行的有效像素段;
这种情况下,有效像素段获得子模块5011,可以包括:灰度跳变值计算单元、像素点选择单元、候选像素段获得单元、灰度跳变判断单元和有效像素段确定单元(图6中未示出);
其中,灰度跳变值计算单元,用于计算像素行x中每一像素点的灰度跳变值,其中,像素行x为所述待检测图片中的任一像素行;
像素点选择单元,用于选择灰度跳变值大于第二预设阈值的像素点;
候选像素段获得单元,用于根据所选择的像素点中水平坐标最大和最小的像素点,获得像素行x上的候选像素段;
灰度跳变判断单元,用于判断候选像素段内各个像素点的灰度跳变值是否与预设的灰度跳变规则相匹配,若为是,则触发有效像素段确定单元;
有效像素段确定单元,用于确定候选像素段为有效像素段。
在本发明的一种具体实现方式中,候选区域获得子模块5014,可以包括:疑似字符串区域确定单元、颜色信息获得单元、边界确定单元和候选区域获得单元(图6中未示出);
其中,疑似字符串区域确定单元,用于确定合并处理后的有效像素段中的疑似字符串区域;
颜色信息获得单元,用于根据疑似字符串区域中像素点的像素值,获得字符串颜色信息,并根据合并处理后的有效像素段中非疑似字符串区域中像素点的像素值,获得背景颜色信息;
边界确定单元,用于根据字符串颜色信息和背景颜色信息,确定车牌候选区域的边界;
候选区域获得单元,用于根据所确定的边界获得车牌候选区域m1。
应用图6所示实施例,检测终端按照预设的扫描顺序,获得待检测图片的各个像素行的有效像素段,根据各个有效像素段两端像素点的像素值和与该有效像素段垂直相邻的有效像素段两端像素点的像素值,计算垂直相邻的有效像素段的边界相似程度,对边界相似程度大于第三预设阈值的相邻有效像素段进行 合并处理,根据合并处理后的有效像素段,获得待检测图片的车牌候选区域m1,这种获得车牌候选区域的方法简单、容易实现,因此提高了车牌检测方法的通用性和泛化性。
参考图7,图7为本发明实施例提供的另一种车牌检测装置的结构示意图,该装置中,候选区域确定模块503,包括:位置确定子模块5031、边界确定子模块5032和候选区域确定子模块5033;
其中,位置确定子模块5031,用于确定车牌候选区域m1中疑似字符串的位置;
边界确定子模块5032,用于按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界;
候选区域确定子模块5033,用于根据所重新确定的边界获得车牌候选区域m2。
应用图7所示实施例,在车牌候选区域m1的宽高比大于第一预设阈值的情况下,检测终端首先确定车牌候选区域m1中疑似字符串的位置,再按照预设的基于机器学习的回归算法,根据所确定的位置,重新确定车牌候选区域的边界,根据所重新确定的边界获得车牌候选区域m2,这样基于机器学习的回归算法中的特征不用用户手动设置,因此根据该回归算法来确定车牌候选区域m2,有效地减少了背景纹理对车牌检测的干扰,进而提高车牌检测的正确率。
参考图8,图8为本发明实施例提供的另一种车牌检测装置的结构示意图,该装置还可以包括:亮度判断模块506、灰度均衡化处理模块507和第二车牌区域判断模块508;
其中,亮度判断模块506,用于在判断得到车牌候选区域m2不是车牌区域的情况下,判断车牌候选区域m2的亮度是否在预设的亮度范围内,若为否,则触发灰度均衡化处理模块507;
灰度均衡化处理模块507,用于对车牌候选区域m2进行灰度均衡化处理;
第二车牌区域判断模块508,用于按照第二预设分类模型,判断灰度均衡化处理后的车牌候选区域m2是否为车牌区域,若是车牌区域,则触发检测结果生成模块505,其中,第二预设分类模型,为通过机器学习算法对经灰度均衡化处 理后的样本车牌区域进行学习获得的分类模型。
应用图8所示实施例,在判断得到车牌候选区域m2不是车牌区域的情况下,检测终端会判断车牌候选区域m2的亮度是否在预设的亮度范围内,若不在预设的该亮度范围内,再对车牌候选区域m2进行灰度均衡化处理,按照第二预设分类模型,判断灰度均衡化处理后的车牌候选区域m2是否为车牌区域,若是车牌区域,则确定车牌候选区域m2为车牌区域,并根据车牌候选区域m2,生成检测结果,这样避免了因车牌候选区域m2过亮或过暗,而误判包含真实车牌的车牌候选区域m2为非车牌区域,提高了车牌检测的正确率。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。