文字图像处理方法、装置、设备及存储介质与流程

文档序号:14836510发布日期:2018-06-30 12:38阅读:173来源:国知局
文字图像处理方法、装置、设备及存储介质与流程

本申请涉及计算机视觉技术,尤其是涉及一种文字图像处理方法、神经网络的训练方法、文字图像处理装置、神经网络的训练装置、电子设备、计算机可读存储介质以及计算机程序。



背景技术:

文字图像是包含有文字(如汉字或者英文或者其他语种的字符以及数字等)的图像。在文字图像中的文字方向存在一定角度的倾斜(如文字形成的段落方向与水平方向存在一定的夹角)的情况下,针对文字图像进行文字识别的准确率会受到影响。如何提高文字识别的准确率是一个值得关注的技术问题。



技术实现要素:

本申请实施方式提供一种文字图像处理技术方案。

根据本申请实施方式的一方面,提供了一种文字图像处理方法,该方法包括:获取包含有待处理文字图像中的文字的至少一个图像块;基于形态变换神经网络,获取所述图像块的图像块形态变换信息,所述图像块形态变换信息用于使所述图像块中的文字方向转变为预定方向;所述形态变换神经网络是利用具有形态变换标注信息的图像块样本训练获得的;根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理;对形态变换之后的待处理文字图像进行文字识别。

在本申请一实施方式中,所述图像块为具有预定大小的正方形图像块。

在本申请又一实施方式中,所述获取包含有待处理文字图像中的文字的至少一个图像块包括:对所述待处理文字图像进行切割处理,以获得包含有待处理文字图像中的文字的至少一个具有预定大小的正方形图像块;或者对所述待处理文字图像进行填补处理,以获得包含有整个待处理文字图像的至少一个具有预定大小的图像块。

在本申请再一实施方式中,所述对所述待处理文字图像进行切割处理包括:以所述待处理文字图像的中心位置为中心,以所述待处理文字图像的短边为边长,从所述待处理文字图像中切割出一正方形图像块。

在本申请再一实施方式中,所述图像块形态变换信息包括:图像块顶点的透视坐标变换信息和/或表示90度整数倍数的图像块旋转信息。

在本申请再一实施方式中,所述根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理包括:根据所述表示90度整数倍数的图像块旋转信息对所述待处理文字图像进行90度整数倍数的旋转处理;根据所述图像块顶点的透视坐标变换信息确定透视变换矩阵,并利用所述透视变换矩阵对旋转处理后的待处理文字图像进行透视变换。

在本申请再一实施方式中,在所述图像块为多个的情况下,所述根据所述表示90度整数倍数的图像块旋转信息对所述待处理文字图像进行90度整数倍数的旋转处理包括:根据所述表示90度整数倍数的图像块旋转信息各自对应的概率值选取对应概率值最大的表示90度整数倍数的图像块旋转信息,并根据选取的表示90度整数倍数的图像块旋转信息对所述待处理文字图像进行90度整数倍数的旋转处理。

在本申请再一实施方式中,在所述图像块为多个的情况下,所述根据所述图像块顶点的透视坐标变换信息确定透视变换矩阵,并利用所述透视变换矩阵对旋转处理后的待处理文字图像进行透视变换包括:根据各图像块顶点的透视坐标变换信息分别确定各图像块的透视变换矩阵,并根据各图像块的透视变换矩阵确定透视变换平均矩阵,利用所述透视变换平均矩阵对旋转处理后的待处理文字图像进行透视变换。

在本申请再一实施方式中,所述方法还包括:基于形态变换神经网络,获取表示图像块中的文字所占用的面积是否达到预定要求的信息;所述根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理包括:在所述表示图像块中的文字所占用的面积是否达到预定要求的信息为图像块中的文字所占用的面积达到预定要求的情况下,根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理,否则,不执行根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理的步骤。

在本申请再一实施方式中,在所述图像块为多个的情况下,如果任一图像块对应的表示图像块中的文字所占用的面积是否达到预定要求的信息为:图像块中的文字所占用的面积达到预定要求,则根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理,否则,不执行根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理的步骤。

在本申请再一实施方式中,所述表示所述图像块中的文字所占用的面积是否达到预定要求的信息包括:表示所述图像块中的文字所占用的面积与所述图像块的面积的比值是否达到预定比值的信息。

在本申请再一实施方式中,所述形态变换神经网络的训练过程包括:从训练数据集中获取具有形态变换标注信息的图像块样本;基于待训练的形态变换神经网络,获取所述图像块样本的图像块样本形态变换信息,所述图像块样本形态变换信息用于使所述图像块样本中的文字方向转变为预定方向;以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差。

在本申请再一实施方式中,在所述待训练的形态变换神经网络输出的信息包括:图像块样本顶点的透视坐标变换信息以及表示90度整数倍数的图像块样本旋转信息的情况下,所述待训练的形态变换神经网络包括:用于提取图像特征的共享神经网络、用于输出图像块样本顶点的透视坐标变换信息的第一分支以及用于输出表示90度整数倍数的图像块样本旋转信息的第二分支。

在本申请再一实施方式中,所述以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差包括:以图像块样本顶点的透视坐标变换标注信息为指导信息,对所述共享神经网络和第一分支进行监督学习,以减小第一分支输出的图像块样本顶点的透视坐标变换信息与图像块样本顶点的透视坐标变换标注信息之间的误差;在所述共享神经网络和第一分支成功训练完成后,在保持共享神经网络和第一分支的网络参数不变的情况下,以表示90度整数倍数的图像块样本旋转标注信息为指导信息,对所述第二分支进行监督学习,以减小第二分支输出的表示90度整数倍数的图像块样本旋转信息与表示90度整数倍数的图像块样本旋转标注信息之间的误差。

在本申请再一实施方式中,在所述待训练的形态变换神经网络输出的信息包括:表示图像块样本中的文字所占用的面积是否达到预定要求的信息的情况下,所述待训练的形态变换神经网络还包括:用于输出表示图像块样本中的文字所占用的面积是否达到预定要求的信息的第三分支。

在本申请再一实施方式中,所述以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差还包括:在所述共享神经网络和第一分支成功训练完成后,在保持共享神经网络和第一分支的网络参数不变的情况下,以表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息为指导信息,对所述第三分支进行监督学习,以减小第三分支输出的表示图像块样本中的文字所占用的面积是否达到预定要求的信息与表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息之间的误差。

在本申请再一实施方式中,所述具有形态变换标注信息的图像块样本的形成方式包括:对文字方向为预定方向的文字图像样本中的至少部分区域进行形态变换处理,并根据所述形态变换处理确定形态变换标注信息。

在本申请再一实施方式中,所述对文字方向为预定方向的文字图像样本中的至少部分区域进行形态变换处理,并根据所述形态变换处理确定形态变换标注信息包括:对文字方向为预定方向的文字图像样本中的至少部分区域进行透视变换处理,并从透视变换处理后的区域中截取文字所占用的面积达到预定要求的正方形图像样本块,对所述正方形图像样本块进行随机90度整数倍数的旋转;根据所述透视变换处理所采用的透视变换矩阵确定所述图像样本块顶点的透视坐标变换标注信息,并根据所述随机90度整数倍数的旋转确定所述表示90度整数倍数的图像块样本旋转标注信息。

根据本申请实施方式的另一方面,提供了一种神经网络的训练方法,该方法包括:从训练数据集中获取具有形态变换标注信息的图像块样本;基于待训练的形态变换神经网络,获取所述图像块样本的图像块样本形态变换信息,所述图像块样本形态变换信息用于使所述图像块样本中的文字方向转变为预定方向;以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差。

根据本申请实施方式的再一方面,提供了一种文字图像处理装置,该装置包括:获取图像块模块,用于获取包含有待处理文字图像中的文字的至少一个图像块;获取变换信息模块,用于基于形态变换神经网络,获取所述图像块的图像块形态变换信息,所述图像块形态变换信息用于使所述图像块中的文字方向转变为预定方向;所述形态变换神经网络是利用具有形态变换标注信息的图像块样本训练获得的;变换处理模块,用于根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理;文字识别模块,用于对形态变换之后的待处理文字图像进行文字识别。

在本申请一实施方式中,所述装置还包括:获取占用信息模块,用于基于形态变换神经网络,获取表示图像块中的文字所占用的面积是否达到预定要求的信息;所述变换处理模块具体用于:在所述表示图像块中的文字所占用的面积是否达到预定要求的信息为图像块中的文字所占用的面积达到预定要求的情况下,根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理,否则,不执行根据所述图像块形态变换信息对所述待处理文字图像进行形态变换处理的步骤。

在本申请又一实施方式中,所述装置还包括:获取样本模块,用于从训练数据集中获取具有形态变换标注信息的图像块样本;获取样本变换信息模块,用于基于待训练的形态变换神经网络,获取所述图像块样本的图像块样本形态变换信息,所述图像块样本形态变换信息用于使所述图像块样本中的文字方向转变为预定方向;监督学习模块,用于以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差。

在本申请再一实施方式中,所述装置还包括:标注模块,用于对文字方向为预定方向的文字图像样本中的至少部分区域进行形态变换处理,并根据所述形态变换处理确定形态变换标注信息。

根据本申请实施方式的再一方面,提供了一种神经网络的训练装置,该装置包括:获取样本模块,用于从训练数据集中获取具有形态变换标注信息的图像块样本;获取样本变换信息模块,用于基于待训练的形态变换神经网络,获取所述图像块样本的图像块样本形态变换信息,所述图像块样本形态变换信息用于使所述图像块样本中的文字方向转变为预定方向;监督学习模块,用于以所述图像块样本的形态变换标注信息为指导信息,对所述待训练的形态变换神经网络进行监督学习,以减小所述待训练的形态变换神经网络输出的图像块样本形态变换信息与所述形态变换标注信息之间的误差。

根据本申请实施方式的再一方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请任一文字图像处理方法实施方式中的步骤,或者实现本申请任一神经网络的训练方法实施方式中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请任一文字图像处理方法实施方式中的步骤,或者,实现本申请任一神经网络的训练方法实施方式中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请任一文字图像处理方法实施方式中的步骤,或者,实现本申请任一神经网络的训练方法实施方式中的步骤。

基于本申请提供的文字图像处理方法、文字图像处理装置、设备、存储介质以及计算机程序,本申请通过利用形态变换神经网络来获得用于使图像块中的文字方向转变为预定方向的图像块形态变换信息,可以方便快捷的根据形态变换神经网络输出的图像块形态变换信息对待处理文字图像进行形态变换处理,从而使形态变换处理后的待处理文字图像中的文字方向呈现为预定方向(如水平方向),由此可知,本申请可以有效避免由于文字方向发生倾斜而影响文字图像的文字识别的准确率的现象,最终,本申请提供的文字图像处理的技术方案有利于提高文字识别的准确率。

下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请文字图像处理方法一个实施方式的流程图;

图2为本申请的形态变换神经网络的一个实施方式的示意图;

图3为本申请的形态变换神经网络的另一个实施方式的示意图;

图4为本申请的神经网络的训练方法一个实施方式的流程图;

图5为本申请的形成训练数据的一个实施方式的流程图;

图6为本申请文字图像处理装置一个实施方式的结构示意图;

图7为本申请的神经网络的训练装置一个实施方式的结构示意图;

图8为实现本申请实施方式的一示例性设备的框图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

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

本申请实施例可以应用于终端设备、计算机系统以及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性实施例

图1为本申请方法一个实施例的流程图。如图1所示,该实施例方法包括:步骤S100、步骤S110、步骤S120以及步骤S130。下面对图1中的各步骤进行详细说明。

S100、获取包含有待处理文字图像中的文字的至少一个图像块。

在一个可选示例中,本申请中的待处理文字图像可以为基于RGB(红绿蓝)的图像。本申请中的待处理文字图像可以为呈现静态的图片或者照片等图像,也可以为呈现动态的视频中的视频帧等。该待处理文字图像可以包括由多个文字形成的一个或者多个文字段落,也可以包括不以段落的形式出现的文字,如以表格的形式出现的文字等。本申请中的文字可以包括用于表达一定语意的字符(如汉字或者英文或者其他语种的字符)以及数字等。本申请不限制待处理文字图像中的文字的具体表现形态。

在一个可选示例中,本申请中的图像块通常为具有预定大小的正方形图像块,该图像块的形状以及大小通常与形态变换神经网络对图像块的要求相关。本申请并不限制图像块的形状以及大小等。

在一个可选示例中,本申请中的图像块可以是待处理文字图像中的一部分图像,例如,本申请可以对待处理文字图像进行切割处理,以获得包含有待处理文字图像中的文字的至少一个具有预定大小的正方形图像块;一个具体的可选例子为:本申请可以以待处理文字图像的中心位置为中心,以待处理文字图像的短边为边长,从待处理文字图像中切割出一正方形图像块,该正方形图像块为能够从待处理文字图像中切割出的面积最大的图像块。当然,在上述切割过程中,本申请也可以以待处理文字图像的中心位置为中心,以小于待处理文字图像的短边的长度为边长,从待处理文字图像中切割出一正方形图像块。另一个具体的可选例子为:本申请可以以待处理文字图像的两个短边分别为正方形的边长,从待处理文字图像中切割出两个正方形图像块,这两个正方形图像块均为能够从待处理文字图像中切割出的面积最大的图像块。上述仅为举例描述,本申请不限制从待处理文字图像中切割出图像块的数量以及切割位置等具体切割方式。

在一个可选示例中,本申请中的图像块也可以包含有整个待处理文字图像,例如,本申请对待处理文字图像进行填补处理,以获得包含有整个待处理文字图像的至少一个具有预定大小的正方形图像块。一个具体的可选例子为:在待处理文字图像为长方形的情况下,本申请可以在该待处理文字图像的短边方向,填补空白内容,从而形成以待处理文字图像的长边为正方形的边长的一图像块。当然,在上述填补处理过程中,也可以在该待处理文字图像的短边方向和长边方向分别填补空白内容,从而形成的正方形图像块的边长比待处理文字图像的长边略长。

S110、基于形态变换神经网络,获取图像块的图像块形态变换信息。

在一个可选示例中,本申请将图像块提供给形态变换神经网络,并根据该形态变换神经网络针对输入的图像块而输出的信息,获得图像块形态变换信息。图像块形态变换信息用于使图像块中的文字方向转变为预定方向。

在一个可选示例中,如果在上述步骤S100中,本申请基于待处理文字图像而产生的图像块的大小以及形状等并不符合形态变换神经网络对输入图像块的要求,则本申请可以在本步骤S110中,先对该图像块的大小以及形状等进行调整,使调整后的图像块的大小以及形状等符合形态变换神经网络对输入图像块的要求,然后,再将调整后的图像块提供给形态变换神经网络。

在一个可选示例中,本申请的形态变换神经网络针对输入的图像块所输出的图像块形态变换信息可以包括:图像块顶点的透视坐标变换信息以及表示90度整数倍数的图像块旋转信息中的至少一个,其中的图像块顶点的透视坐标变换信息可以为图像块四个顶点的透视坐标变换信息,且图像块顶点的透视坐标变换信息用于使图像块发生基于透视变换的旋转,且该基于透视变换的旋转角度通常小于90度;而其中的表示90度整数倍数的图像块旋转信息可以为0、1、2或者3等,0表示不旋转,1表示顺时针/逆时针旋转90度,2表示顺时针/逆时针旋转180度,3表示顺时针/逆时针旋转270度。

在一个可选示例中,在本申请的形态变换神经网络针对图像块输出的图像块形态变换信息包括:图像块顶点的透视坐标变换信息以及表示90度整数倍数的图像块旋转信息的情况下,本申请的形态变换神经网络可以包括:用于提取图像块的图像特征的共享神经网络、用于输出图像块顶点的透视坐标变换信息的第一分支以及用于输出表示90度整数倍数的图像块旋转信息的第二分支;其中的共享神经网络从图像块中提取的图像特征会被分别提供给第一分支和第二分支。

在一个可选示例中,本申请的形态变换神经网络还可以针对输入的图像块,输出表示图像块中的文字所占用的面积是否达到预定要求的信息,例如,形态变换神经网络针对输入的图像块输出表示图像块中的文字所占用的面积与该图像块的面积的比值是否达到预定比值的信息,上述预定比值可以为0.3左右。一个具体的可选例子,形态变换神经网络可以针对输入的图像块输出图像块中的文字所占用的面积与该图像块的面积的比值达到预定比值的概率值,在概率值低于预定概率值的情况下,可以认为图像块中的文字所占用的面积与该图像块的面积的比值未达到预定比值,而在概率值未低于预定概率值的情况下,可以认为图像块中的文字所占用的面积与该图像块的面积的比值达到预定比值。

在一个可选示例中,在本申请的形态变换神经网络针对输入的图像块输出图像块顶点的透视坐标变换信息、表示90度整数倍数的图像块旋转信息以及表示图像块中的文字所占用的面积与该图像块的面积的比值是否达到预定比值的信息的情况下,本申请的形态变换神经网络的一个具体例子如图2所示,图2中的形态变换神经网络包括:用于提取输入的图像块的图像特征的共享神经网络200、用于输出图像块顶点的透视坐标变换信息的第一分支210、用于输出表示90度整数倍数的图像块旋转信息的第二分支220以及用于输出表示图像块中的文字所占用的面积与该图像块的面积的比值是否达到预定比值的信息的第三分支230;其中的共享神经网络200从图像块中提取出的图像特征会被分别提供给第一分支210、第二分支220以及第三分支230。

在一个可选示例中,本申请的包含有共享神经网络以及各分支在内的形态变换神经网络可以具体为卷积神经网络,本申请并不限制该卷积神经网络的具体网络结构;例如,本申请的该卷积神经网络可以包括但不限于卷积层、非线性Relu层、池化层以及全连接层等,该卷积神经网络所包含的层数越多,则网络越深;再例如,本申请的该卷积神经网络的网络结构可以采用但不限于ALexNet、深度残差网络(Deep Residual Network,ResNet)或VGGnet(Visual Geometry Group Network,视觉几何组网络)等神经网络所采用的网络结构。

本申请的卷积神经网络的一个具体例子如图3所示,图3中的卷积神经网络包括:属于共享神经网络的第一卷积层(即图3中的conv1)、第一卷积层的Relu层(即图3中的relu1)、第一池化层(即图3中的pool1)、第二卷积层(即图3中的conv2)、第二卷积层的Relu层(即图3中的relu2)、第二池化层(即图3中的pool2)、第三卷积层(即图3中的conv3)、第三卷积层的Relu层(即图3中的relu3)、第四卷积层(即图3中的conv4)和第四卷积层的Relu层(即图3中的relu4);属于第一分支的第五卷积层(即图3中的conv5)、第五卷积层的Relu层(即图3中的relu5)、第六全连接层(即图3中的fc6)、第六全连接层的Relu层(即图3中的relu6)、第七全连接层(即图3中的fc7)和第七全连接层的Relu层(即图3中的relu7);属于第二分支的第五卷积层(即图3中的conv5_rot)、第五卷积层的Relu层(即图3中的relu_conv5_rot)、第六全连接层(即图3中的fc6_rot)、第六全连接层的Relu层(即图3中的relu_fc6_rot)、第七全连接层(即图3中的fc7_rot)和第七全连接层的Relu层(即图3中的relu_fc7_rot);以及属于第三分支的第五卷积层(即图3中的conv5_cls)、第五卷积层的Relu层(即图3中的relu_conv5_cls)、第六全连接层(即图3中的fc6_cls)、第六全连接层的Relu层(即图3中的relu_fc6_cls)、第七全连接层(即图3中的fc7_cls)和第七全连接层的Relu层(即图3中的relu_fc7_cls)。

本申请中的形态变换神经网络是利用包含有多条训练数据的训练数据集成功训练出的神经网络。训练数据集中的任一条训练数据通常包含有图像块样本以及图像块样本形态变换标注信息,可选的,任一条训练数据还可以包含表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息,例如,一条训练数据包含有图像块样本顶点的透视坐标变换标注信息、表示90度整数倍数的图像块样本旋转标注信息以及表示图像块样本中的文字所占用的面积与该图像块样本的面积的比值是否达到预定比值的标注信息。利用训练数据集对形态变换神经网络进行训练的过程可以参见下述针对图4的描述。在此不再详细说明。

S120、根据图像块形态变换信息对待处理文字图像进行形态变换处理。

在一个可选示例中,在本申请的图像块形态变换信息包括:图像块顶点的透视坐标变换信息以及表示90度整数倍数的图像块旋转信息,且基于待处理文字图像而产生的图像块为一个图像块的情况下,本申请根据图像块形态变换信息对待处理文字图像进行形态变换处理的一个具体例子为:首先,根据表示90度整数倍数的图像块旋转信息对待处理文字图像进行90度整数倍数的旋转处理(如反向旋转处理),然后,根据图像块顶点的透视坐标变换信息确定出透视变换矩阵(示例性的,透视坐标变换信息可以顶点坐标的位移量,透视变换矩阵是根据该位移量形成的,透视变换矩阵可以使图像中的各点的位置发生变化),并利用该透视变换矩阵对旋转处理后的待处理文字图像进行透视变换。透视变换后的文字图像即为待处理文字图像对应的形态变换处理后的文字图像。

在一个可选示例中,在本申请的图像块形态变换信息包括:图像块顶点的透视坐标变换信息以及表示90度整数倍数的图像块旋转信息,且基于待处理文字图像而产生的图像块为多个图像块的情况下,本申请根据图像块形态变换信息对待处理文字图像进行形态变换处理的一个具体例子为:

首先,由于形态变换神经网络针对每一个图像块分别输出表示90度整数倍数的图像块旋转信息可以为概率值,因此,本申请可以从中确定出概率值最大的表示90度整数倍数的图像块旋转信息,例如,第一个图像块的表示顺时针/逆时针旋转180度的概率值为0.6,第二个图像块的表示顺时针/逆时针旋转90度的概率值为0.65,则本申请可以选取第二个图像块的表示90度整数倍数的图像块旋转信息;

其次,由于形态变换神经网络会针对每一个图像块分别输出图像块顶点的透视坐标变换信息,因此,本申请可以针对每一个图像块的图像块顶点的透视坐标变换信息分别计算出一个透视变换矩阵,并基于各透视变换矩阵计算出透视变换平均矩阵;该透视变换平均矩阵用于使图像块发生基于透视变换的旋转,且该基于透视变换的旋转角度通常小于90度;

再次,本申请可以根据上述确定出的概率值最大的表示90度整数倍数的图像块旋转信息对待处理文字图像进行90度整数倍数的旋转处理(如反向旋转处理);

最后,本申请可以利用计算出的透视变换平均矩阵对上述旋转处理后的待处理文字图像进行透视变换。透视变换后的文字图像即为待处理文字图像对应的形态变换处理后的文字图像。

在一个可选示例中,在本申请的图像块形态变换信息包括:图像块顶点的透视坐标变换信息、表示90度整数倍数的图像块旋转信息以及表示图像块中的文字所占用的面积是否达到预定要求的信息,且基于待处理文字图像而产生的图像块为一个图像块的情况下,本申请根据图像块形态变换信息对待处理文字图像进行形态变换处理的一个具体例子为:首先,判断形态变换神经网络输出的表示图像块中的文字所占用的面积是否达到预定要求的信息是否为图像块中的文字所占用的面积达到预定要求,例如,判断形态变换神经网络输出的表示图像块中的文字所占用的面积与该图像块的面积的比值是否达到预定比值的信息是否为表示图像块中的文字所占用的面积与该图像块的面积的比值超过0.3,如果判断结果为图像块中的文字所占用的面积达到预定要求,则根据表示90度整数倍数的图像块旋转信息对待处理文字图像进行90度整数倍数的旋转处理(如反向旋转处理等),然后,根据图像块顶点的透视坐标变换信息确定出透视变换矩阵,利用该透视变换矩阵对旋转处理后的待处理文字图像进行透视变换;如果判断结果为图像块中的文字所占用的面积未达到预定要求,则不执行根据图像块顶点的透视坐标变换信息和表示90度整数倍数的图像块旋转信息对待处理文字图像进行形态变换处理的步骤。

在一个可选示例中,在本申请的图像块形态变换信息包括:图像块顶点的透视坐标变换信息、表示90度整数倍数的图像块旋转信息以及表示图像块中的文字所占用的面积是否达到预定要求的信息,且基于待处理文字图像而产生的图像块为多个图像块的情况下,本申请根据图像块形态变换信息对待处理文字图像进行形态变换处理的一个具体例子为:

首先,判断形态变换神经网络输出的所有表示图像块中的文字所占用的面积是否达到预定要求的信息中,是否存在:表示图像块中的文字所占用的面积达到预定要求的信息,例如,判断形态变换神经网络输出的所有表示图像块中的文字所占用的面积与该图像块的面积的比值是否达到预定比值的信息中,是否存在:表示图像块中的文字所占用的面积与该图像块的面积的比值超过0.3的信息;

如果判断结果为存在这样的信息,则由于形态变换神经网络会针对每一个图像块分别输出:表示90度整数倍数的图像块旋转信息各自对应的概率值,因此,本申请可以从中确定出一个概率值最大的表示90度整数倍数的图像块旋转信息,如第一个图像块的表示顺时针/逆时针旋转180度的概率值为0.6,第二个图像块的表示顺时针/逆时针旋转90度的概率值为0.65,则本申请可以确定第二个图像块的表示90度整数倍数的图像块旋转信息的概率值最大。由于形态变换神经网络会针对每一个图像块分别输出图像块顶点的透视坐标变换信息,因此,本申请可以针对每一个图像块的图像块顶点的透视坐标变换信息分别计算出一个透视变换矩阵,并基于所有的透视变换矩阵计算出透视变换平均矩阵。本申请可以根据概率值最大的表示90度整数倍数的图像块旋转信息对待处理文字图像进行90度整数倍数的旋转处理(如反向旋转处理)。本申请可以利用计算出的透视变换平均矩阵对上述旋转处理后的待处理文字图像进行透视变换。透视变换后的文字图像即为待处理文字图像对应的形态变换处理后的文字图像。

如果判断结果为不存在这样的信息,则不执行根据图像块顶点的透视坐标变换信息和表示90度整数倍数的图像块旋转信息对待处理文字图像进行形态变换处理的步骤。

S130、对形态变换之后的待处理文字图像进行文字识别。

在一个可选示例中,本申请可以利用OCR(Optical Character Recognition,光学字符识别)技术等,来对上述形态变换之后的待处理文字图像进行文字识别处理,本申请不限制文字识别的具体实现方式。

本申请通过利用形态变换神经网络来获得用于使图像块中的文字方向转变为预定方向的图像块形态变换信息,可以方便快捷的根据形态变换神经网络输出的图像块形态变换信息对待处理文字图像进行形态变换处理,从而使形态变换处理后的待处理文字图像中的文字方向呈现为预定方向(如水平方向),由此,本申请可以有效避免由于文字方向发生倾斜而影响文字图像的文字识别的准确率的现象,最终,本申请的文字图像处理的技术方案有利于提高文字识别的准确率。从待处理图像识别出的文字可以用于信息检索、图像分类以及辅助阅读等应用,本申请不限制具体的应用场景。

图4为本申请对形态变换神经网络进行训练的一个实施例的流程图。如图4所示,该实施例方法包括:步骤S400、步骤S410以及步骤S420。下面对图4中的各步骤进行详细说明。

S400、从训练数据集中获取具有形态变换标注信息的图像块样本。

在一个可选示例中,本申请中的训练数据集中包括多条用于训练形态变换神经网络的训练数据,任一条训练数据可以包括:图像块样本以及图像块样本的形态变换标注信息等。本申请可以按照随机读取方式或者按照训练数据排列次序顺序读取方式,一次从训练数据集中读取一条或者多条训练数据。本申请的训练数据集中的训练数据的生成方式可以如下述针对图5的描述,在此不再详细说明。

在一个可选示例中,训练数据中的图像块样本的形态变化标注信息可以包括:图像块样本顶点的透视坐标变换标注信息和/或表示90度整数倍数的图像块样本旋转标注信息,例如,包括图像块样本四个顶点的透视坐标变换标注信息以及表示90度整数倍数的图像块样本旋转标注信息。

S410、基于待训练的形态变换神经网络,获取图像块样本的图像块样本形态变换信息。

在一个可选示例中,本申请可以将上述获取到的图像块样本,提供给形态变换神经网络,从而根据形态变换神经网络输出的信息,可以获得图像块样本形态变换信息。该图像块样本形态变换信息用于使图像块样本中的文字方向转变为预定方向(如水平方向等)。本申请的待训练的形态变换神经网络可以包括:共享神经网络、第一分支以及第二分支,本申请的待训练的形态变换神经网络也可以包括:共享神经网络、第一分支、第二分支以及第三分支。当然,本申请也不排除该待训练的形态变换神经网络包括:共享神经网络和第一分支,或者包括:共享神经网络和第二分支的可能性。

S420、以图像块样本的形态变换标注信息为指导信息,对待训练的形态变换神经网络进行监督学习,以减小待训练的形态变换神经网络输出的图像块样本形态变换信息与形态变换标注信息之间的误差。

在一个可选示例中,在训练数据中的图像块样本的形态变化标注信息包括图像块样本顶点的透视坐标变换标注信息和表示90度整数倍数的图像块样本旋转标注信息(即待训练的形态变换神经网络包括共享神经网络、第一分支和第二分支)的情况下,本申请可以先以图像块样本顶点的透视坐标变换标注信息为指导信息,对待训练的形态变换神经网络的共享神经网络和第一分支进行监督学习;在第一分支成功训练完成后,应固定共享神经网络和第一分支的网络参数(如权值等);然后,再以表示90度整数倍数的图像块样本旋转标注信息为指导信息,对待训练的形态变换神经网络的第二分支进行监督学习,在第二分支成功训练完成后,该待训练的形态变换神经网络成功训练完成。成功训练完成的形态变换神经网络可以用于待处理文字图像进行形态变换处理的应用中。

在一个可选示例中,在训练数据中的图像块样本的形态变化标注信息包括图像块样本顶点的透视坐标变换标注信息、表示90度整数倍数的图像块样本旋转标注信息以及表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息(即待训练的形态变换神经网络包括共享神经网络、第一分支、第二分支和第三分支)的情况下,本申请可以先以图像块样本顶点的透视坐标变换标注信息为指导信息,对待训练的形态变换神经网络的共享神经网络和第一分支进行监督学习;在第一分支成功训练完成后,应固定共享神经网络和第一分支的网络参数(如权值等),然后,再以表示90度整数倍数的图像块样本旋转标注信息为指导信息,对待训练的形态变换神经网络的第二分支进行监督学习,且在第二分支成功训练完成后,再以表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息为指导信息,对待训练的形态变换神经网络的第三分支进行监督学习,在第三分支成功训练完成后,该待训练的形态变换神经网络成功训练完成。成功训练完成的形态变换神经网络可以用于对待处理文字图像进行形态变换处理的应用中。

需要特别说明的是,在上述可选示例中,本申请对第二分支和第三分支的训练过程的先后顺序没有特殊限定,即本申请可以在第一分支成功训练完成后,先训练第二分支,再训练第三分支;本申请也可以在第一分支成功训练完成后,先训练第三分支,再训练第二分支。另外,本申请在对第一分支和第二分支进行训练时,所采用的训练数据中的表示图像块样本中的文字所占用的面积是否达到预定要求的标注信息应该为表示图像块样本中的文字所占用的面积达到预定要求的标注信息,而在对第三分支进行训练时,应采用包含有表示图像块样本中的文字所占用的面积达到预定要求的标注信息的训练数据以及包含有表示图像块样本中的文字所占用的面积未达到预定要求的标注信息的训练数据。

本申请中的用于对待训练的形态变换神经网络中的共享神经网络、第一分支以及第二分支进行训练的训练数据的形成方式可以为:对文字方向为预定方向的文字图像样本中的至少部分区域进行形态变换处理,并根据形态变换处理确定形态变换标注信息,从而可以利用形态变换标注信息形成训练数据,添加在训练数据集中。图5为本申请形成训练数据集中的训练数据的一个实施例的流程图。如图5所示,该实施例方法包括:步骤S500、步骤S510以及步骤S520。下面对图5中的各步骤进行详细说明。

S500、对文字方向为预定方向的文字图像样本中的至少部分区域进行透视变换处理。

在一个可选示例中,文字图像样本中的文字方向为水平方向,例如,文字图像样本包括多个基本呈水平方向的文字段落。本申请可以根据随机产生的透视变换矩阵对整个文字图像样本进行透视变换处理,也可以根据随机产生的透视变换矩阵对文字图像样本的部分区域进行透视变换处理,例如,进行透视变换处理的区域的边长不超过文字图像样本的长边的五分之一。本申请通过对该区域进行透视变换处理,可以使透视变换处理后的区域中的文字呈现与水平方向的夹角小于预定度数(如30度等)的非水平方向。

S510、从透视变换处理后的区域中截取文字所占用的面积达到预定要求的正方形图像样本块,对正方形图像样本块进行随机90度整数倍数的旋转。

在一个可选示例中,本申请从透视变换处理后的区域中截取的正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值应达到预定比值,例如,比值应超过0.3。本申请可以以透视变换处理后的区域的中心为正方形图像样本块的中心,截取边长小于该区域的边长的正方形图像样本块。本申请通常应按照一定的旋转方向对正方形图像样本块进行随机90度整数倍数的旋转,例如,始终按照顺/逆时针旋转方向对正方形图像样本块进行随机90度整数倍数的旋转。另外,本申请可以根据文字图像样本的二值化矩阵来确定截取的正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值是否达到预定比值,如果没有达到预定比值,可以调整截取位置,以便于使截取的正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值达到预定比值。上述二值化矩阵用于区分文字图像样本中的文字区域和非文字区域。

S520、根据透视变换处理所采用的透视变换矩阵确定图像样本块顶点的透视坐标变换标注信息,并根据随机90度整数倍数的旋转确定表示90度整数倍数的图像块旋转标注信息。

在一个可选示例中,本申请可以根据透视变换处理所采用的透视变换矩阵确定出图像样本块四个顶点的透视坐标变换标注信息,本申请可以将图像样本块、图像样本块四个顶点的透视坐标变换标注信息以及表示90度整数倍数的图像块旋转标注信息作为一条训练数据添加在训练数据集中。另外,本申请也可以将正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值作为训练数据的一部分。

在对第三分支进行训练的过程中,本申请所使用的所有训练数据应包含有正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值达到预定比值的训练数据,也应包含有正方形图像样本块中的文字所占用的面积与正方形图像样本块的面积的比值未达到预定比值的训练数据。

图6为本申请文字图像处理装置一个实施例的结构示意图。如图6所示,该实施例的装置主要包括:获取图像块模块600、获取变换信息模块610、变换处理模块620以及文字识别模块630。可选的,该实施例的装置还可以包括:获取占用信息模块640、获取样本模块650、获取样本变换信息模块660、监督学习模块670以及标注模块680。

获取图像块模块600主要用于获取包含有待处理文字图像中的文字的至少一个图像块。获取图像块模块600所执行的具体操作可以参见上述针对S100的描述,在此不再重复说明。

获取变换信息模块610主要用于基于形态变换神经网络,获取图像块的图像块形态变换信息。其中,图像块形态变换信息用于使图像块中的文字方向转变为预定方向(如水平方向);且本申请中的形态变换神经网络是下述神经网络的训练装置利用具有形态变换标注信息的图像块样本训练获得的。获取变换信息模块610所执行的具体操作可以参见上述针对S110的描述,在此不再重复说明。

变换处理模块620主要用于根据图像块形态变换信息对待处理文字图像进行形态变换处理。可选的,在本申请的装置包括获取占用信息模块640的情况下,该变换处理模块620可以具体用于在表示图像块中的文字所占用的面积是否达到预定要求的信息为图像块中的文字所占用的面积达到预定要求的情况下,根据图像块形态变换信息对所述待处理文字图像进行形态变换处理,否则,变换处理模块620不执行根据图像块形态变换信息对待处理文字图像进行形态变换处理的步骤。变换处理模块620所执行的具体操作可以参见上述S120中的相关描述,在此不再重复说明。

文字识别模块630主要用于对形态变换之后的待处理文字图像进行文字识别。文字识别模块630可以利用OCR技术等,来对上述形态变换之后的待处理文字图像进行文字识别处理。

获取占用信息模块640主要用于基于形态变换神经网络,获取表示图像块中的文字所占用的面积是否达到预定要求的信息。获取占用信息模块640所执行的具体操作可以参见上述S120中的相关描述,在此不再重复说明。

获取样本模块650主要用于从训练数据集中获取具有形态变换标注信息的图像块样本。获取样本模块650所执行的具体操作可以参见上述S400中的相关描述,在此不再重复说明。

获取样本变换信息模块660用于基于待训练的形态变换神经网络,获取图像块样本的图像块样本形态变换信息,其中的图像块样本形态变换信息用于使图像块样本中的文字方向转变为预定方向(如水平方向)。获取样本变换信息模块660所执行的具体操作可以参见上述S410中的相关描述,在此不再重复说明。

监督学习模块670主要用于以图像块样本的形态变换标注信息为指导信息,对待训练的形态变换神经网络进行监督学习,以便于减小待训练的形态变换神经网络所输出的图像块样本形态变换信息与形态变换标注信息之间的误差。监督学习模块670所执行的具体操作可以参见上述S430中的相关描述,在此不再重复说明。

标注模块680用于对文字方向为预定方向的文字图像样本中的至少部分区域进行形态变换处理,并根据形态变换处理确定形态变换标注信息。标注模块680所执行的具体操作可以参见上述针对图5的描述,在此不再重复说明。

图7为本申请的神经网络的训练装置的一个实施例的结构示意图。如图7所示,该实施例的装置主要包括:获取样本模块650、获取样本变换信息模块660和监督学习模块670,可选的,该装置还可以包括:标注模块680。该装置中的各模块所执行的操作可以参见上述文字图像处理装置以及方法实施方式中的描述,在此不再重复说明。

示例性设备

图8示出了适于实现本申请的示例性设备800,设备800可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(PC,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图8中,设备800包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(CPU)801,和/或,一个或者多个图像处理器(GPU)813等,处理器可以根据存储在只读存储器(ROM)802中的可执行指令或者从存储部分808加载到随机访问存储器(RAM)803中的可执行指令而执行各种适当的动作和处理。通信部812可以包括但不限于网卡,所述网卡可以包括但不限于IB(Infiniband)网卡。处理器可与只读存储器802和/或随机访问存储器830中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请方法实施方式中的相应步骤。

此外,在RAM 803中,还可以存储有装置操作所需的各种程序以及数据。CPU801、ROM802以及RAM803通过总线804彼此相连。在有RAM803的情况下,ROM802为可选模块。RAM803存储可执行指令,或在运行时向ROM802中写入可执行指令,可执行指令使中央处理单元801执行上述物体分割方法所包括的步骤。输入/输出(I/O)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如,多个IB网卡),并分别与总线连接。

以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装在存储部分808中。

需要特别说明的是,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,GPU和CPU可分离设置,再如理,可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上等。这些可替换的实施方式均落入本申请的保护范围。

特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本申请提供的步骤对应的指令。

在这样的实施方式中,该计算机程序可以通过通信部分809从网络上被下载及安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请中记载的上述指令。

可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施方式是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施方式。

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