CN112215236B - 文本识别方法、装置、电子设备及存储介质 - Google Patents
文本识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112215236B CN112215236B CN202011135016.5A CN202011135016A CN112215236B CN 112215236 B CN112215236 B CN 112215236B CN 202011135016 A CN202011135016 A CN 202011135016A CN 112215236 B CN112215236 B CN 112215236B
- Authority
- CN
- China
- Prior art keywords
- text recognition
- decoding
- recognized
- characters
- text
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000000638 solvent extraction Methods 0.000 claims description 14
- 238000013179 statistical model Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Character Discrimination (AREA)
Abstract
本发明实施例提供一种文本识别方法、装置、电子设备及存储介质,所述方法包括:预测待识别对象的字符数量;对待识别对象进行文本识别,并统计文本识别所得的字符数量;当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果。本发明实施例提供的文本识别方法、装置、电子设备及存储介质,保证了文本识别结果的完整性,提高了文本识别的准确性。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种文本识别方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的快速发展,文本识别广泛应用于智能教育、智能办公和智能物流等诸多领域。
现有的文本识别方法主要包括基于传统分割方法的文本识别方法和基于深度学习的文本识别方法。然而,对于一些包含较大空隙的文本,例如试卷中的填空题和选择题,现有的文本识别方法存在对空隙之后的文本漏识别的问题,其准确性欠佳。
发明内容
本发明实施例提供一种文本识别方法、装置、电子设备及存储介质,用以解决现有技术中存在漏识别、准确性较低的缺陷。
本发明实施例提供一种文本识别方法,包括:
预测待识别对象的字符数量;
对所述待识别对象进行文本识别,并统计所述文本识别所得的字符数量;
当预测所得的字符数量与统计所得的字符数量匹配时,输出所述待识别对象的文本识别结果。
根据本发明一个实施例的文本识别方法,还包括:
当所述预测所得的字符数量和所述统计所得的字符数量不匹配时,对所述待识别对象进行分块,得到多个对象子块;
对每个对象子块分别进行文本识别,将所述文本识别所得的每个对象子块的文本进行组合,并统计所述组合所得的字符数量。
根据本发明一个实施例的文本识别方法,所述对所述待识别对象进行分块,包括:
计算所述待识别对象中相邻字符之间的间距,以位于间距最大的相邻字符之间的分割线对所述待识别对象进行分块。
根据本发明一个实施例的文本识别方法,所述对所述待识别对象进行文本识别包括:
应用文本识别模型,获取所述待识别对象的文本识别结果;
其中,所述文本识别模型用于基于所述待识别对象中各个字符的上下文关系进行文本识别。
根据本发明一个实施例的文本识别方法,所述应用文本识别模型,获取所述待识别对象的文本识别结果,包括:
应用所述文本识别模型的对象特征编码层,获取所述待识别对象中每一区域的对象特征编码;
应用所述文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码;
应用所述文本识别模型的解码层,获取对应于当前解码时刻的解码状态和对象上下文编码,以及上一解码时刻的解码结果的当前解码时刻的解码结果;
其中,所述当前解码时刻的解码状态是基于当前解码时刻的对象上下文编码,以及上一解码时刻的解码状态和解码结果确定的;
所述文本识别结果为最终解码时刻的解码结果。
根据本发明一个实施例的文本识别方法,所述应用所述文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码,包括:
应用所述上下文编码层的注意力权重确定层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的每一区域对应的对象特征编码的注意力权重;
应用所述上下文编码层的融合编码层,获取对应于每一区域对应的对象特征编码及其注意力权重的当前解码时刻的对象上下文编码。
根据本发明一个实施例的文本识别方法,所述预测待识别对象的字符数量,包括:
应用字符统计模型,得到所述待识别对象的预测字符数量;
其中,所述字符统计模型用于对所述待识别对象的对象特征进行非线性映射编码,并基于编码后的特征进行字符统计。
本发明实施例还提供一种文本识别装置,包括:
字符数量预测单元,用于预测待识别对象的字符数量;
文本识别和统计单元,用于对所述待识别对象进行文本识别,并统计所述文本识别所得的字符数量;
文本识别结果输出单元,用于当预测所得的字符数量与统计所得的字符数量匹配时,输出所述待识别对象的文本识别结果。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述文本识别方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述文本识别方法的步骤。
本发明实施例提供的一种文本识别方法、装置、电子设备及存储介质,通过预测待识别对象的字符数量,统计对待识别对象进行文本识别所得的字符数量,并判断预测所得的字符数量和统计所得的字符数量是否匹配,当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果,保证了文本识别结果的完整性,提高了文本识别的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文本识别方法的流程示意图;
图2为本发明实施例提供的待识别对象分块的示意图;
图3为本发明实施例提供的文本识别模型运行方法的流程示意图;
图4为本发明实施例提供到的对象上下文编码方法的流程示意图;
图5为本发明另一实施例提供的文本识别方法的流程示意图;
图6为本发明实施例提供的文本识别装置的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
文本识别广泛应用于智能教育、智能办公和智能物流等诸多领域。例如,在智能教育领域,文本识别可以将纸质作业电子化,有助于提高作业批改的效率,也可以实现类似题型的搜索和推荐;在智能办公领域,文本识别可以快速提取文档中的有效信息,有助于提高办公的效率。
现有的文本识别方法包括基于传统分割方法的文本识别方法和基于深度学习的文本识别方法。其中,基于传统分割方法的文本识别方法首先需要将待识别对象进行文本检测,并基于文本检测结果对待识别对象进行切分,再对切分后的子图进行特征提取,从而依据提取到的特征进行分类识别;基于深度学习的方法需要将待识别对象里的字符规整到固定格式,再对其进行特征提取,从而依据提取到的特征确定待识别对象的识别结果。
然而,对于一些包含较大空隙的文本,例如试卷中的填空题和选择题,现有的文本识别方法存在对空隙之后的文本漏识别的问题,其准确性欠佳。
对此,本发明实施例提供一种文本识别方法,图1为本发明实施例提供的文本识别方法的流程示意图,如图1所示,该方法包括:
步骤110,预测待识别对象的字符数量。
待识别对象为需要进行文本识别的对象,待识别对象可以为包含文本行的图像。此处,可以通过扫描仪、手机和相机等图像采集设备直接获取待识别对象;也可以在得到采集的图像之后,对采集的图像中的文本行进行定位,基于采集的图像中文本行的位置信息,对采集的图像进行切分,将包含文本行的图像块作为待识别对象。
在得到待识别对象之后,对待识别对象中包含的字符的数量进行预测,例如可以基于卷积神经网络(CNN,Convolutional Neural Network)或聚合交叉熵方法(ACE,Aggregation Cross-Entropy for Sequence Recognition)进行预测,其中,待识别对象中包含的字符可以包括文字和符号,待识别对象中包含的字符可以为手写字符、印刷体字符或者触屏轨迹点构成的字符,本发明实施例对比不作限定。
步骤120,对待识别对象进行文本识别,并统计文本识别所得的字符数量。
对待识别对象中包含的字符进行文本识别,例如可以基于卷积神经网络、循环神经网络(RNN,Recurrent Neural Network)、长短时记忆网络(LSTM,Long Short-TermMemory)等进行文本识别。随即,对文本识别所得的文本包含的字符的个数进行统计。
需要说明的是,步骤110和步骤120可以同时执行,也可以依次执行,本发明实施例对步骤110和步骤120的执行顺序不作限定。
步骤130,当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果。
预测所得的字符数量是直接基于待识别对象确定的,不会受到文本识别效果的影响,而统计所得的字符数量是基于文本识别得到的文本确定的,当文本识别过程中存在漏识别时,预测所得的字符数量和统计所得的字符数量会产生差异,因此,通过比较预测所得的字符数量和统计所得的字符数量的大小关系,可以检测出文本识别过程中是否存在遗漏。
此处,判断预测所得的字符数量和统计所得的字符数量是否匹配的方式可以为:若预测所得的字符数量和统计所得的字符数量之差的绝对值大于第一预设阈值,或预测所得的字符数量和统计所得的字符数量之差的绝对值与预测所得的字符数量的比值大于第二预设阈值,例如10%,则确定预测所得的字符数量和统计所得的字符数量匹配,否则,确定预测所得的字符数量和统计所得的字符数量不匹配。
当预测所得的字符数量和统计所得的字符数量匹配时,表示文本识别中没有遗漏待识别对象中包含的字符,此时,可以输出对待识别对象进行文本识别所得的文本识别结果。通过引入预测待识别对象所得的字符数量辅助待识别对象的文本识别,判断预测所得的字符数量和统计所得的字符数量是否匹配,且只有当两者匹配时,将对待识别对象文本识别所得的文本识别结果输出,避免了对较大空隙之后的文本的漏识别,保证了文本识别结果的完整性,提高了文本识别的准确性。
此外,当预测所得的字符数量和统计所得的字符数量不匹配时,表示文本识别过程中可能遗漏了对部分文本的识别,还可以对文本识别结果进行修正,以使得预测所得的字符数量和统计所得的字符数量匹配。
本发明实施例提供的方法,通过预测待识别对象的字符数量,统计对待识别对象进行文本识别所得的字符数量,并判断预测所得的字符数量和统计所得的字符数量是否匹配,当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果,保证了文本识别结果的完整性,提高了文本识别的准确性。
基于上述任一实施例,该方法还包括:
当预测所得的字符数量和统计所得的字符数量不匹配时,对待识别对象进行分块,得到多个对象子块;
对每个对象子块分别进行文本识别,将文本识别所得的每个对象子块的文本进行组合,并统计组合所得的字符数量。
当预测所得的字符数量和统计所得的字符数量不匹配时,表示文本识别过程中可能遗漏了部分文本,此时需要对文本识别所得的文本进行修正,可以基于待识别对象中各个字符的位置信息,将待识别对象切分为多个对象子块,并对每个对象子块分别进行文本识别。随后基于每个对象子块的位置信息,对文本识别所得的每个对象子块的文本进行组合。例如,可以将待识别对象从左至右沿垂直方向切分为多个对象子块,在得到每个对象子块的文本之后,将每个对象子块的文本与其左右相邻的对象子块的文本进行拼接,得到组合后的文本。
随即,对组合所得的文本进行字符统计,并继续判断预测所得的字符数量与统计所得的字符数量是否匹配,重复上述步骤,直至预测所得的字符数量与统计所得的字符数量匹配,此时,将待识别对象切分得到的多个对象子块的文本组合所得的文本作为待识别对象的文本识别结果。
在此过程中,当对待识别对象分块之后,预测所得的字符数量与统计所得的字符数量仍不匹配时,需要对文本识别所得的文本进行进一步地修正。为提高后续文本识别的识别效率,可以基于上一次的分块结果,对待识别对象进行更精细地切分。例如若上一次将待识别对象分为两个对象子块,则可以将待识别对象分为三个对象子块或在得到的两个对象子块的基础上,对每个对象子块进行进一步地切分,将每个对象子块一分为二,将待识别对象分为四个对象子块。
通过将待识别对象进行分块,并对每个对象子块分别进行文本识别,由于每个对象子块的区域更小,每个对象子块中包含的字符分布更集中,对象子块的文本识别过程中漏识别的概率更低,基于文本识别所得的每个对象子块的文本更新待识别对象的文本识别结果,保证了文本识别结果的完整性,提高了文本识别的准确性。
本发明实施例提供的方法,通过当预测所得的字符数量和统计所得的字符数量不匹配时,将待识别对象切分为多个对象子块,对每个对象子块分别进行文本识别,并统计文本识别所得的每个对象子块的文本组合所得的字符数量,有效地对文本识别结果进行了修正,保证了文本识别结果的完整性,提高了文本识别的准确性。
基于上述任一实施例,所述对待识别对象进行分块,包括:
计算待识别对象中相邻字符之间的间距,以位于间距最大的相邻字符之间的分割线对待识别对象进行分块。
当待识别对象中文本行包含较大空隙时,空隙之后的文本容易被遗漏。为防止遗漏,可以将空隙前后的文本区域切分为两个对象子块,并对两个对象子块分别进行文本识别。在确定文本行中空隙的位置时,可以计算待识别对象中相邻字符之间的间距,其中间距最大的两个相邻字符之间的区域即为文本行中的空隙,选取一条位于间距最大的相邻字符中的垂线作为分割线,将待识别对象分为两个对象子块。图2为本发明实施例提供的待识别对象分块的示意图,图2中的矩形框表示待识别对象,虚线为分割线,如图2所示,分割线将待识别对象分为两个对象子块。
此处,可以基于待识别对象中各个字符的位置信息,计算相邻字符之间的间距,例如采用聚合交叉熵方法进行字符数量预测时,同时可以获取各个字符的位置信息,基于各个字符所在区域的坐标,计算相邻字符之间的间距;也可以将待识别对象中各个字符投影到水平方向,并基于各个字符对应的水平投影的坐标,计算相邻字符之间的间距,本发明实施例对字符间距的计算方法不作限定。
本发明实施例提供的方法,通过计算待识别对象中相邻字符之间的间距,以位于间距最大的相邻字符之间的分割线对待识别对象进行分块,将空隙前后的文本区域切分为两个对象子块,以供对空隙前后的文本分别进行文本识别,避免了对空隙之后的文本的遗漏,保证了文本识别结果的完整性,提高了文本识别的准确性。
基于上述任一实施例,所述对所述待识别对象进行文本识别,包括:
应用文本识别模型,获取待识别对象的文本识别结果;
其中,文本识别模型用于基于待识别对象中各个字符的上下文关系进行文本识别。
在得到待识别对象之后,将待识别对象输入文本识别模型,由文本识别模型基于待识别对象中各个字符的上下文关系对待识别对象进行文本识别,得到文本识别模型输出的待识别对象的文本识别结果。
此处,还可以预先训练得到文本识别模型,可以通过如下方式训练得到文本识别模型:首先,收集大量样本对象,并确定样本对象对应的样本文本识别结果。随即,基于样本对象及其对应的样本文本识别结果训练初始模型,从而得到文本识别模型。
需要说明的是,本发明实施例提供的文本识别模型不仅可以用于对待识别对象进行文本识别,而且可以用于对对象子块进行文本识别。
基于上述任一实施例,图3为本发明实施例提供的文本识别模型运行方法的流程示意图,如图3所示,步骤120包括:
步骤121,应用文本识别模型的对象特征编码层,获取待识别对象中每一区域的对象特征编码。
对象特征编码层用于对待识别对象进行特征提取,获取其中每一区域的对象语义信息,并编码得到每一区域的对象特征编码。其中,对象特征编码层可以基于卷积神经网络构建得到。为了防止待识别对象中的部分细节特征在特征提取的下采样过程中被丢失,导致后续的识别准确性下降,对象特征编码层还可以提取待识别对象的多尺度特征。例如,可以基于ResNet101结构和UNet结构构建对象特征编码层。
步骤122,应用文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码。
由于待识别对象中包含的字符呈序列化,且解码过程也是相应的序列化输出过程,因此在任一解码时刻的解码过程中,每一区域的对象特征编码的重要性是不同的。为了在解码过程中,消除无关区域的对象特征编码的干扰,以提高解码的准确性,将每一区域的对象特征编码以及上一解码时刻的解码状态输入至文本识别模型的上下文编码层,以得到当前解码时刻的对象上下文编码。此处,任一解码时刻的解码状态是解码层中的隐藏层的输出,其包含了解码层在该时刻之前所产生的历史信息。其中,上下文编码层用于基于每一区域的对象特征编码,以及上一解码时刻的解码状态,判断在当前解码时刻,应当重点关注哪部分区域的对象特征编码,从而编码得到当前解码时刻的对象上下文编码。此处,当前解码时刻的对象上下文编码中凸显出了在当前解码时刻应当重点关注的区域的对象特征编码。
步骤123,应用文本识别模型的解码层,获取对应于当前解码时刻的解码状态和对象上下文编码,以及上一解码时刻的解码结果的当前解码时刻的解码结果。
其中,当前解码时刻的解码状态是基于当前解码时刻的对象上下文编码,以及上一解码时刻的解码状态和解码结果确定的;文本识别结果为最终解码时刻的解码结果。
解码层用于基于当前解码时刻的解码状态和对象上下文编码,以及上一解码时刻的解码结果,解码并输出当前解码时刻对应的解码结果。其中,当前解码时刻的解码状态是基于当前解码时刻的对象上下文编码,以及上一解码时刻的解码状态和解码结果确定的。任一解码时刻对应的解码结果为该解码时刻,解码层解码得到的字符与上一解码时刻对应的解码结果拼接后的字符序列。解码层重复上述操作直至解码结束,得到的最终解码时刻对应的解码结果即为文本识别模型输出的文本识别结果。
此处,可以基于循环神经网络RNN模型及其变形,例如长短期记忆网络LSTM模型以及门控循环单元(Gated Recurrent Unit,GRU),构建解码层,本发明实施例对此不作限定。解码层可以基于当前解码时刻之前所有时刻解码层解码得到的字符,以及当前解码时刻的对象上下文编码,解码出当前解码时刻对应的字符,从而确定当前解码时刻的解码结果。此外,为了减小计算量,从而提高解码效率,也可以仅基于上一时刻解码层解码得到的字符,以及当前解码时刻的解码状态和对象上下文编码,解码出当前解码时刻对应的字符,从而确定当前解码时刻的解码结果,两种解码方式的效果是类似的。例如,可以采用如下公式解码得到当前解码时刻对应的字符:
yt=g({y1,y2,y3,...,yt-1},ct)≈g(yt-1,st,ct)
其中,yt为当前解码时刻解码得到的字符;y1,y2,y3,…,yt-1为第1,2,…,t-1个解码时刻,即当前解码时刻之前所有时刻,解码得到的字符;ct为当前解码时刻的对象上下文编码,st为当前解码时刻的解码状态,g()为非线性函数。
基于上述任一实施例,图4为本发明实施例提供到的对象上下文编码方法的流程示意图,如图4所示,步骤122包括:
步骤1221,应用上下文编码层的注意力权重确定层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的每一区域对应的对象特征编码的注意力权重。
为了判断当前解码时刻,各个区域对应的对象特征编码的重要性,注意力权重确定层利用注意力机制,在每一区域对应的对象特征编码以及上一解码时刻的解码状态的基础上,确定每一区域对应的对象特征编码的注意力权重。此处,可以将任一区域对应的对象特征编码与上一解码时刻的解码状态进行注意力交互,得到该区域对应的对象特征编码的注意力权重。例如,可以采用如下公式计算任一区域对应的对象特征编码的注意力权重:
其中,共包括L个区域对应的对象特征编码,eit为当前解码时刻,第i个区域对应的对象特征编码的注意力得分,αit则为当前解码时刻,第i个区域对应的对象特征编码的注意力权重,hi为第i个区域对应的对象特征编码,st-1为上一解码时刻的解码状态,Wh和Ws为权重矩阵,是文本识别模型中可学习得到的参数。
步骤1222,应用上下文编码层的融合编码层,获取对应于每一区域对应的对象特征编码及其注意力权重的当前解码时刻的对象上下文编码。
融合编码层用于基于每一区域对应的对象特征编码的注意力权重,对每一区域对应的对象特征编码进行融合。此处,可以直接对每一区域对应的对象特征编码进行加权求和,得到融合后的当前解码时刻的对象上下文编码。例如,可以采用如下公式计算当前解码时刻的对象上下文编码:
其中,共包括L个区域对应的对象特征编码,hi为第i个区域对应的对象特征编码,αit则为当前解码时刻,第i个区域对应的对象特征编码的注意力权重,ct为当前解码时刻的对象上下文编码。
基于上述任一实施例,所述预测待识别对象的字符数量,包括:
应用字符统计模型,得到待识别对象的预测字符数量;
其中,字符统计模型用于对待识别对象的对象特征进行非线性映射编码,并基于编码后的特征进行字符统计。
在得到待识别对象之后,将待识别对象输入至字符统计模型,由字符统计模型对待识别对象进行特征提取,得到待识别对象的对象特征,并对对象特征进行非线性映射编码,基于编码后的特征和字符个数词典,得到编码后的特征的字符个数向量,并基于该字符个数向量确定待识别对象的预测字符数量。字符统计模型可以基于VGG或ResNet结构构建得到。
其中,字符个数词典可以存储样本特征编码和字符个数的对应关系。在此基础上,基于编码后的特征和字符个数词典,可以得到编码后的特征对应各个字符个数的概率,组成字符个数向量,并采用softmax函数对字符个数向量进行归一化,得到预测字符数量。
此处,还可以预先训练得到字符统计模型,可以通过如下方式训练得到字符统计模型:首先,收集大量样本对象,并确定样本对象对应的样本预测字符数量。随即,基于样本对象及其对应的样本预测字符数量训练初始模型,从而得到字符统计模型。由于字符统计模型仅用于对待识别对象进行字符统计,训练目标较集中,输出的预测字符数量更准确。
基于上述任一实施例,图5为本发明另一实施例提供的文本识别方法的流程示意图,如图5所示,该方法包括以下步骤:
首先,将待识别对象分别输入至文本识别模型和字符统计模型,由文本识别模型基于待识别对象中各个字符的上下关系对待识别对象进行文本识别,并输出待识别对象的文本识别结果;由字符统计模型对待识别对象的对象特征进行非线性映射编码,并将编码后的特征映射到字符个数词典,得到编码后的特征对应的字符个数向量,并采用softmax函数对字符个数向量进行归一化,输出待识别对象的预测字符数量。
在完成文本识别之后,统计文本识别所得的文本包含的字符的数量,判断预测所得的字符数量与统计所得的字符数量是否匹配,若预测所得的字符数量和统计所得的字符数量之差的绝对值与预测所得的字符数量的比值小于10%,则确定预测所得的字符数量与统计所得的字符数量匹配,并输出待识别对象的文本识别结果;否则,确定预测所得的字符数量与统计所得的字符数量不匹配。
当预测所得的字符数量与统计所得的字符数量不匹配时,将待识别对象中各个字符投影到水平方向上,基于各个字符对应的水平投影的坐标,计算任意相邻的两个字符之间的间距,并将间距最大的两个相邻字符的连线的中垂线作为分割线,将待识别对象分为两个对象子块,将两个对象子块分别输入至文本识别模型,得到文本识别模型输出的两个对象子块分别对应的文本,将两个对象子块的文本进行组合作为更新的文本识别结果,并对更新的文本识别结果进行字符统计,继续判断预测所得的字符数量与统计所得的字符数量是否匹配,重复上述步骤,直至预测所得的字符数量与统计所得的字符数量匹配。
本发明实施例提供的方法,通过预测待识别对象的字符数量,统计对待识别对象进行文本识别所得的字符数量,并判断预测所得的字符数量和统计所得的字符数量是否匹配,当预测所得的字符数量和统计所得的字符数量不匹配时,对待识别对象切分为多个对象子块,对每个对象子块分别进行文本识别,并统计文本识别所得的每个对象子块的文本组合所得的字符数量,基于文本识别所得的每个对象子块的文本更新待识别对象的文本识别结果,避免了对空隙之后的文本的遗漏,保证了文本识别结果的完整性,提高了文本识别的准确性。
基于上述任一实施例,图6为本发明实施例提供的文本识别装置的结构示意图,如图6所示,该装置包括:
字符数量预测单元610,用于预测待识别对象的字符数量;
文本识别和统计单元620,用于对所述待识别对象进行文本识别,并统计所述文本识别所得的字符数量;
文本识别结果输出单元630,用于当预测所得的字符数量与统计所得的字符数量匹配时,输出所述待识别对象的文本识别结果。
本发明实施例提供的装置,通过预测待识别对象的字符数量,统计对待识别对象进行文本识别所得的字符数量,并判断预测所得的字符数量和统计所得的字符数量是否匹配,当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果,保证了文本识别结果的完整性,提高了文本识别的准确性。
基于上述任一实施例,该装置还包括:
统计字符数量更新单元,用于当所述预测所得的字符数量和所述统计所得的字符数量不匹配时,对所述待识别对象进行分块,得到多个对象子块;
对每个对象子块分别进行文本识别,将所述文本识别所得的每个对象子块的文本进行组合,并统计所述组合所得的字符数量。
基于上述任一实施例,该装置中,所述对所述待识别对象进行分块,包括:
计算所述待识别对象中相邻字符之间的间距,以位于间距最大的相邻字符之间的分割线对所述待识别对象进行分块。
基于上述任一实施例,文本识别和统计单元620用于:
应用文本识别模型,获取所述待识别对象的文本识别结果;
其中,所述文本识别模型用于基于所述待识别对象中各个字符的上下文关系进行文本识别。
基于上述任一实施例,文本识别和统计单元620包括:
对象特征编码子单元,用于应用所述文本识别模型的对象特征编码层,获取所述待识别对象中每一区域的对象特征编码;
上下文编码子单元,用于应用所述文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码;
解码子单元,用于应用所述文本识别模型的解码层,获取对应于当前解码时刻的解码状态和对象上下文编码,以及上一解码时刻的解码结果的当前解码时刻的解码结果;
其中,所述当前解码时刻的解码状态是基于当前解码时刻的对象上下文编码,以及上一解码时刻的解码状态和解码结果确定的;
所述文本识别结果为最终解码时刻的解码结果。
基于上述任一实施例,上下文编码子单元用于:
应用所述上下文编码层的注意力权重确定层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的每一区域对应的对象特征编码的注意力权重;
应用所述上下文编码层的融合编码层,获取对应于每一区域对应的对象特征编码及其注意力权重的当前解码时刻的对象上下文编码。
基于上述任一实施例,字符数量预测单元610用于:
应用字符统计模型,得到所述待识别对象的预测字符数量;
其中,所述字符统计模型用于对所述待识别对象的对象特征进行非线性映射编码,并基于编码后的特征进行字符统计。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行文本识别方法,该方法包括:预测待识别对象的字符数量;对待识别对象进行文本识别,并统计文本识别所得的字符数量;当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的文本识别方法,该方法包括:预测待识别对象的字符数量;对待识别对象进行文本识别,并统计文本识别所得的字符数量;当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文本识别方法,该方法包括:预测待识别对象的字符数量;对待识别对象进行文本识别,并统计文本识别所得的字符数量;当预测所得的字符数量与统计所得的字符数量匹配时,输出待识别对象的文本识别结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种文本识别方法,其特征在于,包括:
预测待识别对象的字符数量;
对所述待识别对象进行文本识别,并统计所述文本识别所得的字符数量;
当预测所得的字符数量与统计所得的字符数量匹配时,输出所述待识别对象的文本识别结果;
所述方法还包括:
当所述预测所得的字符数量和所述统计所得的字符数量不匹配时,对所述待识别对象进行分块,得到多个对象子块;
对每个对象子块分别进行文本识别,将所述文本识别所得的每个对象子块的文本进行组合,并统计所述组合所得的字符数量。
2.根据权利要求1所述的文本识别方法,其特征在于,所述对所述待识别对象进行分块,包括:
计算所述待识别对象中相邻字符之间的间距,以位于间距最大的相邻字符之间的分割线对所述待识别对象进行分块。
3.根据权利要求1或2所述的文本识别方法,其特征在于,所述对所述待识别对象进行文本识别包括:
应用文本识别模型,获取所述待识别对象的文本识别结果;
其中,所述文本识别模型用于基于所述待识别对象中各个字符的上下文关系进行文本识别。
4.根据权利要求3所述的文本识别方法,其特征在于,所述应用文本识别模型,获取所述待识别对象的文本识别结果,包括:
应用所述文本识别模型的对象特征编码层,获取所述待识别对象中每一区域的对象特征编码;
应用所述文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码;
应用所述文本识别模型的解码层,获取对应于当前解码时刻的解码状态和对象上下文编码,以及上一解码时刻的解码结果的当前解码时刻的解码结果;
其中,所述当前解码时刻的解码状态是基于当前解码时刻的对象上下文编码,以及上一解码时刻的解码状态和解码结果确定的;
所述文本识别结果为最终解码时刻的解码结果。
5.根据权利要求4所述的文本识别方法,其特征在于,所述应用所述文本识别模型的上下文编码层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的当前解码时刻的对象上下文编码,包括:
应用所述上下文编码层的注意力权重确定层,获取对应于每一区域的对象特征编码以及上一解码时刻的解码状态的每一区域对应的对象特征编码的注意力权重;
应用所述上下文编码层的融合编码层,获取对应于每一区域对应的对象特征编码及其注意力权重的当前解码时刻的对象上下文编码。
6.根据权利要求1或2所述的文本识别方法,其特征在于,所述预测待识别对象的字符数量,包括:
应用字符统计模型,得到所述待识别对象的预测字符数量;
其中,所述字符统计模型用于对所述待识别对象的对象特征进行非线性映射编码,并基于编码后的特征进行字符统计。
7.一种文本识别装置,其特征在于,包括:
字符数量预测单元,用于预测待识别对象的字符数量;
文本识别和统计单元,用于对所述待识别对象进行文本识别,并统计所述文本识别所得的字符数量;
文本识别结果输出单元,用于当预测所得的字符数量与统计所得的字符数量匹配时,输出所述待识别对象的文本识别结果;
所述装置还包括:
统计字符数量更新单元,用于当所述预测所得的字符数量和所述统计所得的字符数量不匹配时,对所述待识别对象进行分块,得到多个对象子块;
对每个对象子块分别进行文本识别,将所述文本识别所得的每个对象子块的文本进行组合,并统计所述组合所得的字符数量。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述文本识别方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述文本识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135016.5A CN112215236B (zh) | 2020-10-21 | 2020-10-21 | 文本识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135016.5A CN112215236B (zh) | 2020-10-21 | 2020-10-21 | 文本识别方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112215236A CN112215236A (zh) | 2021-01-12 |
CN112215236B true CN112215236B (zh) | 2024-04-16 |
Family
ID=74056277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011135016.5A Active CN112215236B (zh) | 2020-10-21 | 2020-10-21 | 文本识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112215236B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949476B (zh) * | 2021-03-01 | 2023-09-29 | 苏州美能华智能科技有限公司 | 基于图卷积神经网络的文本关系检测方法、装置及存储介质 |
CN113065432A (zh) * | 2021-03-23 | 2021-07-02 | 内蒙古工业大学 | 一种基于数据增强和ECA-Net的手写体蒙古文识别方法 |
CN113807340B (zh) * | 2021-09-07 | 2024-03-15 | 南京信息工程大学 | 一种基于注意力机制的不规则自然场景文本识别方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016041423A1 (zh) * | 2014-09-16 | 2016-03-24 | 科大讯飞股份有限公司 | 用于文字性客观题的智能阅卷方法及系统 |
CN105488508A (zh) * | 2015-12-01 | 2016-04-13 | 天津普达软件技术有限公司 | 一种制药软袋薄膜字符智能切分的方法 |
CN107403130A (zh) * | 2017-04-19 | 2017-11-28 | 北京粉笔未来科技有限公司 | 一种字符识别方法及字符识别装置 |
CN109614944A (zh) * | 2018-12-17 | 2019-04-12 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及可读存储介质 |
CN109740606A (zh) * | 2018-12-20 | 2019-05-10 | 上海众源网络有限公司 | 一种图像识别方法及装置 |
CN111291794A (zh) * | 2020-01-21 | 2020-06-16 | 上海眼控科技股份有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
CN111738105A (zh) * | 2020-06-04 | 2020-10-02 | 科大讯飞股份有限公司 | 公式识别方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565624B2 (en) * | 2006-06-30 | 2009-07-21 | Research In Motion Limited | Method of learning character segments during text input, and associated handheld electronic device |
US10949701B2 (en) * | 2018-11-02 | 2021-03-16 | Iflytek Co., Ltd. | Method, apparatus and storage medium for recognizing character |
-
2020
- 2020-10-21 CN CN202011135016.5A patent/CN112215236B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016041423A1 (zh) * | 2014-09-16 | 2016-03-24 | 科大讯飞股份有限公司 | 用于文字性客观题的智能阅卷方法及系统 |
CN105488508A (zh) * | 2015-12-01 | 2016-04-13 | 天津普达软件技术有限公司 | 一种制药软袋薄膜字符智能切分的方法 |
CN107403130A (zh) * | 2017-04-19 | 2017-11-28 | 北京粉笔未来科技有限公司 | 一种字符识别方法及字符识别装置 |
CN109614944A (zh) * | 2018-12-17 | 2019-04-12 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及可读存储介质 |
CN109740606A (zh) * | 2018-12-20 | 2019-05-10 | 上海众源网络有限公司 | 一种图像识别方法及装置 |
CN111291794A (zh) * | 2020-01-21 | 2020-06-16 | 上海眼控科技股份有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
CN111738105A (zh) * | 2020-06-04 | 2020-10-02 | 科大讯飞股份有限公司 | 公式识别方法、装置、电子设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
Grzegorz Chrupala等.Text Segmentation with character-level text embeddings.《Arxiv》.2013,全文. * |
Zimin Wu等.Chinese Text Segmentation for Text Retrieval:Achievement and Problem.《JASIST》.1993,全文. * |
刘喜军 ; 哈力木拉提・买买提 ; .印刷哈萨克斯拉夫粘连字符的切分方法.计算机工程与设计.2014,(第12期),全文. * |
黄泽涛.基于字符的文档图像方向矫正研究.《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》.2020,第2020卷(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112215236A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902622B (zh) | 一种用于登机牌信息验证的文字检测识别方法 | |
CN112215236B (zh) | 文本识别方法、装置、电子设备及存储介质 | |
CN111639646B (zh) | 一种基于深度学习的试卷手写英文字符识别方法及系统 | |
CN110647829A (zh) | 一种票据的文本识别方法及系统 | |
CN106951832B (zh) | 一种基于手写字符识别的验证方法及装置 | |
CN110598686B (zh) | 发票的识别方法、系统、电子设备和介质 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
CN110058838B (zh) | 语音控制方法、装置、计算机可读存储介质和计算机设备 | |
CN111428593A (zh) | 一种文字识别方法、装置、电子设备及存储介质 | |
US11568140B2 (en) | Optical character recognition using a combination of neural network models | |
CN116311214B (zh) | 车牌识别方法和装置 | |
CN112686134A (zh) | 手写识别方法、装置、电子设备和存储介质 | |
CN114021646A (zh) | 一种图像描述文本确定方法及其相关设备 | |
CN110414622B (zh) | 基于半监督学习的分类器训练方法及装置 | |
CN114639096A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN111126160B (zh) | 基于五笔输入法构建的智能汉字结构评价方法及系统 | |
CN112686263A (zh) | 文字识别方法、装置、电子设备及存储介质 | |
CN112307749A (zh) | 文本检错方法、装置、计算机设备和存储介质 | |
KR102026280B1 (ko) | 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템 | |
CN114092931B (zh) | 场景文字识别方法、装置、电子设备及存储介质 | |
CN115953744A (zh) | 一种基于深度学习的车辆识别追踪方法 | |
CN114707017A (zh) | 视觉问答方法、装置、电子设备和存储介质 | |
CN115984876A (zh) | 文本识别方法、装置、电子设备、车辆及存储介质 | |
CN115512340A (zh) | 基于图片的意图检测方法及装置 | |
CN115116074A (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 |