点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

转载自:CSIG文档图像分析与识别专委会

论文:https://arxiv.org/abs/2002.08670

本文简要介绍2021年5月被Pattern Recognition录用论文“Stroke constrained attention network for online handwritten mathematical expression recognition”的主要工作。该论文是2019年发表在ICDAR上的文章[1]的升级版,本文以笔画为建模单位,提出了 Stroke Constrained Attention Network (SCAN),该模型可以被用于单模态(在线/离线)和多模态公式识别上,在CROHME数据集上的实验证明,该模型取得了SOTA的效果。

一、研究背景

现有的基于编码解码模型的手写数学公式识别方法,根据输入模态的不同,可以分为在线手写数学公式识别[2]和离线手写数学公式[3][4]识别两种。对于在线手写数学公式识别,输入为动态轨迹点序列,因此包含丰富的时序信息,能够比较好地解决视觉歧义等问题,但同时容易受到书写顺序等问题的影响,出现识别错误。离线手写数学公式识别则正好相反,其输入为静态图片,因此拥有全局的视觉信息,能比较好地解决在线手写数学公式识别中由于书写顺序等造成的问题。然而,由于缺少时序信息,离线手写数学公式识别难以解决视觉歧义等问题。可见,在线和离线两种模态之间是存在互补性的,有效地融合两种模态信息,可有助于识别效果的提升。多模态手写数学公式识别的原始输入是书写过程中保存下来的轨迹点序列,因此是有笔画信息的,即每个笔画包括了哪些轨迹点和像素点是已知的,从而可以将笔画作为基本建模单元。相比以轨迹点和像素点作为基本建模单元的方法,以笔画作为基本建模单元能够利用笔画数远少于轨迹点数和像素点数这一特点,降低注意力模型的学习难度和计算量,从而提高注意力模型的准确性和效率。此外,笔画建模还可以利用在线和离线笔画特征之间天然且准确的对齐关系,实现基于笔画特征的多模态编码器融合。因此,本文提出融合在线和离线模态的信息,以笔画作为基本建模单元,通过多模态的形式来对手写数学公式进行识别。

二. 原理概述

图1  SCAN的整体框架图

1. 单模态SCAN

1.1 笔画掩膜

对于任意一个数学公式,假设其包含个笔画, 在线输入包括个轨迹点,离线输入的图片大小为。对于在线模态,由于有笔画信息,即已知每个轨迹点属于哪个笔画,故可以基于此来给每个笔画生成一个对应的在线笔画掩膜。具体而言,所有笔画对应的在线笔画掩膜集合可以定义为,其中任意一个元素表示第个笔画对应的在线笔画掩膜,它是一个维向量,向量中的每个元素的值为1或0,表示对应轨迹点是否属于当前笔画。例如,假设的第维的值为1,则表示第个轨迹点属于第个笔画,反之不属于。

对于离线模态,由于其是通过在线轨迹点生成的,因此同样可以记录下哪些像素点属于同一个笔画,从而给每一个笔画生成一个对应的离线笔画掩膜。具体而言,所有笔画对应的离线笔画掩膜集合可以定义为, 其中任意一个元素表示第个笔画对应的离线笔画掩膜,它是一个维度的矩阵,矩阵中的每个元素的值为1或0,表示对应像素点是否属于当前笔画。例如,假设的第(h,w)维的值为1,则表示第(h,w)位置的像素点属于第个笔画,反之不属于。

1.2 在线编码器

图2 在线编码器的网络结构

在线编码器是由1D的DenseNet-20和多层GRU组成。由于在线输入向量大小为8x1x1,DenseNet中的卷积核大小由 3x3改为1x3。DenseNet的输出特征图大小为 1xLxD,可以转化为 L个D维向量。为了捕获输入轨迹点的上下文信息,特征图再经过GRU进一步编码,得到轨迹特征,其为一个长度为L的D维特征向量序列。然后,利用在线笔画掩膜集合,将每个在线笔画掩膜进行次数等于在线卷积神经网络中池化层层数的下采样操作,将其从N维向量转为L维向量。然后通过以下公式,得到在线笔画特征:

1.3 离线编码器

图3  离线编码器的网络结构

静态图像经过离线编码器后,得到的像素特征矩阵B,利用离线笔画掩膜集合,将像素特征B转为离线笔画特征。首先对每个离线笔画掩膜进行次数等于离线编码器中池化层数量的下采样操作,将其转为离线特征掩膜。通过以下公式,可计算得到离线笔画特征:

2. 多模态SCAN

通过在线编码器和离线编码器得到笔画级的特征后,结合轨迹点特征和像素点特征,作者提出了解码器融合(MMSCAN-D)、编码器融合(MMSCAN-E)、编解码器融合(MMSCAN-ED) 三种融合方式。

2.1 多模态解码器 (MMSCAN-D)

图4 二次注意力机制

多模态解码器以在线笔画特征和离线笔画特征作为输入,输出一个LaTeX 序列来作为最终的识别结果。为了充分利用在线和离线信息,作者设计了一个二次注意力机制。多模态解码器包括两个GRU和一个带指导机制的二次注意力模型,二次注意力模型分为预注意力模型和精细注意力模型两个阶段。首先,预注意力模型的计算公式如下:

分别表示在线和离线模态对应的注意力权重。

根据计算得到的在线和离线模态的注意力权重,分别对轨迹特征和像素特征进行加权求和,可以得到两个单模态上下文向量:

在预注意模型的基础上,利用精细注意模型生成多模态笔画级上下文向量:

最后,可以得到多模态笔画级上下文向量:

2.2 多模态编码器融合 (MMSCAN-E)

借助笔画掩膜,在线轨迹点特征和离线像素特征可以被转化为在线和离线的笔画级特征,这两者有天然的一一对应关系,因此作者提出在编码器阶段,对两个模态进行早期融合。

图5 多模态编码器的网络结构

如图5所示,待识别的手写数学公式为,其包括“Σ”,“”,“+”和“S”总共4个符号,除了“+”对应2个笔画之外,其余每个符号均对应1个笔画,因此总共有5个笔画。通过多模态编码器的在线通道和离线通道,可以从在线轨迹输入和离线图像输入中分别提取得到轨迹特征和像素特征,并利用在线和离线笔画掩膜,将轨迹特征和像素特征分别转成在线和离线笔画特征。值得注意的是,此时的在线笔画特征和离线笔画特征之间是准确对齐的,即两者的特征数量相同,均等于笔画数;并且,每个在线和离线笔画特征都是待识别的数学公式中的某一个笔画在线和离线的高维表征,因此是一一对应的。

根据这一准确的对齐关系,将在线和离线笔画特征进行拼接,作为后续解码器的输入,具体实现方式如下:

2.3 编码器-解码器融 (MMSCAN-ED)

除了分别在解码器和编码器阶段,融合笔画级的两个模态信息外,作者还提出同时输入在线轨迹点特征、离线像素特征和笔画特征到多模态解码器中,即一种编码器-解码器融合的方法。

具体来说,首先使用编码器提取轨迹点级特征A和像素级特征B,并将它们转换为在线笔画级特征和离线笔画级特征。基于在线和离线的笔画特征,利用多模态编码器融合可以获得多模态的笔画级特征。在解码时,作者同时向解码器提供多模态笔画级、在线轨迹点级和离线像素级特征。基于二次注意力模型,在解码器融合的第一阶段,采用预注意模型计算多模态笔画级、点级和像素级上下文向量:

第二阶段采用精细注意模型生成多模态多层次上下文向量,首先将三个上下文向量两两连接起来:

然后,精细注意模型可以表示为:

最后,多模态多层次上下文向量为:

三. 实验结果

1. 提出的单模态SCAN模型是否比其他在线模型有效

表1  对不同编解码器的性能在CROHME14和16数据集上进行在线模态比较

表2  对不同编解码器的性能在CROHME14和16数据集上进行离线模态比较

表3  对不同编解码器的性能在CROHME19数据集上进行在线和离线模态比较

2采用编码/解码器融合的多模态模型是否有效

由表4/5可知,采用笔画级别的编码器-解码器融合方式(MMSCAN-ED),取得了最好的效果。

表4  不同多模态方法在CROHME 2014和CROHME 2016测试集上的性能比较

表5  不同多模态方法在CROHME 2019测试集上的性能比较

3. 注意力可视化

由图6可见,MMSCAN-E在每一步生成精确的注意结果,并正确识别示例表达式。这表明了早期融合的优越性,可以更好地利用在线和离线模式之间的对齐关系。

4. 时间复杂度分析

由表6可见,单模态下,由于笔画的数量远小于轨迹点/像素的数量,基于笔画建模的OnSCAN/OffSCAN模型消耗更少的时间。同理,在多模态情况下,MMSCAN-D比E-MAN更快,因为MMSCAN-D同时用在线和离线笔画级特征替换轨迹点级和像素级特征。MMSCAN- ED模型具有最好的识别性能,但计算代价最高。

图6  MMSCAN-E和MMSCAN-D的注意力可视化和识别结果

表6  不同模态方法的识别率和时间效率对比

5. 与其他SOTA方法的比较

表7  与其他SOTA方法在CROHME 2014和2016 测试集上的性能比较

注:表中参考文献见原文。

论文资源

‍‍本论文下载链接:

https://www.sciencedirect.com/science/article/pii/S003132032100234X

参考文献

[1]. J. Wang , J. Du , J. Zhang , Z.-R. Wang , Multi-modal attention network for hand- written mathematical expression recognition, in: International Conference on Document Analysis and Recognition, 2019, pp. 1181–1186 .

[2]. J. Zhang , J. Du , L. Dai , Track, attend and parse (TAP): an end-to-end frame- work for online handwritten mathematical expression recognition, IEEE Trans Multimedia 21 (1) (2019) 221–233 .

[3]. J. Zhang, et al, “Watch, attend and parse: An end-to-end neural network based approach to handwritten mathematical expression recognition,” Pattern Recognition, vol. 71, pp. 196-206, 2017.

[4]. Y. Deng , A. Kanervisto , J. Ling , A.M. Rush , Image-to-markup generation with coarse-to-fine attention, in: International Conference on Machine Learning, 2017, pp. 980–989 .

原文作者: Jiaming Wang, Jun Du, Jianshu Zhang, Bin Wang, Bo Ren

撰稿:李云青

编排:高   学

审校:殷   飞

发布:金连文


免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。

ICCV和CVPR 2021论文和代码下载

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

重磅!OCR交流群成立

扫码添加CVer助手,可申请加入CVer-OCR微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如OCR+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

中科大提出SCAN:用于在线手写数学公式识别的笔画约束注意力网络相关推荐

  1. 识别连笔字的软件_在线手写文字识别软件快速代抄

    隶书教程隶书教程吴先生经过仔细排比研究,得出那样的科学论据来,作为学术上篆.隶的不同定名的分野,自然是很值得重视的.不过还有两个问题想要问,那就是∶一,篆书也不能够个个是象形字,一开始就有象形以外的许 ...

  2. 小白玩机器学习(6)--- 基于Tensorflow.js的在线手写数字识别

    一.题目要求 1.三个js文件,分别完成:网络训练以及模型保存.模型加载及准确率测试.在线手写数字识别: 2.模型测试准确率要高于99.3%(尽量): 3.在线手写数字识别需要能够通过鼠标在画布中写入 ...

  3. android 手写字体识别,一种基于Android系统的手写数学公式识别及生成MathML的方法...

    专利名称:一种基于Android系统的手写数学公式识别及生成MathML的方法 技术领域: 本发明属于模式识别技术领域,涉及数学公式中字符间的空间结构分析,具体涉及一种基于Android系统的手写数学 ...

  4. 手写数学公式识别领域最新论文CAN代码梳理,以及用自己的数据集训练

    前言 Counting-Aware Network(CAN)-手写数学公式识别网络是好未来与白翔团队一起发布的一篇2022年的被ECCV收录的论文,该论文旨在缓解目前大部分基于注意力机制的手写数学公式 ...

  5. pytorch应用于MNIST手写字体识别

    前言 手写字体MNIST数据集是一组常见的图像,其常用于测评和比较机器学习算法的性能,本文使用pytorch框架来实现对该数据集的识别,并对结果进行逐步的优化. 一.数据集 MNIST数据集是由28x ...

  6. 手写公式识别 :基于深度学习的端到端方法

    本文简要介绍2018年5月被TMM录用论文"Track,Attend and Parse (TAP): An End-to-end Framework for Online Handwrit ...

  7. 深度学习面试题12:LeNet(手写数字识别)

    目录 神经网络的卷积.池化.拉伸 LeNet网络结构 LeNet在MNIST数据集上应用 参考资料 LeNet是卷积神经网络的祖师爷LeCun在1998年提出,用于解决手写数字识别的视觉任务.自那时起 ...

  8. 基于LeNet实现拍摄手写数字识别

    文章目录 1 实验内容 2 实验原理 LeNet: 3 具体实现 基于PaddlePaddle实现LeNet 加载数据: 建立模型: 模型训练: 模型测试: 基于Pytorch实现LeNet5 加载数 ...

  9. 手写数字识别画板前后端实现 | Flask+深度神经网络

    1. 系统概要 手写数字识别画板系统,按照MVC原则开发,主要由两部分组成:交互界面(视图View)部分是传统的HTML +CSS+JS网页(这同样也是一种遵循MVC开发方式):手写数字识别部分(模型 ...

最新文章

  1. POJ 3320 Jessica's Reading Problem (尺取)
  2. 资深专家深度剖析Kubernetes API Server第2章(共3章)
  3. Linux之部署虚拟环境、安装系统
  4. word文本样式代码样式_使用文本样式表达创建真相来源
  5. 【莫队】区间不同数(金牌导航 莫队-1)
  6. java8 从数组获取流_从数组到流再到Java 8
  7. python list存储对象_《python解释器源码剖析》第4章--python中的list对象
  8. 基础编程题目集 7-1 厘米换算英尺英寸 (15 分)
  9. Random Forest
  10. linux 访问windows 共享文件
  11. wav文件降噪c语言,语音降噪
  12. oracle临时表空间可以删除吗,Oracle临时表空间的增删改查
  13. UM2 3D 打印机 DIY 实践 ( 3) Marlin 固件配置篇
  14. 形容java工作者的句子_关于形容工作态度的句子
  15. hhkb适合写java吗_起底这届HHKB最强新品键盘,究竟好在哪儿?
  16. sql根据身份证号计算现在的年龄
  17. 数学模型天气预测方法_预测即将到来的天气的新方法
  18. 大数据开发工程师是做什么的?
  19. 部署 redis 和基本操作
  20. 用于持续医疗监测的无袖带血压估计算法【翻译】

热门文章

  1. centOS 镜像文件下载
  2. 探地雷达自动处理软件
  3. python入门(一)——你好python
  4. python调用高德地图api_python 高德地图api
  5. java flexpaper_解决FlexPaper分页分段加载问题
  6. 实时行情数据——证券市场(股票、期货、期权)
  7. 测试晶面间距软件_测定晶体的晶面间距
  8. python 折线图平滑_使用matplotlib生成平滑折线图
  9. 17岁创业从哪下手?这三类人最容易成功!
  10. 牛人博客之--创造晴天专栏-Android调试开发