基于深度学习的车牌检测与识别方法和装置与流程

文档序号:15983885发布日期:2018-11-17 00:39阅读:202来源:国知局

本发明涉及车牌识别技术领域,尤其涉及一种基于深度学习的车牌检测与识别方法和装置。

背景技术

车牌是区分车辆身份的重要标识,是智能交通管理中一个重要的车辆特征。车牌识别作为车牌号码自动获取的一种手段,是智能交通系统的核心技术。车牌识别通过算法对包含车牌的图片进行检测定位和自动识别,从而得到车牌号码,大大方便了对车辆的管理,降低了管理人员的工作量,在交通监控、停车场和高速公路收费站等方面有着广泛的应用。

虽然已经有一些车牌识别技术在实际场景中得到应用,但是实际使用场景的拓展对车牌识别提出了新的要求,例如摄像机所拍摄车牌可能包含大角度形变,同时,不同车牌所包含字符位数可能不相同。如何在大角度形变、不同位数情况下对车牌进行精确检测识别是目前亟待解决的问题。

车牌识别技术一般包括两个技术环节:车牌检测定位和车牌识别。车牌检测一般使用通用目标检测算法,目前的通用目标检测算法一般使用卷积神经网络对图片进行数据降维和抽象获取图片特征,然后使用区域特征信息得到目标的位置信息。

现有技术中的一种基于卷积神经网络的车牌检测方法为基于haar特征的adaboost车牌检测方法,该方法使用adaboost提取感兴趣车牌区域,使用卷积神经网络对候选区域分类得到车牌的外接矩形框。该方法需要利用局部水平投影方法对车牌最终候选区域进行水平倾斜角度检测,并利用旋转校正法对车牌最终候选区域进行水平倾斜校正。此类算法的特点是使用待检测目标的外接矩形的坐标信息作为检测算法的结果。该方法的缺点为:该方法应用于车牌检测时,对于大角度倾斜车牌会引入冗余信息,对后续车牌识别产生不利影响。

现有技术中的一种基于字符分割的车牌检测方法包括:对车牌图片进行字符分割,得到单个车牌字符,然后使用诸如svm(支持向量机,supportvectormachine)等分类方法对单个字符进行识别,从而得到识别结果。在车牌识别阶段,对二值化的车牌图片进行连通域标记,根据连通域的位置以及大小对得到的7个字符进行分割,得到7张二值化的字符图片,完成一个车牌的字符分割,利用结构特征进行字符分割,然后基于改进的模板匹配方法的字符识别。该方法的缺点为:该方法高度依赖车牌字符分割结果。然而,由于车牌字符分割方法需要车牌号码位数信息,因此,此类方法一般只能识别特定位数的车牌,比如常见的7位字符的车牌,对于其他位数的车牌,如新能源车牌(8位)则无法识别。此外,字符分割方法一般使用灰度化、二值化等丢失图片细节信息的处理方法,对于图片质量差的车牌图片常常分割失败,导致车牌识别结果较差。



技术实现要素:

本发明的实施例提供了一种基于深度学习的车牌检测与识别方法和装置,以解决现有技术的缺点。

为了实现上述目的,本发明采取了如下技术方案。

根据本发明的一个方面,提供了一种基于深度学习的车牌检测与识别方法,包括:

使用作为训练数据的车牌图片,训练用于车牌检测的卷积神经网络,得到车牌检测模型;使用作为训练数据的车牌图片,训练由卷积神经网络和循环神经网络组成的序列识别模型,得到车牌序列识别模型;

使用所述车牌检测模型对于待检测的车辆图片进行检测,得到车牌图片;

使用所述车牌序列识别模型对所述车牌图片进行检测,得到所述待检测的车辆图片的车牌识别结果。

进一步地,所述的使用作为训练数据的车牌图片,训练用于车牌检测的卷积神经网络,得到车牌检测模型,包括:

设计用于车牌检测的卷积神经网络结构,该卷积神经网络结构包括基础特征提取网络和卷积回归层,所述基础特征提取网络包括vgg-net,所述卷积回归层使用卷积核在所述基础特征提取网络输出的特征图上进行滑动卷积,得到卷积核对应区域是否有车牌,以及如果存在车牌时车牌的四个顶点的坐标信息;

训练阶段使用预训练过的分类模型,对所述卷积神经网络中卷积层的参数进行初始化,使用标注过的带有车牌顶点坐标信息的车辆图片数据作为训练样本,使用训练样本训练初始化后的卷积神经网络结构,使用随机梯度下降算法对初始化后的卷积神经网络结构进行优化,得到车牌检测模型。

进一步地,所述的使用作为训练数据的车牌图片,训练由卷积神经网络和循环神经网络组成的序列识别模型,得到车牌序列识别模型,包括:

构建包含卷积神经网络和循环神经网络的序列识别模型,所述卷积神经网络用于提取车牌图片的基础特征,对提取到的基础特征按列分割并拼接构造成特征序列,所述循环神经网络为长短时记忆网络或者门控循环神经网络;

使用标注过的车牌图片数据训练所述序列识别模型,对所述序列识别模型使用高斯初始化方法初始化各个权重参数,使用随机梯度下降算法对初始化后的序列识别模型进行最优化,得到车牌序列识别模型。

进一步地,所述的使用所述车牌检测模型对于待检测的车辆图片进行检测,得到车牌图片,包括:

使用所述车牌检测模型对待检测的车辆图片进行检测,得到车牌顶点坐标信息,按照车牌顶点坐标,在所述车辆图片中截取出车牌图片,使用所述车牌顶点坐标信息构造线性方程组,对所述线性方程组求解得到车牌校正变换矩阵,利用所述车牌校正变换矩阵对所述车牌图片进行平移、缩放和旋转处理,得到校正后的车牌图片,对校正后的车牌图片人工标注出图片中的车牌号。

进一步地,所述的使用所述车牌序列识别模型对所述车牌图片进行检测,得到所述待检测的车辆图片的车牌识别结果,包括:

将所述校正后的车牌图片输入到所述车牌序列识别模型中,得到车牌序列识别结果,该车牌序列识别结果的长度和构造所述车牌序列识别模型的卷积神经网络中的特征序列的长度一致;

按照分类概率使用一定的规则去除所述车牌序列识别结果中的空格和重复字符,把车牌序列识别结果映射到车牌识别结果。

根据本发明的另一个方面,提供了一种基于深度学习的车牌检测与识别装置,包括:

车牌检测模型构建模块,用于使用作为训练数据的车牌图片,训练用于车牌检测的卷积神经网络,得到车牌检测模型;

车牌序列识别模型构建模块,用于使用作为训练数据的车牌图片,训练由卷积神经网络和循环神经网络组成的序列识别模型,得到车牌序列识别模型;

车牌图片检测模块,用于使用所述车牌检测模型对于待检测的车辆图片进行检测,得到车牌图片;

车牌识别结果获取模块,用于使用所述车牌序列识别模型对所述车牌图片进行检测,得到所述待检测的车辆图片的车牌识别结果。

进一步地,所述的车牌检测模型构建模块,具体用于设计用于车牌检测的卷积神经网络结构,该卷积神经网络结构包括基础特征提取网络和卷积回归层,所述基础特征提取网络包括vgg-net,所述卷积回归层使用卷积核在所述基础特征提取网络输出的特征图上进行滑动卷积,得到卷积核对应区域是否有车牌,以及如果存在车牌时车牌的四个顶点的坐标信息;

训练阶段使用预训练过的分类模型,对所述卷积神经网络n1中卷积层的参数进行初始化,使用标注过的带有车牌顶点坐标信息的车辆图片数据作为训练样本,使用训练样本训练初始化后的卷积神经网络结构,使用随机梯度下降算法对初始化后的卷积神经网络结构进行优化,得到车牌检测模型。

进一步地,所述的车牌序列识别模型构建模块,具体用于构建包含卷积神经网络和循环神经网络的序列识别模型,所述卷积神经网络用于提取车牌图片的基础特征,对提取到的基础特征按列分割并拼接构造成特征序列,所述循环神经网络为长短时记忆网络或者门控循环神经网络;

使用标注过的车牌图片数据训练所述序列识别模型,对所述序列识别模型使用高斯初始化方法初始化各个权重参数,使用随机梯度下降算法对初始化后的序列识别模型进行最优化,得到车牌序列识别模型。

进一步地,所述的车牌图片检测模块,具体用于使用所述车牌检测模型对待检测的车辆图片进行检测,得到车牌顶点坐标信息,按照车牌顶点坐标,在所述车辆图片中截取出车牌图片,使用所述车牌顶点坐标信息构造线性方程组,对所述线性方程组求解得到车牌校正变换矩阵,利用所述车牌校正变换矩阵对所述车牌图片进行平移、缩放和旋转处理,得到校正后的车牌图片,对校正后的车牌图片人工标注出图片中的车牌号。

进一步地,所述的车牌识别结果获取模块,具体用于将所述校正后的车牌图片输入到所述车牌序列识别模型中,得到车牌序列识别结果,该车牌序列识别结果的长度和构造所述车牌序列识别模型的卷积神经网络中的特征序列的长度一致;

按照分类概率使用一定的规则去除所述车牌序列识别结果中的空格和重复字符,把车牌序列识别结果映射到车牌识别结果。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例提出了一种使用全卷积网络进行车牌检测和使用序列识别模型进行车牌识别的方法,使用车牌顶点作为车牌检测的结果,按照车牌顶点坐标信息对车牌进行校正,使得本方法能够处理一定倾斜角度下拍摄的车辆图片。使用卷积神经网络和循环神经网络构建的序列识别方法识别车牌,不需要对车牌进行字符分割,提高车牌识别准确率的同时,还使得该车牌识别方法能够识别不同位数长度的车牌。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于深度学习的车牌检测与识别方法的实现原理示意图;

图2为本发明实施例提供的一种车牌顶点检测卷积网络结构的示意图;

图3为本发明实施例提供的一种结合卷积神经网络和循环神经网络的车牌序列识别模型的结构图;

图4为本发明实施例提供的一种基于深度学习的车牌检测与识别装置的结构图,图中,车牌检测模型构建模块41,车牌序列识别模型构建模块42,车牌图片检测模块43,车牌识别结果获取模块44。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

不同于现有基于外接矩形的车牌检测技术只能识别小范围内形变的车牌,本发明实施例采用车牌的四个顶点作为车牌检测目标,可以处理大角度形变下车牌的检测问题,提高了车牌检测的鲁棒性。

不同于现有基于字符分割的车牌识别技术只能识别固定位数车牌,本方法实施例采用序列识别方法,能够处理低质量图片下不同位数车牌的识别问题,提高了车牌识别的准确率。

实施例一

本发明实施例提供了一种基于深度学习的车牌检测与识别方法,利用卷积神经网络得到车牌顶点在图片中的坐标信息,对图片中的车牌进行校正,使用卷积神经网络和循环神经网络构建的序列识别模型进行识别得到车牌识别结果。本发明只在训练阶段使用了标注有车牌位置信息的车辆图片和标注有车牌号码信息的车牌图片,分别训练车牌检测算法和车牌识别算法。在测试阶段,使用完全陌生的车辆图片进行车牌的检测和车牌识别。

本发明实施例提供的一种基于深度学习的车牌检测和识别方法,其处理流程如图1所示,包括如下的处理步骤:

步骤s110、使用人工标注的带有车牌顶点坐标信息的车牌图片,训练用于车牌检测的卷积神经网络n1,得到车牌检测模型m1。

设计用于车牌检测的卷积神经网络结构n1,其中n1是一个全卷积神经网络,由基础特征提取网络和卷积回归层组成,所述卷积回归层使用卷积核在基础特征提取网络输出的特征图上进行滑动卷积,回归出车牌位置信息。其中车牌顶点检测用卷积神经网络n1的结构如图2所示。使用一个改进的vgg-net作为基础特征提取网络,考虑车牌实际宽高比,在基础特征提取网络输出的多个特征图上使用大小为3*1的卷积核进行卷积,得到卷积核对应区域是否有车牌,以及如果存在车牌时车牌的四个顶点的坐标信息。

训练阶段使用预训练过的分类模型,对所述卷积神经网络n1中所有层的参数进行初始化,对于分类模型中没有的卷积层使用高斯初始化方法进行初始化。使用人工标注好的带有车牌顶点坐标信息的车辆图片数据作为训练样本(xn,yn),其中n为训练样本个数,使用训练样本训练初始化后的卷积神经网络结构n1,使用随机梯度下降算法对初始化后的卷积神经网络结构n1进行优化,得到车牌检测模型m1。

步骤s120、对车牌图片按照顶点坐标进行截取并校正。

使用拍照设备拍摄得到大量的车辆图片,使用上述车牌检测模型m1对车辆图片进行车牌检测,得到车牌顶点坐标信息,按照车牌顶点坐标,在车辆图片中截取出车牌图片。上述车牌顶点坐标信息包括车牌的四个顶点的坐标信息。

按照上述车牌顶点坐标信息求出车牌校正变换矩阵,求解变换矩阵时首先使用求出车牌顶点信息构造线性方程组,对线性方程组求解得到变换矩阵,按照所求车牌校正变换矩阵对上述车牌图片进行旋转、平移和缩放处理,得到校正后的车牌图片。每一个车牌图片的倾斜角度不同,所以每一张车牌图片求出的变换矩阵都是不同的。

对校正后的车牌图片人工标注出图片中的车牌号,得到车牌标注数据。

步骤s130、使用人工标注的带有车牌号码的车牌图片,训练由卷积神经网络和循环神经网络组成的序列识别模型,得到车牌序列识别模型m2。

构建序列识别模型,该序列识别模型包含一个为车牌识别专门设计的卷积神经网络,该卷积神经网络用于提取车牌图片的基础特征,对提取到的基础特征按列分割并拼接构造特征序列。上述序列识别模型中还包括一个双向循环神经网络,该循环神经网络可以是长短时记忆网络或者门控循环神经网络。

使用人工标注过的车牌图片数据训练所述序列识别模型,对所述序列识别模型使用高斯初始化方法初始化各个权重参数,使用随机梯度下降算法对初始化后的序列识别模型进行最优化,得到车牌序列识别模型m2。图3为本发明示例提供的一个车牌序列识别模型m2的结构图。

步骤s140、对于待检测的车辆图片,使用车牌检测模型m1对车辆图片进行检测得到车牌顶点坐标,按照顶点坐标对车牌进行校正,对校正后的车牌图片使用车牌序列识别模型m2进行检测,得到车牌序列识别结果。

对于一张待检测的车辆图片,首先使用车牌检测模型m1对其进行检测,得到车牌顶点坐标信息,按照车牌顶点坐标,在车辆图片中截取出车牌图片。按照上述车牌顶点坐标信息求出车牌校正变换矩阵。并依照车牌校正变换矩阵对车牌图片进行平移、缩放和旋转处理,得到校正的车牌图片。把校正后的车牌图片送入步骤s130中得到的车牌序列识别模型m2,得到车牌序列识别结果。其中,车牌序列识别结果的长度和步骤s130中构造的特征序列的长度一致。

步骤s150、去除车牌序列识别结果中的空格和重复字符,得到车牌识别最终结果。

使用映射方法,把步骤s140输出的车牌序列识别结果映射为一个唯一的车牌识别结果。本发明中使用的一种映射方法为:对于车牌序列识别结果按照贪心算法原则去除其中的空字符和重复字符,按照分类概率使用一定的规则去除所述车牌序列识别结果中的空格和重复字符,把车牌序列识别结果映射成车牌识别结果。这种方法保证车牌识别映射的唯一性。

实施例二

该实施例提供的一种基于深度学习的车牌检测与识别装置的结构如图4所示,具体可以包括如下的模块:

车牌检测模型构建模块41,用于使用作为训练数据的车牌图片,训练用于车牌检测的卷积神经网络,得到车牌检测模型;

车牌序列识别模型构建模块42,用于使用作为训练数据的车牌图片,训练由卷积神经网络和循环神经网络组成的序列识别模型,得到车牌序列识别模型;

车牌图片检测模块43,用于使用所述车牌检测模型对于待检测的车辆图片进行检测,得到车牌图片;

车牌识别结果获取模块44,用于使用所述车牌序列识别模型对所述车牌图片进行检测,得到所述待检测的车辆图片的车牌识别结果。

进一步地,所述的车牌检测模型构建模块41,具体用于设计用于车牌检测的卷积神经网络结构,该卷积神经网络结构包括基础特征提取网络和卷积回归层,所述基础特征提取网络包括vgg-net,所述卷积回归层使用卷积核在所述基础特征提取网络输出的特征图上进行滑动卷积,得到卷积核对应区域是否有车牌,以及如果存在车牌时车牌的四个顶点的坐标信息;

训练阶段使用预训练过的分类模型,对所述卷积神经网络n1中卷积层的参数进行初始化,使用标注过的带有车牌顶点坐标信息的车辆图片数据作为训练样本,使用训练样本训练初始化后的卷积神经网络结构,使用随机梯度下降算法对初始化后的卷积神经网络结构进行优化,得到车牌检测模型。

进一步地,所述的车牌序列识别模型构建模块42,具体用于构建包含卷积神经网络和循环神经网络的序列识别模型,所述卷积神经网络用于提取车牌图片的基础特征,对提取到的基础特征按列分割并拼接构造成特征序列,所述循环神经网络为长短时记忆网络或者门控循环神经网络;

使用标注过的车牌图片数据训练所述序列识别模型,对所述序列识别模型使用高斯初始化方法初始化各个权重参数,使用随机梯度下降算法对初始化后的序列识别模型进行最优化,得到车牌序列识别模型。

进一步地,所述的车牌图片检测模块43,具体用于使用所述车牌检测模型对待检测的车辆图片进行检测,得到车牌顶点坐标信息,使用所述车牌顶点坐标信息构造线性方程组,对所述线性方程组求解得到车牌校正变换矩阵,利用所述车牌校正变换矩阵对所述车牌图片进行平移、缩放和旋转处理,得到校正后的车牌图片,对校正后的车牌图片人工标注出图片中的车牌号。

进一步地,所述的车牌识别结果获取模块44,具体用于将所述校正后的车牌图片输入到所述车牌序列识别模型中,得到车牌序列识别结果,该车牌序列识别结果的长度和构造所述车牌序列识别模型的卷积神经网络中的特征序列的长度一致;

按照分类概率使用一定的规则去除所述车牌序列识别结果中的空格和重复字符,把车牌序列识别结果映射到车牌识别结果。

用本发明实施例的装置进行基于深度学习的车牌检测与识别的具体处理过程与前述方法实施例类似,此处不再赘述。

综上所述,本发明实施例提出了一种使用全卷积网络进行车牌检测和使用序列识别模型进行车牌识别的方法,使用车牌顶点作为车牌检测的结果,按照车牌顶点坐标信息对车牌进行校正,使得本方法能够处理一定倾斜角度下拍摄的车辆图片。使用卷积神经网络和循环神经网络构建的序列识别方法识别车牌,不需要对车牌进行字符分割,提高车牌识别准确率的同时,还使得该车牌识别方法能够识别不同位数长度的车牌。

本发明采用车牌的四个顶点作为车牌检测目标,可以处理大角度形变下车牌的检测问题,提高了车牌检测的鲁棒性;不同于现有基于字符分割的车牌识别技术只能识别固定位数车牌,本方法采用序列识别方法,能够处理不同位数车牌的识别问题,提高了车牌识别的准确率。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1