计算机系统应用教程网站

网站首页 > 技术文章 正文

「AAAI2022」全面揭秘!Tencent OCR 手写数学公式一键识别

btikc 2024-09-09 01:55:54 技术文章 19 ℃ 0 评论

| 导语 AI交互部/手写识别组主导研究并撰写的论文《 Handwritten Mathematical Expression Recognition via Attention Aggregation based Bi-directional Mutual Learning》被CCF A类会议AAAI 2022 Oral录用。在会议今年整体接受率降低至15%的背景下,成功录用背后是我们团队对公式识别技术方向的深入思考和长期技术积累。后续团队内关于公式识别相关技术工作也会融到Tencent OCR OTeam中。

TencentOCR介绍

TencentOCR为公司级协同项目,于2021年4月正式成立,打通并连接公司内部各个AI团队在OCR方向的研发能力,实现1+1>2的协同效应。项目针对OCR领域建设一套从预处理到识别到后处理的全流程链路,打造业界领先的OCR技术与服务。 公式识别作为OCR一个重要子方向,在智慧办公、智慧教育等场景下都有重要的作用,对于完善TencentOCR闭环能力有积极的作用。

背景与挑战

试想一个场景,你正在用腾讯文档编辑一篇科研报告,刚好需要插入一条复杂的公式,你会怎么办?按照传统的处理方式,第一种是打开公式编辑器一个个符号点选拖拽到编辑区,第二种是直接用latex语言来编辑。但这两种方式都不高效,后者还需要用户有latex的语法基础。而现在如果有一个工具能够接收一个包含公式的图片(可以是电子、印刷或者手写),直接对图片中的公式进行识别并插入到文档中,能极大的提升我们的文档编辑、办公协作效率。(此功能目前已上线腾讯文档在线幻灯片)

除了智能办公场景外,数学表达式理解也是在线教育系统的核心基础模块。它被广泛应用于各种智能教育应用中,如自动推荐问题[1]、学生分析[2]、自动解题[3][4]。

要理解数学表达式,首先必须将包含数学表达式的图像转换为结构表达式,例如LaTeX数学表达式或符号布局树,这个过程被称为数学表达式识别(Mathematical Expression Recognition,MER)。而对比于传统的文本符号识别(Optical Character Recognition ,OCR),公式识别具有更大的挑战性。首先,公式识别不仅需要从图像中识别所有符号,还需要捕捉符号[5]之间的2-d空间位置关系;其次,同一个公式中的符号尺度变化较大;第三,手写体公式符号书写的多样性和复杂性进一步加大了识别的难度。

公式识别相关工作概述

许多传统的公式识别方法是基于语法的,如图语法,子句语法和关系语法。例如Anderson等[6]最早在1967年提出了公式识别的概念,并提出了以句法为标准分割,采用自上而下的分析方法识别数学公式的方法。O’Gorman L[7]把基本的公式识别流程分为符号切割、符号识别以及符号重组这三个步骤。在符号切割阶段,使用水平投影的方法进行符号切割;在符号识别阶段,使用模板匹配的方法;在符号重组阶段,对于公式的二维结构,使用自顶向下的方式。此系统在结构简单的公式上取得了较好的识别效果,但是对于积分、根式、极限公式等复杂结构识别率较低。Lee等人[8] 提出了一个公式检测与识别系统。在公式识别模块中,找到公式后,通过分割连通域的方法,先把公式分割成几个部分,再使用特定算法切分粘连部分;之后使用训练好的分类器对切分结果进行字符识别。此系统在有限的公式中效果较好,但只能识别根式、分式和上下标三种类型,可识别的公式类型较少。在Okamoto等人[9]的系统中,将公式识别分为依据字符投影的轮廓信息进行公式分割、使用模板匹配法进行符号识别以及自顶向下和自底向上的结构分析法。但这些方法都具有一些局限性,只能针对某些场景,且泛用性不强。

随着深度学习的快速发展,在过去的几年中,许多基于编码器-解码器框架[10]的方法在MER中取得了优异的性能。Deng等人[11]率先在ME识别中使用了编码器-解码器模型。Zhang等人[12]提出了一个基于注意力的端到端手写数学公式识别模型(WAP),该模型首先利用编码器对输入表达式图像进行编码,并再利用解码器将其解码成LATEX符号串。其中,编码器是一个卷积神经网络(CNN)[13]基于VGG架构[14],它将图像映射到高级功能。解码器是一个循环神经网络(RNN)[15]与门控循环单元(GRU)[16],将这些高级功能转换为输出字符串,一次一个符号,并且设计了覆盖注意机制,通过考虑过去的对齐概率来克服解析不足或过度解析的问题,在CROHME 2014和CROHME 2016的数据及上取得了较好的效果。与传统的手写体数学表达式识别方法相比,基于注意力的编码器-解码器模型具有三个特点: 端到端可训练;它是数据驱动的,而传统系统需要预先定义的数学语法;通过注意模型实现符号自动分割。针对WAP模型,多位学者对其进行了改进,Zhang等[17]增加了一个额外的DenseNet [18] 分支利用多尺度特征以此处理不同大小的符号(DWAP- MSA)。Wang等[19]提出了一种同时具有在线和离线编码分支的多模态网络充分使用两个分支的互补信息去改善识别的精度。Wei Zhang等人[23]利用了全新的双注意力机制去更好的识别和定位公式的结构,对于每个预测的符号,解码器中建立的注意力模型扫描整个输入表达式图像,并选择最相关的区域来描述数学符号或空间运算符。此外,一些方法通过引入数据增强等附加数据来提高识别性能,包括模式生成策略 PGS[20]、公式图片随机尺度增强 SCDA[24],以及使用印刷公式作为识别的指导 DLA [25]、PAL[27] 和 PAL-v2[21], Truong等[26]提出基于单一符号的弱监督识别网络,加强了对字符的识别能力(WS WAP)。还有一些方法改进了解码器,例如BTTR[28]首次在公式识别中引入了Transformer decoder 解码器,提出符号位置编码以此较精确的关注特定的区域来提高识别精度,并且在解码的时候利用双向解码信息; DWAP- TD[22]提出树型解码器,把公式分解为树型结构,来增强处理复杂公式的解码能力。另外,Chungkwong Chan等[29]对输入图像做预处理,把公式分解为各个笔画,然后利用在线公式识别模型识别有序的这些笔画,以此提高识别精度。

然而,上述方法都存在两点不足:第一,基于WAP的方法都没有充分的利用“未来”信息,而仅计算了历史attention。尽管BTTR对双向信息利用做了初步尝试,但并未加入显式的监督信息进行双向蒸馏学习。第二,没有充分融合公式符号的多尺度特征。

论文算法框架

基于上述方法存在不足,本文提出了一种称为ABM的端到端公式识别框架,如下图所示。主要由三个模块组成:

1)特征提取模块(FEM):用于从数学表达式图片中提取特征信息;

2)注意力聚合模块(AAM):其集成了Multi-Coverage Attention,主要对齐历史注意信息,同时兼顾不同大小符号的特征尺度学习;

3) 双向相互学习模块(BML): 利用自蒸馏思想,实现并行解码以补充信息。其由两个具有相反方向解码器(L2R和R2L)构成,在训练阶段每个解码器不仅学习自身LaTeX序列,同时也学习另一分支信息,从而提高解码能力;

特征提取模块(FEM)

本算法使用DenseNet作为编码器,并通过其提取特征。输入是公式图片,输出是H×W×D的特征图,其中H、W和D分别表示特征图高宽和通道数。具体地说,可将输出特征视为具有M维的内容序列a,即a={a1,a2,...,aM},其中ai∈RD,M=H×W.

注意力聚合模块(AAM)

注意力机制帮助解码器关注其感兴趣区域。特别是, 基于coverage attention机制更好地对齐特征信息并指导未关注区域分配更高的注意力概率。受 Inception模块的启发,我们提出了注意力聚合模块 (AAM)。与传统注意力相比,其不仅关注精细的局部特征,还关注更大感受野上的全局信息。从而帮助模型捕捉更准确的空间关系。如上图所示,AAM的计算过程分别使用隐藏态h^t,覆盖注意力βt,当前注意力权重αt,上下文向量ct:

As=Usβt,Al=Ulβt

Us和Ul分别表示小核和大核卷积参数。其中βt表示所有过去注意力概率和,其计算过程如下:

βt=∑l=1t?1αl

其中αt表示时间步t的注意力分数。其计算过程如下:

αt=vaTtanh?(Wh^ht^+UfF+WsAs+WlAl)

其中,Wh^∈Rn×d, Ws∈R1×d 和Wl∈R1×d是可训练权重矩阵,Uf是 1×1 卷积运算,ht^表示GRU的隐藏状态。

上下文向量为ct:

ct=∑i=1Mαt,iai

双向互相学习模块(BML)

传统公式识别方法按照从左到右解码顺序,利用注意力机制完成解码任务。但由于注意力机制本身存在漂移问题,同时并未考虑长距离依赖性。因此,我们提出通过双向解码器将输入转换为两个相反方向(L2R和R2L)LaTeX序列,然后使用自蒸馏思想完成信息交互。需要注意的是,双向解码器的分支具有相同网络结构,唯一不同的是解码方向。

对于双向训练,添加<sos>和<eos>作为LaTeX序列起始终止符。特别地,对于长度为 T的LaTeX序列Y={Y1,Y2,...,YT};

其中,从左到右 (L2R) 序列表示为


从右到左 (R2L) 序列表示为:


对于时间步t,L2R和R2L分支输出概率值过程如下:



隐层态ht计算过程如下:



将自蒸馏思想引入,两解码分支通过Kullback-Leibler (KL) Loss在每个时间步上进行相互学习:



total loss为:


实验效果

1.与先前SOTA效果比对

我们基于公开 CROHME 2014 竞赛数据集训练模型,并在三个公共测试数据集上测试我们的模型:CROHME 2014、2016 和 2019。 然后我们将 ABM 与之前的SOTA进行比较。 为了确保性能比较的公平性,参与评测的所有方法都没有使用数据增强。 从上表可以观察到:所提出的模型 ABM 显著提高了识别准确率(ExpRate),在三个测试数据集上分别比基线(DWAP)提高了 6.25%、5.49% 和 6.26%

2. 单模块效果

从上表可以看出:(1)在baseline模型中加入attention aggregation module提高了2.04%的识别准确率(2)在baseline模型上增加了一个逆解码方向的解码分支进行相互学习,实现 4.63% 的精度增长 (3) 而ABM 的结果表明,这两个模块同时使用会产生累积效应,提高了模型的整体精度。

3. 不同编码方向效果

我们验证了双向相互学习相对于单向相互学习和原始单向模型训练(Uni-L2R 或 Uni-R2L)的优越性。 我们为单向互学习配备 AAM 以形成 AUM 以进行公平比较。 从上表来看,我们的方法(ABM)将识别准确率提高了 6.25% 以上。 同时,实验表明两个逆解码器之间的相互学习比单向相互学习更有效。

4. 不同编/解码器效果

我们在不同的编码器和解码器上验证了ABM的通用性。 为了公平起见,所有实验都使用相同的设置。 如上表所示,对于不同的编码器,我们将 DenseNet 替换为 MobileNetV2 和 Xception,它们的原始模型分别被提高了 4.47% 和 3.65%。 对于不同的解码器,GRU、LSTM 和 Transformer 分别提高了 6.25%、5.49% 和 3.34%。

5. 解决前后缀不均衡问题

RNN 的一个主要弱点是它们的不平衡输出,具有高质量的前缀但低质量的后缀识别。 而使用 ABM 后,L2R 分支的前缀识别准确率从 85.29% 提高到 88.73%,后缀从 80.02% 提高到 84.37%。 因此,L2R 分支可以从 R2L 分支中学习到解码知识,更好地适应长距离依赖。

可视化结果

1. Attention可视化

为了进一步揭示我们提出的方法的内部工作机制,我们将连续解码的注意力过程可视化,如上所示。 注意权重以红色显示,深红色表示注意力的权重较高。

2. 添加AAM后注意力可视化效果

我们还做了额外的实验来比较仅使用或不使用 AAM 的视觉注意力图。结果说明使用 AAM 的模型可以更好的关注到小字符。

3. 特征图可视化

此外,我们通过 t-SNE 方法降维后可视化 CROHME 2014 测试集中十个符号的特征分布。 上图显示,与基线 DWAP 相比,我们的方法生成的不同符号的特征更加可分离。

致谢

TencentOCR Oteam自2021年4月成立以来,整体规划协作分工,将OCR在技术层面拆分检测、识别、端到端、视频OCR、预处理、后处理六个模块,并由不同部门负责,同时制定数据协同、框架协同、标准协同、测评协同的新模式。在这里感谢TencentOCR Oteam的主导方TEG信安团队@黄珊在内的同学们给予的支持,也感谢AI交互部手写识别组同学们的辛苦付出。

引用

[1] Qi Liu, Zai Huang, Zhenya Huang, Chuanren Liu, Enhong Chen, Yu Su, and Guoping Hu. Finding similar exercises in online education systems. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pages 1821–1830. ACM, 2018.

[2] Yu Su, Qingwen Liu, Qi Liu, Zhenya Huang, Yu Yin, Enhong Chen, Chris Ding, Si Wei, and Guoping Hu. Exercise-enhanced sequential modeling for student performance prediction. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[3] Lei Wang, Dongxiang Zhang, Lianli Gao, Jingkuan Song, Long Guo, and Heng Tao Shen. Mathdqn: Solving arithmetic word problems via deep reinforcement learning. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[4] Lei Wang, Dongxiang Zhang, Jipeng Zhang, Xing Xu, Lianli Gao, Bingtian Dai, and Heng Tao Shen. Templatebased math word problem solvers with recursive neural networks. 2019.

[5] Richard Zanibbi and Dorothea Blostein. Recognition and retrieval of mathematical expressions. International Journal on Document Analysis and Recognition (IJDAR), 15(4):331–357, 2012.

[6] Anderson, Robert H. "Syntax-directed recognition of hand-printed two-dimensional mathematics." In Symposium on Interactive Systems for Experimental Applied Mathematics: Proceedings of the Association for Computing Machinery Inc. Symposium, pp. 436-459. 1967.

[7] O'Gorman, Lawrence. "Image and document processing techniques for the RightPages electronic library system." In Proceedings., 11th IAPR International Conference on Pattern Recognition. Vol. II. Conference B: Pattern Recognition Methodology and Systems, pp. 260-263. IEEE, 1992.

[8] Lee, Hsi-Jian, and Jiumn-Shine Wang. "Design of a mathematical expression recognition system." In Proceedings of 3rd International Conference on Document analysis and Recognition, vol. 2, pp. 1084-1087. IEEE, 1995.

[9] Okamoto, Masayuki, Hiroki Imai, and Kazuhiko Takagi. "Performance evaluation of a robust method for mathematical expression recognition." In Proceedings of Sixth International Conference on Document Analysis and Recognition, pp. 121-128. IEEE, 2001.

[10] D. Bahdanau, K. Cho, and Y. Bengio, “Neural machine translation by jointly learning to align and translate,” in Proceedings of International Conference on Learning Representations (ICLR), 2015.

[11] Y. Deng, A. Kanervisto, and A. M. Rush, “What you get is what you see: A visual markup decompiler,” arXiv preprint arXiv:1609.04938, vol. 10, pp. 32–37, 2016.

[12] Zhang, Jianshu, Jun Du, Shiliang Zhang, Dan Liu, Yulong Hu, Jinshui Hu, Si Wei, and Lirong Dai. "Watch, attend and parse: An end-to-end neural network based approach to handwritten mathematical expression recognition." Pattern Recognition 71 (2017): 196-206.

[13] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in neural information processing systems, 2012, pp. 1097–1105.

[14] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.

[15] J. Zhang, J. Du, and L. Dai, “Multi-scale attention with dense encoder for handwritten mathematical expression recognition,” in 2018 24th International Conference on Pattern Recognition (ICPR), pp. 2245– 2250, IEEE, 2018.

[16] G. Huang, Z. Liu, L. Van Der Maaten, and K. Q. Weinberger, “Densely connected convolutional networks,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4700– 4708, 2017.

[17] Graves, A.-r. Mohamed, and G. Hinton, “Speech recognition with deep recurrent neural networks,” in Acoustics, speech and signal processing (icassp), 2013 ieee international conference on. IEEE, 2013, pp. 6645–6649.

[18] J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, “Empirical evaluation of gated recurrent neural networks on sequence modeling,” arXiv preprint arXiv:1412.3555, 2014.

[19] J. Wang, J. Du, J. Zhang, and Z.-R. Wang, “Multi-modal attention network for handwritten mathematical expression recognition,” in 2019 International Conference on Document Analysis and Recognition (ICDAR), pp. 1181–1186, IEEE, 2019.

[20] A. D. Le, B. Indurkhya, and M. Nakagawa, “Pattern generation strategies for improving recognition of handwritten mathematical expressions,” Pattern Recognition Letters, vol. 128, pp. 255–262, 2019.

[21] J.-W. Wu, F. Yin, Y.-M. Zhang, X.-Y. Zhang, and C.-L. Liu, “Handwritten mathematical expression recognition via paired adversarial learning,” International Journal of Computer Vision, pp. 1–16, 2020.

[22]Zhang, Jianshu, et al. "A tree-structured decoder for image-to-markup generation." International Conference on Machine Learning. PMLR, 2020.

[23] Zhang, Wei, Zhiqiang Bai, and Yuesheng Zhu. "An improved approach based on CNN-RNNs for mathematical expression recognition." In Proceedings of the 2019 4th international conference on multimedia systems and signal processing, pp. 57-61. 2019.

[24] Li, Zhe, et al. "Improving attention-based handwritten mathematical expression recognition with scale augmentation and drop attention." 2020 17th International Conference on Frontiers in Handwriting Recognition (ICFHR). IEEE, 2020.

[25]Le, Anh Duc. "Recognizing handwritten mathematical expressions via paired dual loss attention network and printed mathematical expressions." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020.

[26]Truong, Thanh-Nghia, et al. "Improvement of End-to-End Offline Handwritten Mathematical Expression Recognition by Weakly Supervised Learning." 2020 17th International Conference on Frontiers in Handwriting Recognition (ICFHR). IEEE, 2020.

[27]Wu, Jin-Wen, et al. "Image-to-markup generation via paired adversarial learning." Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Cham, 2018.

[28]Zhao, Wenqi, et al. "Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer." arXiv preprint arXiv:2105.02412 (2021).

[29] Chan, Chungkwong. "Stroke extraction for offline handwritten mathematical expression recognition." IEEE Access 8 (2020): 61565-61575.

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表