1.一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,包括分类器训练以及字符识别两个过程,其中,分类器训练的具体步骤如下:
步骤1,对大量的样本车牌图像进行车牌定位、车牌校正、二值化处理和字符分割的预处理,得到分割出的二值化字符图像集C_train,总共含有的样本个数为Nsam;
步骤2,字符处理:对字符图像集C_train中的各个字符图像进行中心化、切变校正以及归一化的处理,得到归一化后的字符图像集C_trainnor;
nor
步骤3,把字符图像集C_train 分成两个子集,分别为汉字图像集C1_train和数字及字母的非汉字图像集C2_train;
步骤4,建立两种基于Caffe架构的深度学习网络结构,其中,一种为汉字网络结构DL1,另一种为非汉字网络结构DL2;
步骤5,利用步骤4建立的网络结构训练分类器:把汉字图像集C1_train作为输入,代入汉字网络结构DL1,训练得到汉字分类器DLC1;把非汉字图像集C2_train作为输入,代入非汉字网络结构DL2,训练得到非汉字分类器DLC2;
字符识别的具体步骤如下:
步骤6,预先建立汉字索引表Tab1和非汉字索引表Tab2,然后对抓拍视频流中每帧图像定位的各个车牌图像进行步骤1的预处理,得到待识别各个车牌图像的字符样本集C,C={c1,c2,…cm,…cM},其中cm为车牌中的第m个字符,1≤m≤M,M为单个车牌包含的字符总个数;
步骤7,对字符样本集C中的各个字符cm经由步骤2的处理,得到归一化后的车牌字符步骤8,对车牌各个字符 分别进行识别:根据字符所在位置进行字符类型判断,如果是第一个字符,即为汉字字符,否则为非汉字字符,把汉字字符代入汉字分类器DLC1,输出结果为汉字的类别索引 其中d=0,
1,…,N1-1,m=1,N1为汉字的类别数,查找对应的汉字索引表Tab1得到汉字的识别结果Rm,m=1;把非汉字字符代入非汉字分类器DLC2,输出结果为非汉字的类别索引 其中d=0,
1,…,N2-1,m=2,3,…,M,N2为非汉字字符的类别数,查找非汉字索引表Tab2分别得到非汉字字符的识别结果Rm,m=2,3,…,M,按顺序合并各个字符的识别结果,得到车牌的识别结果Rp,Rp=URm,其中m=1,2,…,M。
2.如权利要求1所述的一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,所述步骤2字符处理的具体步骤如下:步骤2.1,对字符集C_train中的每一个字符进行几何投影,分别得到其垂直投影宽度,计算投影宽度和字符标准宽度的差值,根据差值的取值对字符是否需要进行中心化处理进行判断,若需要,则进行中心化处理;若不需要,不做任何处理,最终得到字符图像集C_traincen;
步骤2.2,对C_traincen中的每个车牌字符进行投影宽度最小化的切变校正,得到切变校正后的字符图像集C_traincor;
步骤2.3,将切变校正后的字符图像集C_traincor中的字符按1:2的宽高比进行大小归一化,得到归一化的字符图像集C_trainnor,其中每个字符的大小为w×h。
3.如权利要求2所述的一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,所述步骤2.1中判断字符是否中心化以及中心化的处理方法按照以下步骤实施:①对对字符集C_train中的各个字符图像trainj进行垂直投影得到投影图像,其中j=
1,2,3…Nsam,对投影图像按列进行统计,得到每一列的关键点个数,即值为255的像素点个数,记为Si,i=1,2,…,wj,其中wj为字符trainj的宽度;
②从投影图像的最左端开始向中间移动,找到第一个不为0的Si,其列号i作为左边界值Bjl;同理,从投影图像的最右端开始向中间移动,找到第一个不为0的Si,其列号i作为右边界值Bjr;
③计算是否进行中心化的判断阈值Tj:
④若Tj=0,则不需要中心化处理;否则进行中心化处理,即,若Tj>0,则把字符图像trainj中值为255的像素点向左平移Tj个单位;若Tj<0,则把字符图像trainj中值为255的像素点向右平移Tj个单位。
4.如权利要求3所述的一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,所述步骤2.2中对中心化后的字符图像集C_traincen进行切变校正的方法具体按照以下步骤实施:①设置初始值:角度变化范围为[θs,θe],最小投影宽度wid=WID_MIN,旋转角度初始值θ=θs,最佳旋转角度初始值θba=θ,角度增量②对字符图像集C_traincen中的字符样本 j=1,2,3,…Nsam旋转θ角度,旋转后经由2.1中的步骤①、②处理,得到字符样本的左右边界值Bjl和Bjr,确定其投影的宽度值判断 是否小于wid,若是,则令 θjba=θ;若不是,继续步骤③;
③令当前的旋转角度θ为步骤②中的旋转角度θ加角度增量Δθ,并对当前旋转角度θ值进行判断,若θ≤θe,则返回步骤②;若θ>θe,继续步骤④;
ba
④根据θ 取值确定图像 所在的外接四边形
⑤对四边形 进行逆透视变换,得到校正后的字符图像
其中Trans_Per(·)为逆透视变换函数。
5.如权利要求1所述的一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,所述步骤4的建立两种基于Caffe架构的深度学习网络结构具体按照以下步骤实施:步骤4.1,建立深度学习汉字网络结构DL1:该网络结构输入为车牌汉字图像集,大小为w×h×C,其中w×h为车牌汉字图像的分辨率,C为通道值;输出为车牌汉字类别索引的集合,记为 其中N1代表车牌汉字的种类数;车牌汉字的网络结构的总层数为13,分别由1个输入层,2个卷积层,2个池化层,3个激活层,2个全连接层,1个softmax层,1个drop层和1个输出层连接而成,具体连接顺序为:输入-卷积-激活-池化-卷积-激活-池化-全连接-激活-drop-全连接-softmax-输出;
步骤4.2,建立深度学习字母与数字的网络结构DL2:该网络结构输入为车牌非汉字图像集,大小为w×h×C,其中w×h为车牌汉字图像的分辨率,C为通道值;输出为车牌非汉字类别索引的集合,记为 其中N2代表车牌非汉字的种类数;车牌非汉字的网络结构的总层数为10,分别由1个输入层,2个卷积层,2个池化层,1个激活层,2个全连接层,1个softmax层,1个输出层连接而成,具体连接顺序为:输入-卷积-池化-卷积-池化-全连接-激活-全连接-softmax-输出。
6.如权利要求1或5所述的一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,所述步骤5中训练分类器的方法具体按照如下步骤:①选择训练数据:以汉字图像集C1_train作为训练汉字字符分类器的数据集,以非汉字图像集C2_train作为训练非汉字字符分类器的数据集;
②设置样本标签:汉字类别总共为N1类,类别标签号0~N1-1;非汉字的类别总共为N2类,类别标签号为0~N2-1,分别制作汉字标签文件Lab1,非汉字标签文件Lab2,标签文件的内容包括汉字图像集C1_train和非汉字图像集C2_train里每个字符样本所存的路径以及对应类别标签号;
③利用Caffe架构,把汉字图像集C1_train转化为数据库DB1,把将非汉字图像集转化为数据库DB2;
④把网络结构、数据库DB1和DB2、汉字标签文件Lab1和非汉字标签文件Lab2的所在路径存入Caffe配置文件;
⑤设置训练参数存入Caffe配置文件;
⑥在Caffe架构下完成训练,利用数据库DB1、汉字标签文件Lab1和汉字网络结构DL1训练生成汉字分类器DLC1;利用数据库DB2、非汉字标签文件Lab2和非汉字网络结构DL2训练生成数字及字母分类器DLC2。