掌桥专利:专业的专利平台
掌桥专利
首页

一种图像识别方法、装置及电子设备

文献发布时间:2023-06-19 10:43:23


一种图像识别方法、装置及电子设备

技术领域

本发明涉及图像识别技术领域,具体而言,涉及一种图像识别方法、装置、电子设备及计算机可读存储介质。

背景技术

目前,在通过计算机视觉技术实现竖式计算题目的识别时,多采用文本框检测模型对竖式计算题目及其解题步骤在图像中的图像区域进行检测,进而得到用于标识该图像区域的文本框。之后,便可针对该文本框内所包含的竖式计算题目及其解题步骤进行文本识别,以完整的识别出竖式计算题目及其解题步骤。

但是,目前的文本框检测模型在对竖式计算题目及其解题步骤进行检测时,时常会将竖式计算题目及其解题步骤检测为独立的多个文本框。由于上述多个文本框之间相互独立,在文本识别时,容易将不同竖式计算题目及其各自的解题步骤相混淆,无法准确地识别出竖式计算题目及其完整解题步骤。

发明内容

本发明实施例提供一种图像识别方法、装置、电子设备及计算机可读存储介质,用以准确地识别出竖式计算题目及其完整解题步骤。

第一方面,本发明实施例提供了一种图像识别方法,包括:

检测目标图像,得到至少一个竖式框和至少一个口算框;其中,所述竖式框包含一道竖式计算题目的完整解题步骤,所述口算框包含一道竖式计算题目;

将任一所述竖式框确定为目标竖式框,根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框;

识别出所述目标口算框包含的目标竖式计算题目和所述目标竖式框包含的目标完整解题步骤,并合并所述目标竖式计算题目和所述目标完整解题步骤,得到所述目标竖式计算题目的完整识别结果。

第二方面,本发明实施例提供了一种图像识别装置,包括:

检测单元,用于检测目标图像,得到至少一个竖式框和至少一个口算框;其中,所述竖式框包含一道竖式计算题目的完整解题步骤,所述口算框包含一道竖式计算题目;

匹配单元,用于将任一所述竖式框确定为目标竖式框,根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框;

合并单元,用于识别出所述目标口算框包含的目标竖式计算题目和所述目标竖式框包含的目标完整解题步骤,并合并所述目标竖式计算题目和所述目标完整解题步骤,得到所述目标竖式计算题目的完整识别结果。

第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上述的图像识别方法中的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像识别方法中的步骤。

本发明实施例提供的图像识别方法、装置、电子设备及计算机可读存储介质,相比已有技术即使将竖式计算题目及其完整解题步骤分别检测为多个文本框,也不加处理的分别进行文本识别,本发明实施例在完成图像检测后,将检测得到的文本框分类为竖式框和口算框。在此基础上,针对目标竖式框,通过在各口算框中查找到匹配该目标竖式框的目标口算框的方式,实现了目标完整解题步骤与目标竖式计算题目间的匹配,进而通过合并相匹配的目标完整解题步骤与目标竖式计算题目,便可准确的得到目标竖式计算题目及其完整识别结果。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1示出了本发明实施例所提供的一种图像识别方法的流程图;

图2示出了本发明实施例所提供的图像识别方法中,竖式框和口算框的示意图;

图3示出了本发明实施例所提供的图像识别方法中,目标口算框的确定流程图;

图4示出了本发明实施例所提供的图像识别方法中,显示框的示意图;

图5出了本发明实施例所提供的图像识别方法中,完整解题步骤据的批改流程图;

图6示出了本发明实施例所提供的一种图像识别装置的结构示意图;

图7示出了本发明实施例所提供的一种图像识别装置所在电子设备的结构示意图。

具体实施方式

所属技术领域的技术人员应当知道,本发明实施例可以实现为图像识别方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。

上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。

上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。

下面将参照本发明实施例的图像识别方法、装置、电子设备及计算机可读存储介质的流程图和/或方框图描述本发明实施例。

应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。

也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。

也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请做进一步详细的说明。

图1示出了本发明实施例所提供的一种图像识别方法的流程图。如图1所示,该方法包括:

步骤101,检测目标图像,得到至少一个竖式框和至少一个口算框;其中,所述竖式框包含一道竖式计算题目的完整解题步骤,所述口算框包含一道竖式计算题目。

参见图2,图2示出了本发明实施例所提供的一种图像识别方法中,竖式框和口算框的示意图。从图2可以看出,竖式框内包含的是竖式计算题目的完整解题步骤,而口算框中包含的是竖式计算题目。

在本申请实施例中,检测目标图像中的文本,得到至少一个竖式框和至少一个口算框有多种实现方式。下文会结合图3详细描述,这里暂不赘述。

步骤102,将至少一个竖式框中的任一个确定为目标竖式框,根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框。

在本申请实施例中,目标竖式框可以是前述步骤101中检测得到的任一竖式框,这里的目标竖式框仅是在命名上与其他在当前未执行本步骤102的竖式框进行区分,并非特指某一个竖式框。

通过步骤102可以看出,通过在多个口算框中查找到目标口算框的方式,实现了目标完整解题步骤与目标竖式计算题目之间的匹配。

至于如何根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框,下文会结合图3详细描述,这里暂不赘述。

步骤103,识别出所述目标口算框包含的目标竖式计算题目和所述目标竖式框包含的目标完整解题步骤,并合并所述目标竖式计算题目和所述目标完整解题步骤,得到所述目标竖式计算题目的完整识别结果。

在本申请实施例中,本步骤103涉及两个过程,分别为框内文本的识别过程,以及识别所得到文本的合并过程。其中,在识别过程中,可借助文本识别模型实现;而在合并过程中,则可按预设的合并策略进行合并。下文会详细描述本步骤103如何识别出目标口算框包含的目标竖式计算题目和该目标竖式框包含的目标完整解题步骤并合并,这里暂不赘述。

至此,完成图1所示流程。

本申请实施例,相比已有技术即使将竖式计算题目及其完整解题步骤分别检测为两个文本框,也不加处理的分别进行文本识别,本发明实施例在完成图像检测后,将检测得到的文本框根据其包含的内容分类为竖式框和口算框。在此基础上,针对目标竖式框,通过在各口算框中查找到匹配该目标竖式框的目标口算框的方式,实现了目标完整解题步骤与目标竖式计算题目间的匹配,进而通过合并相匹配的目标完整解题步骤与目标竖式计算题目,便可准确地得到目标竖式计算题目及其完整识别结果。

下面以两种具体的实现方式,对上述步骤101中如何获得竖式框和口算框进行分别描述。

作为第一种实现方式,可以包括以下步骤:

步骤201,将目标图像输入已有的文本框检测模型。

在执行本步骤201之前,需预先预先训练出一个文本框检测模型,以用于对目标图像中文本所在图像区域进行检测。这里的文本框检测模型预先已采用训练样本训练完毕,该训练样本中至少包括:带有类别标签(口算框)的竖式计算题目、带有类别标签(竖式框)的竖式计算题目的完整解题步骤(记为完整解题步骤)。可以理解的是,本申请实施例中所描述的文本框检测模型既可以实现对文本框的检测,也可以实现对文本框所属类别的确定。

如前述的,若已经训练得到了文本框检测模型,在本步骤中,则可以直接地将目标图像输入该文本框检测模型,由该文本框检测模型对目标图像进行文本框的检测和文本框所属类别的确定。

步骤202,得到由文本框检测模型输出的至少一个竖式框和口算框。

以上对上述步骤101中得到竖式框和口算框的第一种实现方式进行了描述。

在上面描述的第一种实现方式中,由于不涉及任何的校验步骤。因此,这里提出了第二种实现方式。第二种实现方式相较第一种实现方式而言,还额外的包括有校验步骤。具体而言,本实现方式在上述步骤202之后,还可以包括以下步骤:

步骤a,从所有初始竖式框中选取出至少一个框高度大于或等于已确定的框高度阈值的目标初始竖式框。

在本实现方式中,由于需要对已确定出的竖式框的类型进行校验,因此将已确定出的、但未经过校验的竖式框称之为初始竖式框。

在执行本步骤a之前,需要预先确定出一个框高度阈值,以用于校验初始竖式框的类型是否正确。这里,之所以采用框高度作为阈值,其原因在于:竖式框所包含的内容为竖式计算题目的完整解题步骤,而该完整解题步骤的高度相比竖式计算题目或单行解题步骤的高度要高出许多,因此基于框高度可以简单且准确的实现初始竖式框的校验。

上述的框高度阈值可以人为的根据经验设定,也可以根据已确定出的所有文本框的框高度确定。可选的,在根据已确定出的所有文本框的框高度确定框高度阈值时,可统计每一文本框的框高度并求均值,将均值结果的设定倍数作为该框高度阈值。这里的设定倍数可以根据实际情况设置,例如1.8倍,本申请对此不作具体限定。

将每一初始竖式框的框高度与框高度阈值进行比较,便可从所有初始竖式框中选取出框高度大于或等于已确定的框高度阈值的目标初始竖式框。

步骤b,将选取出的所有目标初始竖式框确定为竖式框。

经过步骤a的框高度比较后,即可将框高度大于或等于已确定的框高度阈值的目标初始竖式框确定为竖式框。而对于框高度小于已确定的框高度阈值的初始竖式框,则表示这些初始竖式框的类型存在错误。

可选的,可以将这些框高度小于已确定的框高度阈值的初始竖式框重新确定为口算框。

至此,完成对第二实现方式的描述。

以上对上述步骤101中得到竖式框和口算框的两种实现方式分别进行了描述。需要说明的是,上述的两种实现仅作为举例描述,并不作为对本申请的限制。

还需要说明的是,上述的文本框检测模型可以是指用于预测图像样本中的文本框的具体位置和类别的神经网络,该神经网络可以包含卷积神经网络、分类回归网络和框位置回归网络。例如,resNet模型、EAST模型等。当然,在具体实施时,也可根据实际情况选择其他的模型,本申请对此不作限定。

下面对上述步骤102中如何在多个口算框中查找到匹配该目标竖式框的目标口算框进行描述。

参见图3,图3示出了本发明实施例所提供的图像识别方法中,目标口算框的确定流程图。该流程可以包括:

步骤301,在多个口算框中查找到满足设定条件的口算框。

在本申请实施例中,预先设置有设定条件,进而可以依据该设定条件查找到匹配该目标竖式框的口算框。

可选的,设定条件至少包括:所述目标口算框与所述目标竖式框相邻且相邻边间距小于已确定的间距阈值,且所述目标竖式框中至少有部分框体位于所述目标口算框的正下方。

在上述的设定条件中,口算框与目标竖式框相邻这一条件,则用于在多个口算框与目标竖式框的间距均小于已确定的间距阈值时,选择出距离目标竖式框最近的那一个口算框,避免将其他竖式计算题目确定为目标竖式计算题目。

在上述的设定条件中,所述目标口算框与所述目标竖式框相邻边间距小于已确定的间距阈值这一条件,则用于表征口算框与目标竖式框之间的距离关系。而之所以要限定上述的距离关系,其原因在于:竖式计算题目相较于其解题步骤而言,考虑人的书写习惯,两者间的距离基本是很小的。换言之,若目标完整解题步骤与竖式计算题目之间距离很大,则表示两者并不匹配。

在一个例子中,间距阈值可以人为的根据经验设定。在另一个例子中,间距阈值也可以基于从目标图像中检测到的所有文本框的框高度确定。

可选的,在根据各文本框的框高度确定间距阈值时,可统计所有文本框的框高平均值,将该平均值确定为间距阈值。

具体的,作为一个示例,在计算口算框与目标竖式框的间距时,可计算口算框的下边缘中任一像素坐标与目标竖式框的上边缘中任一像素坐标间的Y轴差值,将该差值确定为口算框与目标竖式框的间距。

在上述的设定条件中,目标竖式框中至少有部分框体位于口算框的正下方这一条件,则用于限制目标竖式框与口算框之间的相对位置关系。而之所以要限定上述的相对位置关系,其原因在于:由于竖式计算题目在其解题步骤之上,因此相对应的,口算框也应位于目标竖式框之上。又由于竖式计算题目的宽度大于解题步骤的宽度,因此相对应的,目标竖式框则需要有至少部分框体位于口算框的正下方。

具体的,作为一个示例,在确定目标竖式框中是否至少有部分框体位于口算框的正下方时,可以确定出目标竖式框的框体中心点。若该框体中心点的X轴坐标位于口算框的X轴坐标范围内、且该框体中心点的Y坐标小于口算框的Y轴坐标范围,则可以确定目标竖式框中至少有部分框体位于口算框的正下方。

此外,上述的设定条件中,还可以包括目标竖式框包含的目标完整解题步骤与口算框包含的竖式计算题目相匹配这一条件,用于防止竖式计算题目与目标解题步骤间的误匹配。

具体的,作为一个示例,在确定目标竖式框包含的目标完整解题步骤与口算框包含的竖式计算题目是否相匹配时,可以提取出竖式计算题目包含的数字,以及目标完整解题步骤包含的数字;若竖式计算题目包含的数字占目标完整解题步骤包含的数字的比值超过预设比值阈值,则可确定出目标竖式框包含的目标完整解题步骤与口算框包含的竖式计算题目相匹配。

需要说明的是,上述的比值阈值可以人为的根据经验设定,例如0.5,本申请对此不作具体限定。

在具体实施过程中,上述所描述的各坐标均可通过构建图像坐标系的方式获得。在一个例子中,该图像坐标系可以以目标图像的左上角作为原点、以水平向右为X轴正方向、以垂直向下为Y轴负方向构建。

步骤302,将查找到的口算框确定为目标口算框。

在完成上述步骤301后,则可将查找到的满足上述设定条件的口算框确定为目标口算框。

以上对上述步骤102中如何在多个口算框中查找到匹配该目标竖式框的目标口算框进行了描述。需要说明的是,上述仅是举例描述一种目标口算框的查找过程,并不作为对本申请的限制。

下面描述上述步骤103中如何识别出目标口算框包含的目标竖式计算题目和目标竖式框包含的目标完整解题步骤并合并。对于该步骤103而言,具体涉及两个过程,分别为识别过程和合并过程。

首先,对本步骤103中涉及的识别过程进行描述。这里以识别出目标口算框包含的目标竖式计算题目为例进行描述,具体可包括以下步骤:

步骤c,基于目标口算框裁切目标图像,得到经裁切得到的该目标口算框对应的目标子图像。

在本步骤c中,由于已经得到了目标口算框,因此,按照该目标口算框的尺寸和位置对目标图像进行裁切,即可得到该目标口算框对应的目标子图像。

步骤d,将上述裁切得到的目标子图像输入至已训练的文本识别模型,得到该目标子图像中包含的文本并将该文本确定为目标竖式计算题目。

在执行本步骤d之前,需预先训练出一个文本识别模型,以用于识别目标子图像中包含的文本。在训练时,为了提升文本识别模型的识别精度,可选择竖式计算题目作为训练样本进行训练,以训练出文本识别模型。

至于文本识别模型的具体训练过程,可根据实际情况选择半监督机器学习算法、全监督机器学习算法等训练方式训练,本申请对此不作限定。

在执行本步骤d时,可以将目标子图像直接的输入已训练的文本识别模型(例如采用上述训练方式训练得到的文本识别模型),则可得到该文本识别模型输出的、该目标子图像所包含的文本。之后,便可将该文本确定为目标竖式计算题目。

以上,对如何识别出目标口算框包含的目标竖式计算题目进行了描述。需要说明的是,上述的识别过程是通用的识别过程,因此,目标竖式框包含的目标完整解题步骤也可参照上述的识别方式完成识别,这里不再赘述。需要说明的是,上述仅是举例描述一种目标完整解题步骤的识别过程,并不作为对本申请的限制。

除上述描述的识别过程外,本申请实施例还提供了另外一种识别目标竖式框包含的目标完整解题步骤的流程。由于本识别流程中还涉及到单行框,因此这里先对单行框的概念及获得流程进行描述,之后再对本识别流程进行详述。

这里先对如何获得单行框进行说明。该单行框可以通过以下方式得到:检测所述目标图像,得到多个单行框,所述单行框包含一道竖式计算题目的单行解题步骤。

上述检测过程可参考上述获得口算框的过程:将目标图像输入至已有的文本框检测模型,得到多个单行框。其中,该文本框检测模型已利用竖式计算题目的单行解题步骤作为样本进行了训练。可以理解的是,此处所描述的文本框检测模型与前述步骤101中的文本框检测模型可以合并为一个文本框检测模型。即,利用一个文本框检测模型实现对竖式框、口算框和单行框的检测。

下面对上述提到的另一种实现流程进行描述:

步骤e,在所有单行框中选取出位于该目标竖式框内的每一单行框,作为目标单行框。

首先,确定出目标竖式框在目标图像中的图像区域(记为目标图像区域),具体可采用该目标竖式框的四个顶点的像素坐标表示。

之后,针对每一单行框,若该单行框的4个顶点的像素坐标均位于目标图像区域内,则将该单行框确定为位于该目标竖式框内的目标单行框。

步骤f,合并选取出的每一目标单行框包含的目标单行解题步骤,将合并得到的多行解题步骤确定为目标竖式框包含的目标完整解题步骤。

在本步骤f中,将位于该目标竖式框内的每一单行框所对应的图像输入文本识别模型,进而识别出这些单行框所包含的多个单行解题步骤。

之后,将这些目标单行解题步骤进行合并便可得到多行解题步骤,进而将该多行解题步骤确定为目标竖式框包含的目标完整解题步骤。

在具体实施时,多行解题步骤可以通过以下方式得到:将各目标单行解题步骤进行拼接,并在相邻目标单行解题步骤之间插入预设的第一分隔符、同时在应当出现横线的位置插入预设的第二分隔符,以获得多行解题步骤。其中,第一分隔符用于表示换行,第二分隔符用于表示换行并绘制横线。

举例来说,假设第一分隔符为“\\nl”,第二分隔符为“\\nl\\hx”,各目标单行解题步骤分别为“17”、“+13”、“30”、“+10”“40”,则经插入分隔符后得到的多行解题步骤为“17\\nl+13\\nl\\hx30\\nl+10\\nl\\hx40”。

以上对本申请实施例提供的另外一种识别目标竖式框包含的目标完整解题步骤的实现方式进行了描述。

执行到这里,便完成了本步骤103中的识别过程,获得了目标口算框包含的目标竖式计算题目、目标竖式框包含的目标完整解题步骤。下面描述如何将上述两个文本进行合并,具体可包括以下步骤:

步骤g,将目标完整解题步骤拼接在目标竖式计算题目之后,并在两者间插入第三分隔符,以得到目标竖式计算题目的完整识别结果。

在本步骤g中,第三分隔符可便于区分目标完整解题步骤和目标竖式计算题目,这样可便于后续对该目标竖式计算题目进行批改。下文会示例性的描述一种具体的批改流程,这里暂不赘述。

举例来说,假设目标完整识别结果为“17\\nl+13\\nl\\hx30\\nl+10\\nl\\hx40”,目标竖式计算题目为“17+13+10”,第三分隔符为

执行到这里,便完成了识别和合并过程,获得了目标竖式计算题目的完整识别结果。需要说明的是,上述仅是举例描述一种文本框的识别和框内文本的合并过程,并不作为对本申请的限制。

在本申请实施例中,若需要在目标图像中显示对应于目标竖式计算题目的完整识别结果的文本框(记为显示框),则可以将目标口算框和匹配该目标口算框的竖式框进行合并,以得到该显示框。

可选的,在合并目标口算框和匹配该目标口算框的竖式框时,可基于目标口算框和匹配该目标口算框的竖式框绘制出两者的最小外接矩形,将绘制出的该最小外接矩形作为该显示框以进行显示。具体可参见图4,图4示出了本发明实施例所提供的图像识别方法中,显示框的示意图。从图4可以看出,显示框是图4中竖式框和口算框的最小外接矩形。需要说明的是,上述仅是举例描述一种绘制显示框的实现方式,并不作为对本申请的限制。

在本申请实施例中,若需要对前述的完整识别结果进行批改,则可通过将完整识别结果转换为横式算式的方式实现。具体的,参见图5,图5示出了本发明实施例所提供的图像识别方法中,完整解题步骤据的批改流程图,该流程可以包括以下步骤:

步骤401,将完整识别结果中的目标完整解题步骤转换为横式算式。

作为一个示例,若目标完整识别结果中的目标完整解题步骤中插入有第一分隔符和第二分隔符,则可通过以下方式得到横式算式:从目标完整解题步骤中提取出第一个第一分隔符相邻的两个单行解题步骤。之后,从剩余的解题步骤中提取出每一个紧跟第一分隔符的单行解题步骤,以及最后一个解题步骤。最后,在最后一个解题步骤之前添加等号,并将这些解题步骤按照数学运算规则进行拼接,则可得到横式算式。

举一个简单的例子,假设第一分隔符为“\\nl”,第二分隔符为“\\nl\\hx”,某一目标完整识别结果中的目标完整解题步骤为“17\\nl+13\\nl\\hx30\\nl+10\\nl\\hx40”,则按上述步骤获得的横式算式为“17+13+10=40”。

步骤402,若横式算式符合运算规则,则确定目标完整解题步骤是目标竖式计算题目的正确答案。

在拼接得到横式算式后,即可针对该横式算式中等号左边的算式进行计算,并比较该计算结果与等号右边的数字是否一致。若一致,则表示该横式算式符合运算规则,确定目标完整解题步骤是目标竖式计算题目的正确答案;否则,确定目标完整解题步骤是目标竖式计算题目的错误答案。

以上对目标竖式计算题目如何批改进行了描述。需要说明的是,上述仅是举例描述一种批改目标竖式计算题目的实现方式,并不作为对本申请的限制。

上文详细描述了本发明实施例提供的图像识别方法,上述方法也可以通过相应的装置实现,下面将详细描述本发明实施例提供的图像识别装置。

图6示出了本发明实施例所提供的一种图像识别装置的结构示意图。如图6所示,该图像识别装置包括:

检测单元,用于检测目标图像,得到至少一个竖式框和至少一个口算框;其中,所述竖式框包含一道竖式计算题目的完整解题步骤,所述口算框包含一道竖式计算题目;

匹配单元,用于将任一所述竖式框确定为目标竖式框,根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框;

合并单元,用于识别出所述目标口算框包含的目标竖式计算题目和所述目标竖式框包含的目标完整解题步骤,并合并所述目标竖式计算题目和所述目标完整解题步骤,得到所述目标竖式计算题目的完整识别结果。

作为一个示例,匹配单元根据所述目标竖式框与每一所述口算框之间的位置关系,确定出目标口算框,包括:

在所有所述口算框中查找满足设定条件的口算框,并将查找到的口算框确定为所述目标口算框;

所述设定条件至少包括:所述目标口算框与所述目标竖式框相邻且相邻边间距小于已确定的间距阈值,且所述目标竖式框中至少有部分框体位于所述目标口算框的正下方。

作为一个示例,设定条件还包括:所述目标竖式框包含的所述目标完整解题步骤与所述目标口算框包含的所述目标竖式计算题目相匹配。

作为一个示例,检测单元检测目标图像中,得到至少一个竖式框和至少一个口算框,包括:

将所述目标图像输入已有的文本框检测模型,得到至少一个竖式框和至少一个口算框。

作为一个示例,检测单元基于识别得到的文本确定该非竖式框是否是所述口算框,包括:

针对识别得到的每一文本,若该文本中仅包含运算符号和数字,则将该文本对应的非竖式框确定为口算框;否则,将该文本对应的非竖式框确定为非口算框。

作为一个示例,检测单元还用于检测所述目标图像,得到多个单行框,所述单行框包含一道竖式计算题目的单行解题步骤。

作为一个示例,合并单元通过以下方式得到目标完整解题步骤:

在所有所述单行框中选取出位于所述目标竖式框内的每一单行框,作为目标单行框;

识别每一所述目标单行框包含的目标单行解题步骤并将各目标单行结题步骤合并,将合并得到的多行解题步骤确定为所述目标完整解题步骤。

作为一个示例,该装置还包括:

批改单元,用于将目标完整解题步骤转换为横式算式;若横式算式符合运算规则,则确定目标完整解题步骤是目标竖式计算题目的正确答案。

至此,完成对图6所示装置的描述。

此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述图像识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

具体的,参见图7所示,本发明实施例还提供了一种电子设备,该电子设备包括总线71、处理器72、收发器73、总线接口74、存储器75和用户接口76。

收发器73,用于在处理器72的控制下接收和发送数据。

在图7中,总线架构(用总线71来代表),总线71可以包括任意数量互联的总线和桥,总线71将包括由处理器72代表的一个或多个处理器与存储器75代表的存储器的各种电路连接在一起。

总线71表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、外围部件互连(Peripheral Component Interconnect,PCI)总线。

处理器72可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。

处理器72可以是微处理器或任何常规的处理器。结合本发明实施例所公开的图像识别方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(Flash Memory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

总线71还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口74在总线71和收发器73之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。

收发器73可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器73从其他设备接收外部数据,收发器73用于将处理器72处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口76,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。

应理解,在本发明实施例中,存储器75可进一步包括相对于处理器72远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)系统、码分多址(CDMA)系统、全球微波互联接入(WiMAX)系统、通用分组无线业务(GPRS)系统、宽带码分多址(WCDMA)系统、长期演进(LTE)系统、LTE频分双工(FDD)系统、LTE时分双工(TDD)系统、先进长期演进(LTE-A)系统、通用移动通信(UMTS)系统、增强移动宽带(Enhance Mobile Broadband,eMBB)系统、海量机器类通信(massive Machine Type of Communication,mMTC)系统、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)系统等。

应理解,本发明实施例中的存储器75可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。

易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器75包括但不限于上述和任意其他适合类型的存储器。

在本发明实施例中,存储器75存储了操作系统751和应用程序752的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。

具体而言,操作系统751包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序752包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序752中。应用程序752包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。

此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图像识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或二者的结合来实现,为了清楚说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序指令。计算机程序指令包括:汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言,例如:Smalltalk、C++以及过程式编程语言,例如:C语言或类似的编程语言。

在计算机上加载和执行计算机程序指令时,全部或部分的产生按照本发明实施例的流程或功能,计算机可以是通过计算机、专用计算机、计算机网络或其他可编辑装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如:计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、双绞线、光纤、数字用户线路(digital subscriber line,DSL))或无线(例如:红外、无线、微波)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如:软盘、磁盘、磁带)、光介质(例如:光盘)或半导体介质(例如:固态硬盘(Solid State Drive,SSD))等。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述本发明方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。

作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。

以上,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。

相关技术
  • 图像识别方法及装置、眼底图像识别方法和电子设备
  • 一种应用于多图像融合的图像识别方法、装置、电子设备及存储介质
技术分类

06120112656595