首页> 中国专利> 一种手写字符识别方法、装置、计算机设备和存储介质

一种手写字符识别方法、装置、计算机设备和存储介质

摘要

本公开提供了一种手写字符识别方法、装置、计算机设备和存储介质,其中,该方法包括:接收待识别字符的第一点序列集合,生成字符图像;对字符图像进行一级识别处理,得到目标字符;通过对字符图像和目标字符进行二级识别处理,判断目标字符是否完整;若是,输出目标字符;若否,获取待识别字符的补充点序列集合;将补充点序列集合和第一点序列集合合并为第二点序列集合,并在利用第二点序列集合更新字符图像后,返回执行对字符图像进行一级识别处理的步骤,直至根据二级识别处理结果确定目标字符完整时,输出目标字符。本公开实施例通过对待识别字符进行两次识别处理方式,增加了识别结果的可靠性,保证了通过手写输入完成识字练习的效果。

著录项

  • 公开/公告号CN112215175A

    专利类型发明专利

  • 公开/公告日2021-01-12

    原文格式PDF

  • 申请/专利权人 北京乐学帮网络技术有限公司;

    申请/专利号CN202011116411.9

  • 发明设计人 张雷;张望;

    申请日2020-10-19

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G09B5/02(20060101);

  • 代理机构11889 北京中知恒瑞知识产权代理事务所(普通合伙);

  • 代理人谢玲

  • 地址 100094 北京市海淀区西北旺东路10号院东区7号楼1层W105

  • 入库时间 2023-06-19 09:32:16

说明书

技术领域

本公开涉及计算机技术领域,具体而言,涉及一种手写字符识别方法、装置、计算机设备和存储介质。

背景技术

目前,对于低龄儿童识字的方法,有很多探讨。例如可以通过智能终端上的手写识别(HandWriting Recognition)功能来进行识字练习。

但是,很多智能终端在进行手写识别的时候,会基于用户已经输入的字符序列预判用户手写的字,并直接输出结果。有时候,用户还没有写完,就已经输出了正确的字,对需要识字的用户来讲,体验较差。

发明内容

本公开实施例至少提供一种手写字符识别方法、装置、计算机设备和存储介质。

第一方面,本公开实施例提供了一种手写字符识别方法,其特征在于,包括:

接收待识别字符的第一点序列集合,生成字符图像;

对所述字符图像进行一级识别处理,得到目标字符;

通过对所述字符图像和所述目标字符进行二级识别处理,判断所述目标字符是否完整;

确定所述目标字符完整时,输出所述目标字符;

确定所述目标字符不完整时,获取待识别字符的补充点序列集合;

将所述补充点序列集合和所述第一点序列集合合并为第二点序列集合,并利用所述第二点序列集合更新所述字符图像,以及,返回执行对所述字符图像进行一级识别处理的步骤,直至根据二级识别处理结果确定所述目标字符完整时,输出所述目标字符。

在一种可能的实施方式中,在获取待识别字符的补充点序列集合之前,所述方法还包括:

输出提醒信息,所述提醒信息用于提醒用户输入完整的所述目标字符。

在一种可能的实施方式中,在对所述字符图像和所述目标字符进行二级识别处理之前,所述方法还包括:

将所述字符图像对应的第一点序列集合划分成多个点序列子集;

根据所述多个点序列子集,生成与所述多个点序列子集一一对应的多个点序列图像;

将所述多个点序列图像组合成字符序列图像集。

在一种可能的实施方式中,将所述第一点序列集合划分成多个点序列子集,包括:

根据输入顺序,将所述第一点序列集合划分成多个点序列子集。

在一种可能的实施方式中,所述确定所述目标字符完整,具体包括:

确定组成所述字符序列图像集的点序列图像与组成所述目标字符的点序列图像一致。

在一种可能的实施方式中,对所述字符图像进行一级识别处理,得到目标字符,具体包括:

基于所述字符图像,利用预先训练的字符识别模型进行一级识别处理,输出所述字符图像对应于各候选字符的概率矩阵;

确定对应概率最大的候选字符为所述目标字符。

在一种可能的实施方式中,在输出所述目标字符之后,所述方法还包括:

根据已输入字符的语义或预设提示信息确定所述目标字符的正误,所述预设提示信息包括提示字的组合信息或提示字的拼音信息;

若确定所述目标字符不正确,则输出正确的目标字符。

第二方面,本公开实施例还提供一种手写字符识别装置,其特征在于,包括:

接收模块,用于接收待识别字符的第一点序列集合,生成字符图像;

第一识别模块,用于对所述字符图像进行一级识别处理,得到目标字符;

第二识别模块,用于通过对所述字符图像和所述目标字符进行二级识别处理,判断所述目标字符是否完整;

输出模块,用于确定所述目标字符完整时,输出所述目标字符;

获取模块,用于确定所述目标字符不完整时,获取待识别字符的补充点序列集合,并将所述补充点序列集合和所述第一点序列集合合并为第二点序列集合,以及,利用所述第二点序列集合更新所述字符图像,并将更新后的所述字符图像反馈给所述第一识别模块。

在一种可能的实施方式中,所述装置还包括:

第一提示模块,用于在所述获取模块获取待识别字符的补充点序列集合之前,输出提醒信息,所述提醒信息用于提醒用户输入完整的所述目标字符。

在一种可能的实施方式中,所述装置还包括:

划分模块,用于在所述第二识别模块在对所述字符图像和所述目标字符进行二级识别处理之前,将所述字符图像对应的第一点序列集合划分成多个点序列子集;根据所述多个点序列子集,生成与所述多个点序列子集一一对应的多个点序列图像;将所述多个点序列图像组合成字符序列图像集。

在一种可能的实施方式中,所述划分模块,具体用于根据输入顺序,将所述第一点序列集合划分成多个点序列子集。

在一种可能的实施方式中,所述输出模块,具体用于确定组成所述字符图像的点序列图像与组成所述目标字符的点序列图像一致。

在一种可能的实施方式中,所述第一识别模块,具体用于基于所述字符图像,利用预先训练的字符识别模型进行一级识别处理,输出所述字符图像对应于各候选字符的概率矩阵;确定对应概率最大的候选字符为所述目标字符。

在一种可能的实施方式中,所述装置还包括:

第二提示模块,用于在所述输出模块输出所述目标字符之后,根据已输入字符的语义或预设提示信息确定所述目标字符的正误,所述预设提示信息包括提示字的组合信息或提示字的拼音信息;若确定所述目标字符不正确,则输出正确的目标字符。

第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

关于上述手写字符识别装置、计算机设备、及计算机可读存储介质的效果描述参见上述手写字符识别方法的说明,这里不再赘述。

本公开实施例提供的手写字符识别方法、装置、计算机设备和存储介质,采用将根据待识别字符的一级识别处理结果确认的目标字符以及其对应的字符图像进行二级识别处理,根据对字符图像的二次识别判断该目标字符的完整性,基于对于目标字符的完整性判断结果输出目标字符,在确定目标字符不完整的情况下,通过获取待识别字符的补充点序列集合更新字符图像,并返回执行对更新的字符图像的一次识别处理和二次识别处理,直至根据二次识别处理结果判断出目标字符完整时,输出目标字符,与现有技术中的通过对待识别字符进行一级识别之后,将一级识别的识别结果确认的目标字符直接作为输出的目标字符,增加了识别出错的可能,对于低龄儿童识字而言,根据不完整的字符图像确定输出结果,无论输出结果是否正确,都达不到练习识字的目的相比,其通过对根据待识别字符的一级识别处理结果确认的目标字符进行二次识别处理,基于二次识别结果判断根据生成的字符图像得到的目标字符的完整性,在确定目标字符完整时将其输出的方式,增加了识别结果的可靠性,避免了用户输入不完整的待识别字符就输出正确目标字符的情况,保证了通过手写输入完成识字练习的效果,在确定目标字符不完整的情况下,通过获取待识别字符的补充点序列集合更新字符图像,保证了获取的字符图像的完整性,并返回执行对更新的字符图像的一次识别处理和二次识别处理,直至根据二次识别处理结果判断出目标字符完整时,输出目标字符,进一步保证了识别结果的可靠性,实现了输出的目标字符与用户输入内容的关联性。

进一步,本公开实施例提供的手写字符识别方法,还可以在根据二级识别的结果判断出目标字符不完整时,如果获取不到用户输入的补充内容对应的补充点序列集合,则输出用于提醒用户输入完整目标字符的提示信息,避免了识别步骤的无休止循环,造成资源的浪费,保证了手写字符识别的有效性和通过手写输入进行识字练习的效果。

进一步的,本公开实施例提供的手写字符识别方法,还可以在输出完整的目标字符之后,根据已识别完成的字符语义或预先设置的提示字组合信息或提示字的拼音信息关联出正确的目标字符,通过对关联的正确目标字符进行二次输出的方式,保证了对用户的及时纠错,提高了用户练习识字的准确性。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种手写字符识别方法的流程图;

图2示出了本公开实施例所提供的一种调整输出的目标字符的具体实施过程的流程图;

图3示出了本公开实施例所提供的一种手写字符识别装置的示意图;

图4示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。

在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

经研究发现,对于低龄儿童识字的方法,有很多探讨。例如可以通过智能终端上的手写识别功能来进行识字练习。但是,很多智能终端在进行手写识别的时候,会基于用户已经输入的字符序列预判用户手写的字,并直接输出结果。有时候,用户还没有写完,就已经输出了正确的字,对识字来讲,没有起到练习的作用,另外,即使是对用户输入完成的字符进行识别输出,在用户输入错误的情况下,如果预判得到正确的目标字符,无法对用户的输入进行纠正,达不到识字练习的目的。

基于上述研究,本公开提供了一种手写字符识别方法、装置、计算机设备和存储介质,通过对根据待识别字符的一级识别处理结果确认的目标字符进行二级识别处理,基于二级识别结果判断根据生成的字符图像得到的目标字符的完整性,在确定目标字符完整时将其输出的方式,增加了识别结果的可靠性,避免了用户输入不完整的待识别字符就输出正确目标字符的情况,保证了通过手写输入完成识字练习的效果,在确定目标字符不完整的情况下,通过获取待识别字符的补充点序列集合更新字符图像,保证了获取的字符图像的完整性,并返回执行对更新的字符图像的一级识别处理和二级识别处理,直至根据二次识别处理结果判断出目标字符完整时,输出目标字符,进一步保证了识别结果的可靠性,实现了输出的目标字符与用户输入内容的关联性。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种手写字符识别方法进行详细介绍,本公开实施例所提供的手写字符识别方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该手写字符识别方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

以下以执行主体为终端设备为例对本公开实施例提供的手写字符识别方法进行说明。

其中,用户在终端设备屏幕的识别区域根据待识别字符的结构输入待识别字符,终端设备根据接收到的待识别字符的点序列生成相应的字符图像,基于生成的字符图像利用字符识别模型进行处理得到一级处理结果,并对一级识别处理结果和字符图像利用分类网络进行二次处理来判断字符图像的完整性,在确定字符图像完整的情况下,输出目标字符,在确定目标字符不完整的情况下,重新获取用户输入的待识别字符对应的补充点序列集合并更新用于一级识别处理的字符图像,返回执行对更新后的字符图像的一级识别处理和二级识别处理,直至根据二级识别处理结果判断出目标字符完整时将其进行输出,另外,还可以在输出目标字符之后,根据已识别完成的字符相关的语义或预设的提示信息关联出正确的目标字符,并对输出的目标字符进行正误判断,如果判断出输出的目标字符不正确,输出携带有正确的目标字符的提示信息,起到了纠正用户识字错误的作用。

例如,本公开实施例所提供的手写字符识别方法可以应用于解决低龄用户使用现有的终端设备进行识字练习时,现有的终端设备会基于低龄用户已经输入的字符序列预判想要手写的字并直接输出,起不到对低龄用户进行识字练习的作用的情况。以某一用户想要输入的待识别的字符为“乃”为例,终端设备检测到用户开始输入字符的时候,获取用户输入字符的点序列集合,当用户只输入到字符“ㄋ”,未输入字符“丿”时,终端设备获取字符“ㄋ”的点序列集合并基于预先建立的字符模型对其进行一级识别处理,处理得到候选字符为“了”的概率为31%,为“3”的概率为45%,为“乃”的概率为68%,则确定目标字符为“乃”,进一步的,对目标字符“乃”和点序列图像对应的字符图像进行二级识别处理,可以判断出字符图像对应的字符序列图像集中的点序列图像(即点序列图像“ㄋ”)与目标字符“乃”的点序列图像(即点序列图像“ㄋ”和点序列图像“丿”)不一致,则确定此目标字符不完整,则终端设备重新获取用户输入字符的补充点序列集合,此次获取的点序列集合为“乃”字的点序列集合,进一步判断出“乃”对应的字符图像为完整的,确认目标字符为“乃”字并输出,保证了此低龄用户根据输出结果完成的对字符“乃”的学习结果的可靠性,另外,如果终端设备在用户输入字符的补充点序列集合时,识别不到用户输入的字符“乃”的下一笔划“丿”,此时可能出现的是用户不会书写字符“乃”或者是忘记输入下一笔划的情况,因此如果在预设的时间间隔内终端设备检测不到用户的下一笔输入,可以根据一级识别处理结果确定出的目标字符生成对用户的提醒信息,例如,可以在终端设备上输出“小朋友,你下一步是不是想要输入笔划‘丿’”,避免了识别步骤的无休止循环,起到了帮助用户学习识字的作用。

如图1所示,为本公开实施例提供的一种手写字符识别方法的流程图,可以包括以下步骤:

S101:接收待识别字符的第一点序列集合,生成字符图像。

本步骤中,当终端设备检测到用户在识别区域输入待识别字符时,根据用户在识别区域绘制的点信息,利用塞尔曲线将用户绘制的点顺序连接,得到相应的点序列集合。

需要说明的是,终端设备针对用户在输入待识别字符过程中的每一输入笔划的绘制点信息生成对应笔划的点序列,其中,将用户一次输入识别为一个笔划,即将用户从起笔到提笔的过程中检测到的绘制点信息作为一个笔划,每个字符可以由若干个笔划组成,以待识别字符为“乃”为例,如果用户第一笔输入“ノ”,第二笔输入“ㄋ”,则识别为两个笔划,如果用户一次输入上述两个笔划,则识别为一个笔划,由所有输入笔划对应的点序列组成待识别字符的点序列集合,进一步的,终端设备根据组成的点序列集合生成待识别字符对应字符图像。

S102:对字符图像进行一级识别处理,得到目标字符。

本步骤中,基于生成的字符图像,利用字符识别模型对用户输入的字符进行一级处理。

其中,字符识别模型可以利用卷积神经网络(Recurrent Neural Network,RNN)进行训练得到,其输入为收集到的大量用户的手写字符样本,卷积神经网络结构和损失函数可以根据训练目标进行定义,本公开实施例对此不进行限定,字符识别模型的输出为输入的字符样本对应于不同字符的概率矩阵。

具体实施时,可以使用梯度下降的方法对字符识别模型中的参数进行训练,经过对字符识别模型中的参数不断迭代的方法,最终使该模型识别准确率达到预设阈值。

其中,基于训练好的字符识别模型,终端设备将步骤S101中生成的字符图像输入字符识别模型中进行一级识别处理,获取字符图像对应于各个候选字符的概率矩阵,选择概率最大的候选字符为确定的目标字符并输出一级识别处理结果。

例如,以用户输入的待识别字符为“器”为例,终端设备基于获取的待识别字符“器”的点序列集合,生成对应的字符图像,将生成的字符图像输入预先训练好的字符识别模型中,输出待识别字符对应于候选字符的概率矩阵,其中,包括待识别字符为“哭”的概率、待识别字符为“嚣”的概率和待识别字符为“器”的概率等,以候选字符“哭”的概率为3%,候选字符“嚣”的概率为9%和候选字符“器”的概率为82%,则终端设备根据解析出的概率确定目标字符为“器”,并将“器”作为一级识别处理结果进行输出。

在一种可能的方式中,如果用户书写过于潦草或者不规范,将待识别字符的字符图像输入字符识别模型进行一级识别处理时,字符识别模型无法确定字符图形对应的目标字符,则输出的一级识别处理结果可能为“?”、空白字符或者提示用户“请重新输入”等等,关于这种情况下一级识别处理结果的输出内容,本公开实施例不进行限定。

在一些可能的实施方式中,提醒方式可为语音提醒、文字提醒。具体可以根据用户的识字水平和自主选择,进行适应的提醒,如针对低龄儿童可以采用语音提醒,针对成人或者较大儿童,采用文字提醒,对此不做赘述。

S103:通过对字符图像和目标字符进行二级识别处理,判断目标字符是否完整。

本步骤中,为了提高识别结果的可靠性,终端设备将一级识别处理结果得到的目标字符和待识别字符对应的字符图像输入到分类网络进行二次处理,其中,该分类网络为二分类网络。其中,该分类网络用于判断字符图像的完整性。

关于分类网络的训练方式,与步骤S102中的关于字符识别模型的训练方式的基本流程相同,其也可以利用循环神经网络训练得到的。但是由于分类网络的处理目标与字符识别模型的不同,分类网络的输入为大量用户的手写字符样本,该手写字符样本包括正字符样本和负字符样本,其中,正字符样本为完整字符样本,负字符样本为不完整字符样本,针对每一字符样本,预先标记该字符是否完整的标签。另外,分类网络的损失函数也不同,本公开实施例所提供的分类网络使用的损失函数可以为a-software函数,使用梯度下降的方法对分类网络中的参数进行训练,通过对分类网络中的参数不断迭代,最终使该分类网络对字符图像完整性的判断准确率达到预设阈值。

在一种实施方式中,在进行二级识别处理之前,终端设备根据获取的字符图像,得到其对应的第一点序列集合并划分成多个点序列字子集,其中,每一个点序列子集根据用户输入的笔划顺序确定,例如,以用户输入“白”字为例,组成“白”字的笔划“ノ”、“丨”、“┑”、“一”、“一”构成“白”字的第一点序列集合,对应“白”字的每一个笔划构成一个点序列子集,基于此,可以按照用户在终端设备上输入的“白”字的笔划顺序将其划分成5个点序列子集。进一步的,根据划分出的每一点序列子集生成一一对应的多个点序列图像,其中,对于“白”字,其对应包括5个点序列图像,然后将生成的多个点序列图像进行组合,得到用于一级识别处理的字符图像的字符序列图像集。

在另一种实施方式中,关于字符序列图像集的获取,终端设备还可以在接收到用户输入的待识别字符的第一点序列集合之后,按照用户在终端设备输入的待识别字符的笔划顺序将其划分成多个点序列子集,生成每一点序列子集对应的点序列图像并组合得到目标字符对应的字符序列图像集,需要说明的是,在这种方式中,该字符序列图像集就是生成的字符图像。

基于此,二级分类网络根据接收到的目标字符,获取其预先训练好的构成此目标字符的点序列图像,并对比已生成的字符序列图像集包括的点序列图像,在确定两个点序列图像一致时,则可以确定经过一级识别处理得到的目标字符完整的。

S104:确定目标字符完整时,输出目标字符。

本步骤中,如果终端设备根据二次识别处理的结果确定出字符图像完整时,则可以确定根据一级识别处理得到的目标字符时完整的,直接输出此目标字符。

可选的,在输出目标字符之后,还可发出提示信息,如“正确”、“小朋友真棒”、或者图标、动画等,对此不做赘述。

S105:确定目标字符不完整时,获取待识别字符的补充点序列集合。

具体实施时,如果在利用二级分类网络对字符图像和目标字符进行二级识别处理时,确定出两个点序列图像不一致时,则说明获取的用于一级识别处理的字符图像是不完整的,因此需要重新获取用户输入的待识别字符的补充点序列集合,例如,用户需要输出的待识别字符为“夕”,但是终端设备在识别过程中生成的为用户输入的“ク”对应的字符图像,则字符“夕”的最后一个笔划“、”就是需要获取的待识别字符的补充点序列集合。

在一种实施方式中,如果终端设备无法获取用户输入的补充点序列集合,将根据得到目标字符以及用户已输入的笔划生成对应目标字符的提醒信息,以用户输入的笔划为“ク”为例,根据目标字符“夕”可以判断出下一笔需要输入的笔划为“、”,基于此,将生成提醒用户输入完整的目标字符提醒信息,例如,该提醒信息的内容可以是“小朋友,你下一步是不是想要输入笔划‘、’”,从而达到了帮助用户学习识字的效果。

S106:将补充点序列集合和第一点序列集合合并为第二点序列集合,并利用第二点序列集合更新字符图像,以及,返回执行对字符图像进行一级识别处理的步骤,直至根据二级识别处理结果确定目标字符完整时,输出目标字符。

具体实施时,如果在利用二级分类网络对字符图像和目标字符进行二级识别处理时,确定出两个点序列图像不一致时,则说明获取的用于一级识别处理的字符图像是不完整的,因此需要重新获取用户输入的待识别字符的第二点序列集合,其中,该第二点序列集合是将获取的第一点序列集合和再次获取的补充点序列集合进行合并得到的,补充点序列集合就是再次识别到用户新输入的笔划,进一步的,终端设备基于第二点序列集合更新字符图像,在更新得到新的字符图像之后,继续执行步骤S102和步骤S103,直至根据二级识别处理结果确定目标字符完整时,输出正确的目标字符。

例如,终端设备根据一级识别处理结果确定出用户输入的待识别字符对应的目标字符为“乐”,但是此识别结果所对应的字符图像是用户输入的缺少数字“乐”字的右下角一点的字符图像,基于此,将对应的待识别字符图像和一级识别处理结果输出的目标字符“乐”输入到分类网络中,利用分类网络获取字符图像对应的字符序列图像集(即笔划“╯”、“└”、“」”和“ノ”对应的点序列图像)和组成确定的目标字符“乐”的完整点序列图像(即笔划“╯”、“└”、“」”、“ノ”和“、”对应的点序列图像),通过判断组成“乐”字的字符序列图像集的每一点序列图像和目标字符“乐”的完整点序列图像不一致,确定用户输入的字符图像不完整,重新获取用户输入的待识别字符的补充点序列集合,进一步的,根据用户的输入再次识别到笔划“、”的点序列,则可以将一级识别处理结果对应的点序列和识别到的笔划“、”的点序列重新结合并更新得到第二点序列集合,即完整的字符“乐”的点序列集合,基于第二点序列集合生成新的字符图像并将其输入到字符识别模型中获取新的一级识别处理结果,确定新的目标字符“乐”,基于此,将此目标字符“乐”和其对应的字符图像输入到分类网络中,利用分类网络确定新的目标字符图像的完整性,如果根据二级识别处理结果确定新的目标字符图像为完整的,则确定目标字符“乐”为最终的输出结果,在这种方式中,可以避免由于终端设备的预判识别而输出正确的目标字符,造成用户误以为由笔划“╯”、“└”、“」”和“ノ”就可以组成字符“乐”的问题,避免了用户通过字符输入练习却学习到错误字符的问题,保证了练习识字效果的可靠性。

在另一种可能的实施方式中,在确定利用分类网络获取的字符图像的点序列图像是完整的且输出正确的目标字符之后,本公开实施例还可以根据用户已经输入且识别完成的字符对应的语义或预设的提示信息对输出的目标字符进行正误判断,在判断出输出的目标字符不正确时,可以根据已经输入且识别完成的字符对应的语义或预设的提示信息关联出正确的目标字符并生成提示信息提醒用户,其中,可以通过以下两种方式对输出的目标字符进行正误判断:

第一种方式,根据用户已经输入且识别完成的字符对应的语义,确定输出的目标字符的正误,例如,终端设备根据用户输入的待识别字符确定输出的目标字符为“找”,且用户输入的完整的待识别字符也是“找”,但是,终端设备此时已经对用户输入的字符“我”、“想”、“打”、和“游”识别完成,根据用户输入的字符语义可以判断出与用户输入内容相关联的目标字符是“戏”,因为相比于语句“我想打游找”,语句“我想打游戏”的语义更清楚且更符合语法,因此,在输出目标字符“找”之后,终端设备还会根据关联的目标字符生成提示信息并显示在屏幕上,例如,显示提示信息可以为“小朋友,你是不是想要练习‘戏’字”。基于此方式,既可以保证输出的目标字符是用户输入的目标字符,保证了用户可以正确练习自己输入的字符,还可以根据提示信息,帮助用户练习不会书写的字符或者是书写不匹配的字符,保证了通过手写输入进行识字练习的可靠性。

在另一种实施方式中,还可以根据显示在终端设备上的预设提示信息确定输出的目标字符进行正误,其中,预设提示信息包括提示字的组合信息或提示字拼音信息,例如,终端设备上显示字符“好”、“好”、“学”和“()”,则用户根据显示的字符可以判断出应该在“()”处填写字符“习”,如果用户填写了字符“刁”,则终端设备根据提示信息关联出正确的目标字符应该为“习”,则根据字符“习”生成提示信息并显示屏幕上,例如,显示提示信息可以为“小朋友,你是不是想要练习‘习’字”。另外,关于上述提到的“()”位置,还可以是字符“习”的拼音信息“xi”,关于上述预设提示信息的内容,本公开实施例不进行限定。

具体实施时,还可以根据存储在分类网络中的固定诗句或语句进行目标字符的关联,或者,可以根据最新的网络热词进行目标字符的关联,也可以根据用户的输入习惯和某个字的字频进行关联,关于目标字符的关联方式的确定,本公开实施例不进行限定。

本公开实施例基于用户在客户端输入的待识别字符,获取待识别字符的点序列集合并生成对应的字符图像,根据生成的字符图像利用字符识别模型确定目标字符,进一步将字符图像和目标字符输入到分类网络中,根据生成的字符图像对应的点序列图像,利用分类网络确定字符图像的完整性,在确定字符图像的完整的情况下输出目标字符为一级识别处理结果,否则重新获取待识别字符的点序列集合返回执行以上步骤,直至确定目标字符完整时输出目标字符,利用对字符图像进行两次处理的方式,保证了用户通过字符输入的方式进行识字训练的可靠性,另外还可以在输出完整的目标字符之后,根据预设提示信息,对输出的目标字符进行正误判断,基于判断的结果可以生成包括关联的正确目标字符的提示信息,保证了既可以根据提示信息进行识字学习,还可以巩固已学会的字符。

基于以上对用户输入的待识别字符的识别过程,如图2所示,为本公开实施例提供的一种调整输出的目标字符的具体实施过程的流程图,可以包括以下步骤:

S201:接收待识别字符的第一点序列集合,生成第一字符图像。

本步骤中,终端设备获取用户输入的待识别字符的第一点序列集合,根据该第一点序列集合生成待识别字符的第一字符图像。

S202:利用字符识别模型对第一字符图像进行一级识别处理,根据一级识别处理结果判断是否能识别第一字符图像,如果是,执行步骤S204,如果否,执行步骤S203。

本步骤中,终端设备将生成的第一字符图像输入到字符识别模型中进行一级识别处理,根据一级处理识别的结果判断能否识别第一字符图像中对应目标字符。

S203:返回预设的模板内容。

本步骤中,如果根据一级识别处理结果不能识别出第一字符图像中对应的目标字符,则返回“?”、空白字符或者提示用户“请重新输入”等等预设的任一模板内容,流程结束。

当然,也可以通过语音、视频或者动画等方式提示,对此不做赘述。

S204:将目标字符及其对应的第一字符图像输入到分类网络中。

本步骤中,如果根据一级识别处理结果能识别出第一字符图像中对应的目标字符,则终端设备将此目标字符及其对应的字符图像输入到分类网络中。

S205:利用分类网络对第一字符图像和目标字符进行二级识别处理。

本步骤中,终端设备利用分类网络对第一字符图像进行处理,具体实施时,首先根据第一字符图像对应的点序列集合中的每一点序列生成其对应的点序列图像,其次,按照每一点序列的输入顺序将各点序列组合成字符序列图像集输入到分类网络中。

S206:根据二级识别处理结果判断第一字符图像是否完整,如果是,执行步骤S207,如果否,执行步骤S208。

S207:确定第一字符图像完整时,输出目标字符。

本步骤中,在根据二级识别处理结果判断第一字符图像完整时,即确定其对应的目标字符完整时,输出一级识别处理结果确定的目标字符。

S208:判断能否获取到待识别字符的补充点序列集合,如果是,执行步骤S210,如果否,执行步骤S209。

本步骤中,在根据二级识别处理结果判断第一字符图像不完整时,终端设备基于用户的输入内容,需要判断能否重新获取到待识别字符的补充点序列集合,其中,补充点序列集合可以是识别到的用户新输入的笔划对应的点序列集合。

S209:输出提醒信息。

具体实施时,如果在预设的时间间隔内,终端设备判断出无法获取到待识别字符的补充点序列集合,可能是用户忘记了需要输出的目标字符的下一笔划,则可根据用于一级识别处理的字符图像及其确定出的目标字符生成提醒信息,用于提醒用户输入完整的目标字符。

S210:获取待识别字符的补充点序列集合并更新得到第二字符图像。

本步骤中,如果在预设的时间间隔内,终端设备获取到待识别字符的补充点序列集合,则将获取的补充点序列集合和第一点序列集合进行合并,得到待识别字符的第二点序列集合,并根据第二点序列集合更新第一字符图像得到第二字符图像,基于此,终端设备根据第二字符图像返回执行步骤S202-S207,直至根据第二字符图像对应的点序列图像判断出目标字符完整时,执行步骤S211。

S211:确定目标字符完整时,输出目标字符。

S212:对输出的目标字符进行正误判断,若确定目标字符不正确,则输出提示消息。

具体实施时,终端设备在输出目标之后,还可以根据用户已经输入且识别完成的字符对应的语义或预设的提示信息对输出的目标字符进行正误判断。

例如,用户想要输入诗句“处处闻啼鸟”,已经完成对字符“处”、“处”、“闻”、“啼”的识别,当用户在输入字符“鸟”的过程中,可能由于用户不会书写字符“鸟”,或者是将字符“乌”字认成了字符“鸟”,基于此,终端设备采集到用户输入字符为“乌”的字符图像,根据此字符图像,以及根据一级识别处理结果确定目标字符为字符“乌”,进一步的,再对目标字符“乌”进行完整性判断,分类网络基于用于一级识别处理的字符图像判断出该字符图像完整,则直接输出目标字符“乌”,但是终端设备根据已识别完成的字符“处”、“处”、“闻”、“啼”和在分类网络中训练好的固定诗句“处处闻啼鸟”联想出该字符图像对应的目标字符应该为“鸟”,则基于联想出的目标字符“鸟”生成提示信息“小朋友,你是不是想要练习‘鸟’字”并显示在终端设备的屏幕上,用户可以基于此提示信息,学习到诗句“处处闻啼鸟”的正确写法,还可以巩固已学习到的字符“乌”。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与手写字符识别方法对应的手写字符识别装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述手写字符识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

如图3所示,为本公开实施例提供的一种手写字符识别装置的示意图,包括:

接收模块301,用于接收待识别字符的第一点序列集合,生成字符图像;

第一识别模块302,用于对所述字符图像进行一级识别处理,得到目标字符;

第二识别模块303,用于通过对所述字符图像和所述目标字符进行二级识别处理,判断所述目标字符是否完整;

输出模块304,用于确定所述目标字符完整时,输出所述目标字符;

获取模块305,用于确定所述目标字符不完整时,获取待识别字符的补充点序列集合,并将所述补充点序列集合和所述第一点序列集合合并为第二点序列集合,以及,利用所述第二点序列集合更新所述字符图像,并将更新后的所述字符图像反馈给所述第一识别模块302。

在一种可能的实施方式中,所述装置还包括:

第一提示模块306,用于在所述获取模块305获取待识别字符的补充点序列集合之前,输出提醒信息;所述提醒信息用于提醒用户输入完整的所述目标字符。

在一种可能的实施方式中,所述装置还包括:

划分模块307,用于在所述第二识别模块303在对所述字符图像和所述目标字符进行二级识别处理之前,将所述字符图像对应的第一点序列集合划分成多个点序列子集;根据所述多个点序列子集,生成与所述多个点序列子集一一对应的多个点序列图像;将所述多个点序列图像组合成字符序列图像集。

在一种可能的实施方式中,所述划分模块307,具体用于根据输入顺序,将所述第一点序列集合划分成多个点序列子集。

在一种可能的实施方式中,所述输出模块304,具体用于确定组成所述字符图像的点序列图像与组成所述目标字符的点序列图像一致。

在一种可能的实施方式中,所述第一识别模块302,具体用于基于所述字符图像,利用预先训练的字符识别模型进行一级识别处理,输出所述字符图像对应于各候选字符的概率矩阵;确定对应概率最大的候选字符为所述目标字符。

在一种可能的实施方式中,所述装置还包括:

第二提示模块308,用于在所述输出模块304输出所述目标字符之后,根据已输入字符的语义或预设提示信息确定所述目标字符的正误,所述预设提示信息包括提示字的组合信息或提示字拼音信息;若确定所述目标字符不正确,则输出正确的目标字符。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的一种计算机设备结构示意图,包括:

处理器41和存储器42;所述存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:步骤S101:接收待识别字符的第一点序列集合,生成字符图像,步骤S102:对字符图像进行一级识别处理,得到目标字符,步骤S103:通过对字符图像和目标字符进行二级识别处理,判断目标字符是否完整,步骤S104:确定目标字符完整时,输出目标字符,步骤S105:确定目标字符不完整时,获取待识别字符的补充点序列集合以及步骤S106:将补充点序列集合和第一点序列集合合并为第二点序列集合,并利用第二点序列集合更新字符图像,以及,返回执行对字符图像进行一级识别处理的步骤,直至根据二级识别处理结果确定目标字符完整时,输出目标字符。

上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换。

上述指令的具体执行过程可以参考本公开实施例中所述的手写字符识别方法的步骤,此处不再赘述。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的手写字符识别方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例所提供的手写字符识别方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的手写字符识别方法的步骤,具体可参见上述方法实施例,在此不再赘述。

本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号