一种公式识别方法、装置、设备及存储介质与流程

文档序号:21272811发布日期:2020-06-26 23:02阅读:102来源:国知局
一种公式识别方法、装置、设备及存储介质与流程

本申请涉及信息识别技术领域,尤其涉及一种公式识别方法、装置、设备及存储介质。



背景技术:

在一些应用中,需要从包含公式的图像中识别出公式。现有的公式识别方法多为基于ocr识别模型的公式识别方法,即,利用预先训练得到的ocr识别模型从包含公式的图像中识别出公式。

现有的公式识别方法的识别效果取决于ocr识别模型的识别效果,而ocr识别模型的识别效果取决于训练数据。然而,由于包含简单公式的训练数据较多,而包含复杂公式的训练数据较少,因此,基于ocr识别模型的公式识别方法对于包含复杂公式的图像识别效果不佳。



技术实现要素:

有鉴于此,本申请提供了一种公式识别方法、装置、设备及存储介质,用以解决现有技术中基于ocr识别模型的公式识别方法对于包含复杂公式的图像识别效果不佳的问题,其技术方案如下:

一种公式识别方法,包括:

获取包含待识别公式的目标图像;

从所述目标图像中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像中识别出公式;

根据所述待识别公式的结构信息,修正利用所述字符识别模型识别出的公式,修正后的公式作为所述目标图像的公式识别结果。

可选的,所述从所述目标图像中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像中识别出公式,包括:

从所述目标图像中检测出包含所述待识别公式的图像区域,作为目标图像区域;

从所述目标图像区域中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像区域中识别出公式。

可选的,所述从所述目标图像区域中确定出所述待识别公式的结构信息,包括:

从所述目标图像区域中提取出所述待识别公式中各个公式字符的位置信息;

根据所述待识别公式中各个公式字符的位置信息,确定所述待识别公式的结构信息。

可选的,所述利用字符识别模型从所述目标图像区域中识别出公式,包括:

利用所述待识别公式中各个公式字符的位置信息,从所述目标图像区域中提取出所述待识别公式的图像;

利用所述字符识别模型从所述待识别公式的图像中识别出公式。

可选的,所述根据所述待识别公式中各个公式字符的位置信息,确定所述待识别公式的结构信息,包括:

根据所述待识别公式中各个公式字符的位置信息构建字符关系得分表,其中,所述字符关系得分表中包括代表所述待识别公式中各个公式字符的字符标识,以及所述待识别公式中的每个公式字符分别与其它各个公式字符的关系得分,所述字符关系得分表中的各个字符标识根据所述待识别公式中各个公式字符的位置信息排序;

根据所述字符关系得分表,确定所述待识别公式的结构信息。

可选的,所述根据所述待识别公式中各个公式字符的位置信息构建字符关系得分表,包括:

根据所述待识别公式中各个公式字符的位置信息,确定所述待识别公式中每个公式字符与其周边公式字符的关系得分,其中,一个公式字符的周边公式字符为位于该公式字符的正上方、正下方、右上方、右下方、右中间位置的公式字符,一个公式字符与一个其周边公式字符的得分根据该周边公式字符与该公式字符的相对位置确定;

根据所述待识别公式中每个公式字符与其周边公式字符的关系得分构建字符关系得分表。

可选的,所述根据所述字符关系得分表,确定所述待识别公式的结构信息,包括:

将所述字符关系得分表中的第一个字符标识作为当前字符标识;

根据所述字符关系得分表,确定与当前字符标识的关系得分不为0的字符标识,作为目标字符标识;

按照不为0的关系得分由高到低的顺序,确定当前字符标识所代表的公式字符与每个目标公式字符标识所代表的公式字符在所述待识别公式中的结构;

将目标字符标识作为当前字符标识,然后返回执行所述根据所述字符关系得分表确定与当前字符标识的关系得分不为0的字符标识,直至确定出最后一个字符标识对应的公式字符与前一与其有关的目标字符标识对应的公式字符在所述待识别公式中的结构。

可选的,所述根据所述待识别公式的结构信息,修正利用所述字符识别模型从所述目标图像中识别出的公式,包括:

将利用所述字符识别模型识别出的公式的结构信息与所述待识别公式的结构信息进行匹配,以从利用所述字符识别模型识别出的公式中确定出与所述待识别公式的结构信息不匹配的结构部分;

从所述目标图像中提取与所述不匹配的结构部分对应的图像;

利用所述字符识别模型对提取的图像进行识别,获得识别结果;

用所述识别结果修正利用所述字符识别模型识别出的公式。

一种公式识别装置,包括:图像获取模块、图像信息获取模块和公式修正模块;

所述图像获取模块,用于获取包含待识别公式的目标图像;

所述图像信息获取模块,用于从所述目标图像中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像中识别出公式;

所述公式修正模块,用于根据所述待识别公式的结构信息,修正利用所述字符识别模型识别出的公式,修正后的公式作为所述目标图像的公式识别结果。

可选的,所述图像信息获取模块包括:公式区域检测模块、公式结构确定模块和公式识别模块;

所述公式区域检测模块,用于从所述目标图像中检测出包含所述待识别公式的图像区域,作为目标图像区域;

所述公式结构确定模块,用于从所述目标图像区域中确定出所述待识别公式的结构信息;

所述公式识别模块,用于利用字符识别模型从所述目标图像区域中识别出公式。

可选的,所述公式结构确定模块包括:公式字符位置确定子模块和公式结构确定子模块;

所述公式字符位置确定子模块,用于从所述目标图像区域中提取出所述待识别公式中各个公式字符的位置信息;

所述公式结构确定子模块,用于根据所述待识别公式中各个公式字符的位置信息,确定所述待识别公式的结构信息。

一种公式识别设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如权利要求上述任一项所述的公式识别方法的各个步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的公式识别方法的各个步骤。

经由上述方案可知,本申请提供的公式识别方法、装置、设备及存储介质,在获得包含待识别公式的目标图像后,可利用字符识别模型从目标图像中识别出公式,考虑到字符识别模型对于复杂公式的识别效果不佳,即利用字符识别模型从目标图像中识别出的公式可能不准确(比如,可能存在遗漏),为了能够获得准确的公式识别结果,本申请从目标图像中确定出待识别公式的结构信息,根据待识别公式的结构信息对利用字符识别模型从目标图像中识别出公式进行修正,将修正后的公式作为目标图像的公式识别结果。本申请根据待识别公式的结构信息修正利用字符识别模型从目标图像中识别出的公式,能够获得准确的公式识别结果,即本申请提供的公式识别方法具有较好的识别效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的公式识别方法的流程示意图;

图2为本申请实施例提供的从一包含公式的图像中检测出包含待识别公式的图像区域的示意图;

图3为本申请实施例提供的从目标图像区域中确定出待识别公式的结构信息的流程示意图;

图4为本申请实施例提供的利用目标检测模型对目标图像区域中的各个公式字符进行检测分割的效果示意图;

图5为本申请实施例提供的利用待识别公式中各个公式字符的位置信息,确定待识别公式的结构信息的流程示意图;

图6为本申请实施例提供的一公式字符与其周边公式字符的关系得分示意图;

图7为本申请实施例提供的根据待识别公式中各个公式字符的位置信息构建的字符关系得分表,以及根据字符关系得分表确定出的公式结构信息的一示例的示意图;

图8为本申请实施例提供的根据待识别公式中各个公式字符的位置信息构建的字符关系得分表,以及根据字符关系得分表确定出的公式结构信息的另一示例的示意图;

图9为本申请实施例提供的从一图像中包含公式的图像区域中提取出公式图像的一示例的示意图;

图10为本申请实施例提供的根据待识别公式的结构信息,修正利用字符识别模型识别出的公式的流程示意图;

图11为本申请实施例提供的公式识别装置的结构示意图;

图12为本申请实施例提供的公式识别设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有的基于ocr识别模型的公式识别方法的识别过程大致包括:获取包含待识别公式的图像;对包含待识别公式的图像进行预处理,获得预处理后的图像;将预处理后的图像输入ocr识别模型,获得ocr识别模型输出的字符串;对ocr识别模型输出的字符串进行分析,从中提取出latex格式的公式。其中,ocr识别模型通常为深度学习模型,而深度学习模型存在一个通病,即泛化性不足,需要大量训练数据进行学习训练,然而,包含复杂公式的训练数据通常较少,这导致ocr识别模型对于包含复杂公式的图像的识别效果不佳。

鉴于现有技术中的公式识别方法存在的问题,本案发明人进行了深入研究,最终提出了一种具有较好识别效果的公式识别方法,该公式识别方法适用于任何需要进行公式识别的应用场景,该公式识别方法可以应用于具有数据处理能力的终端,比如pc、笔记本、pad、智能手机等,还可应用于服务器,该服务器可以为一个,也可以为多个,比如可以为服务器集群。接下来通过下述实施例对本申请提供的公式识别方法进行介绍。

请参阅图1,示出了本申请实施例提供的公式识别方法的流程示意图,该方法可以包括:

步骤s101:获取包含待识别公式的目标图像。

其中,待识别公式可以为印刷体公式,也可以为书写比较规范的手写公式。

步骤s102:从目标图像中确定出待识别公式的结构信息,并利用字符识别模型从目标图像中识别出公式。

其中,字符识别模型为用于从图像中识别出字符的模型,其可以为ocr识别模型,也可以为与ocr识别模型的识别方式、识别效果相同或相似的其它模型。

其中,待识别公式的结构信息为能够表征待识别公式的结构的信息。示例性的,目标图像中的待识别公式为则该公式的结构为

需要说明的是,待识别公式的结构信息能够反映待识别公式中各个公式字符之间的空间位置关系,比如,公式的结构信息能够反映公式字符“f”与括号中“x”的位置关系、等号右侧“x”与第一个“m”的位置关系,第一个“m”与第一个“2”的位置关系等。

步骤s103:根据待识别公式的结构信息,修正利用字符识别模型识别出的公式,修正后的公式作为目标图像的公式识别结果。

本实施例根据待识别公式的结构信息可获知利用字符识别模型识别出的公式中不准确的部分(比如存在遗漏的部分),进而对不准确的部分进行修正。

前述内容提到,现有技术中基于ocr识别模型的公式识别方法对于复杂公式(比如多层嵌套的公式)的识别效果不佳,在一种可能的情况中,利用ocr识别模型识别出的公式可能存在遗漏,比如,利用ocr识别模型对包含公式的图像进行公式识别时,识别结果为xm,待识别公式的结构为根据识别公式的结构可知,识别结果xm中“m”的上标遗漏,基于此,可获取识别结果xm中遗漏的内容“2”,并用遗漏的内容修正识别结果xm,以获得准确的识别结果

本申请实施例提供的公式识别方法,在获得包含待识别公式的目标图像后,可利用字符识别模型(比如ocr识别模型)从目标图像中识别出公式,考虑到字符识别模型对于复杂公式的识别效果不佳,即利用字符识别模型从目标图像中识别出的公式可能不准确(比如,可能存在遗漏),为了能够获得准确的公式识别结果,本申请从目标图像中确定出待识别公式的结构信息,根据待识别公式的结构信息对利用字符识别模型从目标图像中识别出公式进行修正,将修正后的公式作为目标图像的公式识别结果。本申请实施例根据待识别公式的结构信息修正利用字符识别模型从目标图像中识别出的公式,能够获得准确的公式识别结果,即本申请实施例提供的公式识别方法具有较好的识别效果。

在本申请的另一实施例中,对上述实施例中的“步骤s102:从目标图像中确定出待识别公式的结构信息,并利用字符识别模型从目标图像中识别出公式”的实现过程进行介绍。

步骤s102的实现方式有多种,在一种可能的实现方式中,可直接对整幅目标图像进行处理,即,直接从整幅目标图像中确定出待识别公式的结构信息,并利用字符识别模型对整幅目标图像进行公式识别。

可以理解的是,目标图像中除了包含待识别公式外,通常还包括其它内容,这些内容对于公式识别和公式结构信息的确定会造成较大的干扰,并且,对整幅目标图像进行处理的效率较低,为了提高图像处理效率并提高公式识别准确率,本申请实施例提供了另一种较为优选的实现方式:

首先从目标图像中检测出包含待识别公式的图像区域,将包含待识别公式的图像区域作为目标图像区域,然后对目标图像区域进行处理,即从目标图像区域中确定出待识别公式的结构信息,并利用字符识别模型从目标图像区域中识别出公式。

可选的,可利用深度学习attention技术从目标图像中检测出包含待识别公式的图像区域,具体的,先利用特征提取网络(比如卷积神经网络cnn)从目标图像提取特征,然后利用提取的特征和attention网络从目标图像中确定包含待识别公式的图像区域。请参阅图2,示出了从一包含公式的图像中检测出包含待识别公式的图像区域的示意图,图2中的201~205为从图像200中检测出的包含公式的图像区域。

由于上述第二种实现方式只是对整幅目标图像中的部分图像区域进行处理,因此,相比于对整幅目标图像进行处理,大大提升了处理效率,并且,由于目标图像区域中干扰公式识别的因素较少,因此,对目标图像区域进行公式识别,在一定程度上能够提高公式识别准确率。

在本申请的另一实施例中,对上述实施例中“从目标图像区域中确定出待识别公式的结构信息,并利用字符识别模型从目标图像区域中识别出公式”的实现过程进行介绍。

请参阅图3,示出了从目标图像区域中确定出待识别公式的结构信息的流程示意图,可以包括:

步骤s301:从目标图像区域中提取出待识别公式中各个公式字符的位置信息。

可选的,可利用目标检测模型对目标图像区域中的各个公式字符进行检测分割,从而提取出各个公式字符的位置信息,其中,目标检测模型可以为语义分割模型。请参阅图4,示出了利用目标检测模型对目标图像区域中的各个公式字符进行检测分割的效果示意图,如图4所示,目标图像中的目标图像区域的各个公式字符均被检测分割出来。

步骤s302:根据待识别公式中各个公式字符的位置信息,确定待识别公式的结构信息。

请参阅图5,示出了根据待识别公式中各个公式字符的位置信息,确定待识别公式的结构信息的流程示意图,可以包括:

步骤s501:根据待识别公式中各个公式字符的位置信息构建字符关系得分表。

其中,字符关系得分表中包括代表待识别公式中各个公式字符的字符标识,以及待识别公式中的每个公式字符分别与其它各个公式字符的关系得分,字符关系得分表中的各个字符标识根据待识别公式中各个公式字符的位置信息排序。

具体的,根据待识别公式中各个公式字符的位置信息构建字符关系得分表的过程可以包括:

步骤s5011、根据待识别公式中各个公式字符的位置信息,确定待识别公式中每个公式字符与其周边公式字符的关系得分。

其中,一个公式字符的周边公式字符为位于该公式字符的正上方、正下方、右上方、右下方、右中间位置的公式字符,一个公式字符与一个其周边公式字符的得分根据该周边公式字符与该公式字符的相对位置确定。

本实施例将位于该公式字符的正上方、正下方、右上方、右下方、右中间位置的公式字符定义为该公式的周边公式字符,并根据周边公式字符与该公式字符的相对位置定义这两个字符的关系得分。

可选的,如图6所示,对于一公式字符x,可将位于公式字符x正上方的公式字符与公式字符x的关系得分定义为3,将位于公式字符x正下方的公式字符与公式字符x的关系得分也定义为3,将位于公式字符x右上方的公式字符与公式字符x的关系得分定义为2,将位于公式字符x右下方的公式字符与公式字符x的关系得分也定义为2,将位于公式字符x右中间位置的公式字符与公式字符x的关系得分定义为1。

需要说明的是,本实施例按上述规则定义关系得分的依据是公式字符结合时的优先级,比如,公式字符x与其正上方的公式字符结合时的优先级高于公式字符x与其右上方公式字符结合时的优先级。另外,本实施例并不限定按上述规则定义得分,还可按其它的规则定义得分。

另外,上述内容提到,一个公式字符与一个其周边公式字符的得分根据该周边公式字符与该公式字符的相对位置确定,也就是说,若要确定一个公式字符与一个其周边公式字符的得分,首先需要确定该周边公式字符位于该公式字符的正上方、正下方、右上方、右下方还是右中间位置,为此,本实施例给出确定一个公式字符的周边公式字符与该公式字符位置关系的一种可选方式:

任一公式字符的位置信息可通过该公式字符中心点的坐标表征,假设一公式字符为x,其周边一公式字符为y:若公式字符y的中心点坐标的横坐标与公式字符x的中心点坐标的横坐标相同,则说明公式字符y位于公式字符x的正上方或正下方,再进一步根据公式字符y的中心点坐标的纵坐标与公式字符x的中心点坐标的纵坐标确定公式字符y位于公式字符x的正上方还是正下方,比如,若公式字符y的中心点坐标的纵坐标大于公式字符x的中心点坐标的纵坐标,则确定公式字符y位于公式字符x的正上方,反之,若公式字符y的中心点坐标的纵坐标小于公式字符x的中心点坐标的纵坐标,则可确定公式字符y位于公式字符x的正下方;若公式字符y的中心点坐标的纵坐标与公式字符x的中心点坐标的纵坐标相同,且公式字符y的中心点坐标的横坐标大于公式字符x的中心点坐标的横坐标,则确定公式字符y位于公式字符x的右中间位置;若公式字符y的中心点坐标的纵坐标大于公式字符x的中心点坐标的纵坐标,且公式字符y的中心点坐标的横坐标大于公式字符x的中心点坐标的横坐标,则确定公式字符y位于公式字符x的右上方;若公式字符y的中心点坐标的纵坐标小于公式字符x的中心点坐标的纵坐标,且公式字符y的中心点坐标的横坐标大于公式字符x的中心点坐标的横坐标,则确定公式字符y位于公式字符x的右下方。

下面结合一个具体示例对步骤s5011进行说明:

待识别公式为设定该公式中的第一个公式字符“x”的位置信息为p1,第二个公式字符“m”的位置信息为p2,第三个公式字符“2”的位置信息为p3,第四个公式字符“-”的位置信息为p4,第五个公式字符“2”的位置信息为p5,第六个公式字符“m”的位置信息为p6,第七个公式字符“-”的位置信息为p7,第八个公式字符“3”的位置信息为p8,从第一个公式字符开始确定公式字符之间的关系得分:

首先,根据p1~p8,从p1对应的公式字符的周边公式字符中确定p1对应的公式字符的周边公式字符:由于p2对应的公式字符位于p1对应的公式字符的右上方,因此,p2对应的公式字符为p1对应的公式字符的一周边公式字符,根据上述的得分定义规则,可确定p1对应的公式字符与p2对应的公式字符之间的关系得分为2;

然后,根据p1~p8,从p2对应的公式字符的周边公式字符中确定p2对应的公式字符的周边公式字符:由于p3对应的公式字符位于p2对应的公式字符的右上方,p4对应的公式字符位于p2对应的公式字符的右侧中间位置,因此,因此,p3对应的公式字符和p4对应的公式字符为p2对应的公式字符的两个周边公式字符,根据上述的得分定义规则,可确定p2对应的公式字符与p3对应的公式字符之间的关系得分为2,p2对应的公式字符与p4对应的公式字符之间的关系得分为1;

接着,根据p1~p8,从p3对应的公式字符的周边公式字符中确定p3对应的公式字符的周边公式字符,并从p4对应的公式字符的周边公式字符中确定p4对应的公式字符的周边公式字符:p3对应的公式字符不存在周边公式字符;由于p5对应的公式字符位于p4对应的公式字符的右侧中间位置,因此,p5对应的公式字符为p4对应的公式字符的周边公式字符,根据上述的得分定义规则,可确定p4对应的公式字符与p5对应的公式字符的关系得分为1;

以此类推,p6对应的公式字符为p5对应的公式字符的一周边公式字符,确定p5对应的公式字符与p6对应的公式字符的关系得分为1;p7对应的公式字符为p6对应的公式字符的一周边公式字符,确定p6对应的公式字符与p7对应的公式字符的关系得分为1;p8对应的公式字符不存在周边公式字符。

步骤s5012、根据待识别公式中每个公式字符与其周边公式字符的关系得分构建字符关系得分表。

需要说明的是,每个公式字符与非周边公式字符的关系得分为0。

对于上述示例,经由上述过程可获得如图7中所示的字符关系得分表,图7示出的关系得分表中的第1行和第1列中的数字1~8为字符标识,代表第1个公式字符~第8个公式字符,其中,字符标识“2”所在行与字符标识“3”所在列处的“2”表示,第2个公式字符与第3个公式字符的关系得分为2,字符标识“4”所在行与字符标识“5”所在列处的“1”表示,第4个公式字符与第5个公式字符的关系得分为1,其它以此类推。由此可见,通过关系得分表可获知待识别公式中每个公式字符分别与其它各个公式字符的关系得分。

请参阅图8,示出了根据公式中各个公式字符的位置信息构建的字符关系得分表,对比图7中的字符关系得分表与图8中的关系得分表可以看出,虽然公式包含的公式字符相同,但由于公式字符之间的位置不同,因此构建的字符关系得分表也不同。需要说明的是,根据公式中各个公式字符的位置信息构建字符关系得分表的过程与根据公式中各个公式字符的位置信息构建字符关系得分表的过程类似,本实施例在此不作赘述。

步骤s502:根据字符关系得分表,确定待识别公式的结构信息。

具体的,根据字符关系得分表,确定待识别公式的结构信息的过程可以包括:将所述字符关系得分表中的第一个字符标识作为当前字符标识;根据所述字符关系得分表,确定与当前字符标识的关系得分不为0的字符标识,作为目标字符标识;按照不为0的关系得分由高到低的顺序,确定当前字符标识所代表的公式字符与每个目标公式字符标识所代表的公式字符在所述待识别公式中的结构;将目标字符标识作为当前字符标识,然后返回执行所述根据所述字符关系得分表确定与当前字符标识的关系得分不为0的字符标识,直至确定出最后一个字符标识对应的公式字符与前一与其有关的目标字符标识对应的公式字符在所述待识别公式中的结构。以图7中的关系得分表为例,对根据字符关系得分表,确定待识别公式的结构信息的过程进行说明:

从图7中的“开始”处开始,即从公式字符标识“1”开始确定待识别公式的结构信息:

将公式字符标识“1”作为当前公式字符标识,在当前公式字符标识所在行中查找不为0的元素,可以找到得分“2”,得分“2”所在列对应的公式字符标识为“2”,这说明第1个公式字符与第2个公式字符结合,根据上述的得分定义规则,可确定第2个公式字符位于第1个公式字符的右上方或右下方,进一步的,根据第1个公式字符的位置信息和第2个公式字符的位置信息可确定第2个公式字符位于第1个公式字符的右上方,如此可获得第1个公式字符与第2个公式字符在待识别公式中的结构为##

接着,将公式字符标识“2”作为当前公式字符标识,在当前公式字符标识所在行中查找不为0的元素,可以找到得分“2”和“1”,得分“2”所在列对应的公式字符标识为“3”,得分“1”所在列对应的公式字符标识为“4”,这说明第2个公式字符与第3个公式字符和第4个公式字符结合,由于得分“2”大于得分“1”,因此,先将第2个公式字符与第3个公式字符结合,由于第2个公式字符与第3个公式字符的关系得分为2,因此,第3个公式字符位于第2个公式字符的右上方或右下方,进一步的,根据第2个公式字符的位置信息和第3个公式字符的位置信息可确定第3个公式字符位于第2个公式字符的右上方,如此可获得第2个公式字符和第2个公式字符在待识别公式中的结构,进而可获得第1个公式字符~第3个公式字符在待识别公式中的结构为接着将第2个公式字符与第4个公式字符结合,由于第2个公式字符与第4个公式字符的关系得分为1,因此,第4个公式字符位于第2个公式字符的右侧中间位置,如此可获得第2个公式字符与第4个公式字符在待识别公式中的结构,进而可获得第1个公式字符~第4个公式字符在待识别公式中的结构为

接着,分别将公式字符标识“3”和公式字符标识“4”作为当前公式字符标识:将公式字符标识“3”作为当前公式字符,在当前公式字符标识所在行中查找不为0的元素,由于公式字符标识“3”所在行中全为0,因此,公式字符标识“3”周边没有任何公式字符;将公式字符标识“4”作为当前公式字符标识,在当前公式字符标识所在行中查找不为0的元素,可以找到得分“1”,得分“1”所在列对应的公式字符标识为“5”,这说明第4个公式字符与第5个公式字符结合,由于第4个公式字符与第5个公式字符的关系得分为1,因此,可确定第5个公式字符位于第4个公式字符的右侧中间位置,如此可获得第4个公式字符与第5个公式字符在待识别公式中的结构,进而可获得第1个公式字符~第5个公式字符在待识别公式中的结构为

接着,将公式字符标识“5”作为当前公式字符标识,在当前公式字符标识所在行查找不为0的元素,可以找到得分“1”,得分“1”所在列对应的公式字符标识为“6”,这说明第5个公式字符与第6个公式字符结合,根据第5个公式字符与第6个公式字符的关系得分可确定第6个公式字符位于第5个公式字符的右侧中间位置,如此可获得第1个公式字符~第6个公式字符在待识别公式中的结构为

以此类推,可获得待识别公式的结构

可选的,待识别公式的结构信息可以为latex格式的结构信息,比如待识别公式的结构可以表示为[1]^[[2]^[3][4][5][6][7][8]],待识别公式的结构可表示为[1]^[[2]^[3]][4][5][6][7][8],其中,[1]代表第1个公式字符,其它类似,[1]^[[2]^[3][4][5][6][7][8]]表示[[2]^[3][4][5][6][7][8]]为[1]的上标,[3]为[2]的上标,[1]^[[2]^[3]][4][5][6][7][8]表示[[2]^[3]]为[1]的上标,[3]为[2]的上标。

需要说明的是,在根据待识别公式中各公式字符的位置确定待识别公式的结构信息时,需要进行两个分析,其一,需要根据公式字符的位置信息分析与一公式字符有关联的公式字符(即该公式字符的周边公式字符),其二,若与一公式字符有关联的公式字符为多个,那么,在构建公式结构时,需要分析先将哪个有关联的公式字符与该公式字符组合,即,各个有关联的公式字符与该公式字符的组合顺序,而本申请构建得分表的过程即是进行上述两个分析的过程,构建的得分表能够比较直观的展示出一个公式字符与哪些公式字符有关联(若两个公式字符的得分不为0,则说明两个公式字符有关联,在构建公式时,需要将二者组合),以及在将有关联的公式字符与该公式字符组合时的组合顺序(按得分由高到低的顺序组合),根据得分表很容易构建出待识别公式的结构。

接下来对上述提及的“利用字符识别模型从目标图像区域中识别出公式”进行介绍。

在一种可能的实现方式中,利用字符识别模型从目标图像区域中识别出公式的过程包括:首先,将目标图像区域从目标图像中提取出来;然后,将提取出来的图像输入字符识别模型,获得字符识别模型输出的字符串;最后从字符识别模型输出的字符串中提取出公式。

考虑到目标图像区域中仍然会包括除待识别公式外的其它内容,这些内容会对公式的识别造成一定的干扰,为了进一步提高公式识别准确率,并进一步提高公式识别效率,本申请提出另一种较为优选的实现方式,即,从目标图像区域中提取出待识别公式的图像,利用字符识别模型对待识别公式的图像进行识别。

上述实施例在确定待识别公式的结构信息时,会从目标图像区域中提取出待识别公式中各个公式字符的位置信息,基于此,本实施例可利用待识别公式中各个公式字符的位置信息,从目标图像区域中提取出待识别公式的图像,进而将待识别公式的图像输入字符识别模型进行识别。请参阅9,示出了从一图像中包含公式的图像区域中提取公式的图像的示意图。需要说明的是,待识别公式的图像指的是仅包含待识别公式的图像,在从目标图像区域中提取待识别公式的图像时,可根据待识别公式中各个公式字符的位置信息确定待识别公式的外接矩形,进而将外接矩形区域提取出来,可选的,外接矩形可根据位于边缘的公式字符的位置信息确定,其中,位于边缘的公式字符为待识别公式中位于最左侧、最右侧、最上方、最下方的公式字符。

前述内容提到,字符识别模型对于复杂公式的识别效果很差,比如,对于多级嵌套的公式很容易出现遗漏,为了获得较为准确的公式识别结果,本申请提出根据待识别公式的结构信息,修正利用字符识别模型识别出的公式。接下来对根据待识别公式的结构信息,修正利用字符识别模型识别出的公式的实现过程进行介绍。

请参阅图10,示出了根据待识别公式的结构信息,修正利用字符识别模型识别出的公式的流程示意图,可以包括:

步骤s1001:将利用字符识别模型识别出的公式的结构信息与待识别公式的结构信息进行匹配,以从利用字符识别模型识别出的公式中确定出与待识别公式的结构信息不匹配的结构部分。

示例性的,目标图像中的待识别公式为假设从目标图像中确定出待识别公式的结构信息为利用字符识别模型识别出的公式为f(x)=xm-2m-3,即利用字符识别模型识别出的公式的结构信息为#(#)=######,将识别出的公式的结构信息#(#)=######与待识别公式的结构信息#(#)=#######进行匹配,通过匹配可以确定出#(#)=######与待识别公式的结构信息不匹配的结构部分。

步骤s1002:从目标图像中提取与不匹配的结构部分对应的图像。

在上述示例中,通过匹配可以发现,识别的公式中遗漏了一个上标,本步骤的目的在于根据该遗漏的上标的位置信息从目标图像区域中将该上标的图像提取出来,即,将上标“2”的图像提取出来。

步骤s1003:利用字符识别模型对提取的图像进行识别,获得识别结果。

将提取的图像输入字符识别模型,获得字符识别模型输出的识别结果。对于上述示例,将上标“2”的图像输入字符识别模型,可获得字符识别模型输出的识别结果“2”。

步骤s1004:用识别结果修正从利用字符识别模型识别出的公式。

用识别结果修正利用字符识别模型识别出的公式中,与待识别公式的结构信息不匹配的结构部分的内容。

对于上述示例,将字符识别模型输出的识别结果“2”补充至f(x)=xm-2m-3中第一个“m”的右上方,即补充第一个“m”的上标,从而得到准确的公式识别结果

本申请实施例提供的公式识别方法,在获得包含待识别公式的目标图像后,为了提高识别效率并在一定程度上提高识别准确率,可先从目标图像中将包含待识别公式的图像区域定位出来作为目标图像区域,为了进一步提高识别效率和识别准确率,本申请可进一步从目标图像区域中提取出待识别公式的图像,进而利用字符识别模型对待识别公式的图像进行识别,考虑到字符识别模型对于复杂公式的识别效果不佳,本申请从目标图像区域中确定出待识别公式的结构信息,根据待识别公式的结构信息修正利用字符识别模型识别出的公式,从而获得准确的公式识别结果。即,本申请实施例提供的公式识别方法具有较高的识别效率和识别准确率,识别效果较好。

下面对本申请实施例提供的公式识别装置进行描述,下文描述的公式识别装置与上文描述的公式识别方法可相互对应参照。

请参阅图11,示出了本申请实施例提供的一种公式识别装置的结构示意图,该公式识别装置可以包括:图像获取模块1101、图像信息获取模块1102和公式修正模块1103。

图像获取模块1101,用于获取包含待识别公式的目标图像;

图像信息获取模块1102,用于从目标图像中确定出待识别公式的结构信息,并利用字符识别模型从目标图像中识别出公式。

公式修正模块1103,用于根据待识别公式的结构信息,修正利用字符识别模型识别出的公式,修正后的公式作为目标图像的公式识别结果。

本申请实施例提供的公式识别装置,在获得包含待识别公式的目标图像后,可利用字符识别模型从目标图像中识别出公式,考虑到字符识别模型对于复杂公式的识别效果不佳,即利用字符识别模型从目标图像中识别出的公式可能不准确(比如,可能存在遗漏),为了能够获得准确的公式识别结果,本申请从目标图像中确定出待识别公式的结构信息,根据待识别公式的结构信息对利用字符识别模型从目标图像中识别出公式进行修正。本申请根据待识别公式的结构信息修正利用字符识别模型从目标图像中识别出的公式,能够获得准确的公式识别结果,即本申请实施例提供的公式识别装置具有较好的识别效果。

可选的,为了提高公式识别效率和结构信息的确定效率,并在一定程度上提高公式识别准确率,上述实施例提供的公式识别装置中的图像信息获取模块1102可以包括:公式区域检测模块、公式结构确定模块和公式识别模块.

公式区域检测模块,用于从目标图像中检测出包含待识别公式的图像区域,作为目标图像区域。

公式结构确定模块,用于从目标图像区域中确定出待识别公式的结构信息。

公式识别模块,用于利用字符识别模型从目标图像区域中识别出公式。

可选的,上述的公式结构确定模块可以包括:公式字符位置确定子模块和公式结构确定子模块。

公式字符位置确定子模块,用于从目标图像区域中提取出待识别公式中各个公式字符的位置信息。

公式结构确定子模块,用于利用待识别公式中各个公式字符的位置信息,确定待识别公式的结构信息。

可选的,为了进一步提高公式识别效率和公式识别准确率,上述公式识别模块可以包括:公式图像提取子模块和公式识别子模块。

公式图像提取子模块,用于利用待识别公式中各个公式字符的位置信息,从目标图像区域中提取出待识别公式的图像。

公式识别子模块,用于利用字符识别模型从待识别公式的图像中识别出公式。

可选的,上述的公式结构确定子模块,包括:得分表构建子模块和结构信息确定子模块。

得分表构建子模块,用于根据待识别公式中各个公式字符的位置信息构建字符关系得分表。

其中,字符关系得分表中包括代表待识别公式中各个公式字符的字符标识,以及待识别公式中的每个公式字符分别与其它各个公式字符的关系得分,字符关系得分表中的各个字符标识根据待识别公式中各个公式字符的位置信息排序。

结构信息确定子模块,用于根据字符关系得分表,确定待识别公式的结构信息。

可选的,上述的得分表构建子模块,具体用于根据待识别公式中各个公式字符的位置信息,确定待识别公式中每个公式字符与其周边公式字符的关系得分,并根据待识别公式中每个公式字符与其周边公式字符的关系得分构建字符关系得分表。

其中,一个公式字符的周边公式字符为位于该公式字符的正上方、正下方、右上方、右下方、右中间位置的公式字符,一个公式字符与一个其周边公式字符的得分根据该周边公式字符与该公式字符的相对位置确定。

可选的,上述的结构信息确定子模块,具体用于将字符关系得分表中的第一个字符标识作为当前字符标识;根据字符关系得分表,确定与当前字符标识的关系得分不为0的字符标识,作为目标字符标识;按照不为0的关系得分由高到低的顺序,确定当前字符标识所代表的公式字符与每个目标公式字符标识所代表的公式字符在所述待识别公式中的结构;将目标字符标识作为当前字符标识,然后返回执行所述根据所述字符关系得分表确定与当前字符标识的关系得分不为0的字符标识,直至确定出最后一个字符标识对应的公式字符与前一与其有关的目标字符标识对应的公式字符在待识别公式中的结构。

可选的,上述实施例提供的公式识别装置中的公式修正模块1103可以包括:公式结构匹配子模块、不匹配部分图像提取子模块、不匹配部分图像识别子模块和公式修正子模块。

公式结构匹配子模块,用于将利用字符识别模型识别出的公式的结构信息与待识别公式的结构信息进行匹配,以从利用字符识别模型识别出的公式中确定出与待识别公式的结构信息不匹配的结构部分。

不匹配部分图像提取子模块,用于从目标图像中提取与不匹配的结构部分对应的图像。

不匹配部分图像识别子模块,用于利用字符识别模型对不匹配的结构部分对应的图像进行识别,获得识别结果。

公式修正子模块,用于用不匹配部分图像识别子模块的识别结果修正利用字符识别模型识别出的公式。

本申请实施例还提供了一种公式识别设备,请参阅图12,示出了该公式识别设备的结构示意图,该公式识别设备可以包括:至少一个处理器1201,至少一个通信接口1202,至少一个存储器1203和至少一个通信总线1204;

在本申请实施例中,处理器1201、通信接口1202、存储器1203、通信总线1204的数量为至少一个,且处理器1201、通信接口1202、存储器1203通过通信总线1204完成相互间的通信;

处理器1201可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器1203可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取包含待识别公式的目标图像;

从所述目标图像中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像中识别出公式;

根据所述待识别公式的结构信息,修正利用所述字符识别模型识别出的公式,修正后的公式作为所述目标图像的公式识别结果。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:

获取包含待识别公式的目标图像;

从所述目标图像中确定出所述待识别公式的结构信息,并利用字符识别模型从所述目标图像中识别出公式;

根据所述待识别公式的结构信息,修正利用所述字符识别模型识别出的公式,修正后的公式作为所述目标图像的公式识别结果。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1