光学字符识别方法、装置、电子设备和存储介质与流程

文档序号:25651947发布日期:2021-06-29 20:49阅读:96来源:国知局
光学字符识别方法、装置、电子设备和存储介质与流程

1.本公开涉及人工智能技术领域中的计算机视觉、深度学习技术领域,尤其涉及一种光学字符识别方法、装置、电子设备和存储介质。


背景技术:

2.随着计算机技术的快速发展,互联网新兴技术与教学活动的深度融合大大促进了教育相关从业人员的工作学习效率。
3.相关技术中,对于图文识别,主要采用光学字符识别(optical character recognition,简称ocr),该技术一般适用于通用场景,如街景文字,拍照文字等,包括检测和识别两个部分,从输入图片中检测到文字区域所在,然后将文字区域图片单独送入识别网络进行识别。但此种识别方式在对有空间结构的公式数据进行识别时效果并不理想。


技术实现要素:

4.提供了一种光学字符识别方法、装置、电子设备和存储介质。
5.根据第一方面,提供了一种光学字符识别方法,包括:获取待识别图片中的目标公式区域;对所述目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,所述预设高度大于1;将所述第一特征图展开得到目标特征;以及根据所述目标特征生成目标公式。
6.根据第二方面,提供了一种光学字符识别装置,包括:获取模块,用于获取待识别图片中的目标公式区域;提取模块,用于对所述目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,所述预设高度大于1;展开模块,用于将所述第一特征图展开得到目标特征;以及生成模块,用于根据所述目标特征生成目标公式。
7.根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面所述的光学字符识别方法。
8.根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开第一方面所述的光学字符识别方法。
9.根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开第一方面所述的光学字符识别方法。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开第一实施例的光学字符识别方法的流程示意图;
13.图2是根据本公开第二实施例的光学字符识别方法的流程示意图;
14.图3是根据本公开第三实施例的光学字符识别方法的流程示意图;
15.图4是根据本公开第四实施例的光学字符识别方法的流程示意图;
16.图5是根据本公开第五实施例的光学字符识别方法的流程示意图;
17.图6是根据本公开第六实施例的光学字符识别方法的流程示意图;
18.图7是根据本公开第七实施例的光学字符识别方法的流程示意图;
19.图8是根据本公开第八实施例的光学字符识别方法的流程示意图;
20.图9是根据本公开第九实施例的光学字符识别方法的流程示意图;
21.图10为本公开实施例的光学字符识别方法中检测阶段的示意图;
22.图11为本公开实施例的光学字符识别方法中识别阶段的示意图;
23.图12是根据本公开第一实施例的光学字符识别装置的框图;
24.图13是根据本公开第二实施例的光学字符识别装置的框图;
25.图14是用来实现本公开实施例的光学字符识别方法的电子设备的框图。
具体实施方式
26.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.人工智能(artificial intelligence,简称ai)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。目前,ai技术具有自动化程度高、精确度高、成本低的优点,得到了广泛的应用。
28.计算机视觉(computer vision),又称为机器视觉(machine vision),是使用计算机及相关设备对生物视觉的一种模拟,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
29.深度学习(deep learning,简称dl),是机器学习(machine learning,简称ml)领域中一个新的研究方向,学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。就具体研究内容而言,主要包括基于卷积运算的神经网络系统,即卷积神经网络;基于多层神经元的自编码神经网络;以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络。深度学习在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
30.下面结合附图描述本公开实施例的光学字符识别方法、装置、电子设备和存储介质。
31.图1是根据本公开第一实施例的光学字符识别方法的流程示意图。
32.如图1所示,本公开实施例的光学字符识别方法具体可包括以下步骤:
33.s101,获取待识别图片中的目标公式区域。
34.具体的,本公开实施例的光学字符识别方法的执行主体可为本公开实施例提供的光学字符识别装置,该光学字符识别装置可为具有数据信息处理能力的硬件设备和/或驱动该硬件设备工作所需必要的软件。可选的,执行主体可包括工作站、服务器,计算机、用户终端及其他设备。其中,用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。
35.在本公开实施例中,待识别图片可以为通过照相机和带有摄像装置的电子设备获得的试卷、练习册等的三通道图片,图片中具体可包括但不限于公式和文字等信息中的至少一种。本公开实施例将图片显示的内容简单划分为非公式内容、印刷公式内容和手写公式内容。通过对图片的检测,特征提取,以及对特征图的处理获取待识别图片中的目标公式区域。目标公式区域为待识别图片中经检测确定为公式内容所在的区域。
36.s102,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1。
37.具体的,根据步骤s101获得的目标公式区域,获取待识别图片中目标公式区域内的图片。将目标公式区域内的图片输入深度学习网络进行特征提取,得到预设高度的第一特征图。其中,为保存图片在纵轴纬度的图片信息,不采用把提取到的特征直接压缩成1维序列的方式,而是把提取到的特征维持一定的高度,即该预设高度设置为大于1的数值,具体数值本公开实施例不做过多限定,可根据需要设定。例如可将目标公式区域内的512*64尺寸的图片输入卷积神经网络(convolutional neural networks,简称cnn)中提取图片的特征,得到32*4尺寸的的第一特征图,预设高度为4。
38.s103,将第一特征图展开得到目标特征。
39.具体的,将步骤s102得到的高度大于1的目标公式区域内的图片的第一特征图,展开得到目标特征。例如,32*4尺寸的第一特征图展开得到128维的目标特征。
40.s104,根据目标特征生成目标公式。
41.具体的,目标公式为对目标公式区域内的图片中的公式的识别结果。根据步骤s103得到的目标公式区域内的图片对应的目标特征,通过编码、解码等操作生成目标公式。
42.此处需要说明的是,本领域技术人员可以理解,本公开实施例的光学字符识别方法可有效地对试卷上的印刷公式或者手写公式进行识别,且取得较好的准确率,该方案可以直接应用在如拍照搜题,将数学物理化学公式识别出来在题库中进行搜索,比直接对图片进行搜索高效的多,同时还可用于智能阅卷,识别出题干信息确定答案,再与学生的手写答案进行比对打分,大大缓解了目前老师的压力。
43.综上,本公开实施例的光学字符识别方法,获取待识别图片中的目标公式区域,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1,将第一特征图展开得到目标特征,以及根据目标特征生成目标公式。通过确定目标公式区域,根据目标公式区域内的图片得到高度大于1的第一特征图,保存了图片在纵轴纬度的图片信息,提高了光学字符识别场景下公式的识别效果,较好的解决了图片场景公式的识别问题。
44.图2是根据本公开第二实施例的光学字符识别方法的流程示意图。
45.如图2所示,在图1所示实施例的基础上,本公开实施例的光学字符识别方法具体可包括以下步骤:
46.上述实施例中的步骤s101“获取待识别图片中的目标公式区域”具体可包括以下步骤s201

s204。
47.s201,根据待识别图片生成二值图片,二值图片中包括文字区域和公式区域。
48.具体的,本公开实施例在公式检测时,除了原始的三通道的待识别图片输入外,还额外输入一张二值图片。在本公开实施例中,二值图片可以看作一个二维矩阵,仅有0和1两个值组成,尺寸与待识别图片一致,将存在文字的区域置1,不存在文字的区域置0,文字位置可由单字位置标注或者通用文字识别得到。将二值图片作为第四通道输入检测网络,能够额外给检测网络添加文字位置信息,以帮助检测网络区分文字区域与公式区域,防止把独立的字母也当做公式造成误检。
49.s202,对待识别图片和二值图片进行特征提取,得到第二特征图。
50.具体的,可以将待识别图片和二值图片输入卷积神经网络cnn进行特征提取,在本公开的实施例中,使用unet型卷积神经网络提取图像特征,提取过程中,对输入的三通道图片和二值图片进行多次采样操作,得到第二特征图。
51.s203,根据第二特征图生成分数特征图和偏移量特征图。
52.具体的,根据步骤s202中得到的第二特征图生成分数状态图score map和偏移量特征图geometry map。分数特征图和偏移量特征图上的每个像素位置被认为是一个区域。分数特征图用来确定对应区域是否存在文字,具体表示为该区域属于非公式区域、印刷公式区域或手写公式区域。偏移量特征图用来确定对应区域的文字的偏移量,具体表示目标公式的包围框距离该区域的偏移位置。
53.s204,对分数特征图和偏移量特征图进行非极大值抑制处理,得到目标公式区域。
54.具体的,在本公开的实施例中,分数特征图和偏移量特征图均可以表示为一个多维矩阵,该多维矩阵中包括特征图的长、宽和通道数。其中,分数特征图的通道数为3,分别代表特征图中某个像素点属于非公式、印刷公式、手写公式的概率,通过比较通道值的大小,判断该像素点区域属于哪种类型。偏移量特征图的通道数为5,分别代表某个像素点到目标公式所在区域包围框的上下左右的距离和框旋转角度。通过对分数特征图和偏移量特征图进行非极大值抑制(non

maximum suppression,简称nms)处理,得到公式的包围框坐标,即得到目标公式区域。其中,非极大值抑制处理为文字检测常用的后处理技术,起到过滤重复框的作用,具体过程此处不再赘述。
55.s205,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1。
56.s206,将第一特征图展开得到目标特征。
57.s207,根据目标特征生成目标公式。
58.具体的,本实施例中的步骤s205

s207与上述实施例中的步骤s102

s104相同,此处不再赘述。
59.进一步的,如图3所示,图2所示实施例中的步骤s207“根据目标特征生成目标公式”具体可包括以下步骤:
60.s301,根据目标特征生成顺序特征序列和逆序特征序列。
61.具体的,步骤s206获得的目标特征为第一特征图展开后的特征序列。其中,正向顺序的特征序列为顺序特征序列,反向顺序的特征序列为逆序特征序列。
62.s302,根据顺序特征序列和逆序特征序列生成前向编码特征序列和后向编码特征序列。
63.具体的,对步骤s301生成的顺序特征序列和逆序特征序列进行编码处理,使得第一特征图宽度上的信息充分融合,得到前向编码特征序列fw和后向编码特征序列bw。
64.s303,根据前向编码特征序列和后向编码特征序列生成前向解码结果和后向解码结果。
65.具体的,对步骤s302生成的前向编码特征序列和后向编码特征序列进行双向解码处理,得到前向解码结果和后向解码结果。
66.s304,对前向解码结果和后向解码结果进行融合,得到目标公式。
67.具体的,对步骤s303生成的前向解码结果和后向解码结果进行融合,得到目标公式,例如根据前向解码结果和后向解码结果中每个字符位置上字符的置信度,确定该字符的取舍,从而得到目标公式。
68.进一步的,如图4所示,图3所示实施例中的步骤s302“根据顺序特征序列和逆序特征序列生成前向编码特征序列和后向编码特征序列”具体可包括以下步骤:
69.s401,将顺序特征序列和逆序特征序列分别输入至门控循环单元网络,得到顺序编码特征序列和逆序编码特征序列。
70.具体的,将顺序特征序列和逆序特征序列分别输入至门控循环单元(gated recurrent unit,简称gru)网络进行编码,得到顺序编码特征序列和逆序编码特征序列。
71.s402,将顺序编码特征序列和逆序编码特征序列分别输入至全连接网络,得到前向编码特征序列和后向编码特征序列。
72.具体的,将步骤s401得到的顺序编码特征序列和逆序编码特征序列分别输入至全连接(fully connected,简称fc)网络,得到前向编码特征序列fw和后向编码特征序列bw。
73.进一步的,如图5所示,图3所示实施例中的步骤s303“根据前向编码特征序列和后向编码特征序列生成前向解码结果和后向解码结果”具体可包括以下步骤:
74.s501,根据前向编码特征序列和后向编码特征序列生成前向注意力图和后向注意力图。
75.s502,对前向注意力图和后向注意力图分别进行解码,得到前向解码结果和后向解码结果。
76.进一步的,如图6所示,图5所示实施例中的步骤s501“根据前向编码特征序列和后向编码特征序列生成前向注意力图和后向注意力图”具体可包括以下步骤:
77.s601,根据前向编码特征序列和后向编码特征序列生成隐藏状态向量。
78.具体的,将前向编码特征序列fw和后向编码特征序列bw在特征维度上进行拼接,然后输入全连接层(fc层)计算生成隐藏状态向量f。
79.s602,根据前向编码特征序列和隐藏状态向量生成前向注意力图。
80.具体的,将前向编码特征序列fw输入一个全连接层(fc层)进行计算得到和隐藏状态向量f维度一致的特征编码序列,将该特征编码序列与隐藏状态向量f进行包括直接相加、tanh、全连接、softmax(归一化)等一系列计算,得到前向注意力图。其中,前向注意力图
为二维图,一个维度代表解码时输入的序列的长度,一个维度代表输出序列的长度。一个维度代表解码时输入的序列的长度,一个维度代表输出序列的长度。前向注意力图中存储着每个解码时间上(输出序列每个位置)所有输入序列状态的影响权重。公式表示为:
81.e
i,j
=utanh(ws
i
‑1+vf
j
)
ꢀꢀ
(1)
[0082][0083]
上述公式中,u、w、v代表全连接计算,j代表输入序列的某一时刻,i代表输出的某一时刻,公式(1)表示输出序列第i个时间步与输入序列第j个特征的关系,s
i
‑1表示i

1时刻的隐藏状态(s
c
由fw转换而来,后续根据解码过程计算得到),f是f的每个位置上的特征。公式(2)是softmax计算,α
i,j
是前向注意力图,代表解码第i个时间步时,输入序列的第j个特征对当前解码产生的权重值。
[0084]
s603,根据后向编码特征序列和隐藏状态向量生成后向注意力图。
[0085]
具体的,本步骤的具体过程与上述步骤s602的具体过程类似,此处不再赘述。
[0086]
进一步的,如图7所示,图5所示实施例中的步骤s502“对前向注意力图和后向注意力图分别进行解码,得到前向解码结果和后向解码结果”具体可包括以下步骤:
[0087]
s701,根据解码过程中上一时间步的输出结果、隐藏状态向量上一时间步的隐藏状态和前向注意力图中当前时间步的权重值,计算得到当前时间步的输出结果,将每个时间步的输出结果串起来得到前向解码结果。
[0088]
具体的,计算第i个时间步的输出,我们先计算出整个隐藏状态向量f在解码时产生的影响,即
[0089][0090]
c
i
可认为是解码第i个时间步输出时,应该输入的图片的特征,我们再将第i

1个时间步的输出y
i
‑1和隐藏状态s
i
‑1一起进行计算,公式表示为:
[0091]
s
i
=tannh(a[y
i
‑1,s
i
‑1,c
i
]+b)
ꢀꢀ
(4)
[0092]
可以得到第i个时间步的隐藏状态s
i
,再经过全连接层计算得到第i个时间步的输出y
i

[0093]
s702,根据解码过程中上一时间步的输出结果、隐藏状态向量上一时间步的隐藏状态和后向注意力图中当前时间步的权重值,计算得到当前时间步的输出结果,将每个时间步的输出结果串起来得到后向解码结果。
[0094]
具体的,本步骤的具体过程与上述步骤s701的具体过程类似,此处不再赘述。
[0095]
进一步的,如图8所示,图3所示实施例中的步骤s304“对前向解码结果和后向解码结果进行融合,得到目标公式”具体可包括以下步骤:
[0096]
s801,获取前向解码结果和后向解码结果的编辑距离最小时需要的编辑操作和编辑操作对应的字符。
[0097]
具体的,编辑距离是计算两个字符串通过三种字符级别操作,即插入、替换、删除的操作来实现字符串相等的最小操作数目,程序上一般通过动态规划来实现。在计算编辑
距离的同时记录下前向或后向解码结果经插入、替换、删除的步骤后变成后向或前向解码结果的过程,其中包括编辑操作和编辑操作对应的字符。
[0098]
s802,根据编辑操作和编辑操作对应的字符的置信度,对前向解码结果和后向解码结果进行融合,得到目标公式。
[0099]
具体的,根据编辑操作和编辑操作对应字符的置信度,按照一定的规则,对编辑操作对应的字符进行操作,以实现对前向解码结果和后向解码结果的融合,得到目标公式。
[0100]
进一步的,如图9所示,图8所示实施例中的步骤s802“根据编辑操作和编辑操作对应的字符的置信度,对前向解码结果和后向解码结果进行融合,得到目标公式”具体可包括以下步骤:
[0101]
s901,编辑操作为插入操作,且插入操作对应的字符的置信度大于所在前向解码结果或后向解码结果的平均置信度,则将插入操作对应的字符写入目标公式中。否则,不将插入操作对应的字符写入目标公式中。
[0102]
s902,编辑操作为删除操作,且删除操作对应的字符的置信度不小于所在前向解码结果或后向解码结果的平均置信度或者不小于预设的置信度阈值,则将删除操作对应的字符写入目标公式中。否则,不将删除操作对应的字符写入目标公式中。
[0103]
s903,编辑操作为替换操作,则将替换操作对应的两个字符中置信度较大的字符写入目标公式中。
[0104]
s904,将编辑操作不对应的字符写入目标公式中。
[0105]
具体的,将未进行编辑操作的字符原样的写入新的字符串,得到目标公式。
[0106]
例如,前向解码结果中的前向字符串为nappy,五个字符的置信度分别为0.7,0.8,0.9,0.8,0.9,后向解码结果中的后向字符串是hopply,六个字符的置信度分别为0.9,0.7,0.8,0.8,0.6,0.9,从后向字符串变为前向字符串最少操作步骤是用h替换n,用o替换a,删除l,即需要3步。于是新字符串得到的过程便是对这3步进行判断:
[0107]
(1)用h替换n,由于后向字符串中h的置信度为0.9,前向字符串n的置信度为0.7,0.9>0.7,故新字符串该位置确定为h。
[0108]
(2)用o替换a,同理,由于后向字符串中o的置信度为0.7,前向字符串a的置信度为0.8,0.8>0.7,新字符串该位置确定为a。
[0109]
(3)删除l,由于后向字符串六个字符的平均置信度为0.78,后向字符串中l的置信度为0.6,0.6<0.78,且0.6<0.7(预设的置信度阈值),所以不将l写入新字符串。其他位置和原始字符串一致,故最后融合得到的新字符串为happy。
[0110]
综上,本公开实施例的光学字符识别方法,获取待识别图片中的目标公式区域,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1,将第一特征图展开得到目标特征,以及根据目标特征生成目标公式。通过增加二值图片通道可以更加精准的定位目标公式区域,根据目标公式区域内的图片得到高度大于1的第一特征图,保存了图片在纵轴纬度的图片信息,以及采用双向解码的方法,避免了单向解码时一但中途某个字符预测出错影响后续字符预测的问题,降低了光学字符识别场景下公式的识别过程中误检错检的概率,提高了公式的识别效果,较好的解决了图片场景公式的识别问题。
[0111]
为清楚说明本公开实施例的光学字符识别方法,下面参照图10

图11对本公开实施例的光学字符识别方法进行详细描述。
[0112]
图10为本公开实施例的光学字符识别方法中检测阶段的示意图,如图10所示,在检测阶段,将待识别图片和根据待识别图片生成的二值图片输入卷积神经网络cnn得到第二特征图,第二特征图经过预测得到分数特征图和偏移量特征图,将分数特征图和偏移量特征图进行非极大值抑制nms处理得到目标公式区域。
[0113]
图11为本公开实施例的光学字符识别方法中识别阶段的示意图,如图11所示,在识别阶段,将检测阶段得到的目标公式区域内的图片输入卷积神经网络cnn得到第一特征图,第一特征图展开得到顺序特征序列,将顺序特征序列和根据顺序特征序列得到的逆序特征序列输入门控循环单元gru网络得到顺序编码特征序列和逆序编码特征序列,顺序编码特征序列和逆序编码特征序列经过全连接网络生成前向编码特征序列fw和后向编码特征序列bw,根据前向编码特征序列fw和隐藏状态向量f生成前向注意力图fw attention map,根据后向编码特征序列bw和隐藏状态向量f生成后向注意力图bw attention map,对前向注意力图和后向注意力图分别进行解码,得到前向解码结果和后向解码结果,对前向解码结果和后向解码结果进行融合,得到目标公式。
[0114]
图12是根据本公开第一实施例的光学字符识别装置的框图。
[0115]
如图12所示,本公开实施例的光学字符识别装置1200,包括:获取模块1201、提取模块1202、展开模块1203和生成模块1204。
[0116]
获取模块1201,用于获取待识别图片中的目标公式区域。
[0117]
提取模块1202,用于对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1。
[0118]
展开模块1203,用于将第一特征图展开得到目标特征。
[0119]
生成模块1204,用于根据目标特征生成目标公式。
[0120]
需要说明的是,上述对光学字符识别方法实施例的解释说明,也适用于本公开实施例的光学字符识别装置,具体过程此处不再赘述。
[0121]
综上,本公开实施例的光学字符识别装置,获取待识别图片中的目标公式区域,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1,将第一特征图展开得到目标特征,以及根据目标特征生成目标公式。通过确定目标公式区域,根据目标公式区域内的图片得到高度大于1的第一特征图,保存了图片在纵轴纬度的图片信息,提高了光学字符识别场景下公式的识别效果,较好的解决了图片场景公式的识别问题。
[0122]
图13是根据本公开第二实施例的光学字符识别装置的框图。
[0123]
如图13所示,本公开实施例的光学字符识别装置1300,具体可包括:获取模块1301、提取模块1302、展开模块1303和生成模块1304。
[0124]
其中,获取模块1301与上述实施例中的获取模块1201具有相同功能和结构,提取模块1302与上述实施例中的提取模块1202具有相同功能和结构,展开模块1303与上述实施例中的展开模块1203具有相同功能和结构,生成模块1304与上述实施例中的生成模块1204具有相同功能和结构。
[0125]
其中,获取模块1301具体可包括:第四生成子模块1305、提取子模块1306、第五生成子模块1307、处理子模块1308。
[0126]
第四生成子模块1305,用于根据待识别图片生成二值图片,二值图片中包括文字区域和公式区域。
[0127]
提取子模块1306,用于对待识别图片和二值图片进行特征提取,得到第二特征图。
[0128]
第五生成子模块1307,用于根据第二特征图生成分数特征图和偏移量特征图。
[0129]
处理子模块1308,用于对分数特征图和偏移量特征图进行非极大值抑制处理,得到目标公式区域。
[0130]
进一步的,生成模块1304具体可包括:第一生成子模块,用于根据目标特征生成顺序特征序列和逆序特征序列;第二生成子模块,用于根据顺序特征序列和逆序特征序列生成前向编码特征序列和后向编码特征序列;第三生成子模块,用于根据前向编码特征序列和后向编码特征序列生成前向解码结果和后向解码结果;融合子模块,用于对前向解码结果和后向解码结果进行融合,得到目标公式。
[0131]
进一步的,第二生成子模块具体可包括:第一输入单元,用于将顺序特征序列和逆序特征序列分别输入至门控循环单元网络,得到顺序编码特征序列和逆序编码特征序列;第二输入单元,用于将顺序编码特征序列和逆序编码特征序列分别输入至全连接网络,得到前向编码特征序列和后向编码特征序列。
[0132]
进一步的,第三生成子模块具体可包括:生成单元,用于根据前向编码特征序列和后向编码特征序列生成前向注意力图和后向注意力图;以及解码单元,用于对前向注意力图和后向注意力图分别进行解码,得到前向解码结果和后向解码结果。
[0133]
进一步的,生成单元具体可包括:第一生成子单元,用于根据前向编码特征序列和后向编码特征序列生成隐藏状态向量;第二生成子单元,用于根据前向编码特征序列和隐藏状态向量生成前向注意力图;以及第三生成子单元,用于根据后向编码特征序列和隐藏状态向量生成后向注意力图。
[0134]
进一步的,解码单元具体可包括:第一计算子单元,用于根据解码过程中上一时间步的输出结果、隐藏状态向量上一时间步的隐藏状态和前向注意力图中当前时间步的权重值,计算得到当前时间步的输出结果,将每个时间步的输出结果串起来得到前向解码结果;以及第二计算子单元,用于根据解码过程中上一时间步的输出结果、隐藏状态向量上一时间步的隐藏状态和后向注意力图中当前时间步的权重值,计算得到当前时间步的输出结果,将每个时间步的输出结果串起来得到后向解码结果。
[0135]
进一步的,融合子模块具体可包括:获取单元,用于获取前向解码结果和后向解码结果的编辑距离最小时需要的编辑操作和编辑操作对应的字符;以及融合单元,用于根据编辑操作和编辑操作对应的字符的置信度,对前向解码结果和后向解码结果进行融合,得到目标公式。
[0136]
进一步的,融合单元具体可包括:第一写入字单元,用于编辑操作为插入操作,且插入操作对应的字符的置信度大于所在前向解码结果或后向解码结果的平均置信度,则将插入操作对应的字符写入目标公式中;第二写入字单元,用于编辑操作为删除操作,且删除操作对应的字符的置信度不小于所在前向解码结果或后向解码结果的平均置信度或者不小于预设的置信度阈值,则将删除操作对应的字符写入目标公式中;第三写入字单元,用于编辑操作为替换操作,则将替换操作对应的两个字符中置信度较大的字符写入目标公式中;以及第四写入字单元,用于将编辑操作不对应的字符写入目标公式中。
[0137]
需要说明的是,上述对光学字符识别方法实施例的解释说明,也适用于本公开实施例的光学字符识别装置,具体过程此处不再赘述。
[0138]
综上,本公开实施例的光学字符识别装置,获取待识别图片中的目标公式区域,对目标公式区域内的图片进行特征提取,得到预设高度的第一特征图,预设高度大于1,将第一特征图展开得到目标特征,以及根据目标特征生成目标公式。通过增加二值图片通道可以更加精准的定位目标公式区域,根据目标公式区域内的图片得到高度大于1的第一特征图,保存了图片在纵轴纬度的图片信息,以及采用双向解码的方法,避免了单向解码时一但中途某个字符预测出错影响后续字符预测的问题,降低了光学字符识别场景下公式的识别过程中误检错检的概率,提高了公式的识别效果,较好的解决了图片场景公式的识别问题。
[0139]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0140]
图14示出了可以用来实施本公开的实施例的示例电子设备1400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0141]
如图14所示,电子设备1400包括计算单元1401,其可以根据存储在只读存储器(rom)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(ram)1403中的计算机程序,来执行各种适当的动作和处理。在ram 1403中,还可存储电子设备1400操作所需的各种程序和数据。计算单元1401、rom 1402以及ram1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
[0142]
电子设备1400中的多个部件连接至i/o接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许电子设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0143]
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如图1至图11所述的光学字符识别方法。例如,在一些实施例中,光学字符识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由rom 1402和/或通信单元1409而被载入和/或安装到电子设备1400上。当计算机程序加载到ram 1403并由计算单元1401执行时,可以执行上文描述的光学字符识别方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行光学字符识别方法。
[0144]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算
机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0145]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0146]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0147]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0148]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0149]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0150]
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现根据本公开上述实施例所述的光学字符识别方法。
[0151]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0152]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1