CN111401353B - 一种数学公式的识别方法、装置及设备 - Google Patents
一种数学公式的识别方法、装置及设备 Download PDFInfo
- Publication number
- CN111401353B CN111401353B CN202010185356.2A CN202010185356A CN111401353B CN 111401353 B CN111401353 B CN 111401353B CN 202010185356 A CN202010185356 A CN 202010185356A CN 111401353 B CN111401353 B CN 111401353B
- Authority
- CN
- China
- Prior art keywords
- mathematical
- mathematical formula
- picture
- pictures
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Character Discrimination (AREA)
Abstract
本发明属于光学字符识别领域,具体涉及一种数学公式的识别方法、装置及设备;所述方法包括获取待识别的数学公式图片,并对其进行预处理;采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;将多行数学公式图片经过投影的方式切割为多个单行数学公式图片;对所有的单行数学公式图片分割为单个的数学字符图片;采用神经网络识别出每个数学字符图片的种类;利用改进的基线识别方法识别出单个数学字符之间的相对位置;并形成待识别的数学公式图片的语义树,将语义树解析成latex语言并输出。本发明具有识别公式字符识别率较高,结构识别较完整的优点。
Description
技术领域
本发明属于光学字符识别领域,涉及结合深度学习和规则学习的方法识别数学公式识别,本发明旨在提供一种字符识别准确率和公式识别准确率都较高的公式识别的方法;具体为一种数学公式的识别方法、装置及设备。
背景技术
光学字符识别(Optical Character Recognition,OCR)技术经过几十年的发展,在国内外相继出现了一系列比较成熟的产品,例如清华紫光OCR、汉王OCR、赛酷OCR以及国外的泰比OCR等。这些OCR产品技术对印刷体书籍或文档中所包含的中英文以及阿拉伯数字的识别已经达到了很高的水平,但还不能很好地将数学公式识别出来。主要的原因包括:数学公式与常规字符相比,具有复杂的二维结构;数学公式中所包含的符号种类繁多且大小不一;数学公式中符号与符号之间的关系也比较复杂。
大多数的科技文献中往往都会含有许多不同种类的数学公式,而这些公式往往又是以图片的形式保存在这些科技文献中。这样就会产生两方面的问题:一是增加了存储和传输的开销;二是无法实现公式的重用。
所以如何准确、高效地从印刷体书籍图像中识别出数学公式,成为目前数学书籍识别系统的设计与实现的一个难点问题。利用深度学习来实现公式识别,识别公式图片分割后的单个字符,是目前较为高效的识别字符的方法。数学公式识别技术的研究不仅可以实现数学公式的重用、降低公式图像存储和传输的代价,而且可以提高系统整体的识别质量,扩展OCR的功能,对科技信息资源的传播与建设具有重要意义。
现在利用深度学习进行数学公式识别的方法主要有两种。一方面是将数学公式识别的问题被转换为机器翻译中的序列到序列的问题,从(Xu,Kelvin,et al.“Show,attendand tell:Neural image captiom generate with visual attention.”InternationalConference on Machine Learning 2015)到(Deng Yuntian,Anssi Kanervisto,andAlexander M.Rush"What You Get Is What You See:A Visaul Markup Decomplier".arXiv preprint arXiv:1609.04938(2016)),再到(Xu K,Ba J,Kiros R,et al.Show,Attend and Tell:Neural Image Caption Generation with Visual Attention[J].Computer Science,2015:2048-2057.),通过序列识别,从而识别出数学公式。另一方面,现有的方法应用卷积神经网络(CNN,Convolutional neural network)作为编码器提取图片的结构特征,用循环递归神经网络(RNN,Recurrent recurrent neural network)作为解码器后,将特征向量经过注意力机制,之后再通过光束搜索方法或者贪心算法,将神经网络输出的特征向量映射为Latex语言。这种方法虽然不需要进行切割,也不需要手动提取数学字符特征了,但是由于整张数学公式图片大小不一,细节丰富,经过进入神经网络之前的预处理可能带来数学公式的巨大形变,导致在字符识别上存在漏识和误识的可能。而且通过端到端识别数学公式的方法,需要大量的训练数据集,其训练过程十分困难,并且字符识别率不高,使得整个模型的鲁棒性不强,当识别的图片与数据集有差距的时候,识别结果与其真实结果误差较大。
传统的多步识别数学公式的方法在对数学公式进行预处理之后,利用投影或者连通域切割的方法对数学公式图片进行切割,应用SVM方法或者手工提取特征的方法设计分类器,识别数学公式字符之后,利用坐标的位置关系,判断字符之间的相对位置,从而识别数学公式,最后识别成可编辑的Latex,或者是XML语言。
其中重构数学公式结构的步骤十分关键,现有方法主要包括通过坐标信息构建三叉树作为数学公式结构的语义树;手动提取字符图片的特征训练混合高斯模型等识别结构;应用模糊数学的原理,统计大量公式的结构特征继而来识别数学公式结构;构建数学公式中心基准线的方法来识别数学公式。
但总体而言,以上方法都有其局限性,对于构建符号中心基准线方式的识别方法,以当前利用率较高的识别方式(Zhang X,Gao L,Yuan K,et al.A Symbol DominanceBased Formulae Recognition Approach for PDF Documents[C]//2017 14th IAPRInternational Conference on Document Analysis and Recognition(ICDAR).IEEEComputer Society,2017.)为例,利用基准线方式的识别方法首先要确定开始符号,开始符号一般被认为是公式中最左边的字符,但整个数学公式的最左边的字符并不能确定整个公式的中心基准线,就可能导致中心基准线确定错误,就会将整个公式结构识别错误。
发明内容
为了解决现在多步骤识别数学公式的方法中的不足,本发明提出一种数学公式的识别方法、装置及设备,主要基于深度学习与改进的基线方法识别数学公式,不仅扩展了可识别的数学公式的种类,能够识别出数学公式是单行还是多行数学公式,对多行数学公式进行投影切割去除边界符号之后,变为单行数学公式后分割为数学字符,从而进行统一的字符识别;针对现有字符识别的准确率不高的现状,根据字符图片的的特点,设计神经网络结构作为字符图片的分类器,提高字符识别的准确率。对于现有数学公式结构重构的方法中,出现的漏识误识的情况,提出一种改进基线识别数学公式的方法。制定针对性的语义规则确定公式的基准符号,对基线上的表达式进行判断组合的表达式图片充分利用运算符号的作用域固定的特点,识别主基线上的字符与其他基线上的表达式之间的位置关系,既而识别数学公式的结构,最终解析成Latex语言输出识别结果。
具体的,在本发明的第一方面,本发明提出了一种数学公式的识别方法;所述方法包括:
获取待识别的数学公式图片,并对其进行预处理;
采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
将多行数学公式图片经过投影的方式切割为多个单行数学公式图片;
对所有的单行数学公式图片分割为单个的数学字符图片;
采用神经网络识别出每个数学字符图片的种类;
利用改进的基线识别方法识别出单个数学字符图片之间的相对位置,并形成待识别的数学公式图片的语义树;
解析语义树转换为LaTeX格式,并输出待识别的数学公式图片的识别结果。
在本发明的第二方面,本发明提出了一种数学公式的识别装置,包括:
采集模块,用于采集待识别的数学公式图片;
预处理模块,用于对待识别的数学公式图片进行预处理;
图片切割模块,用于将多行的数学公式图片切割为单行的数学公式图片;
图片分割模块,用于将单行的数学公式图片分割为单个的数学字符图片;
第一分类器,采用LeNet网络结构从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
第二分类器,采用神经网络分类出每个数学字符图片;
基线识别模块,通过改进的识别方法,识别出单个数学字符图片之间的相对位置;
语义树模块,将单个数学字符图片之间的相对位置形成待识别的数学公式图片的语义树;
语义转换模块,解析数学公式图片的语义树转换为LaTeX语言,并输出待识别的数学公式图片的识别结果。
在本发明的第三方面,本发明还提出了一种数学公式的识别设备,所述装备包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述数学公式的识别方法。
本发明的有益效果:
(1)本发明不仅能识别出单行数学公式,还能识别多行数学公式。单行、多行数学公式图片的结构特征相差较大,所以本发明采用LeNet分类器分类可以达到高效和识别效果好的分类效果;
(2)本发明根据数学字符图片的像素和尺寸特点,对数学字符图片数据集进行预处理,设计出神经网络,大大提高了数学字符识别的准确率;
(3)本发明采用了改进现有的基线识别方法,使得能够更加准确的确认主基线,并且还在其他基线结构内生成表达式,减少字符相对作用域的判别次数,降低复杂度。充分应用数学公式符号作用域固定的特点,将数学字符分类,提高识别结构的准确率。
(4)本发明采用语义转换树将数学公式图片转换为排版功能强大,应用广泛的Latex语言的格式输出。
附图说明
为了使本发明的目的和技术方案更加清楚,本发明提供如下附图进行说明:
图1为本发明提出的整体框架图;
图2为本发明的一种数学公式的识别方法流程图;
图3为本发明数据集中常见的字符种类;
图4为本发明结构识别流程图;
图5为本发明基线结构识别层次;
图6为本发明字符的作用域示意图;
图7为本发明语法树示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
下面将结合附图,对本发明的优选实施例进行详细的描述。
图1给出了本发明提供的整个模型结构框图,主要包括:
数学公式图片预处理;
公式类别判别;实现对多行数学公式图片以及单行数学公式图片的分类;
字符识别;采用图片分割,切割出数学字符识别;
结构识别;识别出各个数学字符间的具体结构;
结果输出;输出最终识别的公式结果。
本发明输入的是待识别的数学公式图片,输出是数学公式的Latex语言描述。
具体的,如图2所示,本实施例给出了一种数学公式的识别方法的流程图,包括:
获取待识别的数学公式图片,并对其进行预处理;
采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
将多行数学公式图片经过投影的方式切割为多个单行数学公式图片;
对所有的单行数学公式图片分割为单个的数学字符图片;
采用神经网络识别出每个数学字符图片的种类;
利用改进的基线识别方法识别出单个数学字符图片之间的相对位置,并形成待识别的数学公式图片的语义树;
解析数学公式图片的语义树转换为LaTeX格式,并输出待识别的数学公式图片的识别结果。
在一个实施例中,由于输入的待识别的数学公式图片的图片质量不一致,因此本实施例需要对其进行预处理;预处理的方式包括采用大律法对待识别的数学公式图片进行二值化;采用中值滤波器去除所述待识别的数学公式图片中的噪声以及采用倾斜校正方式对所述待识别的数学公式图片进行图像校正。
本实施例采用大律法对待识别的数学公式图片进行二值化的原因在于:在数学公式图片中,文本字符和公式字符的细节不是非常复杂,而且与背景的差异也比较明显,因而综合考虑时间空间复杂度之后本实施例选择大律法。
本实施例采用中值滤波器去除所述待识别的数学公式图片中的噪声的原因在于:常见的图片滤波方式为中值滤波和均值滤波,而中值滤波是非线性的滤波器,它利用一个滑动窗口按灰度排序后的中间值来替换窗口中心的值,避免了线性滤波器所产生的细节点模糊的现象,还能排除脉冲的干扰,因此基于文本字符目标的特点选择了中值滤波。
本实施例考虑到获取的待识别的数学公式图片中可能存在的切斜图像,因此采用倾斜校正的方式对图片进行校正。
在一个实施例中,采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片包括:
采集多行数学公式图片训练集和单行数学公式图片训练集;
采用LeNet网络结构对多行数学公式图片训练集和单行数学公式图片训练集进行训练;
训练完成后,形成LeNet分类器;
在LeNet分类器中输入待识别的数学公式图片,输出分类后的多行数学公式图片和单行数学公式图片。
其中,多行数学公式图片训练集和单行数学公式图片训练集可以采用各类高等数学教材或者其他数学书籍中具有显著特征结构的数学公式图片;另外,单行数学公式图片训练集还可以采用来自Infty-MDB2中的单行数学公式,最终制作出包括1000个单行数学公式图片的训练集和900个单行数学公式图片的训练集。
进一步的,在采用LeNet分类器训练之前,需要对上述训练集中大小不一的公式图片进行预处理,将数据集中的所有单行数学公式图片和多行数学公式图片转换为相同尺寸,可以选择为224*224。
在一个实施例中,将多行数学公式图片经过投影的方式切割为多个单行数学公式图片包括将多行数学公式图片水平向右投影,按行切割后,去除多行数学公式图片的边界符号;将其切分为多个单行数学公式图片。
在一个实施例中,采用神经网络识别出单个数学字符图片的种类包括:
利用连通域切割方法切割数学公式字符;
在一个实施例中,采用神经网络识别出每个数学字符图片的种类包括采集来自Infty CDB-3的数学字符图片训练集,这个数据集包含了275类字符常见的数学字符图片,鉴于数学公式中的各个字符具有大小不一、种类繁多的特点,因此本实施例还对数学字符图片训练集进行增强,其中数据增强的操作包括放大和偏移,从而增强训练的网络的鲁棒性。经过训练对比后发现神经网络中不需要池化就具有较高的准确率,平均准确率为98.5%,网络以Softmax作为损失函数:(网络结构设计如附图中的表1)激活函数用的是线性整流函数(Rectified Linear Unit,Relu)函数
图3显示了数据集中的一些常用的数学字符,根据这些数学字符的尺寸比例,从而设计了如表1的神经网络的网络结构,其数学字符图片的识别准确率可以到达98%左右;
表1 字符识别的神经网络参数
其中,表1中的三个全连接层的以级联的方式连接。
在一个实施例中,利用改进的基线识别方法识别出单个数学字符图片之间的相对位置包括以下内容:
对待识别的数学公式图片中所有数学字符图片及其坐标属性进行遍历,按遍历顺序将符合当前质心纵坐标高度范围的数学字符图片划分到同一基线,若不符合则将其划分至下一基线,直至遍历完成所有的数学字符图片,划分出至少一条基线;
将整个待识别的数学公式图片中最左边的字符判定为基准符号;对基准符号进行校准后,将基准符号所在的基线作为待识别的数学公式图片的主基线;
将主基线与其余基线按照其纵坐标高度进行排序,确定出各条基线的上下位置关系;
根据主基线的位置进行标号,遍历除主基线以外的其余基线,向后搜索,将属于同一基线的相邻两个及以上的数学字符图片进行拼接,形成表达式图片;
将主基线的基准符号作为根节点;将主基线上的其余数学字符作为该根节点的第一子节点;将其余基线上的数学字符图片作为第二子节点;按照主基线与其余基线的上下位置关系,判断主基线的数学字符图片与其余基线的表达式图片的相对位置关系,按照根节点、各个第一子节点和第二子节点的位置关系,形成语义树。
在另一个实施例中,利用改进的基线识别方法识别出单个数学字符图片之间的相对位置还包括开始识别数学公式的结构,参考如图4所示:
步骤5-1,输入分割后的数学字符图片的属性;遍历整个数学公式字符图片,根据质心纵坐标的范围确定整个数学字符图片的所有基线,首先从左到右从上到下,根据坐标对待识别的数学公式图片中所有的数学字符进行排序,遍历每个数学字符图片及其坐标属性,按照质心坐标的相关规则生成基线。
从排序后一个数学字符图片开始,生成基线的判定条件是:其后的数学字符图片的质心坐标的高度范围在内,h1第一个是数学字符图片的高。若在这个高度范围内,则将符合该高度范围的数学字符图片送入一个列表。若不符合则把当前数学字符图片送入下一个列表,并将该当前数学字符图片作为下一条基线的开始字符。继续搜寻,直到遍历完所有的字符图片。此时图片会生成几条基线,参考如图5所示,其中L1、L-1、L-2以及Lm均表示基线,其中Lm为后文的主基线。
步骤5-2,根据基准符号确定待识别的数学公式图片中的主基线:
(1)利用冒泡法求出整个数学公式的是最左边的字符Si先判定为基准符号,如图5中的“2x”中的“2”。
(2)遍历数学字符图片,如果整个数学公式图片中有大符号(∑∫Π)等,不论一个或者多个;都要进行如下的判断:
1)判断基准符号是否为分号,若为分号,则进入步骤5-3,否则进入步骤2);
2)判断基准符号是否为大符号,若为大符号,则直接到下一个步骤5-3,否则进入步骤3);
3)判断当前基准符号所在的基线与大符号是否在同一条基线上,如果在同一条基线上,则表明当前的基准符号选取正确,如果不在同一条基线上,则将坐标最左的数学字符图片作为整个公式的基准符号;进入步骤5-3。
步骤5-3,将基准符号所在的基线作为整个公式的主基线。
步骤5-4,对其他基线上的表达式进行判定:
(1)除了主基线外,对于其他基线,按照从左到右从上到下的顺序遍历数学字符图片。将基线所生成的列表,按照索引向后搜索。判断当前遍历到的数学字符图片的质心坐标与前一数学字符图片的水平距离,如果前一数学字符图片的左上角横坐标与前一个数学字符图片右下角的横坐标之间的差值大于前一个符号的宽w1,那么可以判断当前数学字符图片和前一个数学字符图片,如图5中“2x”“2+b”、“i=1”等均表示为一个表达式;不在同一个表达式,如“2x”与“2+b”不在同一表达式中,则将当前的数学字符图片送入新的数组,形成表达式并作为一个新的列表元素放入列表中。
(2)将得到的表达式的数学字符图片组合成一个表达式图片,采用几何中心坐标代替质心坐标,采用此条基线的的第一个数学字符的左上角坐标和最后一个数学字符图片的右下角作为整个表达式图片的属性。
步骤5-5,一个数学公式图片会得到一条或者多条基线,识别这些基线与主基线之间的嵌套关系包括:
将主基线的基准符号作为整个待识别的数学公式图片的根节点,将主基线和其余基线的数学字符图片作为子节点(将主基线上的其余数学字符作为该根节点的第一子节点;将其余基线上的数学字符图片作为第二子节点);识别出数学符号图片的作用域,作用域附图6所示;
识别数学字符图片的作用域的方法包括:
对于属于同一待识别的数学公式图片中的任意两个数学字符图片:
令第一数学字符图片的高和宽分别为imageh1和imagew1,第二数学字符图片的高和宽分别为imageh2和imagew2;
第一数学字符图片的边框横纵坐标为(posx1,posx2);第二数学字符图片的边框横纵坐标为(posy1,posy2);
第一数学字符图片的质心横纵坐标为(cenx1,ceny1);第二数学字符图片的边框质心坐标为(cenx2,ceny2)。
判断两个数学字符图片的位置关系,如果imageh2<imageh1;
则继续判断cenx2>posx1、cenx2<posx1+imagew1以及posy2<posy1+h1是否同时成立,若同时成立,则返回数学字符图片的位置关系为第一数学字符图片在第二数学字符图片的下方。
如果cenx2>posx1、cenx2<posx1+imagex1以及posy2+imageh2<posy1成立,则返回数学字符图片的位置关系为第一数学字符图片在第二数学字符图片上方;
如果cenx1<posx2而且posy2>ceny1成立;则返回的关系为第一数学字符图片在第二数学字符图片的“右下”方;
如果cenx1<posx2而且posy2+imageh2<ceny1成立;则第一数学字符图片在第二数学字符图片的“右上”方。
因为数学运算符号的作用域是固定的,当判别的过程中如果遇到运算符号,可以根据运算符号作用域固定的特点,减少判断的次数;
表2 不同的字符固定的作用域的种类
当识别的过中主基线的符号与其他基线中的得到某个字符Si是一种位置关系的时候,则可以判定该符号所在的表达式与主基线上的符号是同样的位置关系;
得到了数学字符之间的相对的位置关系,能够数学公式图片的基准符号作为根节点来识别数来构建Latex语言,采用如图7所示的语义转换树进行识别,将图5中各个单个的数学字符图片的位置关系进行区分;按照该位置关系,最终得到的识别结果,将识别结果中的位置关系的指针类型与字符转换为Latex语言,最后实现数学公式的识别。
在本方面的第二方面,本实施例提供了一种数学公式的识别装置,包括:
采集模块,用于采集待识别的数学公式图片;
预处理模块,用于对待识别的数学公式图片进行预处理;
图片切割模块,用于将多行的数学公式图片切割为单行的数学公式图片;
图片分割模块,用于将单行的数学公式图片分割为单个的数学字符图片;
第一分类器,采用LeNet网络结构从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
第二分类器,采用神经网络分类出每个数学字符图片;
基线识别模块,通过改进的识别方法,识别出单个数学字符图片之间的相对位置;
语义树模块,将单个数学字符图片之间的相对位置形成待识别的数学公式图片的语义树;
语义转换模块,将语义树解析成为LaTeX语言,并输出待识别的数学公式图片的识别结果。
在一个实施例中,所述装置还包括第一训练模块和第二训练模块,所述第一训练模块和第二训练模块各自对应第一分类器和第二分类器;用于采集相应的训练集对分类器进行训练。
具体的,所述第一训练模块用于采集第一训练集对第一分类器进行训练;第二训练模块用于采集第二训练集对第二分类器进行训练。
其中,第一训练集可以包括多行数学公式图片训练集和单行数学公式图片训练集;第二训练集可以包括单个数学字符图片训练集。
在本发明的第三方面,本实施例提供了一种数学公式的识别设备,所述装备包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述数学公式的识别方法。
该设备包括:处理器、存储器、通信模块、显示屏、输入装置以及输出装置。该设备中处理器的数量可以是一个或者多个,该设备中存储器的数量可以是一个或者多个。该设备的处理器、存储器、通信模块、显示屏、输入装置以及输出装置可以通过总线或者其他方式连接,本实施例优选通过总线连接。
存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的图像识别方法对应的程序指令/模块。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。通信装置用于与其他子设备建立无线连接,并进行数据传输。显示屏设置在所述设备上。显示屏可以用于显示对应的子图像,还用于显示处理器发送的其他消息。
输入装置可用于接收输入的数字或者字符信息,以及产生与设备的游戏玩家设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头。输出装置可以包括扬声器等。需要说明的是,输入装置和输出装置的具体组成可以根据实际情况设定。
可以理解的是,本发明中一种数学识别的方法、装置及设备的部分相关特征可以相互引用,本发明就不再一一赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数学公式的识别方法,其特征在于,包括:
获取待识别的数学公式图片,并对其进行预处理;
采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
将多行数学公式图片经过投影的方式切割为多个单行数学公式图片;
对所有的单行数学公式图片分割为单个的数学字符图片;
采用神经网络识别出每个数学字符图片的种类;
利用改进的基线识别方法识别出单个数学字符图片之间的相对位置,对待识别的数学公式图片中所有数学字符图片及其坐标属性进行遍历,按遍历顺序将符合当前质心纵坐标高度范围的数学字符图片划分到同一基线,若不符合则将其划分至下一基线,直至遍历完成所有的数学字符图片,划分出至少一条基线;将整个待识别的数学公式图片中最左边的字符判定为基准符号;对基准符号进行校准后,将基准符号所在的基线作为待识别的数学公式图片的主基线;将主基线与其余基线按照其纵坐标高度进行排序,确定出各条基线的上下位置关系;根据主基线的位置进行标号,遍历除主基线以外的其余基线,向后搜索,将属于同一基线的相邻两个及以上的数学字符图片进行拼接,形成表达式图片;将主基线的基准符号作为根节点;将主基线上的其余数学字符作为该根节点的第一子节点;将其余基线上的数学字符图片作为第二子节点;按照主基线与其余基线的上下位置关系,判断主基线的数学字符图片与其余基线的表达式图片的相对位置关系,按照根节点、各个第一子节点和第二子节点的位置关系,并形成待识别的数学公式图片的语义树;
将语义树解析成为Latex语言,并输出待识别的数学公式图片的识别结果。
2.根据权利要求1所述的一种数学公式的识别方法,其特征在于,对待识别的数学公式图片进行预处理包括采用大律法对待识别的数学公式图片进行二值化;采用中值滤波器去除所述待识别的数学公式图片中的噪声以及采用倾斜校正方式对所述待识别的数学公式图片进行图像校正。
3.根据权利要求1所述的一种数学公式的识别方法,其特征在于,所述采用LeNet分类器从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片包括采集多行数学公式图片训练集和单行数学公式图片训练集;采用LeNet网络结构对多行数学公式图片训练集和单行数学公式图片训练集进行训练;训练完成后,形成LeNet分类器;在LeNet分类器中输入预处理后的待识别的数学公式图片,输出分类后的多行数学公式图片和单行数学公式图片。
4.根据权利要求1所述的一种数学公式的识别方法,其特征在于,所述将多行数学公式图片经过投影的方式切割为多个单行数学公式图片包括将多行数学公式图片水平向右投影,按行切割后,去除多行数学公式图片的边界符号;将其切分为多个单行数学公式图片。
5.根据权利要求1所述的一种数学公式的识别方法,其特征在于,所述对所有的单行数学公式图片分割为单个的数学字符图片包括利用连通域切割为多个单个数学字符图片;确定每个数学字符图片的坐标属性;并计算出每个数学字符图片的质心坐标。
6.根据权利要求1所述的一种数学公式的识别方法,其特征在于,所述采用神经网络识别出每个数学字符图片的种类包括获取预先采集的单个数学字符图片训练集,通过分割获得每个数学字符图片的平均尺寸,确定神经网络中的卷积核的大小;采用该神经网络对单个数学字符图片训练集进行训练,训练完成后,采用神经网络确定出分割后的单个数学字符图片的类别;所述神经网络包括输入层、多个卷积层和多个全连接层;其中,根据数学字符图片训练集中的字符图片的平均尺寸的大小确定各个卷积层中卷积核的大小;根据数学字符图片的种类数确定全连接层的神经元的个数。
7.一种数学公式的识别装置,其特征在于,包括:
采集模块,用于采集待识别的数学公式图片;
预处理模块,用于对待识别的数学公式图片进行预处理;
图片切割模块,用于将多行的数学公式图片切割为单行的数学公式图片;
图片分割模块,用于将单行的数学公式图片分割为单个的数学字符图片;
第一分类器,采用LeNet网络结构从待识别的数学公式图片中区分出多行数学公式图片和单行数学公式图片;
第二分类器,采用神经网络分类出每个数学字符图片;
基线识别模块,通过改进的识别方法,对待识别的数学公式图片中所有数学字符图片及其坐标属性进行遍历,按遍历顺序将符合当前质心纵坐标高度范围的数学字符图片划分到同一基线,若不符合则将其划分至下一基线,直至遍历完成所有的数学字符图片,划分出至少一条基线;将整个待识别的数学公式图片中最左边的字符判定为基准符号;对基准符号进行校准后,将基准符号所在的基线作为待识别的数学公式图片的主基线;将主基线与其余基线按照其纵坐标高度进行排序,确定出各条基线的上下位置关系;根据主基线的位置进行标号,遍历除主基线以外的其余基线,向后搜索,将属于同一基线的相邻两个及以上的数学字符图片进行拼接,形成表达式图片;将主基线的基准符号作为根节点;将主基线上的其余数学字符作为该根节点的第一子节点;将其余基线上的数学字符图片作为第二子节点;按照主基线与其余基线的上下位置关系,判断主基线的数学字符图片与其余基线的表达式图片的相对位置关系,按照根节点、各个第一子节点和第二子节点的位置关系,识别出单个数学字符图片之间的相对位置;
语义树模块,将单个数学字符图片之间的相对位置形成待识别的数学公式图片的语义树;
语义转换模块,将语义树解析成为LaTeX语言,并输出待识别的数学公式图片的识别结果。
8.根据权利要求7所述的一种数学公式的识别装置,其特征在于,所述装置还包括第一训练模块和第二训练模块,所述第一训练模块和第二训练模块各自对应第一分类器和第二分类器;用于采集相应的训练集对分类器进行训练。
9.一种数学公式的识别设备,其特征在于, 所述识别设备包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一所述的数学公式的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010185356.2A CN111401353B (zh) | 2020-03-17 | 2020-03-17 | 一种数学公式的识别方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010185356.2A CN111401353B (zh) | 2020-03-17 | 2020-03-17 | 一种数学公式的识别方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111401353A CN111401353A (zh) | 2020-07-10 |
CN111401353B true CN111401353B (zh) | 2022-04-05 |
Family
ID=71413390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010185356.2A Active CN111401353B (zh) | 2020-03-17 | 2020-03-17 | 一种数学公式的识别方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111401353B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783737B (zh) * | 2020-07-29 | 2024-02-02 | 郑州航空工业管理学院 | 一种数学公式的识别方法和识别装置 |
CN112580361A (zh) * | 2020-12-18 | 2021-03-30 | 蓝舰信息科技南京有限公司 | 基于统一注意力机制的公式及文字识别模型方法 |
CN112712075B (zh) * | 2020-12-30 | 2023-12-01 | 科大讯飞股份有限公司 | 算式检测方法、电子设备和存储装置 |
CN113139548B (zh) * | 2020-12-31 | 2022-05-06 | 重庆邮电大学 | 基于运算符作用域和中心线的数学公式识别方法 |
CN112906559B (zh) * | 2021-02-10 | 2022-03-18 | 网易有道信息技术(北京)有限公司 | 由机器实施的用于批改算式的方法及相关产品 |
CN112926567B (zh) * | 2021-03-01 | 2022-05-27 | 中国科学院软件研究所 | 一种基于用户反馈信息的在线手写公式识别方法及装置 |
CN113448563B (zh) * | 2021-08-24 | 2021-12-14 | 中奥智能工业研究院(南京)有限公司 | 一种LaTeX在线协作平台 |
CN113657353B (zh) * | 2021-10-19 | 2022-03-11 | 北京世纪好未来教育科技有限公司 | 公式识别方法、装置、电子设备及存储介质 |
CN113688803B (zh) * | 2021-10-25 | 2022-03-08 | 北京世纪好未来教育科技有限公司 | 公式识别方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241861A (zh) * | 2018-08-14 | 2019-01-18 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及存储介质 |
CN109492532A (zh) * | 2018-10-09 | 2019-03-19 | 好活(昆山)网络科技有限公司 | 一种图像ai识别的方法、装置和系统 |
CN109919177A (zh) * | 2019-01-23 | 2019-06-21 | 西北工业大学 | 基于层次化深度网络的特征选择方法 |
CN109977958A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 一种离线手写体数学公式识别重构方法 |
CN110196906A (zh) * | 2019-01-04 | 2019-09-03 | 华南理工大学 | 面向金融行业的基于深度学习文本相似性检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053367B2 (en) * | 2012-11-09 | 2015-06-09 | Seiko Epson Corporation | Detector evolution with multi-order contextual co-occurrence |
US9626594B2 (en) * | 2015-01-21 | 2017-04-18 | Xerox Corporation | Method and system to perform text-to-image queries with wildcards |
-
2020
- 2020-03-17 CN CN202010185356.2A patent/CN111401353B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241861A (zh) * | 2018-08-14 | 2019-01-18 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及存储介质 |
CN109492532A (zh) * | 2018-10-09 | 2019-03-19 | 好活(昆山)网络科技有限公司 | 一种图像ai识别的方法、装置和系统 |
CN110196906A (zh) * | 2019-01-04 | 2019-09-03 | 华南理工大学 | 面向金融行业的基于深度学习文本相似性检测方法 |
CN109919177A (zh) * | 2019-01-23 | 2019-06-21 | 西北工业大学 | 基于层次化深度网络的特征选择方法 |
CN109977958A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 一种离线手写体数学公式识别重构方法 |
Non-Patent Citations (2)
Title |
---|
"Of This and That:The Recognition Formula in Sophocles" Electra";Eric Dugdale;《TAPA》;20170331;第147卷;第27-52页 * |
"结合上下文特征的LaTeX公式检索方法";周叶华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180115(第01期);第I138-1931页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111401353A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111401353B (zh) | 一种数学公式的识别方法、装置及设备 | |
CN102332096B (zh) | 一种视频字幕文本提取和识别的方法 | |
CN104778470B (zh) | 基于组件树和霍夫森林的文字检测和识别方法 | |
CN110751137A (zh) | 一种自动求解数学题的方法和系统 | |
CN105608454B (zh) | 基于文字结构部件检测神经网络的文字检测方法及系统 | |
JPH0728940A (ja) | 文書処理のためのイメージ・セグメント化およびイメージ要素分類の方法 | |
CN114005123A (zh) | 一种印刷体文本版面数字化重建系统及方法 | |
CN109886978B (zh) | 一种基于深度学习的端到端告警信息识别方法 | |
CN112818951A (zh) | 一种票证识别的方法 | |
CN112733858B (zh) | 基于字符区域检测的图像文字快速识别方法及装置 | |
CN106845513A (zh) | 基于条件随机森林的人手检测器及方法 | |
CN109460735A (zh) | 基于图半监督学习的文档二值化处理方法、系统、装置 | |
CN115424282A (zh) | 一种非结构化文本表格识别方法和系统 | |
CN111967313A (zh) | 一种深度学习目标检测算法辅助的无人机图像标注方法 | |
CN105117740A (zh) | 字体识别方法及装置 | |
CN113537227A (zh) | 一种结构化文本识别方法及系统 | |
CN111507353B (zh) | 一种基于文字识别的中文字段检测方法及系统 | |
CN113780276A (zh) | 一种结合文本分类的文本检测和识别方法及系统 | |
CN106650696A (zh) | 一种基于奇异值分解的手写电气元件符号识别方法 | |
CN111414855B (zh) | 基于端到端回归模型的电线杆标牌目标检测及识别方法 | |
CN113888505A (zh) | 一种基于语义分割的自然场景文本检测方法 | |
CN111832497B (zh) | 一种基于几何特征的文本检测后处理方法 | |
CN111275732B (zh) | 一种基于深度卷积神经网络的前景对象图像分割方法 | |
CN101615255A (zh) | 一种视频文字多帧融合的方法 | |
CN114066861B (zh) | 一种基于交叉算法边缘检测理论和视觉特征的煤矸识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |