字符集中汉字有50多个,其中31个为各省、直辖市和自治区的简称;英文字母全部为大写字母,不含字母“I”,字母“o”归为数字“0”,故英文字母集由24个大写字母组成;数字为0~9的阿拉伯数字。
支持向量机是针对二类别的分类而提出的,但车牌字符识别是多类别的分类问题,需要将二类别分类方法扩展到多类别分类,本文采用了一一区分法实现。一一区分法(one—against—one method)是分别选取2个不同类别构成一个SVM子分类器,这样对于k类问题,共有k(k一1)/2个SVM子分类器。在构造类别i和类别j的SVM子分类器时,在样本数据集中选取属于类别i和类别j的样本数据作为训练样本数据,并将属于类别i的数据标记为正,将属于类别j的数据标记为负。测试时,将测试数据对k(k一1)/2个SVM子分类器分别进行测试,并累计各类别的得分,选择得分最高者所对应的类别为测试数据的类别。
4 最佳参数模型的选择
本文从某一实际卡口系统采集到的768×576像素的汽车牌照图片进行车牌定位和字符分割后,将分割的每个车牌字符进行二值化操作,字符笔划对应的像素置为l,背景像素置为0,再将每个字符归一化到13x24像素,并根据每个字符在车牌中的位置,编上序号l~7。
本文所选汽车牌照图片共计132张,包括晚上、逆光、字符磨损厉害、牌照倾斜和牌照旁挂其它牌子等情况;有129张图片可以实现车牌正确定位,车牌定位率为97.73%;120张图片可以实现所有字符正确分割,字符分割完全正确率为93.02%。
本文将每个字符作为一个样本,每个样本维数为312(13x24),根据其序号分成4类样本。每类样本分成两部分,60%的样本训练产生模型,另40%用于测试,核函数采用径向基函数K(xi,x)=exp(-||x-xi||2/σ2),分别训练生成4类分类器,从中选择最优参数模型组成4类最佳分类器,用来进行车牌字符的整体识别。
为了求解最佳的分类器参数(C,σ2),本文选择双线性法来求解最佳参数,对每类分类器模型采用以下步骤:
第一步:根据识别正确率确定最佳参数C。首先假设C=10,取σ2=10-1,100,101,102,103,得到最高的识别正确率对应的σ2,然后固定σ2,改变C的值,得到这时最高的识别正确率对应的C值,作为最佳参数C。
4类分类器的最高识别正确率对应的(C,σ2)都为(10,100),确定最佳C=10。
第二步:确定最佳参数(C,σ2)。固定最佳参数C,取σ2=l,10,100,200,300,400,500,600,700,800,900,1000,取最高识别正确率对应的(C,σ2)为分类器模型的最佳参数。
观察发现,4类分类器模型在σ2的值变为100以下时,对应的识别正确率都逐渐减小;σ2的值变为100以上时,对应的识别正确率先增大后减小,出现“峰值”,取“峰值”对应的模型参数为最佳参数。4类最佳分类器如下表1所示。
实验观察分析,分类器识别时具有一定的偏向性,即参与训练的某类样本数目多,预测样本识别为该类的概率就大,如训练样本中“浙”字较多,汉字分类器将预测样本识别为“浙”的可能性较大,而实际上预测样本中“浙”字数目较多,这样无形中就提高了识别正确率。