一种文字识别的方法及装置与流程

文档序号:18798487发布日期:2019-09-29 20:12阅读:242来源:国知局
一种文字识别的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种文字识别的方法及装置。



背景技术:

目前,利用计算机对图片中的文字进行识别,是模式识别应用的一个重要领域。人们在生产和生活中,要处理大量的文字、报表和文本。计算机识别文字,减轻了人们的劳动,提高了处理效率。

文字识别一般包括文字信息的采集、信息的分析与处理等几个部分。现有技术的文字识别,面临多语种文字识别的问题,不能够有效地实现多语种文字识别。



技术实现要素:

本发明实施例提供一种文字识别的方法及装置,以解决现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种文字识别方法,包括:

获得待识别的目标图像,以及与所述目标图像上的文字对应的语种信息;

将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果。

在一种实施方式中,所述融合语种信息的文字识别模型包括图像编码器、语种编码器和解码器,所述将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果,包括:

将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征;

将所述语种信息输入所述语种编码器进行目标嵌入,得到语种特征;

将所述图像特征和所述语种特征进行拼接,得到拼接的向量;

将所述拼接的向量输入所述解码器进行解码,获得所述识别结果。

在一种实施方式中,将所述拼接的向量输入所述解码器进行解码,包括:

将所述拼接的向量输入所述解码器,利用注意力机制对所述拼接的向量进行解码,获得每个字符对应的解码向量。

在一种实施方式中,所述目标图像为行图像;所述图像编码器包括卷积神经网络,所述卷积神经网络包括卷积层结合池化层形成的结构、以及双向长短期记忆网络;将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征,包括:

将所述行图像输入所述卷积层结合池化层形成的结构进行前向传播,得到所述行图像的矩阵第一矩阵;

将所述第一矩阵在所述双向长短期记忆网络进行转化得到所述图像特征。

在一种实施方式中,将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果之后,还包括:

通过损失函数计算所述识别结果和所述文字的真实内容之间的差异;

根据所述差异,优化所述融合语种信息的文字识别模型。

第二方面,本发明提供一种文字识别装置,包括:

图像获取模块:用于获得待识别的目标图像;

语种信息获取模块:用于获得与所述目标图像上的文字对应的语种信息;

识别模块:用于将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果。

在一种实施方式中,所述融合语种信息的文字识别模型包括图像编码器、语种编码器和解码器,所述识别模块包括:

图像编码单元:用于将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征;

语种特征获取单元:用于将所述语种信息输入所述语种编码器进行目标嵌入,得到语种特征;

拼接单元:用于将所述图像特征和所述语种特征进行拼接,得到拼接的向量;

解码单元:用于将所述拼接的向量输入所述解码器进行解码,获得所述识别结果。

在一种实施方式中,所述解码单元还用于:

将所述拼接的向量输入所述解码器,利用注意力机制对所述拼接的向量进行解码,获得每个字符对应的解码向量。

在一种实施方式中,所述目标图像为行图像;所述图像编码器包括卷积神经网络,所述卷积神经网络包括卷积层结合池化层形成的结构、以及双向长短期记忆网络;所述图像编码单元包括:

第一矩阵单元:用于将所述行图像输入所述卷积层结合池化层形成的结构进行前向传播,得到所述行图像的矩阵第一矩阵;

转化单元:用于将所述第一矩阵在所述双向长短期记忆网络进行转化得到所述图像特征。

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

损失函数计算模块:用于通过损失函数计算所述识别结果和所述文字的真实内容之间的差异;

优化模块:用于根据所述差异,优化所述融合语种信息的文字识别模型。

第三方面,本发明实施例提供了一种文字识别装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述文字识别方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。

第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储文字识别装置所用的计算机软件指令,其包括用于执行上述文字识别方法所涉及的程序。

上述技术方案中的一个技术方案具有如下优点或有益效果:采用本发明实施例所提出的方法,能够在减少显存占用的基础上提升多语种文字识别的识别效果。在法语、德语、意大利语、西班牙语、葡萄牙语五国语种文字的实验中,本发明所提出的方法获得了比五个单语种模型更好的识别效果。并且减少了模型的数量,显著的减少了显存占用,降低了开发和维护的成本,有利于产品的规模化落地,提升用户体验。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1示出根据本发明实施例的文字识别方法的流程图。

图2示出根据本发明实施例的文字识别方法的流程图。

图3示出根据本发明实施例的文字识别方法的流程图。

图4示出根据本发明实施例的文字识别模块示意图。

图5为本发明实施例的文字识别装置结构示意图。

图6为本发明实施例的文字识别装置结构示意图。

图7为本发明实施例的文字识别设备结构示意图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

图1示出根据本发明实施例的文字识别方法的流程图。如图1所示,该文字识别方法包括:

步骤s11:获得待识别的目标图像,以及与所述目标图像上的文字对应的语种信息。

步骤s12:将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果。

在本发明实施例中,目标图像可以为包括文字的图像,例如,一行文字的截图。文字可以为中文或者外文。在输入目标图像后,可以获取随着目标图像一起输入的语种信息。在操作方式上,语种信息可以随着目标图像一起输入,从而在获取目标图像的同时可以获取语种信息。

现有技术中,为了识别多个语种的文字,常常部署多个单语种识别模型,本发明实施例在识别文字时,结合文字的语种信息进行识别,从而能够对不同的语种的语言文字进行识别,提高文字识别的广泛适用性。

在本发明实施例中,目标图像的图像特征可以通过卷积神经网络获取。具体而言,将目标图像通过卷积神经网络进行前向传播,获得相应的图像特征。卷积神经网络一般包括输入层、隐藏层和输出层。前向传播的过程包括根据输入特征,从输入层开始一层一层计算,直至得到输出层的输出特征。

在本发明实施例中,语种信息可以包括语言的种类,例如,中文、法语、德语、意大利语、西班牙语、葡萄牙语等。融合语种信息的文字识别模型,可通过训练的方法建立。

本发明实施例能够利用融合语种信息的文字识别模型识别目标图像中的文字,可以对多种语言进行文字识别,无需对每一个语种单独设置文字识别模块,节省了内存。

图2示出根据本发明实施例的文字识别方法的流程图。本实施例中的步骤s11可以参见上述实施例中的相关描述,在此不再赘述。

与上述实施例的不同之处在于,如图2所示,所述融合语种信息的文字识别模型包括图像编码器、语种编码器和解码器,所述将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果,包括:

步骤s21:将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征。

步骤s22:将所述语种信息输入所述语种编码器进行目标嵌入(target-embeding),得到语种特征。

步骤s23:将所述图像特征和所述语种特征进行拼接(concat),得到拼接的向量。

步骤s24:将所述拼接的向量输入所述解码器进行解码,获得所述识别结果。

在本发明实施例中,所述图像特征可以为图像矩阵,所述拼接向量可以为融合了文字和语种信息的向量。图像编码器用于将目标图像的矩阵进行特征提取,例如进行矩阵缩小等变换。

在一种实施方式中,将所述拼接的向量输入所述解码器进行解码,包括:

将所述拼接的向量输入所述解码器,利用注意力机制对所述拼接的向量进行解码,获得每个字符对应的解码向量。

在一种实施方式中所述目标图像为行图像;所述图像编码器包括卷积神经网络,所述卷积神经网络包括卷积层结合池化层形成的结构、以及双向长短期记忆网络;将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征,包括:

将所述行图像输入所述卷积层结合池化层形成的结构进行前向传播,得到所述行图像的矩阵第一矩阵;

将所述第一矩阵在所述双向长短期记忆网络进行转化得到所述图像特征。

在本发明实施例中,目标图像可以为经过检测之后的行级别图像,文字以行的形式在图像中呈现。

在一种实施方式中,将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果之后,还包括:

通过损失函数计算所述识别结果和所述文字的真实内容之间的差异;

根据所述差异,优化所述融合语种信息的文字识别模型。

在本发明实施例中,根据输出结果以及图片真实的文字结果,建立相应的损失函数,指导模型学习的损失函数的计算,通过梯度反传机制,即反向传播计算,对整个融合语种信息的文字识别模型进行优化。

在本发明一种示例中,文字识别方法包括如图3所示的步骤:

步骤s31:获得待识别的目标图像,以及与所述目标图像上的文字对应的语种信息。

步骤s32:将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果。

步骤s33:通过损失函数计算所述识别结果和所述文字的真实内容之间的差异。

步骤s34:根据所述差异,优化所述融合语种信息的文字识别模型。

在本发明一种示例中,如图4所示,目标图像上的文字信息为“boos”,语种信息为英文。将英文对应的语种信息“eng”输入语种编码器41进行目标嵌入,得到语种特征。将目标图像输入图像编码器42进行编码,得到图像特征。图像编码器包括卷积神经网络,卷积神经网络包括卷积层(convrelu)结合池化层(pooling)形成的结构43、以及双向长短期记忆网络(lstm,long-shorttermmemory)44、线性层(linear)45。目标图像在图像编码器42中进行前向传播,经过图像编码器42的处理,输出图像特征。解码器46包括gru。目标图像经过图像编码器42处理得到图像特征,和语言信息经过语种编码器41编码得到的语言特征进行拼接,输入解码器46,每个时刻识别一个字符,对应于目标图像中的“boos”,在第一至第五时刻分别输入开始字符“<go>”、以及图像中的字符“b”、“o”、“o”、“s”对应的矩阵,经过解码器46的转换,解码器分别在h0、h1、h2、h3、h4五个隐藏状态(hiddenstate)输出图像中的字符“b”、“o”、“o”、“s”以及终止字符“<eos>”。

本发明实施例还提供一种文字识别装置,结构如图5所示,包括:

图像获取模块51:用于获得待识别的目标图像;

语种信息获取模块52:用于获得与所述目标图像上的文字对应的语种信息;

识别模块53:用于将所述目标图像和所述语种信息输入融合语种信息的文字识别模型,获得识别结果。

在一种实施方式中,如图6所示,所述融合语种信息的文字识别模型包括图像编码器、语种编码器和解码器,所述识别模块53包括:

图像编码单元61:用于将所述目标图像输入所述图像编码器进行图像特征编码,得到图像特征;

语种特征获取单元62:用于将所述语种信息输入所述语种编码器进行目标嵌入,得到语种特征;

拼接单元63:用于将所述图像特征和所述语种特征进行拼接,得到拼接的向量;

解码单元64:用于将所述拼接的向量输入所述解码器进行解码,获得所述识别结果。

在一种实施方式中,所述解码单元还用于:

将所述拼接的向量输入所述解码器,利用注意力机制对所述拼接的向量进行解码,获得每个字符对应的解码向量。

在一种实施方式中,所述目标图像为行图像;所述图像编码器包括卷积神经网络,所述卷积神经网络包括卷积层结合池化层形成的结构、以及双向长短期记忆网络;所述图像编码单元包括:

第一矩阵单元:用于将所述行图像输入所述卷积层结合池化层形成的结构进行前向传播,得到所述行图像的矩阵第一矩阵;

转化单元:用于将所述第一矩阵在所述双向长短期记忆网络进行转化得到所述图像特征。

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

损失函数计算模块:用于通过损失函数计算所述识别结果和所述文字的真实内容之间的差异;

优化模块:用于根据所述差异,优化所述融合语种信息的文字识别模型。

本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

图7示出根据本发明实施例的文字识别设备的结构框图。如图7所示,该设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的文字识别方法。所述存储器910和处理器920的数量可以为一个或多个。

该设备还包括:

通信接口930,用于与外界设备进行通信,进行数据交互传输。

存储器910可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponentinterconnect)总线或扩展工业标准体系结构(eisa,extendedindustrystandardarchitecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。

本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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