2. 郑州大学 产业技术研究院 河南 郑州 450001
2. Industrial Technology Research Institute, Zhengzhou University, Zhengzhou 450001, China
手写汉字识别作为模式识别的重要研究领域之一,在文档数字化、邮件分拣和支票处理等方面有着广阔的应用前景[1-2].汉字的种类繁多,并且由于书写者不同的书写习惯,手写体汉字相较于印刷体汉字有很大的随意性,这些都给手写汉字识别带来了较大的困难[3-4].传统的脱机手写体汉字识别方法基本上包含图像预处理、特征提取和分类器设计三个过程.整个过程主要依赖人工提取特征和设计分类器,识别效果也往往受制于此,无法满足实际应用中的需求,且进一步的发展遇到了较大的瓶颈[5-7].
近年来,深度学习在很多传统的模式识别任务上都取得了优异的成绩,这也为手写体汉字识别提供了新的研究方向.瑞士IDSIA团队首次将卷积神经网络运用到手写体汉字识别中,在ICDAR-2011脱机手写体汉字识别竞赛中获得冠军,识别准确率达到92.18%[8].而在ICDAR-2013联机和脱机手写体汉字识别竞赛中,冠军队伍均采用了基于卷积神经网络模型的方法,其中脱机手写体汉字识别准确率达到94.77%[9].文献[10]提出了HCCR-Ensemble-GoogLeNet模型,通过手工提取的特征与卷积神经网络的结合将识别准确率提高到96.74%.文献[11]证明汉字的细微结构特征对汉字的准确识别有很大的作用.文献[12]指出以往用于汉字识别的卷积神经网络的损失函数只对类间差别进行优化而忽略了类内差别,因此,为网络设计了新的损失函数对两方面同时进行了优化.然而, 以上所提到的深度学习模型均采用传统的卷积神经网络结构,以原始图像作为图像输入,特征信息依次“流经”若干卷积层和池化层,每一层都将信息进行加工后送入下一层,最后用于分类.在这个过程中,要想提升网络的表现就要加深网络层数,而随着网络层数的增加又极易发生梯度弥散和梯度爆炸问题[13].更重要的是,在使用传统的卷积神经网络结构处理汉字识别问题时,需要保留的汉字细微特征信息在网络传递过程中也可能被改变甚至丢弃.
ResNet[14]被证明可以很好地克服深层次网络训练中出现的梯度弥散问题.简单来说,ResNet是在线性网络连接的基础上引入了一种捷径连接方式,使得网络底层不仅可以与中间层相连接,还可以通过捷径绕过一些层次直接连接到更高层,然后将捷径的输出与主路径的输出以求和的方式进行融合.加入了这样的一条捷径后,误差由高层向底层的反向传播路径被缩短,上层梯度可以直接跳过中间层传到下层,使网络更易优化.然而,如果直接应用ResNet处理汉字识别问题,其通过求和来融合捷径与主路径输出的方式依然具有覆盖汉字细微特征信息的风险.
通过综合考虑ResNet中捷径连接方式的优点和汉字识别任务的特殊性,本文提出一种改进的卷积神经网络结构,在提取“高水平”特征信息的阶段,可以将前一卷积层提取到的特征图保留下来,与当前卷积层提取到的特征图叠加之后共同作为输入进入下一层,由最后的分类层决定是采用保留的特征信息还是经过加工之后的信息.该卷积神经网络结构缓解了梯度消失的问题,有效地保留了汉字的细微结构特征.
1 采用特征图叠加的卷积神经网络结构设计的卷积神经网络结构如图 1所示.输入64×64的灰度图像,输出长度为3 755的向量.模型总共有8层卷积层、4层最大值池化层、1层全连接层和1层输出层.
![]() |
图 1 卷积神经网络结构 Figure 1 The architecture of convolutional neural network |
图 1中出现的特征图叠加块的工作原理如图 2所示.假设现有卷积层1和卷积层2,输入经过卷积层1后产生特征图 1,特征图 1再经过卷积层2的卷积操作之后产生特征图 2.接下来先不直接对特征图 2进行池化操作,而是先将卷积层2产生的特征图 2与卷积层1产生的特征图 1进行叠加,之后再对所有的特征图进行池化操作.ResNet是对特征图 1和特征图 2进行求和操作,特征图 1和特征图 2将会相互覆盖,特征图数目保持不变.与ResNet不同,本文方法将会把特征图 1和特征图 2中所有的特征图都保留下来,此时特征图的数目是特征图 1的数目和特征图 2的数目之和.
![]() |
图 2 特征图叠加块的工作原理 Figure 2 The concatenated block principle of feature maps |
在传统的卷积神经网络中,第l层的输出是第(l + 1)层输入,转换关系为
$ {X_{l + 1}} = {F_{l + 1}}({X_l}), $ | (1) |
式中:Fl(·)表示特征图在l层所进行的变换;Xl是第l层的输出.
ResNet引入捷径连接方式,网络学习的目标是输入与输出之间的残差:
$ {X_{l + 1}} = {F_{l + 1}}({X_l}) + {X_l}. $ | (2) |
在所提出的网络结构中,特征提取的初始阶段采用式(1)方式提取“基础”图像特征,而到两个特征图叠加块之后的池化层时,层间转换关系为
$ {X_{l + 1}} = {F_{l + 1}}({X_l}, {X_{l - 1}}), $ | (3) |
式中:Fl+1(Xl, Xl-1)表示将当前层和前一层提取到的特征图排列在一起共同作为输入进入下一层.与ResNet不同,这不是将两层提取到的特征图进行求和,而是将它们叠加组合成新的一组特征图.
如此设计网络结构是基于汉字识别问题的特殊性.传统的卷积神经网络设计主要应用于普通的物体识别任务,如对车、飞机、花朵等的识别.在这些识别任务中,传统的卷积神经网络结构在高层提取到的特征已经高度轮廓化[15], 能否充分提取色彩与物体的整体轮廓特征,对分类准确率有很大的影响.汉字识别与之不同:首先,汉字识别不基于色彩;其次,相较于整体轮廓,汉字对细微结构的变化也十分敏感,如“大”和“犬”二字,恰恰是细微笔画的不同决定了二者的不同.因此,细微笔画信息与整体轮廓信息对于汉字分类来说都是必要的.
1.3 特征图尺寸池化操作是卷积神经网络中不可缺少的重要步骤,它降低了特征维度从而使得模型可以更有效地训练.然而,池化操作本质上是下采样操作,它将带来每张特征图尺寸上的变化,不同尺寸的特征图无法进行叠加进入下一层.为了解决这一问题,将特征图的叠加操作限制在两次池化之间,这就保证了将要排列的特征图具有相同的尺寸.表 1为模型的详细参数设置,展示了特征图尺寸随着卷积与池化操作的变化情况.
![]() |
表 1 模型的详细参数设置 Table 1 The details of model parameter setting |
模型采用误差反向传播算法来训练网络,由于采用softmax层分类,所以定义网络的误差函数为交叉熵误差函数,表示为
$ L\left( {y, o} \right) = - \frac{1}{N}\sum\limits_{n \in {\bf{N}}} {{y_n}{\rm{lo}}{{\rm{g}}_2}{o_n}.} $ | (4) |
激活函数使用修正线性单元(ReLu)[16],函数表达式为
$ f\left( x \right) = {\rm{max}}\left( {x, 0} \right). $ | (5) |
使用Adam优化算法[17]迭代更新各层的权值直至收敛,没有使用微调而直接在训练集上进行模型训练.整个数据集迭代24 000次,学习率固定为0.1,训练过程中对训练集进行了数据增广.
需要注意的是,在进行权值更新的过程中,根据链式求导法则,在误差从输出层反向“流”到输入层的过程中,与其他层相比,叠加块的第一个卷积层的误差项有两个来源:一是误差经过前一卷积层“流”向叠加块的第一个卷积层;二是误差直接从池化层“流”向叠加块的第一个卷积层.当网络随着层数增加出现梯度弥散消失现象而变得难以训练时,后者可以使误差“绕过”长路径而直接使用短路径训练网络,缓解梯度消失现象,使网络更易优化.
2 实验部分 2.1 数据集实验采用中国科学院自动化研究所公开提供的HWBDB1.0和HWBDB1.1数据集[18].HWBDB1.0数据集包含3 866类汉字,420名书写者,样本数为15 556 675;HWBDB1.1数据集包含3 755类汉字,300名书写者,样本数为1 121 749.本文采用HWBDB1.1作为训练集,从训练集随机抽取20%的数据作为验证集.测试集采用ICDAR-2013脱机手写体汉字识别竞赛测试集[9],包含3 755类汉字,60名书写者,样本数为224 419.
2.2 结果与讨论训练模型硬件环境为CPU I7 7700@3.6 GHz,内存16G,图像核心为GTX1070 8G显存.系统环境为Ubuntu 16.04LTS,使用CUDA8.0运行库及cudnn6.0加速方案.图 3展示了训练集和验证集的识别准确率随着迭代次数的变化.可以发现,本文的网络收敛速度很快,迭代5 000次左右验证集就可以达到很高的准确率, 并且模型没有出现过拟合.
![]() |
图 3 训练集和验证集的识别准确率 Figure 3 The recognition accuracy on train and validation dataset |
表 2为不同方法在ICDAR-2013脱机手写体汉字识别竞赛测试集上的结果.可以发现,本文方法相较于传统方法在识别准确率上有了很大的提高,表明深度学习方法处理图像任务时具有传统方法难以比拟的优越性.3次竞赛最优方法的准确率逐年提升,而本文方法的表现优于ICDAR-2013脱机手写体汉字识别竞赛冠军队伍所用的方法,说明通过考虑汉字识别问题的特殊性从而改进网络结构,可以使模型更契合汉字识别问题的处理.虽然本文方法的准确率低于HCCR-Ensemble-GoogLeNet模型,但是本文的模型参数较低.另外,本文采用的卷积神经网络仅有14层,属于轻型的网络结构.如果使用更深、更宽的网络结构或者先将模型在大型图像数据库上进行长时间的训练,再在训练集上进行微调,那么识别准确率将会得到再次提升.
![]() |
表 2 不同方法在ICDAR-2013脱机手写体汉字识别竞赛测试集上的结果 Table 2 The results of different methods for ICDAR-2013 offline HCCR competition |
考虑到脱机手写体汉字识别问题的特殊性,提出一种改进的深度卷积神经网络结构.新的网络结构更容易优化,且可以将整体轮廓信息和细微笔画信息一起提供给分类层,使之获得更为全面的分类特征,更适用于汉字识别问题.在今后的研究工作中,可以考虑将更多的先验知识加入到模型设计中.
致谢:特别感谢中国科学院自动化研究所模式识别国家重点实验室授权本研究使用完整的脱机手写样本数据库(CASIA-HWBDB).
[1] |
DAI R W, LIU C L, XIAO B H. Chinese character recognition:history, status and prospects[J]. Frontiers of computer science in China, 2007, 1(2): 126-136. DOI:10.1007/s11704-007-0012-5 ( ![]() |
[2] |
LIU C L, YIN F, WANG D H, et al. Online and offline handwritten Chinese character recognition: benchmarking on new databases[J]. Pattern recognition, 2013, 46(1): 155-162. DOI:10.1016/j.patcog.2012.06.021 ( ![]() |
[3] |
金连文, 钟卓耀, 杨钊, 等. 深度学习在手写汉字识别中的应用综述[J]. 自动化学报, 2016, 42(8): 1125-1141. ( ![]() |
[4] |
ZHANG X Y, BENGIO Y, LIU C L. Online and offline handwritten Chinese character recognition: a comprehensive study and new benchmark[J]. Pattern recognition, 2016, 61(1): 348-360. ( ![]() |
[5] |
DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, 2005: 886-893.
( ![]() |
[6] |
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94 ( ![]() |
[7] |
LONG T, JIN L. Building compact MQDF classifier for large character set recognition by subspace distribution sharing[J]. Pattern recognition, 2008, 41(9): 2916-2925. DOI:10.1016/j.patcog.2008.02.009 ( ![]() |
[8] |
LIU C L, YIN F, WANG Q F, et al. ICDAR 2011 Chinese handwriting recognition competition[C]//International Conference on Document Analysis and Recognition. Beijing, 2011: 1464-1469.
( ![]() |
[9] |
YIN F, WANG Q F, ZHANG X Y, et al. ICDAR 2013 Chinese handwriting recognition competition[C]//International Conference on Document Analysis and Recognition. Washington, 2013: 1464-1470.
( ![]() |
[10] |
ZHONG Z Y, JIN L W, XIE Z C. High performance offline handwritten Chinese character recognition using GoogLeNet and directional feature maps[C]//13th International Conference on Document Analysis and Recognition. Tunis, 2015: 846-850.
( ![]() |
[11] |
ZHU Y P, AN X L, ZHANG K. A handwritten Chinese character recognition method combining sub-structure recognition[C]//15th International Conference on Frontiers in Handwriting Recognition. Shenzhen, 2017: 518-523.
( ![]() |
[12] |
YANG S M, NIAN F D, LI T. A light and discriminative deep networks for off-line handwritten Chinese character recognition[C]//32nd Youth Academic Annual Conference of Chinese Association of Automation. Hefei, 2017: 785-790.
( ![]() |
[13] |
GLOROT X, BENGIO Y. Understanding the difficulty of training deep feedforward neural networks[J]. Journal of machine learning research, 2010, 9: 249-256. ( ![]() |
[14] |
HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, 2016: 770-778.
( ![]() |
[15] |
ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision. Zurich, 2014: 818-833.
( ![]() |
[16] |
GLOROT X, BORDES A, BENGIO Y. Deep sparse rectifier neural networks[C]//International Conference on Artificial Intelligence and Statistics. Fort Lauderdale, 2011: 315-323.
( ![]() |
[17] |
KINGMA D P, BA J. Adam: a method for stochastic optimization[C]//International Conference for Learning Representations. San Diego, 2015: 1-13.
( ![]() |
[18] |
LIU C L, YIN F, WANG D H, et al. CASIA online and offline Chinese handwriting databases[C]//International Conference on Document Analysis and Recognition. Beijing, 2011: 37-41.
( ![]() |
[19] |
LIU C L, YIN F, WANG D H, et al. Chinese handwriting recognition contest 2010[C]//Chinese Conference on Pattern Recognition. Chongqing, 2010: 1-5.
( ![]() |