CN105975968A - 一种基于Caffe框架的深度学习车牌字符识别方法 - Google Patents
一种基于Caffe框架的深度学习车牌字符识别方法 Download PDFInfo
- Publication number
- CN105975968A CN105975968A CN201610298195.1A CN201610298195A CN105975968A CN 105975968 A CN105975968 A CN 105975968A CN 201610298195 A CN201610298195 A CN 201610298195A CN 105975968 A CN105975968 A CN 105975968A
- Authority
- CN
- China
- Prior art keywords
- character
- chinese character
- train
- chinese
- license plate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Abstract
本发明公开的一种基于Caffe框架的深度学习车牌字符识别方法包括分类器训练和字符识别两个过程,分类器训练包括字符处理、分成汉字集和非汉字集以及建立Caffe架构学习网络结构、然后分别进行训练得到相对应的分类器,字符识别包括预先建立索引表并对抓取到的车牌图像进行处理,然后利用相对应的分类器识别后再通过查索引表得到识别结果,按顺序组合后即为车牌的最终识别结果。本发明的一种基于Caffe框架的深度学习车牌字符识别方法以基于Caffe架构的深度学习为基础,解决了现有的车牌字符识别方法中对倾斜、断裂、相近字符识别精度不高的问题,大大提高了对于车牌字符的识别精度。
Description
技术领域
本发明属于图像识别技术领域,具体涉及一种基于Caffe框架的深度学习车牌字符识别方法。
背景技术
车牌识别是现代智能交通系统的一个重要组成部分,在车辆收费管理、出行时间测量、公共停车场、机场、小区、港口等出入口车辆管理、闯红灯违章车辆监控、交通流量检测、交通控制与诱导、被盗车辆及特种车辆的鉴别等场合中发挥着重要作用。虽然对于车牌识别技术己经有较多的研究,但在自然场景中,由于天气、光照、拍摄角度、拍摄地点以及磨损变形等因素的影响,实时准确的视频车牌识别仍然面临很大的挑战。车牌识别系统包括车牌定位、校正、字符分割和字符识别等步骤,其中车牌字符识别是整个车牌识别的最后环节,在车牌识别系统中起着至关重要的作用。
常用的车牌字符识别方法有基于模板匹配的字符识别和基于神经网络的字符识别。由于断裂、污染和噪声等因素的影响,从实际拍摄的车牌图像中分割的字符和模板差异较大,从而造成模版匹配的车牌识别方法性能下降。基于神经网络的字符识别方法的准确度依赖于选取的字符特征,常用的字符特征因为鲁棒性不够强从而会影响车牌的识别率。
发明内容
本发明的目的在于提供一种基于Caffe框架的深度学习车牌字符识别方法,解决了现有的车牌识别方法存在的识别精度不高的问题。
本发明所采用的技术方案是:一种基于Caffe框架的深度学习车牌字符识别方法,包括分类器训练以及字符识别两个过程,
其中,分类器训练的具体步骤如下:
步骤1,对大量的样本车牌图像进行车牌定位、车牌校正、二值化处理和字符分割的预处理,得到分割出的二值化字符图像集C_train,总共含有的样本个数为Nsam;
步骤2,字符处理:对字符图像集C_train中的各个字符图像进行中心化、切变校正以及归一化的处理,得到归一化后的字符图像集C_trainnor;
步骤3,把字符图像集C_trainnor分成两个子集,分别为汉字图像集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=∪Rm,其中m=1,2,…,M。
本发明的特点还在于,
步骤2字符处理的具体步骤如下:
步骤2.1,对字符集C_train中的每一个字符进行几何投影,分别得到其垂直投影宽度,计算投影宽度和字符标准宽度的差值,根据差值的取值对字符是否需要进行中心化处理进行判断,若需要,则进行中心化处理;若不需要,不做任何处理,最终得到字符图像集C_traincen;
步骤2.2,对C_traincen中的每个车牌字符进行投影宽度最小化的切变校正,得到切变校正后的字符图像集C_traincor;
步骤2.3,将切变校正后的字符图像集C_traincor中的字符按1:2的宽高比进行大小归一化,得到归一化的字符图像集C_trainnor,其中每个字符的大小为w×h。
步骤2.1中判断字符是否中心化以及中心化的处理方法按照以下步骤实施:
①对对字符集C_train中的各个字符图像trainj进行垂直投影得到投影图像,其中j=1,2,3…Nsam,对投影图像按列进行统计,得到每一列的关键点个数,即值为255的像素点个数,记为Si,i=1,2,…,wj,其中wj为字符trainj的宽度;
②从投影图像的最左端开始向中间移动,找到第一个不为0的Si,其列号i作为左边界值Bj l;同理,从投影图像的最右端开始向中间移动,找到第一个不为0的Si,其列号i作为右边界值Bj r;
③计算是否进行中心化的判断阈值Tj:
④若Tj=0,则不需要中心化处理;否则进行中心化处理,即,若Tj>0,则把字符图像trainj中值为255的像素点向左平移Tj个单位;若Tj<0,则把字符图像trainj中值为255的像素点向右平移Tj个单位。
步骤2.2中对中心化后的字符图像集C_traincen进行切变校正的方法具体按照以下步骤实施:
①设置初始值:角度变化范围为[θs,θe],最小投影宽度wid=WID_MIN,旋转角度初始值θ=θs,最佳旋转角度初始值θba=θ,角度增量
②对字符图像集C_traincen中的字符样本j=1,2,3,…Nsam旋转θ角度,旋转后经由2.1中的步骤①、②处理,得到字符样本的左右边界值Bj l和Bj r,确定其投影的宽度值判断是否小于wid,若是,则令θj ba=θ;若不是,继续步骤③;
③令当前的旋转角度θ为步骤②中的旋转角度θ加角度增量Δθ,并对当前旋转角度θ值进行判断,若θ≤θe,则返回步骤②;若θ>θe,继续步骤④;
④根据θba取值确定图像所在的外接四边形
⑤对四边形进行逆透视变换,得到校正后的字符图像 其中Trans_Per(·)为逆透视变换函数。
步骤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-输出。
步骤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。
本发明的有益效果是:本发明一种基于Caffe框架的深度学习车牌字符识别方法以基于Caffe架构的深度学习为基础,解决了现有的车牌字符识别方法中特征需要人为定义、对倾斜、断裂、相近字符识别精度不高的问题,大大提高了对于车牌字符的识别精度。
附图说明
图1是本发明的一种基于Caffe框架的深度学习车牌字符识别方法的流程示意图;
图2是本发明的一种基于Caffe框架的深度学习车牌字符识别方法中字符图像处理的流程示意图;
图3是本发明的一种基于Caffe框架的深度学习车牌字符识别方法中字符中心化处理的流程示意图;
图4是本发明的一种基于Caffe框架的深度学习车牌字符识别方法中字符切变校正的流程示意图;
图5是本发明的一种基于Caffe框架的深度学习车牌字符识别方法中深度学习汉字网络的结构示意图;
图6是本发明的一种基于Caffe框架的深度学习车牌字符识别方法中深度学习非汉字网络的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的详细说明,但本发明并不限于这些实施方式。
本发明的一种基于Caffe架构的深度学习车牌字符识别方法的流程示意图如1所示,其包括两个步骤,
基于Caffe架构的车牌字符的深度学习分类器训练过程主要包括以下步骤:
步骤1:车牌汉字主要包括22个省、5个自治区、4个直辖市的简称,例如“京”“津”“冀”“豫”“鄂”“皖”“浙”“苏”“湘”“辽”等等,总共31类;非汉字主要包括字母A-Z(除I、O外)共24类,数字0-9共10类,总共34类。本实施例中,为保证分类器的容错力,从不同角度、不同距离上采集了46100张样本图像。对这些车牌样本图像进行车牌定位、车牌校正、二值化处理和字符分割等预处理,具体可以采用一些经典的算法,譬如基于颜色与边缘的车牌定位、基于hough变换的车牌校正、基于投影的字符分割等算法即可完成对样本图像的预处理得到分割出的二值化字符图像集C_train,样本个数Nsam=46100;
步骤2:如图2所示的字符处理:对字符图像集C_train中的各个字符图像进行中心化、切变校正以及归一化处理,得到归一化后的字符图像集C_trainnor,
其具体处理步骤如下:
步骤2.1,对字符集C_train中的每一个字符进行几何投影,得到垂直投影宽度,计算投影宽度和字符标准宽度的差值,根据差值的取值对字符是否需要进行中心化处理进行判断,若需要,则进行中心化处理;若不需要,不做任何处理,最终得到字符样本集C_traincen,其流程示意图如图3所示,具体处理步骤如下:
①对字符图像集C_train中的各个字符图像trainj,j=1,2,3…Nsam进行垂直投影得到投影图像,对投影图像按列进行统计,得到每一列的关键点个数,即值为255的像素点个数,记为Si,i=1,2,…,wj,其中wj为字符trainj的宽度;
②从投影图像的最左端开始向中间移动,找到第一个不为0的Si,其列号i作为左边界值Bj l;同理,从投影图像的最右端开始向中间移动,找到第一个不为0的Si,其列号i作为右边界值Bj r;
③计算是否进行中心化的判断阈值Tj:
④若Tj=0,则不需要中心化处理;否则进行中心化处理,即,若Tj>0,则把字符图像trainj中值为255的像素点向左平移Tj个单位;若Tj<0,则把字符图像trainj中值为255的像素点向右平移Tj个单位;
步骤2.2,对C_traincen中的每个车牌字符进行投影宽度最小化的切变校正,得到校正后的字符图像集C_traincor,其流程示意图如图4所示,具体处理步骤如下:
①设置初始值:角度变化范围为[θs,θe],最小投影宽度wid=WID_MIN,旋转角度初始值θ=θs,最佳旋转角度初始值θba=θ,角度增量本实施例中,WID_MIN=9999,θs=-10,θe=10,nθ=20;
②对字符图像集C_traincem中的字符样本j=1,2,3,…Nsam旋转θ角度,旋转后经由2.1中的步骤①、②处理,得到字符样本的左右边界值Bj l和Bj r,计算投影宽度值判断是否小于wid,若是,令若不是,执行步骤③;
③令当前的旋转角度θ为步骤②中的旋转角度θ加角度增量Δθ,并对当前旋转角度θ值进行判断,若θ≤θe,则返回步骤②;若θ>θe,执行步骤④。
④根据θba j取值确定图像所在的外接四边形具体确定四边形的步骤可以为:
a)根据得到的最佳角度θba j拟合直线L:
b)将字符样本图像的左边界点(Bj l,0)代入直线L,求得四边形的左边线Lab:
c)将右边界点(Bj r,0)代入直线L,求得四边形的右边线Lcd:
其中和分别表示字符的宽度和高度;
d)将字符样本图像进行水平投影得到水平投影图像,对水平投影图像按行进行统计,从上向下遍历投影图像,找到关键点个数不为0的首行和末行位置,分别记为Bj t和Bj b,从而得到四边形的上边线Ltop:y=Bj t和下边线Lbot=Bj b;
e)求四条边线的交点得到四边形的四个端点,分别记为a,b,c,d,校正前的四边形记为
⑤对四边形进行逆透视变换,得到校正后的字符图像 其中Trans_Per(·)为逆透视变换函数;
步骤2.3,对校正后的字符图像集C_traincor中的字符按1:2的宽高比进行大小归一化,得到归一化的字符图像集C_trainnor,其中每个字符的大小为w×h,本实施例中,w=20,h=40;
步骤3:把字符图像集C_trainnor分成两个互不相交的子集,分别为汉字图像集C1_train和非汉字图像集C2_train(其中包括数字和字母图像集),其中汉字图像样本个数为7100,非汉字图像样本个数为39000;
步骤4:设计两种基于Caffe架构的深度学习网络结构,一种是汉字网络结构DL1,另一种是非汉字网络结构DL2,具体按照以下步骤实施:
步骤4.1,建立如图5所示的深度学习汉字网络结构DL1,该网络结构输入为车牌汉字图像集,大小为w×h×C(w×h为车牌汉字图像的分辨率,C为通道值,取值为1),输出为车牌汉字类别索引的集合,记为其中N1代表车牌汉字的种类数,具体取值为31。车牌汉字的网络结构的总层数为13层,分别由1个输入层,2个卷积层,2个池化层,3个激活层,2个全连接层,1个softmax层,1个drop层,1个输出层连接而成,具体连接顺序为:输入-卷积-激活-池化-卷积-激活-池化-全连接-激活-drop-全连接-softmax-输出。汉字网络结构中网络层的类别以及数目如表1所示,其中S为网络层的类别,n为网络层数目。
表1
汉字网络层的连接顺序如表2所示,其中S为网络层的类别,ix为网络层连接顺序编号。
表2
汉字网络层通道值的设置如表如表3所示,其中ix为网络层的连接顺序编号,V为网络层的通道值。
表3
在具体实施例中,如图5所示,输入层是20×40×1(w=20,h=40,C=1)大小的数据,在第一次卷积时,采用的卷积模板大小为5×5(即kernel_w=kernel_h=5),步长为1(即stride=1),通道值为16,卷积后的输出数据大小为16×36×16。卷积后的输出数据作为激活层的输入,激活层的输出大小与输入保持一致;在第一次池化时,采用的模板大小为2×2,步长为2,通道值为16,池化后数据大小为8×18×8。此时完成了第一次的卷积、激活和第一次的池化操作;接着执行第二次的卷积、激活和池化操作,其中的卷积模板大小、池化模版大小和步长保持不变,通道数变为32;再依次执行全连接、激活、drop和全连接操作,第一次全连接的输入数据大小为32×7×2,输出为480,激活层和drop层的输入输出数据大小都为480,第二次全连接输入数据大小为480,输出数据大小为31;最后进行softmax操作,得到输出结果,输出结果大小为31。
步骤4.2,建立如图6所示的深度学习字母与数字的网络结构DL2,该网络结构输入为车牌非汉字图像集,大小为w×h×C(w×h为车牌汉字图像的分辨率,C为通道值,取值为1),记为其中N2代表车牌非汉字的种类数,取值为34。车牌非汉字的网络结构总共有10层,分别由1个输入层,2个卷积层,2个池化层,1个激活层,2个全连接层,1个softmax层,1个输出层连接而成,具体连接顺序为:输入-卷积-池化-卷积-池化-全连接-激活-全连接-softmax-输出。非汉字网络结构中网络层的类别以及数目如表4所示,其中S为网络层的类别,n为网络层数目。
表4
非汉字网络层连接顺序如表5所示,其中S为网络层的类别,ix为网络层的连接顺序编号。
表5
非汉字网络层的通道值设置如表6所示,其中ix为网络层的连接顺序编号,V为网络层的通道值。
表6
在具体实施例中,如图6所示,输入层是20*40*1(w=20,h=40,C=1)大小的数据,在第一次卷积时,采用的卷积模板大小为5×5(即kernel_w=kernel_h=5),步长为1(即stride=1),通道值为20,卷积后的输出数据大小为16×36×20。卷积后的输出数据作为池化层的输入,在第一次池化时,采用的模板大小为2×2,步长为2,通道值为20,池化后数据大小为8×18×20。此时完成了第一次的卷积和第一次的池化操作;接着执行第二次的卷积和池化操作,其中的卷积模板大小、池化模版大小和步长保持不变,通道数变为50;再依次执行全连接、激活和全连接操作,第一次全连接的输入数据大小为50×7×2,输出为500,激活层的输入和输出数据大小都为500,第二次全连接输入数据大小为500,输出数据大小为34;最后进行softmax操作,得到输出结果,输出结果大小为34。
其中,卷积层主要通过卷积核抽取特征,每一个特征值都是取模板与原图像对应像素的乘积之和。卷积的具体操作过程如表7所示:
表7
池化层主要通过下采样减少卷积层的空间分辨率。在池化层的输入中,每个不重叠大小为r×r的区域视为一个池,常用的池操作为池平均(average-pooling)操作或池最大(max-pooling)操作。在具体的实施例中,选用的是2×2大小的区域以及池最大操作,输入数据经过池化层处理后由原来的mm×nn变为其中mm×nn池化层输入数据的大小,池化过程如表8所示:
表8
一个全连接由标准的两层神经网络组成,第一个全连接层是把大小为50×7×2的输入数据作为700个输入神经元,把输出神经元的个数设置为500,构成一个两层的神经网络。第二个全连接层是把大小为500的输入数据作为500个输入神经元,把输出神经元的个数设置为34,构成一个两层的神经网络。
激活层是对输入的数据进行激活操作,即若每个数据元素符合条件,则数据被激活,使其向下一层传递,否则的话则不被传递。
drop层是随机对一些神经元进行抑制,使其处于未激活状态。
softmax层主要是对全连接之后的数据进行归一化操作使其范围必须在[0,1]之间。
步骤5:利用网络结构训练分类器:
把汉字图像集C1_train作为输入,代入汉字网络结构DL1,训练得到汉字分类器DLC1;把非汉字图像集C2_train作为输入,代入非汉字网络结构DL2,训练得到非汉字分类器DLC2。具体按照以下步骤:
①选择训练数据:以步骤3中的7100张汉字图像集C1_train作为训练汉字字符分类器的数据集,以39000张非汉字图像集C2_train(其中包括数字和字母图像集)作为训练非汉字字符分类器的数据集;
②设置样本标签:汉字类别总共为N1类,类别标签号0~N1-1;而非汉字的类别总共为N2类,类别标签号为0~N2-1,在本实施例中,N1=31,N2=34。分别制作汉字标签文件Lab1,非汉字标签文件Lab2;标签文件的内容包括图像集(C1_train和C2_train)里每个字符样本所存的路径以及对应类别标签号;
③利用caffe架构下的命令语句sudo create_imagenet.sh把汉字图像集C1_train转化为数据库DB1,把将非汉字图像集转化为数据库DB2;
④把网络结构、数据库和标签文件的所在路径写入配置文件struct.prototxt;
⑤设置训练参数并写入配置文件solver.prototxt:主要包括训练中的基础学习率、学习率的调整策略、最大迭代次数等等,具体设置如表9所示:
表9
⑥在Caffe架构下调用命令语句完成训练./build/tools/caffe train--solver=./solver.prototxt,利用数据库DB1、汉字样本标签和汉字网络结构DL1训练生成汉字分类器DLC1;利用数据库DB2、非汉字样本标签和非汉字网络结构DL2训练生成非汉字分类器DLC2。
车牌的汉字和非汉字分类器生成后,便可对车牌的字符进行识别,其包括以下步骤:
步骤6:建立如表10所示的汉字索引表Tab1和如表11所示的非汉字索引表Tab2,然后对抓拍视频流中每帧图像定位的各个车牌图像进行步骤1的预处理,得到待识别各个车牌图像的字符样本集Ck k=1,2,…K,K为定位到的车牌个数,Ck={c1,c2,…cM},其中cm为车牌Ck中的第m个字符,1≤m≤M,M为车牌Ck包含的字符总个数,本实施例中M=7;
步骤7:对字符样本集C中的各个字符cm经由步骤2处理,得到归一化后的车牌字符
步骤8:对车牌各个字符进行识别:
根据字符所在位置进行字符类型判断,如果是第一个字符,即为汉字字符,否则为非汉字字符。把汉字字符代入汉字深度学习分类器DLC1,输出结果为汉字的类别索引其中d=0,1,…,N1-1,m=1,N1为汉字的类别数,取值为31,查找如表10所示的汉字索引表Tab1,得到汉字的识别结果Rm,m=1。把非汉字字符代入非汉字分类器DLC2,输出结果为非汉字的类别索引其中d=0,1,…,N2-1,m=2,3,…,M,N2为非汉字的类别数,这里取值34,查找如表11所示的非汉字索引表Tab2,得到非汉字字符的识别结果Rm,m=2,3,…,M。合并各个字符的识别结果,得到车牌的最终识别结果Rp,Rp=URm,m=1,2,…,M。
表10
表11
在具体实施例中,选用了1550张汉字字符图像,用深度学习汉字分类器进行识别,识别结果如表12所示:
汉字 | 识别率 | 汉字 | 识别率 | 汉字 | 识别率 | 汉字 | 识别率 | 汉字 | 识别率 |
京 | 100% | 桂 | 98% | 蒙 | 96% | 皖 | 100% | 浙 | 98% |
津 | 100% | 赣 | 98% | 闵 | 100% | 湘 | 100% | 辽 | 100% |
冀 | 100% | 甘 | 100% | 宁 | 100% | 新 | 100% | 吉 | 98% |
藏 | 100% | 黑 | 100% | 青 | 100% | 豫 | 100% | ||
川 | 100% | 沪 | 94% | 琼 | 80.0% | 渝 | 100% | ||
鄂 | 100% | 晋 | 100% | 陕 | 100% | 粤 | 100% | ||
贵 | 98% | 鲁 | 100% | 苏 | 100% | 云 | 100% |
表12
选用了3000张非汉字字符图像,用深度学习非汉字分类器对其进行识别,识别结果如表13所示:
表13
从以上实验结果可以看出,利用深度学习训练的字符分类器对车牌字符具有很高的识别精度。
方法 | BP神经网络算法 | 深度学习方法 |
车牌识别率 | 57.1% | 90.62% |
表14
另外,对定位分割后的352个车牌图像,利用传统的BP神经网络字符识别方法与本发明的识别方法分别进行了实验验证,识别率的对比结果如表14所示,BP神经网络方法的字符识别率为57.1%,本发明的字符识别率为90.62%。实验结果表明,相对传统的BP神经网络字符识别方法,本发明的一种基于Caffe框架的深度学习车牌字符识别方法能够在很大程度上提升车牌识别系统的性能。
Claims (6)
1.一种基于Caffe框架的深度学习车牌字符识别方法,其特征在于,包括分类器训练以及字符识别两个过程,
其中,分类器训练的具体步骤如下:
步骤1,对大量的样本车牌图像进行车牌定位、车牌校正、二值化处理和字符分割的预处理,得到分割出的二值化字符图像集C_train,总共含有的样本个数为Nsam;
步骤2,字符处理:对字符图像集C_train中的各个字符图像进行中心化、切变校正以及归一化的处理,得到归一化后的字符图像集C_trainnor;
步骤3,把字符图像集C_trainnor分成两个子集,分别为汉字图像集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作为左边界值Bj l;同理,从投影图像的最右端开始向中间移动,找到第一个不为0的Si,其列号i作为右边界值Bj r;
③计算是否进行中心化的判断阈值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中的步骤①、②处理,得到字符样本的左右边界值Bj l和Bj r,确定其投影的宽度值判断是否小于wid,若是,则令θj ba=θ;若不是,继续步骤③;
③令当前的旋转角度θ为步骤②中的旋转角度θ加角度增量Δθ,并对当前旋转角度θ值进行判断,若θ≤θ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。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610298195.1A CN105975968B (zh) | 2016-05-06 | 2016-05-06 | 一种基于Caffe框架的深度学习车牌字符识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610298195.1A CN105975968B (zh) | 2016-05-06 | 2016-05-06 | 一种基于Caffe框架的深度学习车牌字符识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975968A true CN105975968A (zh) | 2016-09-28 |
CN105975968B CN105975968B (zh) | 2019-03-26 |
Family
ID=56991281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610298195.1A Active CN105975968B (zh) | 2016-05-06 | 2016-05-06 | 一种基于Caffe框架的深度学习车牌字符识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975968B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651774A (zh) * | 2016-12-27 | 2017-05-10 | 深圳市捷顺科技实业股份有限公司 | 一种车牌超分辨率模型重建方法及装置 |
CN107145885A (zh) * | 2017-05-03 | 2017-09-08 | 金蝶软件(中国)有限公司 | 一种基于卷积神经网络的单字图文字识别方法及装置 |
CN107180430A (zh) * | 2017-05-16 | 2017-09-19 | 华中科技大学 | 一种适用于语义分割的深度学习网络构建方法及系统 |
CN108108746A (zh) * | 2017-09-13 | 2018-06-01 | 湖南理工学院 | 基于Caffe深度学习框架的车牌字符识别方法 |
CN108133182A (zh) * | 2017-12-18 | 2018-06-08 | 北京国能日新系统控制技术有限公司 | 一种基于云成像的新能源发电预测方法及装置 |
CN108154149A (zh) * | 2017-12-08 | 2018-06-12 | 济南中维世纪科技有限公司 | 基于深度学习网络共享的车牌识别方法 |
CN108229483A (zh) * | 2018-01-11 | 2018-06-29 | 中国计量大学 | 基于caffe与软触发下的门牌压印字符识别装置 |
CN108346144A (zh) * | 2018-01-30 | 2018-07-31 | 哈尔滨工业大学 | 基于计算机视觉的桥梁裂缝自动监测与识别方法 |
CN108573253A (zh) * | 2017-03-13 | 2018-09-25 | 北京君正集成电路股份有限公司 | 车牌字符二值图的生成方法 |
CN108960175A (zh) * | 2018-07-12 | 2018-12-07 | 天津艾思科尔科技有限公司 | 一种基于深度学习的车牌识别方法 |
CN109255284A (zh) * | 2018-07-10 | 2019-01-22 | 西安理工大学 | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 |
CN109389615A (zh) * | 2018-09-29 | 2019-02-26 | 佳都新太科技股份有限公司 | 基于深度学习卷积神经网络的硬币识别方法及处理终端 |
CN109697439A (zh) * | 2017-10-24 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 汉字定位方法及装置、存储介质和电子设备 |
WO2020062846A1 (en) * | 2018-09-30 | 2020-04-02 | Boe Technology Group Co., Ltd. | Apparatus and method for image processing, and system for training neural network |
WO2022111355A1 (zh) * | 2020-11-30 | 2022-06-02 | 展讯通信(上海)有限公司 | 车牌识别方法及装置、存储介质、终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080131001A1 (en) * | 2004-07-06 | 2008-06-05 | Yoram Hofman | Multi-level neural network based characters identification method and system |
US20150055855A1 (en) * | 2013-08-02 | 2015-02-26 | Digimarc Corporation | Learning systems and methods |
CN104636748A (zh) * | 2013-11-14 | 2015-05-20 | 张伟伟 | 一种号牌识别的方法及装置 |
CN104809443A (zh) * | 2015-05-05 | 2015-07-29 | 上海交通大学 | 基于卷积神经网络的车牌检测方法及系统 |
CN104966097A (zh) * | 2015-06-12 | 2015-10-07 | 成都数联铭品科技有限公司 | 一种基于深度学习的复杂文字识别方法 |
-
2016
- 2016-05-06 CN CN201610298195.1A patent/CN105975968B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080131001A1 (en) * | 2004-07-06 | 2008-06-05 | Yoram Hofman | Multi-level neural network based characters identification method and system |
US20150055855A1 (en) * | 2013-08-02 | 2015-02-26 | Digimarc Corporation | Learning systems and methods |
CN104636748A (zh) * | 2013-11-14 | 2015-05-20 | 张伟伟 | 一种号牌识别的方法及装置 |
CN104809443A (zh) * | 2015-05-05 | 2015-07-29 | 上海交通大学 | 基于卷积神经网络的车牌检测方法及系统 |
CN104966097A (zh) * | 2015-06-12 | 2015-10-07 | 成都数联铭品科技有限公司 | 一种基于深度学习的复杂文字识别方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651774A (zh) * | 2016-12-27 | 2017-05-10 | 深圳市捷顺科技实业股份有限公司 | 一种车牌超分辨率模型重建方法及装置 |
CN108573253B (zh) * | 2017-03-13 | 2021-09-07 | 北京君正集成电路股份有限公司 | 车牌字符二值图的生成方法 |
CN108573253A (zh) * | 2017-03-13 | 2018-09-25 | 北京君正集成电路股份有限公司 | 车牌字符二值图的生成方法 |
CN107145885A (zh) * | 2017-05-03 | 2017-09-08 | 金蝶软件(中国)有限公司 | 一种基于卷积神经网络的单字图文字识别方法及装置 |
CN107145885B (zh) * | 2017-05-03 | 2020-12-15 | 金蝶软件(中国)有限公司 | 一种基于卷积神经网络的单字图文字识别方法及装置 |
CN107180430A (zh) * | 2017-05-16 | 2017-09-19 | 华中科技大学 | 一种适用于语义分割的深度学习网络构建方法及系统 |
CN108108746A (zh) * | 2017-09-13 | 2018-06-01 | 湖南理工学院 | 基于Caffe深度学习框架的车牌字符识别方法 |
CN108108746B (zh) * | 2017-09-13 | 2021-04-09 | 湖南理工学院 | 基于Caffe深度学习框架的车牌字符识别方法 |
CN109697439A (zh) * | 2017-10-24 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 汉字定位方法及装置、存储介质和电子设备 |
CN108154149B (zh) * | 2017-12-08 | 2021-12-10 | 济南中维世纪科技有限公司 | 基于深度学习网络共享的车牌识别方法 |
CN108154149A (zh) * | 2017-12-08 | 2018-06-12 | 济南中维世纪科技有限公司 | 基于深度学习网络共享的车牌识别方法 |
CN108133182A (zh) * | 2017-12-18 | 2018-06-08 | 北京国能日新系统控制技术有限公司 | 一种基于云成像的新能源发电预测方法及装置 |
CN108229483A (zh) * | 2018-01-11 | 2018-06-29 | 中国计量大学 | 基于caffe与软触发下的门牌压印字符识别装置 |
CN108346144A (zh) * | 2018-01-30 | 2018-07-31 | 哈尔滨工业大学 | 基于计算机视觉的桥梁裂缝自动监测与识别方法 |
CN108346144B (zh) * | 2018-01-30 | 2021-03-16 | 哈尔滨工业大学 | 基于计算机视觉的桥梁裂缝自动监测与识别方法 |
CN109255284A (zh) * | 2018-07-10 | 2019-01-22 | 西安理工大学 | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 |
CN108960175A (zh) * | 2018-07-12 | 2018-12-07 | 天津艾思科尔科技有限公司 | 一种基于深度学习的车牌识别方法 |
CN109389615A (zh) * | 2018-09-29 | 2019-02-26 | 佳都新太科技股份有限公司 | 基于深度学习卷积神经网络的硬币识别方法及处理终端 |
WO2020062846A1 (en) * | 2018-09-30 | 2020-04-02 | Boe Technology Group Co., Ltd. | Apparatus and method for image processing, and system for training neural network |
RU2762144C1 (ru) * | 2018-09-30 | 2021-12-16 | Боэ Текнолоджи Груп Ко., Лтд. | Устройство и способ для обработки изображения и система для обучения нейроной сети |
US11348005B2 (en) | 2018-09-30 | 2022-05-31 | Boe Technology Group Co., Ltd. | Apparatus, method, and computer-readable medium for image processing, and system for training a neural network |
US11361222B2 (en) | 2018-09-30 | 2022-06-14 | Boe Technology Group Co., Ltd. | System, method, and computer-readable medium for image classification |
US11449751B2 (en) | 2018-09-30 | 2022-09-20 | Boe Technology Group Co., Ltd. | Training method for generative adversarial network, image processing method, device and storage medium |
US11615505B2 (en) | 2018-09-30 | 2023-03-28 | Boe Technology Group Co., Ltd. | Apparatus and method for image processing, and system for training neural network |
WO2022111355A1 (zh) * | 2020-11-30 | 2022-06-02 | 展讯通信(上海)有限公司 | 车牌识别方法及装置、存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105975968B (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975968A (zh) | 一种基于Caffe框架的深度学习车牌字符识别方法 | |
CN110363122B (zh) | 一种基于多层特征对齐的跨域目标检测方法 | |
CN108427912B (zh) | 基于稠密目标特征学习的光学遥感图像目标检测方法 | |
CN104809481B (zh) | 一种基于自适应色彩聚类的自然场景文本检测方法 | |
CN105426919B (zh) | 基于显著性指导非监督特征学习的图像分类方法 | |
CN104778470B (zh) | 基于组件树和霍夫森林的文字检测和识别方法 | |
CN110619327A (zh) | 一种复杂场景下基于深度学习的实时车牌识别方法 | |
CN109063649B (zh) | 基于孪生行人对齐残差网络的行人重识别方法 | |
CN106504233A (zh) | 基于Faster R‑CNN的无人机巡检图像电力小部件识别方法及系统 | |
CN106022232A (zh) | 基于深度学习的车牌检测方法 | |
CN106778757A (zh) | 基于文本显著性的场景文本检测方法 | |
CN105354568A (zh) | 基于卷积神经网络的车标识别方法 | |
CN105989334B (zh) | 基于单目视觉的道路检测方法 | |
CN103077389A (zh) | 一种结合字符级分类和字符串级分类的文本检测和识别方法 | |
CN110298227B (zh) | 一种基于深度学习的无人机航拍图像中的车辆检测方法 | |
CN106776896A (zh) | 一种快速的图融合图像检索方法 | |
CN106934455B (zh) | 基于cnn的遥感影像光学适配结构选取方法及系统 | |
CN106529532A (zh) | 一种基于积分特征通道与灰度投影的车牌识别系统 | |
CN104598885A (zh) | 街景图像中的文字标牌检测与定位方法 | |
CN105760858A (zh) | 一种基于类Haar中间层滤波特征的行人检测方法及装置 | |
CN108280460A (zh) | 基于改进卷积神经网络的sar车辆目标识别方法 | |
CN112016605A (zh) | 一种基于边界框角点对齐和边界匹配的目标检测方法 | |
CN105069774A (zh) | 基于多示例学习与图割优化的目标分割方法 | |
CN107622271A (zh) | 手写文本行提取方法及系统 | |
CN111881716A (zh) | 一种基于多视角生成对抗网络的行人重识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |