摘要
手写数学公式识别技术是智能电子文档录入、在线教育等热门应用领域的基础。然而数学公式的识别由于符号数量大、大量符号相似、公式结构复杂等问题,十分具有挑战性。随着人工智能相关技术的日渐发展,越来越多的研究尝试使用深度学习技术解决数学公式的识别问题。本文对手写数学公式识别模型进行研究,介绍了三种数学公式识别算法,基于其中的DenseWAP算法实现了手写数学公式识别系统,并使用整理的数学分析课程作业公式截图对系统进行测试。本文的主要研究内容如下: 对当前基于神经网络实现的手写数学公式识别算法进行研究,选择其中三种算法进行实现。三种算法均采用了编码器-解码器的模式进行了网络的搭建,并能保证端到端的训练,其中WAP模型使用VGGNet提取特征,使用GRU来对特征进行解码,同时使用注意力给予解码的不同区域以不同的关注度,使用覆盖向量避免解码区域的遗漏和重复;DenseWAP模型使用DenseNet提取特征,使用多尺度注意力进行解码优化特征向量的提取;BTTR模型基于Transformer模型实现,并采用双向训练的方式读取数据的双向信息提高识别的准确率。将三种模型在CROHME数据集上进行测试,准确率分别为35.3%,38.5%,45.3%。 基于DenseWAP模型,本文实现了手写数学公式识别系统,系统包括应用程序和网站两个部分。本文使用PyQt5设计GUI应用程序,能够使用截图功能对需要识别的公式图片进行截取,然后调用识别算法得到预测的LaTex序列,同时用户可以对得到的结果做修改、复制等进一步操作;使用Django开发手写数学公式识别网站,网站能够实现在线选择图片,输出图片预测的LaTex序列。系统在300张数学分析课程作业公式截图上进行实验,识别的准确率为35.67%,词错误率为18.23%。实验结果表明公式识别系统表现良好,较低的词错误率表明对于识别错误的情况只需要进行较少的修正即可和正确标签相同。