一种字符的确定方法、装置、电子设置和可读介质与流程

文档序号:25098748发布日期:2021-05-18 22:31阅读:94来源:国知局
一种字符的确定方法、装置、电子设置和可读介质与流程

1.本申请涉及识别技术领域,尤其涉及一种字符的确定方法、装置、电子设置和可读介质。


背景技术:

2.ocr(optical character recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程,可以应用于车牌识别,发票识别等。
3.当前的字符识别方法只考虑了单个字符,有可能会出现字符识别错误的情况,字符识别率准确度低。


技术实现要素:

4.本申请实施例的目的在于提供一种字符的确定方法、装置、电子设置和可读介质,以解决字符识别率准确度低问题。具体技术方案如下:
5.第一方面,提供了一种字符的确定方法,所述方法包括:
6.将包含有第二字符的目标图片输入目标识别模型,得到所述目标识别模型识别出的第一字符的第一置信度,其中,所述第一置信度是所述第一字符为待预测的第二字符的概率;
7.将所述第二字符的上下文信息输入语言预测模型,得到所述语言预测模型输出的所述第一字符的第二置信度,其中,所述第二置信度为所述第一字符在所述上下文中为所述第二字符的概率;
8.根据所述第一置信度和所述第二置信度,得到所述第一字符为所述第二字符的待选置信度;
9.选取数值最大的待选置信度对应的第一字符作为所述第二字符。
10.可选地,在将包含有第二字符的目标图片输入目标识别模型之前,所述方法还包括:
11.将包含有多个第二字符的字符图片按照字符形状分割成多个单字符图片,其中,每个单字符图片上包括一个第二字符;
12.将所述单字符图片进行缩放得到目标图片,其中,所述目标图片的尺寸与生成所述目标识别模型的样本图片的尺寸相同。
13.可选地,得到所述目标识别模型识别出的所述第一字符的第一置信度包括:
14.根据所述目标图片的尺寸确定所述目标图片的目标区域;
15.通过所述目标识别模型识别所述目标区域中各位置的图像数据,其中,不同位置对应不同的所述图像数据的权重信息;
16.通过各位置的图像数据得到所述第一字符的第一置信度。
17.可选地,在得到所述目标识别模型识别出的所述第一字符的第一置信度之前,所
述方法还包括:
18.将包含有第二字符的目标图片输入目标识别模型,得到所述目标识别模型输出的所述第二字符对应的各候选字符的候选概率;
19.按照候选概率由大到小的排列顺序,选取位于预设排位之前的候选概率对应的候选字符为所述第一字符。
20.可选地,将包含有第二字符的目标图片输入目标识别模型包括:
21.按照所述第二字符的排列顺序,将所述目标图片依次输入所述目标识别模型。
22.可选地,在将包含有第二字符的目标图片输入目标识别模型之前,所述方法还包括:
23.获取开源数据集中的样本图片和所述样本图片的置信度结果,其中,每个所述样本图片的尺寸相同,所述置信度结果用于指示所述样本图片上的样本字符为预设字符的概率;
24.将所述样本图片输入初始识别模型,得到所述初始识别模型输出的所述样本字符的识别结果,其中,所述识别结果用于指示所述样本图片上的样本字符为预设字符的概率;
25.在所述识别结果与所述置信度结果不同的情况下,调整所述初始识别模型中的参数,得到目标识别模型,其中,所述目标识别模型中所述置信度结果与所述识别结果相同。
26.第二方面,提供了一种字符的确定装置,所述装置包括:
27.第一输入模块,用于将包含有第二字符的目标图片输入目标识别模型,得到所述目标识别模型识别出的第一字符的第一置信度,其中,所述第一置信度是所述第一字符为待预测的第二字符的概率;
28.第二输入模块,用于将所述第二字符的上下文信息输入语言预测模型,得到所述语言预测模型输出的所述第一字符的第二置信度,其中,所述第二置信度为所述第一字符在所述上下文中为所述第二字符的概率;
29.得到模块,用于根据所述第一置信度和所述第二置信度,得到所述第一字符为所述第二字符的待选置信度;
30.选取模块,用于选取数值最大的待选置信度对应的第一字符作为所述第二字符。
31.可选地,所述装置还包括:
32.分割模块,用于将包含有多个第二字符的字符图片按照字符形状分割成多个单字符图片,其中,每个单字符图片上包括一个第二字符;
33.缩放模块,用于将所述单字符图片进行缩放得到目标图片,其中,所述目标图片的尺寸与生成所述目标识别模型的样本图片的尺寸相同。
34.第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
35.存储器,用于存放计算机程序;
36.处理器,用于执行存储器上所存放的程序时,实现任一所述的方法步骤。
37.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的方法步骤。
38.本申请实施例有益效果:
39.本申请实施例提供了一种字符的确定方法,服务器将包含有第二字符的目标图片
输入目标识别模型,得到目标识别模型识别出的第一字符的第一置信度,然后将第二字符的上下文信息输入语言预测模型,得到语言预测模型输出的第一字符的第二置信度,并根据第一置信度和第二置信度,得到第一字符为第二字符的待选置信度,最后选取数值最大的待选置信度对应的第一字符作为第二字符。在本申请中,服务器不仅通过ocr进行字符识别,还通过字符的上下文进行字符识别,并将两种方式得到的识别结果进行相加,选取概率最大的字符作为待预测的字符,提高了字符识别的准确性。
40.当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
41.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本申请实施例提供的一种字符的确定方法硬件环境示意图;
43.图2为本申请实施例提供的一种字符的确定的方法流程图;
44.图3为本申请实施例提供的一种字符的确定装置的结构示意图;
45.图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
46.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
47.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
48.为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种字符的确定方法的实施例。
49.可选地,在本申请实施例中,上述字符的确定方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于pc、手机、平板电脑等。
50.本申请实施例中的一种字符的确定方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行。
51.本申请实施例提供了一种字符的确定方法,可以应用于服务器,用于对字符进行识别。
52.下面将结合具体实施方式,对本申请实施例提供的一种字符的确定方法进行详细的说明,如图2所示,具体步骤如下:
53.步骤201:将包含有第二字符的目标图片输入目标识别模型,得到目标识别模型识
别出的第一字符的第一置信度。
54.其中,第一置信度是第一字符为待预测的第二字符的概率。
55.在本申请实施例中,服务器获取包含有第二字符的目标图片,其中一个目标图片上包含有一个或多个第二字符,服务器将目标图片输入目标识别模型,目标识别模型根据目标图片上的第二字符进行识别,将第二字符识别为第一字符,并将第一字符为待预测的第二字符的概率设置为第一字符的第一置信度。
56.示例性地,目标识别模型识别出来的第一字符为“人”,且识别为“人”的概率为0.4,则“人”的第一置信度为0.4。目标识别模型识别出来的第一字符为“入”,且识别为“入”的概率为0.5,则“入”的第一置信度为0.5。
57.在本申请中,目标识别模型中的图像识别算法可以为cnn(convolutional neural networks,卷积神经网络),该目标识别模型是采用开源ocr数据集chinese_ocr进行训练得到的。该数据集共约344万张图片,按照99:1划分成训练集和验证集。数据利用中文语料库(新闻+文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成,包含汉字、英文字母、数字和标点共5990个字符,每个样本固定10个字符,字符随机截取自语料库中的句子,图片分辨率统一为280x32,通过迭代训练使模型收敛到一定准确率完成模型训练。
58.该目标识别模型的训练过程为:服务器获取开源数据集中的样本图片和样本图片的置信度结果,其中,每个样本图片的尺寸相同,置信度结果用于指示样本图片上的样本字符为预设字符的概率。服务器将样本图片输入初始识别模型,得到初始识别模型输出的样本字符的识别结果,其中,识别结果用于指示样本图片上的样本字符为预设字符的概率,在识别结果与置信度结果不同的情况下,服务器调整初始识别模型中的参数,得到目标识别模型,其中,目标识别模型中置信度结果与识别结果相同。
59.步骤202:将第二字符的上下文信息输入语言预测模型,得到语言预测模型输出的第一字符的第二置信度。
60.其中,第二置信度为第一字符在上下文中为第二字符的概率。
61.第二字符具有其对应的上下文信息,服务器将第二字符的上下文信息输入语言预测模型,语言预测模型能够得到预测出在该上下文信息中第一字符为第二字符的概率,该概率即为第一字符的第二置信度。
62.其中,语言预测模型是对语句的概率分布的建模,是用来计算一个句子的概率的模型。例如,在已知一句话前n

1个字的时候,语言预测模型能够计算第n个字的概率分布,这里n表示这句话的长度。示例性地,语言预测模型可以采用gpt2算法,通过中文维基百科和百度百科等语料来训练得到。
63.示例性地,上下文信息为“我们是一家#”,“#”则为待预测的第二字符,语言预测模型输出的“#”为“入”的概率为0.1,则“入”的第二置信度为0.1;语言预测模型输出的“#”为“人”的概率为0.8,则“人”的第二置信度为0.8。
64.步骤203:根据第一置信度和第二置信度,得到第一字符为第二字符的待选置信度。
65.服务器将得到的第一字符的第一置信度和第二置信度相加,得到的加和值即为该第一字符为第二字符的待选置信度。
66.示例性地,“入”的待选置信度为0.5+0.1=0.6;
[0067]“入”的待选置信度为0.4+0.8=1.2。
[0068]
步骤204:选取数值最大的待选置信度对应的第一字符作为第二字符。
[0069]
服务器得到多个第一字符的待选置信度后,从多个待选置信度中选取数值最大的待选置信度,并将该待选置信度对应的第一字符作为识别出来的第二字符。
[0070]
目前的识别算法识别到的多个第一字符之间由于形状相似,会导致字符识别错误,从而识别出的字符相连起来会出现语病,在本申请中,服务器不仅通过ocr进行字符识别,还通过字符的上下文进行字符识别,并将两种方式得到的识别结果进行相加,选取概率最大的字符作为待预测的字符,提高了字符识别的准确性。
[0071]
作为一种可选的实施方式,在将包含有第二字符的目标图片输入目标识别模型之前,方法还包括:将包含有多个第二字符的字符图片按照字符形状分割成多个单字符图片,其中,每个单字符图片上包括一个第二字符;将单字符图片进行缩放得到目标图片,其中,目标图片的尺寸与生成目标识别模型的样本图片的尺寸相同。
[0072]
在本申请实施例中,服务器获取到包含有多个第二字符的字符图片,并将该字符图片按照字符形状分割成多个单字符图片,每个单字符图片上包括一个第二字符。服务器在训练目标识别模型时用到了多个样本图片,每个样本图片的尺寸都相同,样本图片上不同位置具有各图像数据对应的权重。由于不同字符图片的尺寸不同,为了使目标识别模型在训练时的样本图片和使用时的目标图片的尺寸相同,服务器将单字符图片缩放成与样本图片尺寸相同的目标图片,这样可以使目标图片对应位置的图像数据具有对应的权重,避免因目标图片和样本图片尺寸不同导致目标图片的某些图片数据缺少权重而缺少了相应的图像信息,有利于保证图片信息的完整性,提高目标图片识别的准确性。
[0073]
具体的,得到目标识别模型识别出的第一字符的第一置信度包括:根据目标图片的尺寸确定目标图片的目标区域;通过目标识别模型识别目标区域中各位置的图像数据,其中,不同位置对应不同的图像数据的权重信息;通过各位置的图像数据得到第一字符的第一置信度。
[0074]
服务器将目标图片输入目标识别模型后,不同目标图片可能具有不同的尺寸,目标识别模型根据目标图片的尺寸确定目标图片的目标区域,然后确定目标区域中各位置的图像数据和各位置对应的权重,服务器将对应位置的权重和图像数据进行相乘,并将各位置的乘积加和得到第一字符以及该第一字符的第一置信度。
[0075]
作为一种可选的实施方式,在得到目标识别模型识别出的第一字符的第一置信度之前,方法还包括:将包含有第二字符的目标图片输入目标识别模型,得到目标识别模型输出的第二字符对应的各候选字符的候选概率;按照候选概率由大到小的排列顺序,选取位于预设排位之前的候选概率对应的候选字符为第一字符。
[0076]
服务器将包含有第二字符的目标图片输入目标识别模型后,由于目标识别模型对于同一个第二字符可能会识别到多个候选字符,不同候选字符具有不同的候选概率,服务器将候选概率按照由大到小的顺序进行排列,并选取位于预设排位之前的候选概率对应的候选字符为第一字符。
[0077]
示例性地,目标识别模型针对同一个第二字符,识别出的候选字符有十个,即有十个候选概率,则目标识别模型将前五个候选概率对应的候选字符作为第一字符。这样减少了第一字符的数量,也减少了后续的置信度的加和计算过程,提高了待选置信度的计算速
率。
[0078]
作为一种可选的实施方式,将包含有第二字符的目标图片输入目标识别模型包括:按照第二字符的排列顺序,将目标图片依次输入目标识别模型。
[0079]
由于根据同一个字符图片得到多个目标图片,在一段有顺序的文字中,若每个文字都需要进行字符识别,则多个第二字符是有顺序的,服务器按照第二字符的排列顺序,将目标图片依次输入目标识别模型,得到的目标识别模型识别出来的第一字符也是有顺序的,使技术人员对第一字符的阅读具有顺序性和条理性。
[0080]
在本申请中,服务器在进行字符识别过程中,不仅通过ocr考虑到字符的形状,还将字符的上下文信息纳入考量,提高了字符识别的准确性,避免由于没有考虑上下文而出现的语病。
[0081]
基于相同的技术构思,本申请实施例还提供了一种字符的确定装置,如图3所示,该装置包括:
[0082]
第一输入模块301,用于将包含有第二字符的目标图片输入目标识别模型,得到目标识别模型识别出的第一字符的第一置信度,其中,第一置信度是第一字符为待预测的第二字符的概率;
[0083]
第二输入模块302,用于将第二字符的上下文信息输入语言预测模型,得到语言预测模型输出的第一字符的第二置信度,其中,第二置信度为第一字符在上下文中为第二字符的概率;
[0084]
得到模块303,用于根据第一置信度和第二置信度,得到第一字符为第二字符的待选置信度;
[0085]
选取模块304,用于选取数值最大的待选置信度对应的第一字符作为第二字符。
[0086]
可选地,装置还包括:
[0087]
分割模块,用于将包含有多个第二字符的字符图片按照字符形状分割成多个单字符图片,其中,每个单字符图片上包括一个第二字符;
[0088]
缩放模块,用于将单字符图片进行缩放得到目标图片,其中,目标图片的尺寸与生成目标识别模型的样本图片的尺寸相同。
[0089]
可选地,第一输入模块301包括:
[0090]
确定单元,用于根据目标图片的尺寸确定目标图片的目标区域;
[0091]
识别单元,用于通过目标识别模型识别目标区域中各位置的图像数据,其中,不同位置对应不同的图像数据的权重信息;
[0092]
得到单元,用于通过各位置的图像数据得到第一字符的第一置信度。
[0093]
可选地,装置还包括:
[0094]
第一输入单元,用于将包含有第二字符的目标图片输入目标识别模型,得到目标识别模型输出的第二字符对应的各候选字符的候选概率;
[0095]
选取单元,用于按照候选概率由大到小的排列顺序,选取位于预设排位之前的候选概率对应的候选字符为第一字符。
[0096]
可选地,第一输入模块301包括:
[0097]
第二输入单元,用于按照第二字符的排列顺序,将目标图片依次输入目标识别模型。
[0098]
可选地,该装置还包括:
[0099]
获取模块,用于获取开源数据集中的样本图片和样本图片的置信度结果,其中,每个样本图片的尺寸相同,置信度结果用于指示样本图片上的样本字符为预设字符的概率;
[0100]
第三输入模块,用于将样本图片输入初始识别模型,得到初始识别模型输出的样本字符的识别结果,其中,识别结果用于指示样本图片上的样本字符为预设字符的概率;
[0101]
调整模块,用于在识别结果与置信度结果不同的情况下,调整初始识别模型中的参数,得到目标识别模型,其中,目标识别模型中置信度结果与识别结果相同。
[0102]
目前的识别算法识别到的多个第一字符之间由于形状相似,会导致字符识别错误,从而识别出的字符相连起来会出现语病,在本申请中,服务器不仅通过ocr进行字符识别,还通过字符的上下文进行字符识别,并将两种方式得到的识别结果进行相加,选取概率最大的字符作为待预测的字符,提高了字符识别的准确性。
[0103]
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图4所示,包括存储器403、处理器401、通信接口402及通信总线404,存储器403中存储有可在处理器401上运行的计算机程序,存储器403、处理器401通过通信接口402和通信总线404进行通信,处理器401执行计算机程序时实现上述方法的步骤。
[0104]
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
[0105]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0106]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0107]
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
[0108]
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行上述方法的程序代码:
[0109]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0110]
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
[0111]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field

programmable gate array,fpga)、通用处理器、
控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
[0112]
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0113]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0114]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0115]
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0116]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0117]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0118]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0119]
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一
致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1