基于多特征卷积神经网络的手写公式符号识别 下载: 1693次
1 引言
手写文字识别是图像处理与模式识别重要的研究领域,随着电子设备手写输入方式的广泛应用,手写识别技术受到了学术界和工业界的关注[1-2]。手写识别分为在线和离线两种形式。对于在线方式,图像数据中含有大量的轨迹信息,包括笔划的顺序以及曲率;而离线方式通过扫描仪和摄像头采集手写图像。随着触摸屏和电子笔等移动终端设备的出现,大量的在线手写体涌现,在线数据通常与手写轨迹的坐标有关。手写数学公式符号识别是手写识别研究的重要部分,在一定程度上促进了手写识别的发展。在线手写数学表达式识别的竞赛组织(CROHME)提供的数据集以在线数据方式存在,本文将在线数据转化为离线的图像,使用离线的方法对手写公式符号进行分类。孤立的手写公式符号识别具有以下特点:1) 典型的Mnist数据集,仅有10种类别,而数学公式符号的种类多达上百种,包括英文字符、数字,以及一些特殊字符如“∑”、“∏”、“→”;2) 存在大量的手写风格,导致同一类的符号差异很大;3) 数据集中含有大量相似的符号,如“COMMA”和“PERIOD”、大写字母“S”和小写字母“s”等。因此,手写数学公式符号识别的研究存在很大的挑战性。
本文对最近几年手写数学公式符号识别算法进行了调研。手写公式符号识别的关键在于特征提取,Álvaro等[3]从在线符号的轨迹中获取7个特征,结合了离线图像的剑桥大学模式识别和人类语言组提出的技术(PRHLT)、提取几何特征的技术(FKI)以及polar特征,利用这些特征并通过双向循环神经网络(RNN-BLSTM)对符号进行分类,识别率为91.24%。从在线数据中,Davila等[4]提取轨迹方向和梯度特征,以及离线图像的特征,包括水平的交叉特征、二维模糊直方图和方向模糊直方图特征,并将这些特征进行组合,利用传统的机器学习算法,如随机森林和支持向量机(SVM)对公式符号进行分类,识别率为89.87%。Nguyen等[5]通过在线和离线两种分类器线性组合的方式来识别公式符号,在线分类器采取RNN-BLSTM,而离线的分类器采用CCN对离线的公式图像进行分类,将线性组合的分类器按照各占1/2的权重比例来分配,获得最终的准确率为91.08%。CROHME2016的获胜者Mouchère等[6],通过在线的inkml文件获取特征信息,这种特征信息包括曲率、轨迹的方向和直方图特征,将这些特征送入多层感知机(MLP)对公式符号进行分类,获得目前最高的符号识别率为92.81%。
目前,少数方法采用离线的特征对手写公式符号进行分类,如Dong等[7]提出HMS-VGGN-et,采用小尺寸3×3和1×1的卷积内核,特点在于1×1的卷积核不仅减少了特征图的数量,还能保持特征图的大小不变。使用全局均值池化来代替模型中的全连接层,可以减少网络中参数量过大的问题。在CROHME2014数据集中获得top-1的识别率为91.82%;在CROHME2016数据集中,识别率仅次于Mouchère等[6]提出的算法,达到91.77%。Ramadhan等[8]将在线的数据集转化为离线的数据集,采用常规的CNN模型获取离线的图像特征,馈送到Softmax层中对图像进行分类,识别率为87.72%,明显低于结合在线特征的方法。通过以上调研,大多数研究者采用了在线和离线特征的方法对公式图像进行分类,少数研究者使用离线的方法对手写公式符号进行分类。因此本文更加关注离线特征对公式符号进行分类的性能。
卷积神经网络框架可以运用到非常复杂的计算机视觉领域中,如图像检测[9]、图像语义分割[10]和图像超清分辨率的重建[11]。其中卷积神经网络是深度学习中的重要组成部分,早期LeCun等[12]提出LeNet-5结构的卷积神经网络,用于识别单个手写数字,并且这种网络结构广泛地应用于图像分类任务中,取得了很好的效果。为了追求更高的识别精度,通常需要更深的网络结构,但网络深度的增加会导致梯度消失等问题。为了解决这种问题,Hinton等[13]将正则化项加在损失函数上,并引入dropout层,这种惩罚机制弱化了梯度消失的问题,但并不能达到更好的效果。近些年来,He等[14]和Huang等[15]分别提出了残差卷积神经网络(ResNet)和稠密卷积神经网络(DenseNet),这两种网络多达100层,优势在于训练的过程中随机丢弃一些冗余的神经元,从而达到更深网络拓扑结构,而DenseNet网络结构更加紧凑,所需的网络参数更少,提高了网络运行的效率。本文在DenseNet基础上进行了扩展,提出了一种新型的网络构架,称作DenseNet-SE。该网络能够获得深度特征和细粒度特征,将两种特征进行融合,能够更好地描述公式符号的每一个类别。
2 离线数据处理模型
2.1 离线图像的生成
CROHME库中提供了大量inkml格式的文件,inkml属于一种标记语言[16],这种标记语言通过电子笔或触摸屏在终端设备留下用户手写轨迹信息。普遍用于绘制公式、流程图、音乐符号以及公式符号,兼容于任何平台。inkml的基本元素包含了符号所有的轨迹,这些轨迹是在交互界面留下的
1) 确定轨迹的坐标点中垂直坐标和水平坐标的最大值和最小值,即
2) 确定容纳所有轨迹点的维度,即长(
3) 对于轨迹
4) 确定尺度因子
5) 调整所有的坐标点。通过尺度因子
6) 遍历所有的新的轨迹
由于移动终端的尺寸大小不一致,导致图片的规格不同,需要统一每一张图片的规格。在实验中,规定每一张图像尺寸大小为48×48,并对每一张图像的灰度值进行归一化处理,最后进行高斯滤波去噪。
2.2 数据扩增
符号的种类繁多,而每一类符号的数量又极其不均匀,造成了公式符号整体识别率难以提升。
灵活的失真模型[17]与图像增强中的仿射变化有关,引入了一种类似于控制手部肌肉弹性不变的因子
图 2. 原始图像通过弹性失真模型后随机生成的图像。(a)原始图像;(b)第一次随机生成的图像;(c)第二次随机生成的图像
Fig. 2. Images randomly generated after original images passing through elastic distortion model. (a) Original images; (b) images randomly generated for first time; (c) images randomly generated for second time
3 网络模型结构
DenseNet-SE网络主要由DenseNet中的密集块和SeNet网络模块所构成,这两个模块构建出的新模块,即稠密残差块,通过稠密残差块重新组建新的网络框架。DenseNet-SE网络框架如
3.1 DenseNet的Dense模块
DenseNet[15]采用级联的连接方式,对于一般的
式中
3.2 SeNet网络模块
SeNet是一种轻量级的模块[18],增强了符号特征的表示能力,通过对通道和门控制单元共同调节资源的分配,提升有用的特征同时抑制与形状无关的特征信息。SeNet网络由挤压层和抽取层组成。
由于下采样层的操作, 只能获取局部感受野,而无法获取全局信息,同时破坏了像素点之间的位置关系,并降低了特征图的分辨率。为了解决这种问题,在挤压层使用全局均值池化(GAP) ,相关运算步骤描述如下:输入的图像经过若干层卷积之后,将所有特征层堆叠在一起,记为
抽取层主要对局部特征层之间的相互关联度和通道之间的独立性产生作用。两层带有非线性激活函数的全连接层(FC),第一层采用非线性激活函数,激活单元的数量为
式中FC1和FC2分别表示第一层、第二层全连接层。为了方便表示,可以描述为
3.3 DenseNet-SE网络结构
受到Dense和SeNet模块结构的启发,结合这两种网络各自的特点,本文提出了新型结构模块,称作稠密残差块,为了使这两模块更好地衔接,在中间引入1×1的卷积和批量归一化层。采用线性激活函数对特征层进行处理,保持原始特征层的特性。其优点在于,1×1的卷积减少了通道的数量,解决了网络瓶颈的问题;通过批量归一化层[19],将上一层输出的所有激活值均匀地分布在每一层网络中,促进模型的训练。每层卷积中有
式中:
在稠密残差块的最后,将细粒度特征和经过自适应调整的深度特征通过Concat方式并接在一起,
在DenseNet-SE的最后一层Softmax之前,引入局部归一化层(LRN)[20],即在神经元之间创建竞争机制,对于较大输出值产生更大的响应,抑制较小响应的输出,有效地提高了符号图像分类的精度,其中LRN公式描述为
式中
从网络的构建可以看出,DenseNet-SE具备这两种网络各自的优势。在连接方式上,包含了跳跃连接的方式和更深的网络结构,跳跃连接的方式能够捕获浅层的细粒度特征,而深层的网络获取深度特征,细粒度特征辅助深度特征产生融合的特征对公式符号进行分类。在DenseNet-SE的配置中,首先,输入的图像经过32个大小为7×7、步长为2的Conv操作,再经过3×3的最大池化,然后反馈到三个稠密残差块中,其网络层数分别为12、16、32。在第一个和第二个稠密残差块之间引入过渡层,在最后一个稠密残差块中引入两层过渡层,以减少深层网络中特征的冗余性。其中三个SeNet模块滤波器的数量分别设置为32、64、128,采用递进的数量。原因在于,如果网络的浅层滤波器的数量设置过多,会造成浅层网络的参数量过大,训练的效果不佳。在模型判别过程中采用LRN和GAP来获取更高的判别分数,提高网络的稳健性。
4 实验结果及分析
4.1 公式库简介
CROHME提供了标准数学公式库,CROHME是目前最大公共的手写数学公式库之一,该主办方已经成功主办了5年,CROHME2011到CROHME2016[6,21-22],CROHME竞赛分为4个任务,其中孤立手写公式符号识别是其任务之一。数据库中的符号种类繁多,结构复杂,共有101种,而且数据集的数量会随年份的增加而增加,挑战手写公式符号识别的难度也因此而增大。本文采用目前最新的数据集CROHME2016,训练集中共有85802张公式符号,公式符号中的所有标签均以Latex作为标记。为了体现模型框架的泛化性能,使用CROHME2014和CROHME2016测试集来评估模型;在验证算法上,将CROHME2013的测试集作为验证集来评估模型框架的性能,实验数据分布如
表 1. CROHME实验数据集的分布
Table 1. Distribution of CROHME experimental datasets
|
实验所有的环节在ubantu16.04系统上操作,使用Tensorflow深度学习工具包运行框架,硬件配置12线程Corei7-8700CPU@3.2 GHz GTX1060,显存为6 G。初始的学习率为0.001,每经过5000步学习率衰减5%,批量的大小为100,采用的优化器是Adam算法[23],迭代次数为50。
4.2 实验结果分析
图 5. DenseNet和DenseNet-SE准确率的比较
Fig. 5. Validation accuracy comparison of DenseNet and DenseNet-SE
为了验证DenseNet-SE的性能,评估了DenseNet模型构架和DenseNet-SE模型构架,并对这两种框架进行对比分析。前提条件是DenseNet-SE和DenseNet在相同的环境下运行,参数设置:growth-rate为16,epoch为50,DenseNet和DenseNet-SE均采用了三个密集块。使用相同的数据库来检验两种框架的有效性,
图 6. DenseNet-SE测试集和验证集的准确率比较
Fig. 6. Accuracy comparison of DenseNet-SE test set and validation set
表 2. 测试一个epoch所需的时间和准确率
Table 2. Time consumption and accuracy for each epoch test
|
4.3 本文算法与目前主流算法比较
将目前在手写数学公式符号识别上已经提出的算法与本文算法进行分析和比较,结果如
表 3. 所提方法与不同种类系统的比较
Table 3. Comparison between proposed method and different types of systems
|
4.4 错误样本分析
DenseNet-SE能够有效地提取符号形状特征,在很大程度上提升了识别率。但依旧存在一些错误判别的样本,即在识别符号的过程中,错误判别了其他符号的类型。为此,对所有符号的类别进行了测试,列出了CROHME2016测试集中排行前10的符号错误类型,如
表 4. CROHME2016 中排行前10的符号错误判别类型
Table 4. Symbols of TOP-10 error discrimination types in CROHME2016
|
5 结论
针对于手写公式符号识别率提升的问题,提出了基于脱机下的多特征稠密卷积神经网络手写公式符号识别的算法,采用主流的网络框架DenseNet对其进行扩展,引入了SeNet这种轻量级的模块叠加在Dense模块上,构架出稠密残差块新的网络模块,该模块具备了两种模块的特点,能够避免了网络随深度的增加而出现过拟合的问题,同时能够捕获深层次特征,抑制与符号形状无关的特征,通过Concat层将细粒度特征和深度特征进行融合,获得一种更加稳健的特征来对公式符号进行分类。与目前主流的手写公式符号识别的算法相比,本文算法在CROHME2014和CROHME2016数据集中均取得了较好的识别率。
[1] BlosteinD, GrbavecA. Recognition of mathematical notation[M]. Singapore: World Scientific, 1997: 557- 582.
[3] ÁlvaroF, Sánchez JA, Benedí JM. Offline features for classifying handwritten math symbols with recurrent neural networks[C]∥International Conference on Pattern Recognition, 2014: 2944- 2949.
[4] DavilaK, LudiS, ZanibbiR. Usingoff-line features and synthetic data for on-line handwritten math symbol recognition[C]∥International Conference on Frontiers in Handwriting Recognition, 2014: 323- 328.
[5] Nguyen H D, Duc le A. E99[J]. Nakagawa M. Recognition of online handwritten math symbols using deep neural networks. IEICE Transactions on Information, Systems, 2016, D(12): 3110-3118.
[6] MouchèreH, Viard-GaudinC, ZanibbiR, et al. ICFHR2016 CROHME: competition on recognition of online handwritten mathematical expressions[C]∥International Conference on Frontiers in Handwriting Recognition, 2016: 607- 612.
[7] Dong LF, Liu HC. Recognition of offline handwritten mathematical symbols using convolutional neural networks[M]. Cham: Springer International Publishing, 2017: 149- 161.
[8] RamadhanI, PurnamaB, Faraby SA. Convolutional neural networks applied to handwritten mathematical symbols classification[C]∥International Conference on Information and Communication Technology, 2016: 1- 4.
[9] 冯小雨, 梅卫, 胡大帅. 基于改进Faster R-CNN的空中目标检测[J]. 光学学报, 2018, 38(6): 0615004.
[10] 郭呈呈, 于凤芹, 陈莹. 基于卷积神经网络特征和改进超像素匹配的图像语义分割[J]. 激光与光电子学进展, 2018, 55(8): 081005.
[11] 王民, 刘可心, 刘利, 等. 基于优化卷积神经网络的图像超分辨率重建[J]. 激光与光电子学进展, 2017, 54(11): 111005.
[13] Hinton GE, SrivastavaN, KrizhevskyA, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. arXiv preprint arXiv: 1207. 0580, 2012.
[14] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770- 778.
[15] HuangG, LiuZ, Maaten L V D, et al. Densely connected convolutional networks[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 2261- 2269.
[16] W3C Recommendation. Ink makeup language[EB/OL].( 2017-04-06)[2018-08-06]. http:∥www.w3.org/TR/InkML/.
[17] Simard PY, SteinkrausD, Platt JC. Bestpractices for convolutional neural networks applied to visual document analysis[C]∥International Conference on Document Analysis and Recognition, 2003: 958- 963.
[18] HuJ, ShenL, SunG. Squeeze-and-excitation networks[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018: 7132- 7141.
[19] IoffeS, SzegedyC. Batchnormalization: accelerating deep network training by reducing internal covariate shift[C]∥32 nd International Conference on Machine Learning , 2015, 37: 448- 456.
[22] MouchèreH, Viard-GaudinC, ZanibbiR, et al. ICFHR 2014 competition on recognition of on-line handwritten mathematical expressions (CROHME 2014)[C]∥International Conference on Frontiers in Handwriting Recognition, 2014: 791- 796.
[23] Kingma DP, Ba J. Adam: a method for stochastic optimization[J]. arXiv preprint arXiv: 1412. 6980, 2014.
Article Outline
方定邦, 冯桂, 曹海燕, 杨恒杰, 韩雪, 易银城. 基于多特征卷积神经网络的手写公式符号识别[J]. 激光与光电子学进展, 2019, 56(7): 072001. Dingbang Fang, Gui Feng, Haiyan Cao, Hengjie Yang, Xue Han, Yincheng Yi. Handwritten Formula Symbol Recognition Based on Multi-Feature Convolutional Neural Network[J]. Laser & Optoelectronics Progress, 2019, 56(7): 072001.