一种支持向量机的车牌字符识别方法转让专利

申请号 : CN201110287924.0

文献号 : CN102346847B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 裴雷陈维强朱中刘微刘韶王晓曼魏楠楠卜柯

申请人 : 青岛海信网络科技股份有限公司

摘要 :

本发明公开了一种车牌字符识别方法,包括支持向量机的训练过程和使用支持向量机进行车牌识别过程,本发明的车牌字符识别方法,采用LPP算法提取字符特征,得到的字符特征更具有分类判别性,提高判别效果;对字母数字分类器采用分层组建,可针对车牌的特点实现小类别范围内的识别,提高识别分别率,降低了识别算法的复杂度和训练参数存储资源,适用于嵌入式系统应用。采用基于置信度的视频流统计识别,避免了因单帧拍摄效果不好或车牌预处理效果不好而导致的识别效果不好的弊端,可进一步提高识别率。

权利要求 :

1.一种支持向量机的车牌字符识别方法,包括支持向量机的训练过程和使用支持向量机进行车牌识别过程,其特征在于,支持向量机的训练过程包括以下步骤:(1)、对训练车牌字符样本进行车牌预处理得到字符样本集Xtrain;

(2)、对字符样本集Xtrain利用LPP算法计算得到变换矩阵A,使高维数据集Xtrain映射到低维映射空间;

(3)、对Xtrain利用变换矩阵A进行特征提取,得到训练车牌样本的特征数据集Ytrain;

(4)、利用特征数据集Ytrain训练支持向量机,得到车牌字符识别的支持向量机分类器;

所述的支持向量机分类器采用一对一算法组建,包括字母-数字分类器和汉字分类器两大类分类器,所述字母-数字分类器采用三层的方式构建,方法如下:

设nL个字母,nD个数字,第一层为:nL个字母分别两两组成一个字母子分类器,共nL×(nL-1)/2个字母子分类器;

第二层为:nD个数字分别两两组成一个数字子分类器,共nD×(nD-1)/2个数字子分类器;

第三层为:nL个字母与nD个数字分别两两组成一个字母-数字子分类器,共nL×nD个字母-数字子分类器;

所述的汉字分类器采用一层的方式构建,设共nC个汉字,该nC个汉字分别两两组成一个汉字子分类器,共nC×(nC-1)/2个汉字子分类器,其中,nL、nD、nC均为正整数;

使用支持向量机分类器进行车牌识别过程包括以下步骤:

(5)、对抓拍视频流中的每帧图片进行车牌定位,将定位得到的车牌预处理以及字符分割,得到测试字符样本集Xtest;

(6)、对Xtest利用变换矩阵A进行特征提取,得到训练车牌样本的特征数据集Ytest;

(7)、将Ytest输入到支持向量机分类器,得到字符识别结果,并计算该识别结果的置信度;

(8)、对多帧图片中该车牌的字符识别结果进行统计投票,确定最终识别结果。

2.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,步骤(8)中还包括根据经验值确定拒识阈值,字符识别结果的置信度高于此阈值才采信,否则拒识,拒识的字符识别结果不参与投票。

3.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,步骤(7)中的分类识别过程为:利用所组建的字母-数字分类器和汉字分类器两大类分类器,分别对车牌中字母、数字、字母和数字、汉字进行识别。

4.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,步骤(8)中所述统计投票过程为:根据匹配计算得出待测数据x对每一个分类器所分类别的归属,遍历所有的分类器,进行投票,待测数据x属于得到的票数最多的类别,其中,x∈Xtest。

5.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,在步骤(1)中,采集足够的车牌样本图片,含有的字符种类至少包括《中华人民共和国机动车号牌》(GA36-2007)附录B中定义的所有字符,每个字符的个数至少为30个。

6.根据权利要求3所述的支持向量机的车牌字符识别方法,其特征在于,在步骤(6)中,每一帧的车牌图片的测试样本集Xtest包括7个字符。

7.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,在所述步骤(3)与步骤(4)之间,还包括:将特征数据集Ytrain中的字符以同一字符为准,分成若干个特征参数子集,即:包括nL个字母特征参数子集,nD个数字特征参数子集,nC个汉字特征参数子集。

8.根据权利要求1所述的支持向量机的车牌字符识别方法,其特征在于,步骤(1)和步骤(5)中所述的车牌预处理包括车牌二值化处理、车牌倾斜校正、车牌水平分割、车牌竖直分割处理。

说明书 :

一种支持向量机的车牌字符识别方法

技术领域

[0001] [0001] 本发明涉及一种车牌字符识别方法,具体地说,是涉及一种支持向量机的车牌字符识别方法,属于智能交通技术领域。

背景技术

[0002] 车牌字符识别是在智能交通中对所抓拍的车牌视频或者图像中识别提取出车牌号码,我国的车牌号码由有限的汉字、英文字母和数字组成。车牌识别通常包括车牌预处理:完成对车牌字符的分割、字符样本的提取;然后对车牌字符进行特征提取;最后对提取的特征利用分类器进行分类识别得到车牌字符的识别结果。
[0003] 对于车牌字符识别,目前最常用的方法是基于模板匹配的方法和基于神经网络的方法。
[0004] 模板匹配法多利用了字符的轮廓、网格、投影等统计特征进行字符的识别,而导致相似字符区分能力差以及因特征数据维数过大而导致识别速度慢等问题,还有模板的选择问题。
[0005] 神经网络方法通过多层神经网络对输入字符图像样本进行训练,产生分类器模型用于字符识别。但神经网络需要大量训练样本,存在网络输入数据的选择、网络结构设计和不易区分特征值相近的字符(如0,D,Q;8, B)等问题。
[0006] 目前也有使用支持向量机法进行车牌字符识别,而目前使用该方法的字符识别过程,在车牌字符特征提取部分,一般是基于轮廓、网格、投影等统计特征,只能提取到字符的部分特征不利用分类识别(例如专利200910059360.8);利用字符特征降维的方法现在逐渐利用到车牌字符特征提取上,能够全面提取字符特征,字符识别效果好,另外一种较多使用的降维方法是主成分分析(Principal Component Analysis,PCA)法,但这种方法是从全局的角度对数据进行降维,并未考虑数据的局部特征,在降维的过程中,不可避免地损失了一些重要信息,譬如数据的局部聚类情况。
[0007] 基于此,如何发明一种车牌字符识别方法,基于支持向量机,既能保持了支持向量机的优点,同时在字符特征提取方面可以在对高维数据进行降维映射后有效地保留数据内部的非线性结构,并利用多帧识别结果综合判断得到最优识别结果提高识别率,对字母数字分类器采用分层组建,提高识别分别率,降低了训练参数存储资源,提高识别率减少资源耗费是本发明主要解决的问题。

发明内容

[0008] 本发明为了解决现有车牌字符识别效果差的问题,提出了一种车牌字符识别方法,识别率高,而且误判率低,提高了字符识别的正确率。
[0009] 为了解决上述技术问题,本发明采用以下技术方案予以实现:
[0010] 一种支持向量机的车牌字符识别方法,包括支持向量机的训练过程和使用支持向量机进行车牌识别过程,其中,支持向量机的训练过程包括以下步骤:
[0011] (1)、对训练车牌字符样本进行车牌预处理得到字符样本集Xtrain;
[0012] (2)、对字符样本集Xtrain利用LPP算法计算得到变换矩阵A,可以使高维数据集Xtrain映射到低维映射空间;
[0013] (3)、对Xtrain利用变换矩阵A进行特征提取,得到训练车牌样本的特征数据集Ytrain;
[0014] (4)、利用特征数据集Ytrain训练支持向量机,得到车牌字符识别的分类器;
[0015] 使用支持向量机分类器进行车牌识别过程包括以下步骤:
[0016] (5)、对抓拍视频流中的每帧图片进行车牌定位,将定位得到的车牌预处理以及字符分割,得到测试字符样本集Xtest;
[0017] (6)、对Xtest利用变换矩阵A进行特征提取,得到训练车牌样本的特征数据集Ytest;
[0018] (7)、将Ytest输入到支持向量机分类器,得到字符识别结果,并计算该识别结果的置信度;
[0019] (8)、对多帧图片中该车牌的字符识别结果进行统计投票,确定最终识别结果。
[0020] 进一步的,根据经验值确定拒识阈值,字符识别结果的置信度高于此阈值才采信,否则拒识,拒识的字符识别结果不参与投票。
[0021] 所述的支持向量机分类器采用一对一算法组建,包括字母-数字分类器和汉字分类器两大类分类器,具体的,所述字母-数字分类器采用三层的方式构建,这种构造方式相当于一个字母数字分类器规模,但可以根据需要分别对字母类、数字类、字母和数字类进行分类识别,在小范围内进行分类识别,提高了分类准确度以及计算速度,方法如下:
[0022] 设nL个字母,nD个数字,第一层为:nL个字母分别两两组成一个字母子分类器,共 nL×(nL-1)/2个字母子分类器;
[0023] 第二层为:nD个数字分别两两组成一个数字子分类器,共nD×(nD-1)/2个数字子分类器;
[0024] 第三层为:nL个字母与nD个数字分别两两组成一个字母-数字子分类器,共nL×nD个字母-数字子分类器;所述的汉字分类器采用一层的方式构建,设共nC个汉字,该nC个汉字分别两两组成一个汉字子分类器,共nC×(nC-1)/2个汉字子分类器,其中,nL、nD、nC均为正整数。
[0025] 具体的,步骤(8)中的分类识别过程为:根据所组建的分层字母-数字分类器和汉字分类器两大类分类器,分别对车牌中字母、数字、字母和数字、汉字进行识别。
[0026] 又进一步的,步骤(9)中所述统计投票过程为:根据匹配计算得出待测数据x对每一个分类器所分类别的归属概率,遍历所有的分类器,进行投票,待测数据x属于得到的票数最多的类别,其中,x∈Xtest。
[0027] 在步骤(1)中,采集足够的车牌样本图片,含有的字符种类至少包括《中华人民共和国机动车号牌》(GA36-2007)附录B中定义的所有字符,每个字符的个数至少为30个。
[0028] 根据我国车牌特征,包括汉字、字母以及数字共7个字符,因此,在步骤(6)中,每一帧的车牌图片的测试样本集Xtest包括7个字符。
[0029] 在所述步骤(3)与步骤(4)之间,还包括:将特征参数集Ytrain中的字符以同一字符为准,分成若干个特征参数子集,即:包括nL个字母特征参数子集,nD个数字特征参数子集,nC个汉字特征参数子集。这样进行划分可以非常短时、有效的对支持向量机的各子分类器进行训练。
[0030] 步骤(1)和步骤(5)中所述的车牌预处理包括车牌二值化处理、车牌倾斜校正、车牌水平分割、车牌竖直分割处理。
[0031] 与现有技术相比,本发明的优点和积极效果是:本发明的车牌字符识别方法,采用LPP算法提取字符特征,得到的字符特征更具有分类判别性,提高判别效果;对字母数字分类器采用分层组建,可针对车牌的特点实现小类别范围内的识别,提高识别分别率,降低了识别算法的复杂度和训练参数存储资源,适用于嵌入式系统应用;采用基于置信度的视频流统计识别,避免了因单帧拍摄效果不好或车牌预处理效果不好而导致的识别效果不好的弊端,可进一步提高识别率。
[0032] 结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

[0033] 图1是本发明所提出的车牌字符识别方法实施例一中的部分流程图;
[0034] 图2是本发明所提出的车牌字符识别方法实施例一中的另外一部分流程图;
[0035] 图3是本发明所提出的车牌字符识别方法实施例一中支持向量机分类线示意图。

具体实施方式

[0036] 本发明的车牌字符识别方法为了提高车牌字符的识别率,以及同时降低了算法的复杂度,减小了计算量。下面结合附图对本发明的具体实施方式作进一步详细地说明。
[0037] 实施例一,本实施例的支持向量机的车牌字符识别方法,包括支持向量机的训练过程和使用支持向量机进行车牌识别过程,其中,参见图1所示,支持向量机的训练过程包括以下步骤:
[0038] S01、对训练样本车牌进行车牌预处理得到字符样本集Xtrain;
[0039] 作为一个具体的实施例,训练样本车牌是通过采集足够的车牌样本图片,使得车牌样本图片中所包含的字符种类至少包括《中华人民共和国机动车号牌》(GA36-2007)附录B中定义的所有字符,而且,由于在车牌抓拍过程中拍摄角度、光线的不同,即便是同一字符所拍出的样式也差别非常大,为了提高字符识别正确率,保证每个字符的个数至少为30个,所述的车牌预处理包括车牌的二值化处理、倾斜校正、车牌水平、竖直分割处理,车牌预处理为智能交通中常用的一些基本的处理,比如二值化处理可以通过设置合适的阈值,将字符和背景二值化,进而将字符和背景区分开,倾斜校正则是为了校正由于拍摄角度造成的车牌图像倾斜,防止水平分割时误去除掉有效的字符,车牌的竖直分割是为了将车牌中所包含的7个字符分割开,使其成为一个个独立的字符样本,便于后续的处理。具体的实施方法为本领域技术人员所公知技术,在此不做赘述。
[0040] S02、对字符样本集Xtrain利用LPP算法计算得到变换矩阵A,可以使高维数据集Xtrain映射到低维映射空间;
[0041] 在特征提取中,由于基于现在常用的轮廓、网络、投影等统计特征方法只能提取到字符的部分特征;或采用PCA算法进行降维提取特征,PCA能得到字符的全局特征,但判别性能不高,识别率低,因此,在本实施例中采用判别性高的LPP(Locality preserving projections,LPP)算法进行特征提取,LPP是一种基于光谱理论的方法,这种方法本质上是一种线性降维方法,克服了非线性降维算法计算复杂等缺点,以及同时结合了拉普拉斯特征映射的算法思想,从而可以在对高维数据进行降维映射后有效保留数据内部的非线性结构。
[0042] 特征提取过程为利用LPP算法进行数据降维过程,即将对车牌预处理后字符高维n数据集x1, x2,… xm, X∈R,寻找变换矩阵A,使得数据集映射到低维数据集y1, y2,… ym, d T
Y∈R 中,将yi定义为xi的低维映射,即yi=Axi,其中m是数据集中样本个数,n为高维特征维数,d为降维后特征维数。
[0043] LPP算法具体步骤:
[0044] 第一步:创建邻接图,建立一个具有m个顶点的权图G,如果节点xi是xj的K近邻或者节点xj是xi的K近邻,则在节点xi和xj之间用一条边连接。
[0045] 第二步:确定权重,令W代表权值矩阵,则Wij为第i个样本到第j个样本的权值,当xi和xj有边相连时,Wij=1否则Wij=0。
[0046] 第三步:完成映射,按如下方程计算特征值和特征向量
[0047] XLXTα=λXDXTα (1)
[0048] 上式的X=(x1, x2,… xm ),D是对角权矩阵,它的元素就是W的行(或列,因为W是对称矩阵)元素的数值之和,Dii=ΣjWij。拉普拉斯矩阵L=D-W是对称矩阵且具有半正定的性质。假定α0, α1,… αd-1是方程1的解,对应的特征值为λ0≤λ1≤…λd-1,则我们要求的线性降维映射可以表示如下:
[0049] xi→yi=AT xi (2)[0050] 其中,A=(α0, α1,… αd-1)为n x d维的转换矩阵。
[0051] S03、对Xtrain利用变换矩阵A进行特征提取,
[0052] 将Xtrain输入yi=AT xi公式得到训练样本车牌的特征数据集Ytrain;
[0053] S04、利用特征数据集Ytrain训练支持向量机,得到车牌字符识别分类器;
[0054] 在支持向量机理论中,其本质上是2类分类器,因此,如何设计一个好的分类器是解决问题的关键,在本实施例中,所述的支持向量机分类器采用一对一算法组建,由于汉字一般固定位于车牌的第一个字符,因此,本实施例将汉字单独作为一类,包括字母-数字分类器和汉字分类器两大类分类器,
[0055] 由于字母-数字分类器包括字母和数字两小类,而分别包括26个字母和10个数字,一对一支持向量机的算法就是在每两个元素间训练一个支持向量机子分类器,用于将该两元素识别分开,因此,为了构建方便,本实施例中所述字母-数字分类器采用三层的方式构建,方法如下:
[0056] 设nL个字母,nD个数字,第一层为:nL个字母分别两两组成一个字母子分类器,在实际应用过程中,比如AB与BA只需训练一个子分类器即可,因此,共nL×(nL-1)/2个字母子分类器;
[0057] 第二层为:nD个数字分别两两组成一个数字子分类器,共nD×(nD-1)/2个数字子分类器;
[0058] 第三层为:nL个字母与nD个数字分别两两组成一个字母-数字子分类器,共nL×nD个字母-数字子分类器;
[0059] 所述的汉字分类器采用一层的方式构建,设共nC个汉字,该nC个汉字分别两两组成一个汉字子分类器,共nC×(nC-1)/2个汉字子分类器,其中,nL、nD、nC均为正整数。
[0060] 基于上述方式构建的分类器,还可以根据我国车牌字符的排列特性,比如,第二个字符肯定是字母,只需要将该字符遍历所有的nL×(nL-1)/2个字母子分类器,便能得出可靠的结论,该方式同样适用于所处的位置肯定是数字的字符,只需要将其遍历所有的数字子分类器即可,保证识别可靠性的同时减小了计算量。对于可能是字母,也可能是数字的字符,需要遍历所有的3层分类器进行识别。传统方案要组建字母、字母-数字、数字三类分类器才能实现此功能,存储空间占用很大,不适合嵌入式系统应用。本方案利用分层实现三类分类器功能,其存储空间要求只相当于字母-数字分类器大小,减少了嵌入式系统存储压力。
[0061] 本支持向量机分类器的方法另外一个重要的功能在于子训练器可以随便增加,比如,在某些特殊情况下,一旦出现了《中华人民共和国机动车号牌》(GA36-2007)附录B中没有定义的字符,使用本方法可以方便的将该字符加入进去,训练出其特征,准确的将其识别。
[0062] 参见图2所示,使用支持向量机进行车牌识别过程包括以下步骤:
[0063] S05、对抓拍视频流中的每帧图片进行车牌定位;
[0064] 本步骤是针对从电子警察所抓拍的视频流中识别字符,可以提高识别精确度,比如只是处理拍照的话,可能只能提取到2、3张有效图像,而视频流可以从中获取到很多帧图像,提取并识别每一帧的图像字符,有利于后期判断。当然,本方法同样适用于电子警察抓拍的图像。
[0065] S06、将定位得到的车牌预处理,得到测试样本集Xtest;
[0066] 其中,车牌预处理与前述的预处理方法及项目一致,在此不做赘述。
[0067] S07、将Xtest输入yi=AT xi公式得到测试样本的特征参数集Ytest;
[0068] 利用步骤S02中训练样本车牌所得到的变换矩阵A,计算测试样本的特征参数。
[0069] S08、将Ytest输入到支持向量机分类器,利用得到的分类线进行分类识别,得到识别结果和识别置信度;
[0070] 步骤S08中的分类识别过程为:根据所组建的字母-数字分类器和汉字分类器两大类分类器,分别对字母、数字、字母和数字进行识别。作为一个具体的实施例,参见图3所示,H是支持向量机所求的最优分类线,H1,H2分别为过各类样本中最优分类线最近的点,即支持向量(SV),dsv代表其SV到H的距离
[0071] dsv = 1/‖W‖ (3)[0072] 支持向量SV基本上己被看作是离分类面最近的样本,如果测试样本离分类面的距离越大于支持向量SV,那么它能被正确识别的概率就越高,所以可以利用测试样本和支持向量SV的这种广义的距离关系来确定样本能被正确分类的置信度, ds代表了测试样本到H的距离
[0073] ds= f(x) / ‖W‖, (4)[0074] 其中f(x)为测试样本分类判别函数值。则置信度为:
[0075] Confidence = ds/dv = f(x), (5)[0076] Confidence越大代表准确率越高。所以可以用Confidence代表SVM分类的置信度。通过实验得到最小置信度的判断阈值ConMin,如果测试样本Confidence
[0077] S09、对多帧图片中该车牌的字符识别结果进行统计投票,确定最终识别结果。
[0078] 所述统计投票过程为:根据匹配计算得出待测数据x对每一个分类器所分类别的归属,遍历所有的分类器,进行投票,待测数据x属于得到的票数最多的类别,其中,x∈Xtest。
[0079] 也就是,根据字符识别结果置信度与置信度判断阈值的比较,确定当前识别结果是否采信,小于阈值的则拒识,其字符识别结果不参与投票。
[0080] 对视频流的每帧进行车牌定位识别,车牌的每个字符通过以上原则进行投票,得到票数最高的识别结果作为最终该字符的识别结果。
[0081] 在所述步骤S03与步骤S04之间,还包括:将特征参数集Ytrain中的字符以同一字符为准,分成若干个特征参数子集的步骤,即:包括nL个字母特征参数子集,nD个数字特征参数子集,nC个汉字特征参数子集。这样进行划分可以非常短时、有效的对支持向量机的各子分类器进行训练。
[0082] 本发明的车牌字符识别方法,基于支持向量机,既能保持了支持向量机的优点,同时在字符特征提取方面可以在对高维数据进行降维映射后有效地保留数据内部的非线性结构,得到的字符特征更具有分类判别特性,提高判别效果;对字母数字分类器采用分层组建,可针对车牌的特点实现小类别范围内的识别,提高识别分别率,降低了识别算法的复杂度和训练参数存储资源,适用于嵌入式系统应用;并利用多帧识别结果利用置信度综合判断得到最优识别结果提高识别率,提高识别率减少资源耗费是本发明主要解决的问题。
[0083] 当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。