一种竖向文本图像的字符识别方法和装置与流程

文档序号:17697949发布日期:2019-05-17 21:50阅读:332来源:国知局
一种竖向文本图像的字符识别方法和装置与流程

本发明涉及文字识别技术领域,特别是涉及一种竖向文本图像的字符识别方法和装置。



背景技术:

在现实的工作和学习中,人们会接触到相当多的文本图像,如pdf文件,如果需要对这些文件进行编辑则需要进行ocr识别,将其转换为word等可编辑文本。目前,一般的文本识别方法是基于横排文本进行识别的,但是,在实际工作中存在着很多竖向文本,例如汉字的古籍文字、蒙文文本、藏文文本等,对于这些竖向文本来说当前的文本识别方法就会无能为力。



技术实现要素:

有鉴于此,本发明提供了一种竖向文本图像的字符识别方法和装置,以解决竖向文本图像的字符识别问题。

为了解决上述问题,本发明公开了一种竖向文本图像的字符识别方法,包括步骤:

获取待识别的竖向文本图像,所述竖向文本图像包括至少一列竖向文本;

将每列竖向文本转换为单行横向文本;

将所述单行横向文本输入端到端字符识别模型,得到识别结果。

可选的,所述将每列竖向文本转换为单行横向文本步骤,包括:

将所述每列竖向文本逆时针旋转90°,得到所述单行横向文本。

可选的,还包括步骤:

获取训练样本集,所述训练样本集包括多张以网上爬虫获取的多张含竖向文本的文本图像,还包括与所述竖向文本对应的文字;

利用所述训练样本集进行模型训练,得到所述端到端字符识别模型。

可选的,所述端到端字符识别模型为crnn+ctc模型或者crnn+attention模型。

还提供了一种竖向文本图像的字符识别装置,包括:

图像获取模块,用于获取待识别的竖向文本图像,所述竖向文本图像包括至少一列竖向文本;

横向转换模块,用于将每列竖向文本转换为单行横向文本;

识别执行模块,用于将所述单行横向文本输入端到端字符识别模型,得到识别结果。

可选的,所述横向转换模块包括:

第一转换单元,用于将所述每列竖向文本逆时针旋转90°,得到所述单行横向文本。

可选的,还包括:

样本获取模块,用于获取训练样本集,所述训练样本集包括多张以网上爬虫获取的多张含竖向文本的文本图像,还包括与所述竖向文本对应的文字;

模型训练模块,用于利用所述训练样本集进行模型训练,得到所述端到端字符识别模型。

可选的,所述端到端字符识别模型为crnn+ctc模型或者crnn+attention模型。

从上述技术方案可以看出,本发明提供了一种竖向文本图像的字符识别方法和装置,具体为获取待识别的竖向文本图像,竖向文本图像包括至少一列竖向文本;将每列竖向文本转换为单行横向文本;将单行横向文本输入端到端字符识别模型,得到识别结果。从而解决了竖向文本图像的字符识别问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例的一种竖向文本图像的字符识别方法的流程图;

图2为本申请实施例的一种端到端字符识别模型的训练方法的流程图;

图3为本申请实施例的一种竖向文本图像的字符识别装置的框图;

图4为本申请实施例的另一种竖向文本图像的字符识别装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本申请实施例的一种竖向文本图像的字符识别方法的流程图。

参照图1所示,本实施例提供的字符识别方法应用于相应的电子设备,这种电子设备用于通过获取相应的竖向文本图像,自主或者根据用户的操作对该图像中的竖向文本进行识别,得到相应的文字,以便系统或者用户能够根据识别的结果执行相应的操作,该字符识别方法具体包括如下步骤:

s1、获取待识别的竖向文本图像。

即通过直接读取、拍摄或者扫描等方式获取载有竖向文本的图像,即竖向文本图像,其中包含有至少一列竖向文本。所谓竖向文本指的是该文本中的每个句子是从上到下排列的,但也不排除从下到上的排列方式。

s2、将每列竖向文本转换为单相横向文本。

在得到相应竖向文本图像后,将其中包含的竖向文本进行截取,得到单列的竖向文本,即得到多个仅包含一列竖向文本的图像。在得到相应的图像后,将该单列竖向文本旋转90°,从而将其变为单行横向文本。

在将单列竖向文本进行旋转时,可以将其顺时针旋转90°,也可以将其逆时针旋转90°,从而得到相应的横向的单行横向文本。

s3、对单行横向文本进行文字识别。

在得到当行横向文本后,将该单行横向文本输入到预先训练好的端到端字符识别模型中,从而得到识别结果,即得到识别出的字符,以供后续处理或者直接使用。该端到端的意思是指在识别过程中不对单行横向文本中的单个字符进行切割,而是直接对整行的字符进行识别。

由于本方法中不需对单个字符进行切割,步骤较为简单,从而使得鲁棒性较强。

从上述技术方案可以看出,本实施例提供了一种竖向文本图像的字符识别方法,具体为获取待识别的竖向文本图像,竖向文本图像包括至少一列竖向文本;将每列竖向文本转换为单行横向文本;将单行横向文本输入端到端字符识别模型,得到识别结果。从而解决了竖向文本图像的字符识别问题。

另外,如图2所示,为了得到上述的端到端字符识别模型,本发明还包括如下步骤:

s31、获取训练样本集。

该训练样本集中包含多张含竖向文本的文本图像和对应的文字,即制作该文本图像所依据的文字。具体的获取方法为以网上爬虫方式获取至少500万张的文本图像及其对应的文字。

s32、利用训练样本集进行模型训练。

这里将训练样本集中450万张文本图像及其文字作为训练样本,将50万张文本图像作为测试样本,以便对相应的深度神经网络进行训练,从而得到该端到端字符识别模型。

本实施例中的端到端字符识别模型为crnn+ctc模型或者crnn+attention模型。

在采用crnn+ctc模型时,使用卷积cnn进行特征提取,然后使用双向lstm或gru进行特征上下文关联,最后使用ctc进行最优路径选择从而输出最终结果。在采用crnn+attention模型时,将cnn提取到文本图像抽象特征使用lstm或gru进行编码,然后使用attention机制进行解码,从而输出最终文本识别结果。

cnn为深度学习中的卷积神经网络,在图像领域特征自学习中广泛使用;lstm为深度学习中的长短时记忆神经网络,在上下文相关建模中广泛应用。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例二

图3为本申请实施例提供的一种竖向文本图像的字符识别装置的框图。

参照图3所示,本实施例提供的字符识别装置应用于相应的电子设备,这种电子设备用于通过获取相应的竖向文本图像,自主或者根据用户的操作对该图像中的竖向文本进行识别,得到相应的文字,以便系统或者用户能够根据识别的结果执行相应的操作,该字符识别装置具体包括图像获取模块10、横向转换模块20和识别执行模块30。

图像获取模块获取待识别的竖向文本图像。

即通过直接读取、拍摄或者扫描等方式获取载有竖向文本的图像,即竖向文本图像,其中包含有至少一列竖向文本。所谓竖向文本指的是该文本中的每个句子是从上到下排列的,但也不排除从下到上的排列方式。

横向转换模块用于将每列竖向文本转换为单相横向文本。

在得到相应竖向文本图像后,将其中包含的竖向文本进行截取,得到单列的竖向文本,即得到多个仅包含一列竖向文本的图像。在得到相应的图像后,将该单列竖向文本旋转90°,从而将其变为单行横向文本。

该模块包括第一转换单元和第二转换单元中的一个。第一转换单元用于在将单列竖向文本进行旋转时,将其顺时针旋转90°,从而得到该单行横向文本;第二转换单元用于将单列竖向文本逆时针旋转90°,从而得到相应的横向的单行横向文本。

识别执行模块用于对单行横向文本进行文字识别。

在得到当行横向文本后,将该单行横向文本输入到预先训练好的端到端字符识别模型中,从而得到识别结果,即得到识别出的字符,以供后续处理或者直接使用。该端到端的意思是指在识别过程中不对单行横向文本中的单个字符进行切割,而是直接对整行的字符进行识别。

由于本方法中不需对单个字符进行切割,步骤较为简单,从而使得鲁棒性较强。

从上述技术方案可以看出,本实施例提供了一种竖向文本图像的字符识别装置,具体为获取待识别的竖向文本图像,竖向文本图像包括至少一列竖向文本;将每列竖向文本转换为单行横向文本;将单行横向文本输入端到端字符识别模型,得到识别结果。从而解决了竖向文本图像的字符识别问题。

另外,如图4所示,为了得到上述的端到端字符识别模型,本发明还包括样本获取模块40和模型训练模块50。

样本获取模块用于获取训练样本集。

该训练样本集中包含多张含竖向文本的文本图像和对应的文字,即制作该文本图像所依据的文字。具体的获取方法为以网上爬虫方式获取至少500万张的文本图像及其对应的文字。

模型训练模块用于利用训练样本集进行模型训练。

这里将训练样本集中450万张文本图像及其文字作为训练样本,将50万张文本图像作为测试样本,以便对相应的深度神经网络进行训练,从而得到该端到端字符识别模型。

本实施例中的端到端字符识别模型为crnn+ctc模型或者crnn+attention模型。

在采用crnn+ctc模型时,使用卷积cnn进行特征提取,然后使用双向lstm或gru进行特征上下文关联,最后使用ctc进行最优路径选择从而输出最终结果。在采用crnn+attention模型时,将cnn提取到文本图像抽象特征使用lstm或gru进行编码,然后使用attention机制进行解码,从而输出最终文本识别结果。

cnn为深度学习中的卷积神经网络,在图像领域特征自学习中广泛使用;lstm为深度学习中的长短时记忆神经网络,在上下文相关建模中广泛应用。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1