CN112541505A - 文本识别方法、装置以及计算机可读存储介质 - Google Patents
文本识别方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112541505A CN112541505A CN202011467319.7A CN202011467319A CN112541505A CN 112541505 A CN112541505 A CN 112541505A CN 202011467319 A CN202011467319 A CN 202011467319A CN 112541505 A CN112541505 A CN 112541505A
- Authority
- CN
- China
- Prior art keywords
- space
- character
- text
- text line
- point
- 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.)
- Granted
Links
Images
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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- 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
Abstract
本发明涉及文本识别技术领域,具体提供了一种文本识别方法,旨在解决如何准确识别文本中的空格的技术问题。为此目的,根据本发明实施例的方法,可以采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;对待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一空格切点位置左右相邻的两个字符位置;根据每一空格切点位置及其对应的左右相邻的两个字符位置,在文本信息的相应位置处插入空格,以形成识别后的文本;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。通过上述步骤,可以准确插入空格以形成识别后的文本,提高文本识别的精准度。
Description
技术领域
本发明涉及文本识别技术领域,具体涉及一种文本识别方法、装置以及计算机可读存储介质。
背景技术
图像中的文本信息作为其内容描述的一种形式,包含了十分丰富且重要的表达信息。采用文本这种高级语义形式,在对图像内容理解和索引方面,具有十分重要的价值。另外,对图像中的文字进行识别,将其转换为文本文字,从而减轻了用户输入对应文字信息的负担,方便用户存储、编辑对应的文字信息。
目前传统的文本识别方法通常采用OCR(Optical Character Recognition,光学字符识别)进行图像文本的识别,采用端到端的训练方式实现文本行整行识别,将单个字符作为基本元素,整行识别结果为识别字符的串接字符串,这种方法识别中文文本时的准确度较高,但是,由于英文文本中由单词构成句子时需要添加空格进行断句,而现有的文本识别方法并不能识别文本中空格的位置,导致识别后的文本没有断句或者断句不准确,文本识别的精准度低。
相应地,本领域需要一种新的文本识别方案来解决上述问题。
发明内容
为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决如何准确识别文本中的空格,以提高文本识别精准度的技术问题的文本识别方法、装置以及计算机可读存储介质。
第一方面,提供一种文本识别方法,所述文本识别方法包括:
采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;
对所述待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一所述空格切点位置左右相邻的两个字符位置;
根据每一所述空格切点位置及其对应的左右相邻的两个字符位置,在所述文本信息的相应位置处插入空格,以形成识别后的文本;
其中,所述空格切点位置是在所述待识别文本行图像中空格与字符交界处的位置。
在上述文本识别方法的一个技术方案中,所述文本识别方法还包括:
计算所述空格切点位置与所述两个字符位置之间的间距;
根据所述间距判断所述两个字符位置之间是否存在空格;
根据判断结果选择性地在所述文本信息中的相应位置处插入空格。
在上述文本识别方法的一个技术方案中,所述空格切点位置包括左空格切点位置和/或右空格切点位置,所述左空格切点位置是所述空格与所述文本信息的左侧交界处的位置,所述右空格切点位置是所述空格与所述文本信息的右侧交界处的位置;
“根据所述间距判断所述两个字符位置之间是否存在空格”的步骤具体包括:
获取所述左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取所述左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若所述第一左侧间距与所述第一右侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格;
并且/或者,
获取所述右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取所述右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若所述第二右侧间距与所述第二左侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格。
在上述文本识别方法的一个技术方案中,所述预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;
所述文本行图像样本的标注信息包括将所述文本行图像样本均分为多个图像区域后,每个所述图像区域各自对应的区域索引号、第一标注信息和第二标注信息;
每个所述第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,所述第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,所述第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,所述第三子标注值的取值取决于相应的图像区域内是否存在字符切点;
每个所述第二标注信息包括按照所述预设顺序排序的第四子标注值、第五子标注值和第六子标注值,所述第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在所述图像区域内的归一化位置,所述第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在所述图像区域内的归一化位置,所述第六子标注值的取值取决于在相应的图像区域内存在的字符切点在所述图像区域内的归一化位置;
其中,所述左空格切点是根据所述文本行图像样本中空格与字符的左侧交界确定的,所述右空格切点是根据所述文本行图像样本中空格与字符的右侧交界确定的,所述字符切点是根据所述文本行图像样本中字符的边界确定的。
在上述文本识别方法的一个技术方案中,所述预设的空格识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述文本行图像样本以及相应的标注信息,计算所述空格识别模型的损失值:
所述切点预测结果包括所述第i个文本行图像样本的每个图像区域分别被预测为存在空格切点时的空格回归值与所述空格切点的归一化位置,以及所述每个图像区域分别被预测为存在字符切点时的字符回归值与所述字符切点的归一化位置;其中,所述空格回归值与所述图像区域被预测为存在空格切点时的预测概率成正相关关系,所述字符回归值与所述图像区域被预测为存在字符切点时的预测概率成正相关关系;
根据所述损失值计算所述空格识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述空格识别模型的模型参数进行模型优化,以完成训练。
在上述文本识别方法的一个技术方案中,所述文本行图像样本以及每个文本行图像样本的标注信息是通过下列方式获取到的:
随机生成文本行信息,所述文本行信息中的字符包括英文字母
在所述文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,所述预设间隔类型包括第一间隔类型和第二间隔类型,所述第一间隔类型的间隔长度小于所述第二间隔类型的间隔长度;
根据所述随机设置字符间隔后的文本行信息生成初始的文本行图像样本;
将所述文本行信息中的字符作为普通字符,将所述文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个所述普通字符标注普通字符位置框,以及分别为每个所述特殊字符标注特殊字符位置框;
根据标注所述普通字符位置框与所述特殊字符位置框后的文本行信息生成初始的文本行图像样本;
对所述初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本;
按照预设的图像截取比例以及随机的滑动步长,在所述最终的文本行图像样本上滑动截取多个文本行图像片段;
根据每个所述文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成所述最终的文本行图像样本的标注信息。
在上述文本识别方法的一个技术方案中,所述方法还包括通过下列方式进行空格切点标注:
获取所述文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框;
获取所述待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的右空格切点;
获取所述待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的左空格切点;
删除与所述文本行图像片段的边界间距小于等于预设间距阈值的所述初始的右空格切点与所述初始的左空格切点,以形成最终的右空格切点与最终的左空格切点;
并且/或者,
所述方法包括通过下列方式进行字符切点标注:
获取当前待分析普通字符位置框的第一位置框长度,以及与所述当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度;
若所述第一位置框长度与所述第二位置框长度均大于等于预设的长度阈值,则获取所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的中点位置,在所述中点位置处标注字符切点;
若所述第一位置框长度与所述第二位置框长度均小于所述预设的长度阈值,则不在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间标注字符切点;
若所述第一位置框长度和所述第二位置框长度中一个位置框长度大于等于所述预设的长度阈值且另一个位置框长度小于所述预设的长度阈值,则在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的交界处标注字符切点;
并且/或者,
“生成所述最终的文本行图像样本的标注信息”的步骤具体包括:
将所述最终的文本行图像样本均分为多个图像区域并且分别为每个所述图像区域分配区域索引号;
根据所述最终的右空格切点、所述最终的左空格切点与所述字符切点的位置,获取位于所述图像区域内的所述最终的右空格切点、所述最终的左空格切点与所述字符切点并作为待处理切点;
分别计算每个所述待处理切点在所述图像区域内的归一化位置;
根据所述图像区域的区域索引号以及每个所述待处理切点的归一化位置,生成所述最终的文本行图像样本的标注信息。
在上述文本识别方法的一个技术方案中,“分别计算每个所述待处理切点在所述图像区域内的归一化位置”的步骤具体包括:
根据下列公式所示的方法计算每个所述待处理切点在所述图像区域内的归一化位置:
normxk=(xk-gk×gridwidth)/gridwidth
其中,所述xk表示所述最终的文本行图像样本中第k个待处理切点在所述最终的文本行图像样本上的位置,所述normxk表示所述第k个待处理切点在其落入的图像区域内的归一化位置,所述gk表示所述图像区域的区域索引号,所述gridwidth表示所述图像区域的长度;
gridwidth=imgwidth/m1,所述imgwidth表示所述最终的文本行图像样本的长度,所述m1表示将所述最终的文本行图像样本均分形成的图像区域的总数;gk=rounddown(xk/gridwidth),所述rounddown表示向下取整函数。
在上述文本识别方法的一个技术方案中,“采用预设的空格识别模型获取待识别文本行图像中空格的空格切点位置”的步骤具体包括:
将所述待识别文本行图像均分形成多个图像区域;
采用所述预设的空格识别模型对每个图像区域分别进行切点识别;
根据切点识别的结果,获取识别到的所述待识别文本行图像中左空格切点和右空格切点的归一化位置;
根据所述归一化位置并且按照下式所示的方法,分别获取所述左空格切点和右空格切点在所述待识别文本行图像中的左空格切点位置与右空格切点位置:
Xj=(qj+pj)×(imgwidthtxt/m2)
其中,所述Xj表示第j个待计算切点在所述待识别文本行图像中的切点位置,所述pj表示所述第j个待计算切点的归一化位置,所述qj表示所述第j个待计算切点落入的图像区域的区域索引号,所述imgwidthtxt表示所述待识别文本行图像的长度,所述m2表示将所述待识别文本行图像均分形成的图像区域的总数;
当所述第j个待计算切点是左空格切点时,所述切点位置Xj是左空格切点位置;当所述第j个待计算切点是右空格切点时,所述切点位置Xj是右空格切点位置。
第二方面,提供一种文本识别装置,所述文本识别装置包括:
空格切点位置获取模块,其被配置成采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;
文本识别模块,其被配置成对所述待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一所述空格切点位置左右相邻的两个字符位置;
文本生成模块,其被配置成根据每一所述空格切点位置及其对应的左右相邻的两个字符位置,在所述文本信息的相应位置处插入空格,以形成识别后的文本;
其中,所述空格切点位置是在所述待识别文本行图像中空格与字符交界处的位置。
在上述文本识别装置的一个技术方案中,所述文本生成模块还被配置成执行以下操作:
计算所述空格切点位置与所述两个字符位置之间的间距;
根据所述间距判断所述两个字符位置之间是否存在空格;
根据判断结果选择性地在所述文本信息中的相应位置处插入空格。
在上述文本识别装置的一个技术方案中,所述空格切点位置包括左空格切点位置和/或右空格切点位置,所述左空格切点位置是所述空格与所述文本信息的左侧交界处的位置,所述右空格切点位置是所述空格与所述文本信息的右侧交界处的位置;
所述文本生成模块还被配置成执行以下操作:
获取所述左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取所述左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若所述第一左侧间距与所述第一右侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格;
并且/或者,
获取所述右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取所述右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若所述第二右侧间距与所述第二左侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
所述预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;
所述文本行图像样本的标注信息包括将所述文本行图像样本均分为多个图像区域后,每个所述图像区域各自对应的区域索引号、第一标注信息和第二标注信息;
每个所述第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,所述第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,所述第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,所述第三子标注值的取值取决于相应的图像区域内是否存在字符切点;
每个所述第二标注信息包括按照所述预设顺序排序的第四子标注值、第五子标注值和第六子标注值,所述第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在所述图像区域内的归一化位置,所述第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在所述图像区域内的归一化位置,所述第六子标注值的取值取决于在相应的图像区域内存在的字符切点在所述图像区域内的归一化位置;
其中,所述左空格切点是根据所述文本行图像样本中空格与字符的左侧交界确定的,所述右空格切点是根据所述文本行图像样本中空格与字符的右侧交界确定的,所述字符切点是根据所述文本行图像样本中字符的边界确定的。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
利用下式所示的损失函数L并且根据所述文本行图像样本以及相应的标注信息,计算所述空格识别模型的损失值:
所述切点预测结果包括所述第i个文本行图像样本的每个图像区域分别被预测为存在空格切点时的空格回归值与所述空格切点的归一化位置,以及所述每个图像区域分别被预测为存在字符切点时的字符回归值与所述字符切点的归一化位置;其中,所述空格回归值与所述图像区域被预测为存在空格切点时的预测概率成正相关关系,所述字符回归值与所述图像区域被预测为存在字符切点时的预测概率成正相关关系;
根据所述损失值计算所述空格识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述空格识别模型的模型参数进行模型优化,以完成训练。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
随机生成文本行信息,所述文本行信息中的字符包括英文字母;
在所述文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,所述预设间隔类型包括第一间隔类型和第二间隔类型,所述第一间隔类型的间隔长度小于所述第二间隔类型的间隔长度;
根据所述随机设置字符间隔后的文本行信息生成初始的文本行图像样本;
将所述文本行信息中的字符作为普通字符,将所述文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个所述普通字符标注普通字符位置框,以及分别为每个所述特殊字符标注特殊字符位置框;
根据标注所述普通字符位置框与所述特殊字符位置框后的文本行信息生成初始的文本行图像样本;
对所述初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本;
按照预设的图像截取比例以及随机的滑动步长,在所述最终的文本行图像样本上滑动截取多个文本行图像片段;
根据每个所述文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成所述最终的文本行图像样本的标注信息。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
获取所述文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框;
获取所述待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的右空格切点;
获取所述待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的左空格切点;
删除与所述文本行图像片段的边界间距小于等于预设间距阈值的所述初始的右空格切点与所述初始的左空格切点,以形成最终的右空格切点与最终的左空格切点;
并且/或者,
所述方法包括通过下列方式进行字符切点标注:
获取当前待分析普通字符位置框的第一位置框长度,以及与所述当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度;
若所述第一位置框长度与所述第二位置框长度均大于等于预设的长度阈值,则获取所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的中点位置,在所述中点位置处标注字符切点;
若所述第一位置框长度与所述第二位置框长度均小于所述预设的长度阈值,则不在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间标注字符切点;
若所述第一位置框长度和所述第二位置框长度中一个位置框长度大于等于所述预设的长度阈值且另一个位置框长度小于所述预设的长度阈值,则在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的交界处标注字符切点;
并且/或者,
“生成所述最终的文本行图像样本的标注信息”的步骤具体包括:
将所述最终的文本行图像样本均分为多个图像区域并且分别为每个所述图像区域分配区域索引号;
根据所述最终的右空格切点、所述最终的左空格切点与所述字符切点的位置,获取位于所述图像区域内的所述最终的右空格切点、所述最终的左空格切点与所述字符切点并作为待处理切点;
分别计算每个所述待处理切点在所述图像区域内的归一化位置;
根据所述图像区域的区域索引号以及每个所述待处理切点的归一化位置,生成所述最终的文本行图像样本的标注信息。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
根据下列公式所示的方法计算每个所述待处理切点在所述图像区域内的归一化位置:
normxk=(xk-gk×gridwidth)/gridwidth
其中,所述xk表示所述最终的文本行图像样本中第k个待处理切点在所述最终的文本行图像样本上的位置,所述normxk表示所述第k个待处理切点在其落入的图像区域内的归一化位置,所述gk表示所述图像区域的区域索引号,所述gridwidth表示所述图像区域的长度;
gridwidth=imgwidth/m1,所述imgwidth表示所述最终的文本行图像样本的长度,所述m1表示将所述最终的文本行图像样本均分形成的图像区域的总数;gk=rounddown(xk/gridwidth),所述rounddown表示向下取整函数。
在上述文本识别装置的一个技术方案中,所述空格切点位置获取模块还被配置成执行以下操作:
将所述待识别文本行图像均分形成多个图像区域;
采用所述预设的空格识别模型对每个图像区域分别进行切点识别;
根据切点识别的结果,获取识别到的所述待识别文本行图像中左空格切点和右空格切点的归一化位置;
根据所述归一化位置并且按照下式所示的方法,分别获取所述左空格切点和右空格切点在所述待识别文本行图像中的左空格切点位置与右空格切点位置:
Xj=(qj+pj)×(imgwidthtxt/m2)
其中,所述Xj表示第j个待计算切点在所述待识别文本行图像中的切点位置,所述pj表示所述第j个待计算切点的归一化位置,所述qj表示所述第j个待计算切点落入的图像区域的区域索引号,所述imgwidthtxt表示所述待识别文本行图像的长度,所述m2表示将所述待识别文本行图像均分形成的图像区域的总数;
当所述第j个待计算切点是左空格切点时,所述切点位置Xj是左空格切点位置;当所述第j个待计算切点是右空格切点时,所述切点位置Xj是右空格切点位置。
第三方面,提供一种文本识别装置,该文本识别装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述任一项技术方案所述的文本识别方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述任一项技术方案所述的文本识别方法。
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
在实施本发明的技术方案中,采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;对待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一空格切点位置左右相邻的两个字符位置;根据每一空格切点位置及其对应的左右相邻的两个字符位置,在文本信息的相应位置处插入空格,以形成识别后的文本;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。通过这样的设置,可以获取识别文本行图像中空格的空格切点位置,并且根据空格切点位置将空格准确地插入识别出的文本信息的相应位置处形成识别后的文本,使得识别后的文本能够准确断句,提高文本识别的精准度。
进一步,在得到预设的空格识别模型时,不仅对文本行图像样本中的左空格切点和右空格切点进行标注,还对文本行图像样本中的字符切点进行标注,使预设的空格识别模型能够学习到识别左空格切点、右空格切点和字符切点的能力,避免空格识别模型错误地将字符切点识别为空格切点,进一步提高了空格识别模型识别空格切点位置的精准度。
附图说明
下面参照附图来描述本发明的具体实施方式,附图中:
图1是根据本发明的一个实施例的文本识别方法的主要步骤流程示意图;
图2是根据本发明的一个实施例的标注示意图
图3是根据本发明的一个实施例的空格切点位置和字符位置示意图;
图4是根据本发明的一个实施例的文本识别装置的主要结构框图。
附图标记列表:
11:空格切点位置获取模块;12:文本识别模块;13:文本生成模块。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
目前传统的文本识别方法通常采用OCR(Optical Character Recognition,光学字符识别)进行图像文本的识别,采用端到端的训练方式实现文本行整行识别,将单个字符作为基本元素,整行识别结果为识别字符的串接字符串,这种方法识别中文文本时的准确度较高,但是,由于英文文本中由单词构成句子时需要添加空格进行断句,而现有的文本识别方法并不能准确识别文本中空格的位置,导致识别文本没有断句或者断句不准确,文本识别的精准度低。
在本发明实施例中,可以采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;对待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一空格切点位置左右相邻的两个字符位置;根据每一空格切点位置及其对应的左右相邻的两个字符位置,在文本信息的相应位置处插入空格,以形成识别后的文本;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。通过这样的设置,可以获取识别文本行图像中空格的空格切点位置,并且根据空格切点位置将空格准确地插入识别出的文本信息的相应位置处形成识别后的文本,完全克服了现有的文本识别方法不能识别文本中空格的位置,导致文本识别的精准度低的缺陷,使得识别后的文本能够准确断句,提高了文本识别的精准度。
在上述文本识别方法中,在得到预设的空格识别模型时,不仅对文本行图像样本中的左空格切点和右空格切点进行标注,还对文本行图像样本中的字符切点进行标注,使预设的空格识别模型能够学习到识别左空格切点、右空格切点和字符切点的能力,避免空格识别模型错误地将字符切点识别为空格切点,进一步提高了空格识别模型识别空格切点位置的精准度。
在本发明的一个应用场景中,某单位想要识别一张英文文献图像中的英文文本,可以将英文文献图像输入至安装了根据本发明的一个实施例的文本识别装置的计算机设备中,以便该计算机设备能够利用这个文本识别装置识别英文文献图像中的英文文本,在识别完成后计算机设备可以通过屏幕显示识别出的英文文本,或者将识别出的英文文本加载至Microsoft Office Word软件中进行显示。
参阅附图1,图1是根据本发明的一个实施例的文本识别方法的主要步骤流程示意图。如图1所示,本发明实施例中的文本识别方法主要包括以下步骤:
步骤S101:采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。
在本实施例中,文本信息可以包括英文字母,也可以包括英文字母和数字等其他语言的字符。
一个实施方式中,预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;文本行图像样本的标注信息包括将文本行图像样本均分为多个图像区域后,每个图像区域各自对应的区域索引号、第一标注信息和第二标注信息;每个第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,第三子标注值的取值取决于相应的图像区域内是否存在字符切点;每个第二标注信息包括按照预设顺序排序的第四子标注值、第五子标注值和第六子标注值,第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在图像区域内的归一化位置,第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在图像区域内的归一化位置,第六子标注值的取值取决于在相应的图像区域内存在的字符切点在图像区域内的归一化位置;其中,左空格切点是根据文本行图像样本中空格与字符的左侧交界确定的,右空格切点是根据文本行图像样本中空格与字符的右侧交界确定的,字符切点是根据文本行图像样本中字符的边界确定的。在本实施方式中,通过对左空格切点、右空格切点和字符切点进行标注生成标注信息,使预设的空格识别模型能够学习到识别左空格切点、右空格切点和字符切点的能力,避免空格识别模型错误地将字符切点识别为空格切点,提高了空格识别模型识别空格切点位置的精准度;此外,通过将标注信息细分为区域索引号、第一标注信息(取决于相应的图像区域内是否存在切点)和第二标注信息(取决于在相应的图像区域内存在的切点在图像区域内的归一化位置),进一步提高了空格识别模型识别空格切点位置的精准度。
在本实施方式中,预设顺序可以是从左到右,也可以是从上到下,第一子标注值、第二子标注值和第三子标注值的排列顺序与第四子标注值、第五子标注值和第六子标注值的排列顺序相同,如果第一子标注值、第二子标注值和第三子标注值按照从左到右的顺序排列,那么第四子标注值、第五子标注值和第六子标注值也按照从左到右的顺序排列,第一标注信息和第二标注信息排列成二行三列,如果按照从上到下的顺序排列,那么第一标注信息和第二标注信息排列成三行二列。如果相应的图像区域内存在左空格切点,那么第一子标注值为1,如果不存在,那么第一子标注值为0,第二子标注值和第三子标注值也是同样的设置。第四子标注值、第五子标注值和第六子标注值均是[0,1]之间的小数。
一个实施方式中,预设的空格识别模型是通过下列方式训练得到的:
利用公式(1)所示的损失函数L并且根据文本行图像样本以及相应的标注信息,计算空格识别模型的损失值:
其中,yi表示第i个文本行图像样本的标注信息,表示空格识别模型根据第i个文本行图像样本及其标注信息输出的切点预测结果,i=1,2,...n;切点预测结果包括第i个文本行图像样本的每个图像区域分别被预测为存在空格切点时的空格回归值与空格切点的归一化位置,以及每个图像区域分别被预测为存在字符切点时的字符回归值与字符切点的归一化位置;其中,空格回归值与图像区域被预测为存在空格切点时的预测概率成正相关关系,字符回归值与图像区域被预测为存在字符切点时的预测概率成正相关关系,即空格回归值越大则表明图像区域被预测为存在空格切点时的预测概率越大,字符回归值越大则表明图像区域被预测为存在字符切点时的预测概率越大。
根据损失值计算空格识别模型中每个模型参数各自对应的梯度,并且根据梯度反向传播更新空格识别模型的模型参数进行模型优化,以完成训练。
在本实施方式中,在本实施方式中,可以采用机器学习技术领域中常规的分类模型进行模型训练得到预设的空格识别模型。分类模型包括但不限于:基于神经网络的分类模型。
在本实施方式中,空格回归值与图像区域被预测为存在空格切点时的预测概率成正相关关系,例如,空格识别模型输出的空格回归值为0.6,而预设的回归阈值为0.4,则空格回归值为0.6表示在回归阈值为0.4的情况下该图像区域存在空格切点的概率很大(例如0.95,具体的概率值可以根据实验得出),本领域技术人员可以根据实际灵活设置回归阈值。一个实施方式中,预设的回归阈值可以是在对空格识别模型进行模型训练之后利用验证集对该模型进行模型验证得到的阈值,这个阈值能够表示空格识别模型预测到的存在切点的可信程度。需要说明的是,在本实施方式中可以利用机器学习技术领域中常规的模型验证方法对空格识别模型进行模型验证,为了描述简洁,在此不再赘述。
一个实施方式中,文本行图像样本以及每个文本行图像样本的标注信息是通过下列方式获取到的:
步骤S1:随机生成文本行信息,文本行信息中的字符包括英文字母。
步骤S2:在文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,预设间隔类型包括第一间隔类型和第二间隔类型,第一间隔类型的间隔长度小于第二间隔类型的间隔长度。
步骤S3:将文本行信息中的字符作为普通字符,将文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个普通字符标注普通字符位置框,以及分别为每个特殊字符标注特殊字符位置框。
步骤S4:根据标注普通字符位置框与特殊字符位置框后的文本行信息生成初始的文本行图像样本。
步骤S5:对初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本。
步骤S6:按照预设的图像截取比例以及随机的滑动步长,在最终的文本行图像样本上滑动截取多个文本行图像片段。
步骤S7:根据每个文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成最终的文本行图像样本的标注信息。
在本实施方式中,通过上述步骤S1-S4,生成初始的文本行图像样本,模拟真实文本图像的各种情况,通过上述步骤S5对初始的文本行图像样本进行数据增强处理,进一步模拟真实文本图像的各种情况,扩大图像样本的数量,提高模型训练的准确度。
在本实施方式中,在步骤S2中,通过间隔长度较小的第一间隔类型的字符间隔模拟相邻字符之间的正常间隔(相邻字符之间没有空格时的间隔),通过间隔长度较大的第二间隔类型的字符间隔模拟单词之间的空格。在步骤S4中,可以采用常规的字符检测方法对初始的文本行图像样本进行字符检测,例如,光学字符识别(Optical CharacterRecognition,OCR)、场景文字识别(Scene Text Recognition,STR)等字符检测方法。在步骤S5中,可以采用浮雕、模糊、噪点、孔洞等方法对初始的文本行图像样本进行数据增强处理,需要注意的是,此处采用的数据增强不能改变初始的文本行图像样本中的位置框,例如,不能采用旋转、缩放等方法进行数据增强,避免改变位置框而影响步骤S7中根据位置框生成标注信息。在步骤S6中,预设的图像截取比例可以是3:1的长宽比,也可以是4:1的长宽比,或者是其他比例,本领域技术人员可以根据实际灵活设置;滑动步长可以是5个像素点,也可以是10个像素点,或者是其他,本领域技术人员可以根据实际灵活设置;截取到的文本行图像片段可以在水平方向和/或竖直方向进行随机的外扩,也可以在水平方向和/或竖直方向进行随机的内缩,以模拟真实文本图像中文字上下空白较多、文字被少量截断缺失、文字被拉伸压缩等多种情形,外扩和内缩的比例可以相同也可以不同,本领域技术人员可以根据实际灵活设置。
一个实施方式中,上述步骤S7中进行空格切点标注的步骤具体包括:
步骤11:获取文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框。
步骤12:获取待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在位置处标注初始的右空格切点。
步骤13:获取待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在位置处标注初始的左空格切点。
步骤14:删除与文本行图像片段的边界间距小于等于预设间距阈值的初始的右空格切点与初始的左空格切点,以形成最终的右空格切点与最终的左空格切点,即删除位于文本行图像片段的边缘处的初始的右空格切点与初始的左空格切点。
在本实施方式中,通过删除位于文本行图像片段的边缘处的初始的右空格切点与初始的左空格切点,进一步提高空格切点位置识别的精准度。
一个实施方式中,上述步骤S7中进行字符切点标注的步骤具体包括:
获取当前待分析普通字符位置框的第一位置框长度,以及与当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度。
若第一位置框长度与第二位置框长度均大于等于预设的长度阈值,表明这两个位置框对应的字符均是宽度较大的字符,如英文字母a、b等,则获取当前待分析普通字符位置框以及其他待分析普通字符位置框之间的中点位置,在中点位置处标注字符切点;
若第一位置框长度与第二位置框长度均小于预设的长度阈值,表明这两个位置框对应的字符均是宽度较小的字符,如英文字母i、l等,则不在当前待分析普通字符位置框以及其他待分析普通字符位置框之间标注字符切点;
若第一位置框长度和第二位置框长度中一个位置框长度大于等于预设的长度阈值且另一个位置框长度小于预设的长度阈值,表明这两个位置框对应的字符一个是上述宽度较大的字符,一个是上述宽度较小的字符,则在当前待分析普通字符位置框以及其他待分析普通字符位置框之间的交界处标注字符切点。
在本实施方式中,由于某些英文字母比较细长(例如字母i、l、j以及某些字体格式时的字母L),如果在这些字母之间标注字符切点可能会对训练结果造成影响,导致模型识别的精准度降低,因此,本发明通过比较位置框长度是否大于等于预设的长度阈值使得比较细长的字母之间不进行标注,进一步模型识别的精准度。
在本实施方式中,如图2所示,图2表示标注示意图,图中1-5和7表示待分析普通字符位置框,6表示待分析特殊字符位置框,a、b表示字符切点,c表示最终的右空格切点,d表示最终的左空格切点。进行空格切点标注和字符切点标注时,在待分析特殊字符位置框6以及与其左侧相邻的待分析普通字符位置框5之间的位置处标注初始的右空格切点,在待分析特殊字符位置框6以及与其右侧相邻的待分析普通字符位置框7之间的位置处标注初始的左空格切点,由于该初始的右空格切点和初始的右空格切点位于文本行图像片段的中部(没有处于文本行图像片段的边缘处),则将该初始的右空格切点标注为最终的右空格切点c,则将该初始的左空格切点标注为最终的左空格切点d。由于待分析普通字符位置框1和2的长度均大于预设的长度阈值,则在待分析普通字符位置框1和2的中点位置处标注字符切点a;由于待分析普通字符位置框2的长度大于预设的长度阈值而待分析普通字符位置框3的长度小于预设的长度阈值,则在待分析普通字符位置框2和3之间的交界处标注字符切点b;待分析普通字符位置框3和4的长度均小于预设的长度阈值,则待分析普通字符位置框2和3之间不进行标注。
一个实施方式中,上述步骤S7中“生成最终的文本行图像样本的标注信息”的步骤具体包括:
步骤41:将最终的文本行图像样本均分为多个图像区域并且分别为每个图像区域分配区域索引号。
步骤42:根据最终的右空格切点、最终的左空格切点与字符切点的位置,获取位于图像区域内的最终的右空格切点、最终的左空格切点与字符切点并作为待处理切点。
步骤43:分别计算每个待处理切点在图像区域内的归一化位置。
步骤44:根据图像区域的区域索引号以及每个待处理切点的归一化位置,生成最终的文本行图像样本的标注信息。
一个实施方式中,上述步骤43具体包括:根据公式(2)所示的方法计算每个待处理切点在图像区域内的归一化位置:
normxk=(xk-gk×gridwidth)/gridwidth(2)
其中,xk表示最终的文本行图像样本中第k个待处理切点在最终的文本行图像样本上的位置,normxk表示第k个待处理切点在其落入的图像区域内的归一化位置,gk表示图像区域的区域索引号,gridwidth表示图像区域的长度;
gridwidth=imgwidth/m1,imgwidth表示最终的文本行图像样本的长度,m1表示将最终的文本行图像样本均分形成的图像区域的总数;gk=rounddown(xk/gridwidth),rounddown表示向下取整函数。
在本实施方式中,若最终的文本行图像样本的长度是120,将最终的文本行图像样本均分为20个图像区域,每个图像区域的长度是6,某个待处理切点在最终的文本行图像样本中的位置是15,则该待处理切点所在的图像区域的区域索引号是该待处理切点在其落入的图像区域内的归一化位置是(15-2×6)/6=0.5。
一个实施方式中,“采用预设的空格识别模型获取待识别文本行图像中空格的空格切点位置”的步骤具体包括:
步骤S11:将待识别文本行图像均分形成多个图像区域。
步骤S12:采用预设的空格识别模型对每个图像区域分别进行切点识别。
步骤S13:根据切点识别的结果,获取识别到的待识别文本行图像中左空格切点和右空格切点的归一化位置。
步骤S14:根据归一化位置并且按照公式(3)所示的方法,分别获取左空格切点和右空格切点在待识别文本行图像中的左空格切点位置与右空格切点位置:
Xj=(qj+pj)×(imgwidthtxt/m2) (3)
其中,Xj表示第j个待计算切点在待识别文本行图像中的切点位置,pj表示第j个待计算切点的归一化位置,qj表示第j个待计算切点落入的图像区域的区域索引号,imgwidthtxt表示待识别文本行图像的长度,m2表示将待识别文本行图像均分形成的图像区域的总数;
当第j个待计算切点是左空格切点时,切点位置Xj是左空格切点位置;当第j个待计算切点是右空格切点时,切点位置Xj是右空格切点位置。
在本实施方式中,若预设的空格识别模型对某个图像区域进行切点识别后输出的切点预测结果中的空格回归值大于预设的回归阈值,则认为该图像区域中存在空格切点的概率很大,则获取该空格切点的归一化位置按照上述公式(3)所述的方法计算得到该空格切点在待识别文本行图像中空格切点位置;若空格回归值不大于预设的回归阈值,则认为该图像区域中存在空格切点的概率较小,则不进行计算。
在本实施方式中,采用预设的空格识别模型对每个图像区域分别进行切点识别后输出切点预测结果,因为文本行图像样本的每个图像区域标注信息中的第一子标注值、第二子标注值和第三子标注值以及第四子标注值、第五子标注值和第六子标注值是按照预设顺序排列的,则在输出切点预测结果后也将待识别文本行图像中每个图像区域的空格回归值和空格切点的归一化位置以及字符回归值和字符切点的归一化位置按照预设顺序依次排列,例如,若将第一子标注值、第二子标注值和第三子标注值以及第四子标注值、第五子标注值和第六子标注值按照从左到右的顺序排列成二行三列,那么左空格切点回归值、右空格切点回归值和字符切点回归值以及左空格切点的归一化位置、右空格切点的归一化位置和字符切点的归一化位置也按照从左到右的顺序排列成多个二行三列,由于本发明只需要获取待识别文本行图像中左空格切点和右空格切点的归一化位置,则只需要获取前两列中的归一化位置,按照该方法依次提取即可得到待识别文本行图像中每个图像区域的左空格切点和右空格切点的归一化位置。
在本实施方式中,若待计算切点的归一化位置为0.5,图像区域的区域索引号为2,待识别文本行图像的长度为120,将待识别文本行图像均分形成的图像区域的总数为20,则待计算切点在待识别文本行图像中的切点位置是
步骤S102:对待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一空格切点位置左右相邻的两个字符位置。
在本实施例中,可以利用训练好的文本识别模型识别对待识别文本行图像进行文本识别,在一个可能的实施方式中,文本识别模型包括特征提取模型和识别概率模型,特征提取模型能够提取待识别文本图像的特征得到多个特征图像,识别概率模型能够确定每一特征图像对应于预先定义的每一字符的概率值以及字符位置,特征提取模型为利用卷积神经网络(Convolutional Neural Network,CNN)根据预先生成的训练图像样本进行训练得到的,识别概率模型为利用循环神经网络(Recurrent Neural Networks,RNNs)根据训练图像样本进行训练得到的。
步骤S103:根据每一空格切点位置及其对应的左右相邻的两个字符位置,在文本信息的相应位置处插入空格,以形成识别后的文本。
一个实施方式中,本发明的文本识别方法还包括:计算空格切点位置与两个字符位置之间的间距;根据间距判断两个字符位置之间是否存在空格;根据判断结果选择性地在文本信息中的相应位置处插入空格。
一个实施方式中,空格切点位置包括左空格切点位置和/或右空格切点位置,左空格切点位置是空格与文本信息的左侧交界处的位置,右空格切点位置是空格与文本信息的右侧交界处的位置;“根据间距判断两个字符位置之间是否存在空格”的步骤具体可以包括:获取左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若第一左侧间距与第一右侧间距的比值大于等于预设的比值阈值,则判定两个字符位置之间存在空格;并且/或者,获取右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若第二右侧间距与第二左侧间距的比值大于等于预设的比值阈值,则判定两个字符位置之间存在空格。在本实施方式中,通过判断空格切点位置以及与其左右两侧相邻的字符位置之间的间距的比值是否大于等于预设的比值阈值,即可判断与其左右两侧相邻的字符之间是否存在空格,提高空格插入的准确性,使得形成的识别文本能够准确断句。
在本实施方式中,可以仅获取左空格切点位置作为空格切点位置来判断是否插入空格,也可以仅获取右空格切点位置作为空格切点位置来判断是否插入空格,或者同时获取左空格切点位置和右空格切点位置作为空格切点位置来判断是否插入空格,同时获取左空格切点位置和右空格切点位置作为空格切点位置时,在相同位置插入的两个空格进行合并。如图3所示,图3表示空格切点位置和字符位置示意图,图中A表示右空格切点位置,B表示左空格切点位置,C表示与空格位置左侧相邻的字符位置,D表示与空格位置右侧相邻的字符位置,利用左空格切点位置B进行判断时,左空格切点位置B以及与其左侧相邻的字符位置C之间的第一左侧间距是BC,左空格切点位置B以及与其右侧相邻的字符位置D之间的第一右侧间距是BD,由于BC与BD的比值大于等于预设的比值阈值,则判定两个字符位置C和D之间存在空格;利用右空格切点位置A进行判断时,右空格切点位置A以及与其右侧相邻的字符位置D之间的第二右侧间距是AD,右空格切点位置A以及与其左侧相邻的字符位置C之间的第二左侧间距是AC,由于AD与AC的比值大于等于预设的比值阈值,则判定两个字符位置C和D之间存在空格。
在本发明实施例中,采用预设的空格识别模型获取待识别文本行图像中空格的空格切点位置;对待识别文本行图像进行文本识别,以获取待识别文本行图像中的文本信息以及文本信息中每个字符的字符位置;分别获取与空格切点位置左右相邻的两个字符位置,并且分别计算空格切点位置与两个字符位置之间的间距;根据间距判断两个字符位置之间是否存在空格;根据判断结果选择性地在文本信息中的相应位置处插入空格,以形成识别后的文本;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。通过这样的设置,可以获取识别文本行图像中空格的空格切点位置,并且根据空格切点位置将空格准确地插入识别后的文本信息中形成识别后的文本,使得识别后的文本能够准确断句,提高文本识别的精准度。进一步,在得到预设的空格识别模型时,不仅对文本行图像样本中的左空格切点和右空格切点进行标注,还对文本行图像样本中的字符切点进行标注,使预设的空格识别模型能够学习到识别左空格切点、右空格切点和字符切点的能力,避免空格识别模型错误地将字符切点识别为空格切点,进一步提高了空格识别模型识别空格切点位置的精准度。
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
进一步,本发明还提供了一种文本识别装置。
参阅附图4,图4是根据本发明的一个实施例的文本识别装置的主要结构框图。如图4所示,本发明实施例中的文本识别装置主要包括空格切点位置获取模块11、文本识别模块12和文本生成模块13。在一些实施例中,空格切点位置获取模块11、文本识别模块12和文本生成模块13中的一个或多个可以合并在一起成为一个模块。在一些实施例中,空格切点位置获取模块11可以被配置成采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;其中,空格切点位置是在待识别文本行图像中空格与字符交界处的位置。文本识别模块12可以被配置成对待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一空格切点位置左右相邻的两个字符位置。文本生成模块13可以被配置成根据每一空格切点位置及其对应的左右相邻的两个字符位置,在文本信息的相应位置处插入空格,以形成识别后的文本。一个实施方式中,具体实现功能的描述可以参见步骤S101-S103所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;文本行图像样本的标注信息包括将文本行图像样本均分为多个图像区域后,每个图像区域各自对应的区域索引号、第一标注信息和第二标注信息;每个第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,第三子标注值的取值取决于相应的图像区域内是否存在字符切点;每个第二标注信息包括按照预设顺序排序的第四子标注值、第五子标注值和第六子标注值,第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在图像区域内的归一化位置,第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在图像区域内的归一化位置,第六子标注值的取值取决于在相应的图像区域内存在的字符切点在图像区域内的归一化位置;其中,左空格切点是根据文本行图像样本中空格与字符的左侧交界确定的,右空格切点是根据文本行图像样本中空格与字符的右侧交界确定的,字符切点是根据文本行图像样本中字符的边界确定的。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:利用公式(1)所示的损失函数L并且根据文本行图像样本以及相应的标注信息,计算空格识别模型的损失值;根据损失值计算空格识别模型中每个模型参数各自对应的梯度,并且根据梯度反向传播更新空格识别模型的模型参数进行模型优化,以完成训练。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:随机生成文本行信息,文本行信息中的字符包括英文字母;在文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,预设间隔类型包括第一间隔类型和第二间隔类型,第一间隔类型的间隔长度小于第二间隔类型的间隔长度;将文本行信息中的字符作为普通字符,将文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个普通字符标注普通字符位置框,以及分别为每个特殊字符标注特殊字符位置框;根据标注普通字符位置框与特殊字符位置框后的文本行信息生成初始的文本行图像样本;对初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本;按照预设的图像截取比例以及随机的滑动步长,在最终的文本行图像样本上滑动截取多个文本行图像片段;根据每个文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成最终的文本行图像样本的标注信息。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:获取文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框;获取待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在该位置处标注初始的右空格切点;获取待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在该位置处标注初始的左空格切点;删除与文本行图像片段的边界间距小于等于预设间距阈值的初始的右空格切点与初始的左空格切点,以形成最终的右空格切点与最终的左空格切点;并且/或者,空格切点位置获取模块11还被配置成执行以下操作:获取当前待分析普通字符位置框的第一位置框长度,以及与当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度;若第一位置框长度与第二位置框长度均大于等于预设的长度阈值,则获取当前待分析普通字符位置框以及其他待分析普通字符位置框之间的中点位置,在中点位置处标注字符切点;若第一位置框长度与第二位置框长度均小于预设的长度阈值,则不在当前待分析普通字符位置框以及其他待分析普通字符位置框之间标注字符切点;若第一位置框长度和第二位置框长度中一个位置框长度大于等于预设的长度阈值且另一个位置框长度小于预设的长度阈值,则在当前待分析普通字符位置框以及其他待分析普通字符位置框之间的交界处标注字符切点;并且/或者,空格切点位置获取模块11还被配置成执行以下操作:将最终的文本行图像样本均分为多个图像区域并且分别为每个图像区域分配区域索引号;根据最终的右空格切点、最终的左空格切点与字符切点的位置,获取位于图像区域内的最终的右空格切点、最终的左空格切点与字符切点并作为待处理切点;分别计算每个待处理切点在图像区域内的归一化位置;根据图像区域的区域索引号以及每个待处理切点的归一化位置,生成最终的文本行图像样本的标注信息。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:根据公式(2)所示的方法计算每个待处理切点在图像区域内的归一化位置。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,空格切点位置获取模块11还被配置成执行以下操作:将待识别文本行图像均分形成多个图像区域;采用预设的空格识别模型对每个图像区域分别进行切点识别;根据切点识别的结果,获取识别到的待识别文本行图像中左空格切点和右空格切点的归一化位置;根据归一化位置并且按照公式(3)所示的方法,分别获取左空格切点和右空格切点在待识别文本行图像中的左空格切点位置与右空格切点位置;当第j个待计算切点是左空格切点时,切点位置Xj是左空格切点位置;当第j个待计算切点是右空格切点时,切点位置Xj是右空格切点位置。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,文本生成模块13还被配置成执行以下操作:计算空格切点位置与两个字符位置之间的间距;根据间距判断两个字符位置之间是否存在空格;根据判断结果选择性地在文本信息中的相应位置处插入空格。一个实施方式中,具体实现功能的描述可以参见步骤S103所述。
在一个实施方式中,空格切点位置包括左空格切点位置和/或右空格切点位置,左空格切点位置是空格与文本信息的左侧交界处的位置,右空格切点位置是空格与文本信息的右侧交界处的位置;文本生成模块13还被配置成执行以下操作:获取左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若第一左侧间距与第一右侧间距的比值大于等于预设的比值阈值,则判定两个字符位置之间存在空格;并且/或者,获取右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若第二右侧间距与第二左侧间距的比值大于等于预设的比值阈值,则判定两个字符位置之间存在空格。一个实施方式中,具体实现功能的描述可以参见步骤S103所述。
上述文本识别装置以用于执行图1所示的文本识别方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,文本识别装置的具体工作过程及有关说明,可以参考文本识别方法的实施例所描述的内容,此处不再赘述。
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
进一步,本发明还提供了一种文本识别装置。在根据本发明的一个文本识别装置实施例中,文本识别装置包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的文本识别方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的文本识别方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该文本识别装置可以是包括各种电子设备形成的控制装置设备。
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的文本识别方法的程序,该程序可以由处理器加载并运行以实现上述文本识别方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中存储是非暂时性的计算机可读存储介质。
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的系统的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
本领域技术人员能够理解的是,可以对系统中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (20)
1.一种文本识别方法,其特征在于,所述方法包括:
采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;
对所述待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一所述空格切点位置左右相邻的两个字符位置;
根据每一所述空格切点位置及其对应的左右相邻的两个字符位置,在所述文本信息的相应位置处插入空格,以形成识别后的文本;
其中,所述空格切点位置是在所述待识别文本行图像中空格与字符交界处的位置。
2.根据权利要求1所述的文本识别方法,其特征在于,所述文本识别方法还包括:
计算所述空格切点位置与所述两个字符位置之间的间距;
根据所述间距判断所述两个字符位置之间是否存在空格;
根据判断结果选择性地在所述文本信息中的相应位置处插入空格。
3.根据权利要求2所述的文本识别方法,其特征在于,所述空格切点位置包括左空格切点位置和/或右空格切点位置,所述左空格切点位置是所述空格与所述文本信息的左侧交界处的位置,所述右空格切点位置是所述空格与所述文本信息的右侧交界处的位置;
“根据所述间距判断所述两个字符位置之间是否存在空格”的步骤具体包括:
获取所述左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取所述左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若所述第一左侧间距与所述第一右侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格;
并且/或者,
获取所述右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取所述右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若所述第二右侧间距与所述第二左侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格。
4.根据权利要求1所述的文本识别方法,其特征在于,所述预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;
所述文本行图像样本的标注信息包括将所述文本行图像样本均分为多个图像区域后,每个所述图像区域各自对应的区域索引号、第一标注信息和第二标注信息;
每个所述第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,所述第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,所述第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,所述第三子标注值的取值取决于相应的图像区域内是否存在字符切点;
每个所述第二标注信息包括按照所述预设顺序排序的第四子标注值、第五子标注值和第六子标注值,所述第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在所述图像区域内的归一化位置,所述第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在所述图像区域内的归一化位置,所述第六子标注值的取值取决于在相应的图像区域内存在的字符切点在所述图像区域内的归一化位置;
其中,所述左空格切点是根据所述文本行图像样本中空格与字符的左侧交界确定的,所述右空格切点是根据所述文本行图像样本中空格与字符的右侧交界确定的,所述字符切点是根据所述文本行图像样本中字符的边界确定的。
5.根据权利要求4所述的文本识别方法,其特征在于,所述预设的空格识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述文本行图像样本以及相应的标注信息,计算所述空格识别模型的损失值:
所述切点预测结果包括所述第i个文本行图像样本的每个图像区域分别被预测为存在空格切点时的空格回归值与所述空格切点的归一化位置,以及所述每个图像区域分别被预测为存在字符切点时的字符回归值与所述字符切点的归一化位置;其中,所述空格回归值与所述图像区域被预测为存在空格切点时的预测概率成正相关关系,所述字符回归值与所述图像区域被预测为存在字符切点时的预测概率成正相关关系;
根据所述损失值计算所述空格识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述空格识别模型的模型参数进行模型优化,以完成训练。
6.根据权利要求4所述的文本识别方法,其特征在于,所述文本行图像样本以及每个文本行图像样本的标注信息是通过下列方式获取到的:
随机生成文本行信息,所述文本行信息中的字符包括英文字母;
在所述文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,所述预设间隔类型包括第一间隔类型和第二间隔类型,所述第一间隔类型的间隔长度小于所述第二间隔类型的间隔长度;
将所述文本行信息中的字符作为普通字符,将所述文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个所述普通字符标注普通字符位置框,以及分别为每个所述特殊字符标注特殊字符位置框;
根据标注所述普通字符位置框与所述特殊字符位置框后的文本行信息生成初始的文本行图像样本;
对所述初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本;
按照预设的图像截取比例以及随机的滑动步长,在所述最终的文本行图像样本上滑动截取多个文本行图像片段;
根据每个所述文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成所述最终的文本行图像样本的标注信息。
7.根据权利要求6所述的文本识别方法,其特征在于,所述方法包括通过下列方式进行空格切点标注:
获取所述文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框;
获取所述待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的右空格切点;
获取所述待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的左空格切点;
删除与所述文本行图像片段的边界间距小于等于预设间距阈值的所述初始的右空格切点与所述初始的左空格切点,以形成最终的右空格切点与最终的左空格切点;
并且/或者,
所述方法包括通过下列方式进行字符切点标注:
获取当前待分析普通字符位置框的第一位置框长度,以及与所述当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度;
若所述第一位置框长度与所述第二位置框长度均大于等于预设的长度阈值,则获取所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的中点位置,在所述中点位置处标注字符切点;
若所述第一位置框长度与所述第二位置框长度均小于所述预设的长度阈值,则不在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间标注字符切点;
若所述第一位置框长度和所述第二位置框长度中一个位置框长度大于等于所述预设的长度阈值且另一个位置框长度小于所述预设的长度阈值,则在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的交界处标注字符切点;
并且/或者,
“生成所述最终的文本行图像样本的标注信息”的步骤具体包括:
将所述最终的文本行图像样本均分为多个图像区域并且分别为每个所述图像区域分配区域索引号;
根据所述最终的右空格切点、所述最终的左空格切点与所述字符切点的位置,获取位于所述图像区域内的所述最终的右空格切点、所述最终的左空格切点与所述字符切点并作为待处理切点;
分别计算每个所述待处理切点在所述图像区域内的归一化位置;
根据所述图像区域的区域索引号以及每个所述待处理切点的归一化位置,生成所述最终的文本行图像样本的标注信息。
8.根据权利要求7所述的文本识别方法,其特征在于,“分别计算每个所述待处理切点在所述图像区域内的归一化位置”的步骤具体包括:
根据下列公式所示的方法计算每个所述待处理切点在所述图像区域内的归一化位置:
normxk=(xk-gk×gridwidth)/gridwidth
其中,所述xk表示所述最终的文本行图像样本中第k个待处理切点在所述最终的文本行图像样本上的位置,所述normxk表示所述第k个待处理切点在其落入的图像区域内的归一化位置,所述gk表示所述图像区域的区域索引号,所述gridwidth表示所述图像区域的长度;
gridwidth=imgwidth/m1,所述imgwidth表示所述最终的文本行图像样本的长度,所述m1表示将所述最终的文本行图像样本均分形成的图像区域的总数;gk=rounddown(xk/gridwidth),所述rounddown表示向下取整函数。
9.根据权利要求4所述的文本识别方法,其特征在于,“采用预设的空格识别模型获取待识别文本行图像中空格的空格切点位置”的步骤具体包括:
将所述待识别文本行图像均分形成多个图像区域;
采用所述预设的空格识别模型对每个图像区域分别进行切点识别;
根据切点识别的结果,获取识别到的所述待识别文本行图像中左空格切点和右空格切点的归一化位置;
根据所述归一化位置并且按照下式所示的方法,分别获取所述左空格切点和右空格切点在所述待识别文本行图像中的左空格切点位置与右空格切点位置:
Xj=(qj+pj)×(imgwidthtxt/m2)
其中,所述Xj表示第j个待计算切点在所述待识别文本行图像中的切点位置,所述pj表示所述第j个待计算切点的归一化位置,所述qj表示所述第j个待计算切点落入的图像区域的区域索引号,所述imgwidthtxt表示所述待识别文本行图像的长度,所述m2表示将所述待识别文本行图像均分形成的图像区域的总数;
当所述第j个待计算切点是左空格切点时,所述切点位置Xj是左空格切点位置;当所述第j个待计算切点是右空格切点时,所述切点位置Xj是右空格切点位置。
10.一种文本识别装置,其特征在于,所述装置包括:
空格切点位置获取模块,其被配置成采用预设的空格识别模型获取待识别文本行图像中每一空格的空格切点位置;
文本识别模块,其被配置成对所述待识别文本行图像进行文本识别,在识别出的文本信息中确定与每一所述空格切点位置左右相邻的两个字符位置;
文本生成模块,其被配置成根据每一所述空格切点位置及其对应的左右相邻的两个字符位置,在所述文本信息的相应位置处插入空格,以形成识别后的文本;
其中,所述空格切点位置是在所述待识别文本行图像中空格与字符交界处的位置。
11.根据权利要求10所述的文本识别装置,其特征在于,所述文本生成模块还被配置成执行以下操作:
计算所述空格切点位置与所述两个字符位置之间的间距;
根据所述间距判断所述两个字符位置之间是否存在空格;
根据判断结果选择性地在所述文本信息中的相应位置处插入空格。
12.根据权利要求11所述的文本识别装置,其特征在于,所述空格切点位置包括左空格切点位置和/或右空格切点位置,所述左空格切点位置是所述空格与所述文本信息的左侧交界处的位置,所述右空格切点位置是所述空格与所述文本信息的右侧交界处的位置;
所述文本生成模块还被配置成执行以下操作:
获取所述左空格切点位置以及与其左侧相邻的字符位置之间的第一左侧间距,获取所述左空格切点位置以及与其右侧相邻的字符位置之间的第一右侧间距;若所述第一左侧间距与所述第一右侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格;
并且/或者,
获取所述右空格切点位置以及与其右侧相邻的字符位置之间的第二右侧间距,获取所述右空格切点位置以及与其左侧相邻的字符位置之间的第二左侧间距;若所述第二右侧间距与所述第二左侧间距的比值大于等于预设的比值阈值,则判定所述两个字符位置之间存在空格。
13.根据权利要求10所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
所述预设的空格识别模型是基于文本行图像样本以及每个文本行图像样本的标注信息训练得到的;
所述文本行图像样本的标注信息包括将所述文本行图像样本均分为多个图像区域后,每个所述图像区域各自对应的区域索引号、第一标注信息和第二标注信息;
每个所述第一标注信息包括按照预设顺序排列的第一子标注值、第二子标注值和第三子标注值,所述第一子标注值的取值取决于相应的图像区域内是否存在左空格切点,所述第二子标注值的取值取决于相应的图像区域内是否存在右空格切点,所述第三子标注值的取值取决于相应的图像区域内是否存在字符切点;
每个所述第二标注信息包括按照所述预设顺序排序的第四子标注值、第五子标注值和第六子标注值,所述第四子标注值的取值取决于在相应的图像区域内存在的左空格切点在所述图像区域内的归一化位置,所述第五子标注值的取值取决于在相应的图像区域内存在的右空格切点在所述图像区域内的归一化位置,所述第六子标注值的取值取决于在相应的图像区域内存在的字符切点在所述图像区域内的归一化位置;
其中,所述左空格切点是根据所述文本行图像样本中空格与字符的左侧交界确定的,所述右空格切点是根据所述文本行图像样本中空格与字符的右侧交界确定的,所述字符切点是根据所述文本行图像样本中字符的边界确定的。
14.根据权利要求13所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
利用下式所示的损失函数L并且根据所述文本行图像样本以及相应的标注信息,计算所述空格识别模型的损失值:
所述切点预测结果包括所述第i个文本行图像样本的每个图像区域分别被预测为存在空格切点时的空格回归值与所述空格切点的归一化位置,以及所述每个图像区域分别被预测为存在字符切点时的字符回归值与所述字符切点的归一化位置;其中,所述空格回归值与所述图像区域被预测为存在空格切点时的预测概率成正相关关系,所述字符回归值与所述图像区域被预测为存在字符切点时的预测概率成正相关关系;
根据所述损失值计算所述空格识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述空格识别模型的模型参数进行模型优化,以完成训练。
15.根据权利要求13所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
随机生成文本行信息,所述文本行信息中的字符包括英文字母;
在所述文本行信息的字符之间随机设置预设间隔类型中任一种间隔类型的字符间隔,其中,所述预设间隔类型包括第一间隔类型和第二间隔类型,所述第一间隔类型的间隔长度小于所述第二间隔类型的间隔长度;
将所述文本行信息中的字符作为普通字符,将所述文本行信息中第二间隔类型的字符间隔作为特殊字符,分别为每个所述普通字符标注普通字符位置框,以及分别为每个所述特殊字符标注特殊字符位置框;
根据标注所述普通字符位置框与所述特殊字符位置框后的文本行信息生成初始的文本行图像样本;
所述初始的文本行图像样本进行数据增强处理,以获取最终的文本行图像样本;
按照预设的图像截取比例以及随机的滑动步长,在所述最终的文本行图像样本上滑动截取多个文本行图像片段;
根据每个所述文本行图像片段各自对应的特殊字符位置框与普通字符位置框进行空格切点标注和字符切点标注,以生成所述最终的文本行图像样本的标注信息。
16.根据权利要求15所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
获取所述文本行图像片段对应的特殊字符位置框与普通字符位置框并作为待分析特殊字符位置框与待分析普通字符位置框;
获取所述待分析特殊字符位置框以及与其左侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的右空格切点;
获取所述待分析特殊字符位置框以及与其右侧相邻的待分析普通字符位置框之间的位置,在所述位置处标注初始的左空格切点;
删除与所述文本行图像片段的边界间距小于等于预设间距阈值的所述初始的右空格切点与所述初始的左空格切点,以形成最终的右空格切点与最终的左空格切点;
并且/或者,
所述空格切点位置获取模块还被配置成执行以下操作:
获取当前待分析普通字符位置框的第一位置框长度,以及与所述当前待分析普通字符位置框相邻的其他待分析普通字符位置框的第二位置框长度;
若所述第一位置框长度与所述第二位置框长度均大于等于预设的长度阈值,则获取所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的中点位置,在所述中点位置处标注字符切点;
若所述第一位置框长度与所述第二位置框长度均小于所述预设的长度阈值,则不在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间标注字符切点;
若所述第一位置框长度和所述第二位置框长度中一个位置框长度大于等于所述预设的长度阈值且另一个位置框长度小于所述预设的长度阈值,则在所述当前待分析普通字符位置框以及所述的其他待分析普通字符位置框之间的交界处标注字符切点;
并且/或者,
所述空格切点位置获取模块还被配置成执行以下操作:
将所述最终的文本行图像样本均分为多个图像区域并且分别为每个所述图像区域分配区域索引号;
根据所述最终的右空格切点、所述最终的左空格切点与所述字符切点的位置,获取位于所述图像区域内的所述最终的右空格切点、所述最终的左空格切点与所述字符切点并作为待处理切点;
分别计算每个所述待处理切点在所述图像区域内的归一化位置;
根据所述图像区域的区域索引号以及每个所述待处理切点的归一化位置,生成所述最终的文本行图像样本的标注信息。
17.根据权利要求16所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
根据下列公式所示的方法计算每个所述待处理切点在所述图像区域内的归一化位置:
normxk=(xk-gk×gridwidth)/gridwidth
其中,所述xk表示所述最终的文本行图像样本中第k个待处理切点在所述最终的文本行图像样本上的位置,所述normxk表示所述第k个待处理切点在其落入的图像区域内的归一化位置,所述gk表示所述图像区域的区域索引号,所述gridwidth表示所述图像区域的长度;
gridwidth=imgwidth/m1,所述imgwidth表示所述最终的文本行图像样本的长度,所述m1表示将所述最终的文本行图像样本均分形成的图像区域的总数;gk=rounddown(xk/gridwidth),所述rounddown表示向下取整函数。
18.根据权利要求13所述的文本识别装置,其特征在于,所述空格切点位置获取模块还被配置成执行以下操作:
将所述待识别文本行图像均分形成多个图像区域;
采用所述预设的空格识别模型对每个图像区域分别进行切点识别;
根据切点识别的结果,获取识别到的所述待识别文本行图像中左空格切点和右空格切点的归一化位置;
根据所述归一化位置并且按照下式所示的方法,分别获取所述左空格切点和右空格切点在所述待识别文本行图像中的左空格切点位置与右空格切点位置:
Xj=(qj+pj)×(imgwidthtxt/m2)
其中,所述Xj表示第j个待计算切点在所述待识别文本行图像中的切点位置,所述pj表示所述第j个待计算切点的归一化位置,所述qj表示所述第j个待计算切点落入的图像区域的区域索引号,所述imgwidthtxt表示所述待识别文本行图像的长度,所述m2表示将所述待识别文本行图像均分形成的图像区域的总数;
当所述第j个待计算切点是左空格切点时,所述切点位置Xj是左空格切点位置;当所述第j个待计算切点是右空格切点时,所述切点位置Xj是右空格切点位置。
19.一种文本识别装置,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至9中任一项所述的文本识别方法。
20.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至9中任一项所述的文本识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011467319.7A CN112541505B (zh) | 2020-12-11 | 2020-12-11 | 文本识别方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011467319.7A CN112541505B (zh) | 2020-12-11 | 2020-12-11 | 文本识别方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112541505A true CN112541505A (zh) | 2021-03-23 |
CN112541505B CN112541505B (zh) | 2021-07-23 |
Family
ID=75018695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011467319.7A Active CN112541505B (zh) | 2020-12-11 | 2020-12-11 | 文本识别方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112541505B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202647A (zh) * | 2022-02-16 | 2022-03-18 | 阿里巴巴达摩院(杭州)科技有限公司 | 图像中的文本识别方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040037470A1 (en) * | 2002-08-23 | 2004-02-26 | Simske Steven J. | Systems and methods for processing text-based electronic documents |
US7802184B1 (en) * | 1999-09-28 | 2010-09-21 | Cloanto Corporation | Method and apparatus for processing text and character data |
CN104737156A (zh) * | 2012-10-22 | 2015-06-24 | 谷歌公司 | 用于文本输入的空格预测 |
CN108446621A (zh) * | 2018-03-14 | 2018-08-24 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
CN110942067A (zh) * | 2019-11-29 | 2020-03-31 | 上海眼控科技股份有限公司 | 文本识别方法、装置、计算机设备和存储介质 |
CN110969154A (zh) * | 2019-11-29 | 2020-04-07 | 上海眼控科技股份有限公司 | 文本识别方法、装置、计算机设备和存储介质 |
CN112041851A (zh) * | 2018-12-29 | 2020-12-04 | 华为技术有限公司 | 一种识别文本的方法及终端设备 |
-
2020
- 2020-12-11 CN CN202011467319.7A patent/CN112541505B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802184B1 (en) * | 1999-09-28 | 2010-09-21 | Cloanto Corporation | Method and apparatus for processing text and character data |
US20040037470A1 (en) * | 2002-08-23 | 2004-02-26 | Simske Steven J. | Systems and methods for processing text-based electronic documents |
CN104737156A (zh) * | 2012-10-22 | 2015-06-24 | 谷歌公司 | 用于文本输入的空格预测 |
CN107741926A (zh) * | 2012-10-22 | 2018-02-27 | 谷歌有限责任公司 | 用于文本输入的空格预测 |
CN108446621A (zh) * | 2018-03-14 | 2018-08-24 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
CN112041851A (zh) * | 2018-12-29 | 2020-12-04 | 华为技术有限公司 | 一种识别文本的方法及终端设备 |
CN110942067A (zh) * | 2019-11-29 | 2020-03-31 | 上海眼控科技股份有限公司 | 文本识别方法、装置、计算机设备和存储介质 |
CN110969154A (zh) * | 2019-11-29 | 2020-04-07 | 上海眼控科技股份有限公司 | 文本识别方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
贾钰峰等: "印刷维吾尔文识别后处理", 《智能计算机与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202647A (zh) * | 2022-02-16 | 2022-03-18 | 阿里巴巴达摩院(杭州)科技有限公司 | 图像中的文本识别方法、装置、设备及存储介质 |
CN114202647B (zh) * | 2022-02-16 | 2022-07-05 | 阿里巴巴达摩院(杭州)科技有限公司 | 图像中的文本识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112541505B (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334346B (zh) | 一种pdf文件的信息抽取方法和装置 | |
CN112528813B (zh) | 表格识别方法、装置以及计算机可读存储介质 | |
CN105654072A (zh) | 一种低分辨率医疗票据图像的文字自动提取和识别系统与方法 | |
CN111274239B (zh) | 试卷结构化处理方法、装置和设备 | |
RU2641225C2 (ru) | Способ выявления необходимости обучения эталона при верификации распознанного текста | |
CN112257613B (zh) | 体检报告信息结构化提取方法、装置及计算机设备 | |
CN110178139B (zh) | 使用具有注意力机制的全卷积神经网络的字符识别的系统和方法 | |
KR20170004983A (ko) | 라인 분할 방법 | |
CN104750791A (zh) | 一种图像检索方法及装置 | |
CN112241730A (zh) | 一种基于机器学习的表格提取方法和系统 | |
RU2259592C2 (ru) | Способ распознавания графических объектов с использованием принципа целостности | |
CN112651331A (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN112541505B (zh) | 文本识别方法、装置以及计算机可读存储介质 | |
CN112508000B (zh) | 一种用于ocr图像识别模型训练数据生成的方法及设备 | |
CN102467664B (zh) | 辅助光学字符识别的方法和装置 | |
CN111832497B (zh) | 一种基于几何特征的文本检测后处理方法 | |
CN113269101A (zh) | 一种票据识别方法、装置和设备 | |
CN113673294A (zh) | 文献关键信息的提取方法、装置、计算机设备和存储介质 | |
CN113205046A (zh) | 题册识别方法、系统、装置及介质 | |
JP4470913B2 (ja) | 文字列検索装置およびプログラム | |
KR20110039900A (ko) | 지능형 인식 라이브러리 및 관리 도구를 활용한 고문서 이미지 데이터 인식 및 처리 방법 | |
CN104598289A (zh) | 一种识别方法及一种电子设备 | |
CN110147516A (zh) | 页面设计中前端代码的智能识别方法及相关设备 | |
CN112560849B (zh) | 基于神经网络算法的文理分割方法及系统 | |
JPH08320914A (ja) | 表認識方法および装置 |
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 |