首页 / 专利库 / 电脑零配件 / 硬件 / 文本识别方法、装置、计算机设备和存储介质

文本识别方法、装置、计算机设备和存储介质

阅读:1064发布:2020-06-16

专利汇可以提供文本识别方法、装置、计算机设备和存储介质专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种文本识别方法、装置、计算机设备和存储介质,通过采用训练好的文本归一化模型得到待识别的文本图像中文本行区域对应的归一化后的标准格式的文本行图片,进而根据预设长度在宽度上对标准格式的文本行图片进行切割,得到标准格式的文本行图片中每一个字符的标准图片及对应的 位置 ,因此在执行OCR任务时仅需要进行简单的字符分类即可,而不再依赖BLSTM+CTC 框架 完成,使得 硬件 资源消耗更少,性能更佳,且网络结构更加简单,从而也具有更高的识别 精度 。,下面是文本识别方法、装置、计算机设备和存储介质专利的具体信息内容。

1.一种文本识别方法,其特征在于,所述方法包括:
通过文本归一化模型检测待识别的文本图像,得到与所述待识别的文本图像中文本行区域对应的标准格式的文本行图片,所述文本行区域中包括若干个字符,所述标准格式的文本行图片中的字符数与所述文本行区域中的字符数相同;
根据预设长度在宽度上对所述标准格式的文本行图片进行分割,得到所述标准格式的文本行图片中每一个字符的标准图片及对应的位置
采用字符分类模型识别所述每一个字符的标准图片,得到对应的字符文本;
根据每一个字符的标准图片的位置对所述字符文本进行拼接,得到与所述待识别的文本图像中文本行区域对应的目标字符串。
2.根据权利要求1所述的文本识别方法,其特征在于,所述文本归一化模型的生成方法包括:
获取若干个文本行样本图片,所述文本行样本图片中包括样本字符串;
对所述文本行样本图片进行归一化处理,得到与所述文本行样本图片对应的标准格式的文本行图片;
根据所述若干个文本行样本图片和与所述若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集;
采用所述训练数据集,利用均方损失函数训练深度学习神经网络,直到所述均方损失函数达到最小值时,得到文本归一化模型。
3.根据权利要求2所述的文本识别方法,其特征在于,所述对所述文本行样本图片进行归一化处理,得到与所述文本行样本图片对应的标准格式的文本行图片,包括:
识别所述文本行样本图片中样本字符串对应的字符串特征;
根据所述字符串特征对所述文本行样本图片进行整体格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
4.根据权利要求2所述的文本识别方法,其特征在于,所述根据所述若干个文本行样本图片和与所述若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集,包括:
根据所述若干个文本行样本图片和与所述若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对,所述训练样本对包括文本行样本图片和对应的标准格式的文本行图片;
对所述训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对;
将尺寸调整后的若干个训练样本对作为所述训练数据集。
5.根据权利要求2所述的文本识别方法,其特征在于,所述深度学习神经网络采用去除了亚像素卷积层的超分辨率残差网络;所述采用所述训练数据集,利用均方损失函数训练深度学习神经网络,直到所述均方损失函数达到最小值时,得到文本归一化模型,包括:
将所述训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播;
采用所述均方损失函数计算所述网络的输出与所述训练数据集中对应标准格式的文本行图片的像素级误差,根据所述误差确定峰值信噪比
通过梯度下降法对所述均方损失函数进行优化,直到所述误差达到最小值且所述峰值信噪比达到最大值时,保存模型参数,得到所述文本归一化模型。
6.根据权利要求1所述的文本识别方法,其特征在于,所述通过文本归一化模型检测待识别的文本图像之前,所述方法还包括:
对所述待识别的文本图像进行文本定位,得到对应的文本行区域;
识别所述文本行区域中的字符数,根据所述文本行区域中的字符数调整所述文本行区域的尺寸。
7.根据权利要求1所述的文本识别方法,其特征在于,所述预设长度为所述标准格式的文本行图片的高度。
8.一种文本识别装置,其特征在于,所述装置包括:
归一化模,用于通过文本归一化模型检测待识别的文本图像,得到与所述待识别的文本图像中文本行区域对应的标准格式的文本行图片,所述文本行区域中包括若干个字符,所述标准格式的文本行图片中的字符数与所述文本行区域中的字符数相同;
字符分割模块,用于根据预设长度在宽度上对所述标准格式的文本行图片进行分割,得到所述标准格式的文本行图片中每一个字符的标准图片及对应的位置;
字符文本识别模块,用于采用字符分类模型识别所述每一个字符的标准图片,得到对应的字符文本;
拼接模块,用于根据每一个字符的标准图片的位置对所述字符文本进行拼接,得到与所述待识别的文本图像中文本行区域对应的目标字符串。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。

说明书全文

文本识别方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及图像识别技术领域,特别是涉及一种文本识别方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着人工智能技术的发展,越来越多的繁琐工作被机器所取代。OCR(Optical Character Recognition,光学字符识别)任务作为计算机视觉中的一个重要分支,在票据识别、文本自动录入等众多领域应用广泛。但是,通常这类任务的原始文本可能出现于各种复杂背景中,如可能以各种字体、大小等不同样式出现。因此,需要利用计算机视觉相关方法,在从图片中定位到的文本串中识别出对应的字符,以用于下游任务。
[0003] 而深度学习作为人工智能领域的重要分支,神经网络在各个领域已经取得了巨大的成功。目前,神经网络主要有如下两种:卷积神经网络和循环神经网络,而前者主要用于结构化数据(如图像等),后者主要用序列数据(如语音等)。而将基于深度学习的卷积神经网络应用于OCR任务是目前常用的做法,一般基于BLSTM(Bidirectional Long Short-Term Memory,双向长短期记忆网络)+CTC(Connectionist temporal classification,时序数据分类)的结构实现,现有的模型结构无需考虑文字的对齐问题,虽然能够解决不定长文本的识别,但通常实际输入的文本图片样式复杂,特征多变,从而导致BLSTM网络训练困难,进而影响识别精度发明内容
[0004] 基于此,有必要针对上述传统的网络结构不适用于识别复杂样式的文本图片的问题,提供一种能够识别复杂样式的文本图片的文本识别方法、装置、计算机设备和存储介质。
[0005] 为了实现上述目的,一方面,本申请实施例提供了一种文本识别方法,所述方法包括:
[0006] 通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,其中,文本行区域中包括若干个字符,则标准格式的文本行图片中的字符数与文本行区域中的字符数相同;
[0007] 根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置
[0008] 采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本;
[0009] 根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0010] 在其中一个实施例中,文本归一化模型的生成方法包括:获取若干个文本行样本图片,其中,文本行样本图片中包括样本字符串;对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片;根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集;采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型。
[0011] 在其中一个实施例中,对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片,包括:识别文本行样本图片中样本字符串对应的字符串特征;根据字符串特征对文本行样本图片进行整体格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
[0012] 在其中一个实施例中,根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集,包括:根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对,其中,训练样本对包括文本行样本图片和对应的标准格式的文本行图片;对训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对;将尺寸调整后的若干个训练样本对作为训练数据集。
[0013] 在其中一个实施例中,深度学习神经网络采用去除了亚像素卷积层的超分辨率残差网络;则采用所述训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型,包括:将训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播;采用均方损失函数计算网络的输出与训练数据集中对应标准格式的文本行图片的像素级误差,根据误差确定峰值信噪比;通过梯度下降法对均方损失函数进行优化,直到误差达到最小值且峰值信噪比达到最大值时,保存模型参数,得到文本归一化模型。
[0014] 在其中一个实施例中,通过文本归一化模型检测待识别的文本图像之前,所述方法还包括:对待识别的文本图像进行文本定位,得到对应的文本行区域;识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0015] 在其中一个实施例中,预设长度为标准格式的文本行图片的高度。
[0016] 另一方面,本申请实施例提供了一种文本识别装置,所述装置包括:
[0017] 归一化模,用于通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,其中,文本行区域中包括若干个字符,则标准格式的文本行图片中的字符数与文本行区域中的字符数相同;
[0018] 字符分割模块,用于根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置;
[0019] 字符文本识别模块,用于采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本;
[0020] 拼接模块,用于根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0021] 又一方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
[0022] 再一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
[0023] 上述文本识别方法、装置、计算机设备和存储介质,通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,并根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置,进而采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本,并根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。由于采用训练好的文本归一化模型得到待识别的文本图像中文本行区域对应的归一化后的标准格式的文本行图片,进而对标准格式的文本行图片按字符进行切割,因此在执行OCR任务时仅需要进行简单的字符分类即可,而不再依赖BLSTM+CTC框架完成,使得硬件资源消耗更少,性能更佳,且网络结构更加简单,从而也具有更高的识别精度。附图说明
[0024] 图1为一个实施例中文本识别方法的应用环境图;
[0025] 图2为一个实施例中文本识别方法的流程示意图;
[0026] 图3为一个实施例中文本归一化模型的生成方法的步骤的流程示意图;
[0027] 图4为一个实施例中进行归一化处理的步骤的流程示意图;
[0028] 图5为一个实施例中归一化处理结果的示意图;
[0029] 图6为一个实施例中生成训练数据集的步骤的流程示意图;
[0030] 图7为一个实施例中模型训练的步骤的流程示意图;
[0031] 图8为另一个实施例中文本识别方法的流程示意图;
[0032] 图9为一个实施例中文本识别装置的结构框图
[0033] 图10为一个实施例中计算机设备的内部结构图。

具体实施方式

[0034] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0035] 由于传统的OCR任务通常需要识别各种复杂背景下以不同字体、大小或不同样式出现的字符文本,而传统的基于BLSTM+CTC的网络结构复杂,其通常通过卷积层进行特征提取,得到输入的特征图;然后以特征图在宽度位置的序列视为时序,通过BLSTM网络,提取字符信息;最后通过全连接层,以及CTC损失函数,获取每个位置上是背景还是某一字符的概率。其在面对上述复杂背景下的OCR任务时,导致对BLSTM网络训练困难,进而会影响识别精度。
[0036] 基于此,本申请提供了一种文本识别方法,其基于文本归一化的思路训练模型,以得到结构简单的文本归一化模型,并利用该文本归一化模型对待识别的文本图像进行归一化处理,以得到归一化后的标准格式的文本行图片,进而对标准格式的文本行图片进行字符分割,因此在执行OCR任务时只需要关注归一化处理后且分割为单个字符的标准图片,从而使得OCR任务更简单,且不再依赖BLSTM+CTC框架完成,则硬件资源消耗更少,性能更佳,且网络结构更加简单,从而也具有更高的识别精度。
[0037] 本申请提供的文本识别方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信,在本实施例中,终端102可以是各种具有图像采集功能的设备,如可以但不限于各种智能手机、平板电脑、相机和便携式图像采集设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。具体的,终端102用于采集待识别的文本图像,并将采集的待识别的文本图像通过网络发送至服务器104,当然待识别的文本图像也可以预先存储在服务器104中。服务器104则通过文本归一化模型得到待识别的文本图像中文本行区域对应的标准格式的文本行图片,进而将标准格式的文本行图片进行字符分割,通过对分割后的单字符的标准图片进行文本识别,使得进行文本识别的输入具有统一的样式,从而极大的简化了识别任务,并提高了识别精度。
[0038] 在一个实施例中,如图2所示,提供了一种文本识别方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0039] 步骤202,通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片。
[0040] 其中,待识别的文本图像可以是需要进行文本识别的具有任意复杂背景、且包含若干个字符的图片。文本行区域则是对待识别的文本图像进行文本定位后得到的文本区域,由于该文本区域中通常包含若干个字符,因此,在本实施例中定义该文本区域为文本行区域。标准格式的文本行图片是指具有统一整体风格、统一尺寸定义、统一字体类型、统一字符大小以及统一字符位置的图片。文本归一化模型则是预先训练好的,能够将输入的具有任意复杂背景、且包含若干个字符的图片进行归一化处理,从而输出对应的具有归一化样式的标准格式的文本行图片。由于标准格式的文本行图片是对待识别的文本图像中文本行区域进行归一化处理后得到的,因此,标准格式的文本行图片中的字符数与文本行区域中的字符数相同。
[0041] 步骤204,根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置。
[0042] 其中,预设长度可以是标准格式的文本行图片定义的高度,由于标准格式的文本行图片具有统一的尺寸定义,如统一的图片高度,而图片的宽度通常为高度与字符数的乘积。因此,在本实施例中,当要对标准格式的文本行图片进行字符分割时,可以根据该预设长度对标准格式的文本行图片进行分割,从而得到对应每一个字符的标准图片及对应的位置。
[0043] 步骤206,采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本。
[0044] 其中,字符分类模型可以采用简单的卷积神经网络(Convolutional neural network,简称CNN)实现,例如具体可以采用Resnet34网络框架实现。其用于根据字符特征对每一个字符的标准图片进行分类,从而得到对应的字符文本。
[0045] 步骤208,根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0046] 其中,目标字符串是指对待识别的文本图像执行OCR任务后得到的识别结果。具体的,重复上述步骤对待识别的文本图像对应的标准格式的文本行图片中每一个字符的标准图片进行识别,从而得到对应的字符文本,进而根据每一个字符的标准图片位于标准格式的文本行图片中的位置,对得到的字符文本进行拼接,从而得到与待识别的文本图像中文本行区域对应的目标字符串,即得到对待识别的文本图像进行识别后的目标字符串。
[0047] 上述文本识别方法,通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,并根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置,进而采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本,并根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。由于采用训练好的文本归一化模型得到待识别的文本图像中文本行区域对应的归一化后的标准格式的文本行图片,进而对标准格式的文本行图片按字符进行切割,因此在执行OCR任务时仅需要进行简单的字符分类即可,而不再依赖BLSTM+CTC框架完成,使得硬件资源消耗更少,性能更佳,且网络结构更加简单,从而也具有更高的识别精度。
[0048] 在一个实施例中,如图3所示,文本归一化模型的生成方法可以包括如下步骤:
[0049] 步骤302,获取若干个文本行样本图片。
[0050] 其中,若干个文本行样本图片是用于后续对模型进行训练的原始数据,其具体可以是具有任意背景、任意风格样式、任意字体以及具有多个字符(即样本字符串)的样本图片。在本实施例中,为了使得模型可以学习到各种输入文本的本质特征,从而获取若干个对模型进行训练用的文本行样本图片。
[0051] 步骤304,对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片。
[0052] 其中,标准格式的文本行图片是指具有统一整体风格(如白底黑字、白底蓝字等)、统一尺寸定义(如图片中每个字符所占用的高度和宽度的定义)、统一字体类型、统一字符大小(如字符占据图片尺寸的比例)以及统一字符位置(如按字符数等分,每个字符位于对应等分位置的中心)的图片。归一化则是指对任意背景、任意风格样式以及任意字体的文本行样本图片,将其映射到对应的具有统一整体风格、统一尺寸定义、统一字体类型、统一字符大小以及统一字符位置的标准格式的文本行图片。本实施例通过对文本行样本图片进行归一化处理,从而为每一个文本行样本图片设计具有统一样式的标准格式的文本行图片,使得模型可以更好的学习到各种输入文本的本质特征。
[0053] 步骤306,根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集。
[0054] 在本实施例中,为了使得模型可以更好的学习到各种输入文本的本质特征,则根据上述步骤获取的若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集,进而通过训练数据集对模型进行训练。其中,训练数据集中包括若干个训练样本对,每一训练样本对又包括至少一个文本行样本图片和对应的标准格式的文本行图片。
[0055] 步骤308,采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型。
[0056] 其中,深度学习神经网络采用去除了亚像素卷积(sub-pixel convolution layers)层的超分辨率残差网络(Super-resolution residual network,简称SRResNet)。具体的,采用上述训练数据集,并利用均方损失函数训练去除了亚像素卷积层的超分辨率残差网络,直到均方损失函数达到最小值时,表示网络已经训练稳定,并学习到字符本质,从而保存模型参数,得到文本归一化模型,以便于后续进行实际的文本识别。
[0057] 上述文本归一化模型训练方法,由于训练时所使用的训练数据集是由原始数据即文本行样本图片以及通过归一化处理后得到的具有统一样式的标准格式的文本行图片共同组成的,因此,在对模型进行训练的过程中,可以加速模型的训练和收敛,使得模型可以更好的学习到各种输入文本的本质特征,进而在利用模型进行实际识别时,可以得到统一样式的输出,且提高了识别精度。
[0058] 在一个实施例中,如图4所示,对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片,具体可以包括如下步骤:
[0059] 步骤402,识别文本行样本图片中样本字符串对应的字符串特征。
[0060] 其中,字符串特征可以是指字符串本身的特征,如表示数据和信息的字母、数字、文字或其他符号等组成的字符串。由于文本行样本图片中一般包括多个字符,即样本字符串,因此,通过对文本行样本图片中的样本字符串进行识别,从而得到对应的字符串特征。
[0061] 步骤404,根据字符串特征对文本行样本图片进行整体风格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
[0062] 具体的,根据上述对文本行样本图片进行识别而得到对应的字符串特征,进而根据字符串特征对文本行样本图片进行整体风格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理。举例来说,整体风格的归一化可以是对标准格式的文本行图片的整体格式的归一化,如归一化为白底黑字、白底蓝字等,即标准格式的文本行图片的背景色均归一化为白色,而标准格式的文本行图片中对应字符串特征则均归一化为黑色或蓝色等;尺寸定义的归一化可以是对标准格式的文本行图片的尺寸的归一化,如归一化标准格式的文本行图片的高度,归一化标准格式的文本行图片的宽度为高度与字符数的乘积;字体类型的归一化可以是对标准格式的文本行图片中对应字符串特征的字体类型进行的归一化,如将所有标准格式的文本行图片中对应字符串特征的字体类型均归一化为宋体或其他字体类型等;字符大小的归一化则是对标准格式的文本行图片中对应每一个字符占据该标准格式的文本行图片尺寸的比例进行的归一化,如可以归一化标准格式的文本行图片中每个字符的高度和宽度相等,且占据该标准格式的文本行图片高度的90%;字符位置的归一化则是对标准格式的文本行图片中对应字符串特征位于该标准格式的文本行图片中具体位置进行的归一化,如对图片在宽度上按字符数进行等分,则每个字符归一化为位于对应等分位置的中心等。
[0063] 因此,对于每一个文本行样本图片,都可以通过上述归一化处理方法,而得到一个与之对应的归一化后的具有统一样式的标准格式的文本行图片,且对于多个文本行样本图片中的字符串特征相同的情况下,其归一化后的结果对应相同的标准格式的文本行图片。举例来说,如图5所示,左侧为文本行样本图片,其右侧为对应的标准格式的文本行图片,如字符串“丁国祥”;且具有相同字符特征的多个文本行样本图片,其对应的归一化后的标准格式的文本行图片为同一个,如对于不同输入风格的“临”字(如图5左侧所示),对应的该标准格式的文本行图片为具有统一样式的“临”字(如图5右侧所示)。
[0064] 在一个实施例中,如图6所示,根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集,具体可以包括如下步骤:
[0065] 步骤602,根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对。
[0066] 其中,第一个训练样本对包括文本行样本图片和对应的标准格式的文本行图片。因此,根据若干个文本行样本图片和与之一一对应的标准格式的文本行图片可以得到若干个训练样本对,通过训练样本对的形式对模型进行训练可以使得模型可以学习到各种输入文本的本质特征。
[0067] 步骤604,对训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对。
[0068] 具体的,为了精简模型的训练过程,并提高模型的训练和收敛速度,在本实施例中,可以对待进行训练的训练样本对中文本行样本图片的尺寸进行归一化调整,即将文本行样本图片的尺寸调整为固定尺寸,或将文本行样本图片的尺寸调整为与标准格式的文本行图片相同,从而得到尺寸归一化后的训练样本对。
[0069] 步骤606,将尺寸调整后的若干个训练样本对作为训练数据集。
[0070] 具体的,通过将上述步骤得到的尺寸归一化后的若干个训练样本对作为训练数据集,由于训练数据集中每一个训练样本对中文本行样本图片与标准格式的文本行图片具有相同大小,且标准格式的文本行图片具有统一的样式,因此,在对模型进行训练时,可以驱使模型忽略不同输入的风格,而只关注字符串特征本身,从而达到学习各种输入文本的本质特征,实现对不同风格的文本归一化的目的。
[0071] 在一个实施例中,如图7所示,采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型,具体包括如下步骤:
[0072] 步骤702,将训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播。
[0073] 其中,训练数据集中的数据以训练样本对(x_i,y_i)表示,其中,x表示文本行样本图片,y表示该图片对应的归一化后的标准格式的文本行图片,i表示第i个训练样本对。在实际训练中,由于各训练样本对中文本行样本图片的样本字符串的长度可能会有所不同,则对应图片的尺寸也不同,因此,在对模型进行训练时,每次输入一个训练样本对,并进行前向传播。且由于训练样本对中的数据经过了上述预处理,使得一个样本对中文本行样本图片和对应的标准格式的文本行图片的尺寸相同,因此,用于训练的深度学习神经网络可以采用去除了亚像素卷积层的超分辨率残差网络,从而精简了网络结构。
[0074] 步骤704,采用均方损失函数计算网络的输出与训练数据集中对应标准格式的文本行图片的像素级误差,根据误差确定峰值信噪比。
[0075] 步骤706,通过梯度下降法对均方损失函数进行优化,直到误差达到最小值且峰值信噪比达到最大值时,保存模型参数,得到文本归一化模型。
[0076] 具体的,当向去除了亚像素卷积层的超分辨率残差网络输入一个训练样本对后,通过前向推理,采用均方损失函数(Mean Square Error,简称MSE)计算网络的输出与该训练样本对中对应标准格式的文本行图片的像素级误差,同时根据该误差计算对应的峰值信噪比(Peak signal-to-noise ratio,简称PSNR)。然后继续输入训练数据集中的其他训练样本对,直到累积到批量大小(batch size)的训练样本对,再使用累计平均梯度进行反向传播,进而采用梯度下降法对均方损失函数进行优化,使得参数更新更加平滑。即通过迭代多个批量的训练数据集,执行上述流程,并更新模型参数。当误差值达到最小值时,即误差值不再降低且峰值信噪比达到最大值时终止训练,此时模型参数收敛,保存模型参数,从而得到文本归一化模型。
[0077] 在一个实施例中,如图8所示,在通过文本归一化模型检测待识别的文本图像之前,上述方法还包括如下步骤:
[0078] 步骤802,对待识别的文本图像进行文本定位,得到对应的文本行区域。
[0079] 在本实施例中,为了简化OCR的识别任务,在通过文本归一化模型检测待识别的文本图像之前,首先需要对待识别的文本图像进行文本定位,从而得到待识别文本图像中对应的文本行区域。
[0080] 步骤804,识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0081] 具体的,可以根据标准格式的文本行图片的尺寸定义对待识别的文本图像中文本行区域的尺寸进行调整,即将待识别的文本行区域的高度调整为定义的标准格式的文本行图片的高度,进而根据文本行区域中的字符数,将文本行区域的宽度调整为其高度与字符数的乘积,从而使得文本归一化模型的输入与输出尺寸相同,以提高后续文本识别的精度。
[0082] 为了更加清楚的描述本申请所提出的文本识别方法的具体过程,下面以一个具体的实施例来描述本申请的方法,具体以待识别的文本图像中包括“我很好”的字符串为例进行明,其流程如下:
[0083] 1)首先对待识别的文本图像进行文本定位,得到对应的文本行区域。
[0084] 即通过文本定位将待识别文本图像中除包含“我很好”的字符串区域之外的其他区域切割掉,从而得到对应的文本行区域,也即字符串区域。
[0085] 2)识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0086] 具体的,将待识别的文本行区域的高度调整为定义的标准格式的文本行图片的高度,进而根据文本行区域中的字符数,将文本行区域的宽度调整为其高度与字符数的乘积,从而得到尺寸调整后的文本行区域。
[0087] 3)将尺寸调整后的文本行区域输入上述训练好的文本归一化模型,从而得到归一化后的具有标准格式的文本行图片。
[0088] 根据上述归一化样式可知,归一化后的图片的宽度为高度的3倍(即3个字符),每个字符均匀分布,且具有上述归一化的样式。
[0089] 4)根据预设长度在宽度上对标准格式的文本行图片进行分割。
[0090] 其预设长度可以是定义的标准格式的文本行图片中每一字符的宽度,由于本实施例中定义的字符所占用的空间其高度和宽度相等,因此可以按照高度在宽度上对标准格式的文本行图片进行分割,从而得到对应每一个字符的标准图片及对应的位置。具体的,通过分割后,得到裁剪为3份的单字符的标准图片,每一份对应一个汉字字符。
[0091] 5)按顺序依次将上述单字符图片输入字符分类模型,即可得到对应的汉字字符(即文本字符串)。
[0092] 6)将所有字符组合即为目标字符串:“我很好”。从而完成了OCR任务。
[0093] 这种方式下,完全不需要任何传统技术中的BLSTM和CTC结构,只需要简单的分类网络,即可完成OCR任务。因此,任务得到了最大限度的简化,整体网络更小,结构更简单,训练更容易,收敛更快,硬件资源消耗更少,性能更好。同时,这种方式可以完全可以避免漏识别和多识别等问题,极大的提高了识别精度。
[0094] 应该理解的是,虽然图1-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0095] 在一个实施例中,如图9所示,提供了一种文本识别装置,包括:归一化模块901、字符分割模块902、字符文本识别模块903和拼接模块904,其中:
[0096] 归一化模块901,用于通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,其中,文本行区域中包括若干个字符,则标准格式的文本行图片中的字符数与文本行区域中的字符数相同;
[0097] 字符分割模块902,用于根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置;
[0098] 字符文本识别模块903,用于采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本;
[0099] 拼接模块904,用于根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0100] 在一个实施例中,文本归一化模型具体包括:文本行样本图片获取单元,用于获取若干个文本行样本图片,其中,文本行样本图片中包括样本字符串;归一化处理单元,用于对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片;训练数据集生成单元,用于根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集;网络训练单元,用于采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型。
[0101] 在一个实施例中,归一化处理单元具体用于,识别文本行样本图片中样本字符串对应的字符串特征;根据字符串特征对文本行样本图片进行整体风格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
[0102] 在一个实施例中,训练数据集生成单元具体用于,根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对,其中,训练样本对包括文本行样本图片和对应的标准格式的文本行图片;对训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对;将尺寸调整后的若干个训练样本对作为训练数据集。
[0103] 在一个实施例中,网络训练单元具体用于,将训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播;采用均方损失函数计算网络的输出与训练数据集中对应标准格式的文本行图片的像素级误差,根据误差确定峰值信噪比;通过梯度下降法对均方损失函数进行优化,直到误差达到最小值且峰值信噪比达到最大值时,保存模型参数,得到文本归一化模型。
[0104] 在一个实施例中,还包括文本定位模块,用于对待识别的文本图像进行文本定位,得到对应的文本行区域;尺寸调整模块,用于识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0105] 在其中一个实施例中,预设长度为标准格式的文本行图片的高度。
[0106] 关于文本识别装置的具体限定可以参见上文中对于文本识别方法的限定,在此不再赘述。上述文本识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0107] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口数据库。其中,该计算机设备的处理器用于提供计算和控制能。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练数据集和待识别的文本图像。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文本识别方法。
[0108] 本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0109] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0110] 通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,其中,文本行区域中包括若干个字符,则标准格式的文本行图片中的字符数与文本行区域中的字符数相同;
[0111] 根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置;
[0112] 采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本;
[0113] 根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0114] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取若干个文本行样本图片,其中,文本行样本图片中包括样本字符串;对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片;根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集;采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型。
[0115] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:识别文本行样本图片中样本字符串对应的字符串特征;根据字符串特征对文本行样本图片进行整体风格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
[0116] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对,其中,训练样本对包括文本行样本图片和对应的标准格式的文本行图片;对训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对;将尺寸调整后的若干个训练样本对作为训练数据集。
[0117] 在一个实施例中,深度学习神经网络采用去除了亚像素卷积层的超分辨率残差网络;则处理器执行计算机程序时还实现以下步骤:将训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播;采用均方损失函数计算网络的输出与训练数据集中对应标准格式的文本行图片的像素级误差,根据误差确定峰值信噪比;通过梯度下降法对均方损失函数进行优化,直到误差达到最小值且峰值信噪比达到最大值时,保存模型参数,得到文本归一化模型。
[0118] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:在通过文本归一化模型检测待识别的文本图像之前,对待识别的文本图像进行文本定位,得到对应的文本行区域;识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0119] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0120] 通过文本归一化模型检测待识别的文本图像,得到与待识别的文本图像中文本行区域对应的标准格式的文本行图片,其中,文本行区域中包括若干个字符,则标准格式的文本行图片中的字符数与文本行区域中的字符数相同;
[0121] 根据预设长度在宽度上对标准格式的文本行图片进行分割,得到标准格式的文本行图片中每一个字符的标准图片及对应的位置;
[0122] 采用字符分类模型识别每一个字符的标准图片,得到对应的字符文本;
[0123] 根据每一个字符的标准图片的位置对字符文本进行拼接,得到与待识别的文本图像中文本行区域对应的目标字符串。
[0124] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取若干个文本行样本图片,其中,文本行样本图片中包括样本字符串;对文本行样本图片进行归一化处理,得到与文本行样本图片对应的标准格式的文本行图片;根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成训练数据集;采用训练数据集,利用均方损失函数训练深度学习神经网络,直到均方损失函数达到最小值时,得到文本归一化模型。
[0125] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:识别文本行样本图片中样本字符串对应的字符串特征;根据字符串特征对文本行样本图片进行整体风格、尺寸定义、字体类型、字符大小以及字符位置的归一化处理,得到归一化后的标准格式的文本行图片。
[0126] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据若干个文本行样本图片和与若干个文本行样本图片一一对应的标准格式的文本行图片生成若干个训练样本对,其中,训练样本对包括文本行样本图片和对应的标准格式的文本行图片;对训练样本对中的文本行样本图片的尺寸进行调整,以得到尺寸调整后的训练样本对;将尺寸调整后的若干个训练样本对作为训练数据集。
[0127] 在一个实施例中,深度学习神经网络采用去除了亚像素卷积层的超分辨率残差网络;则计算机程序被处理器执行时还实现以下步骤:将训练数据集输入去除了亚像素卷积层的超分辨率残差网络进行前向传播;采用均方损失函数计算网络的输出与训练数据集中对应标准格式的文本行图片的像素级误差,根据误差确定峰值信噪比;通过梯度下降法对均方损失函数进行优化,直到误差达到最小值且峰值信噪比达到最大值时,保存模型参数,得到文本归一化模型。
[0128] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在通过文本归一化模型检测待识别的文本图像之前,对待识别的文本图像进行文本定位,得到对应的文本行区域;识别文本行区域中的字符数,根据文本行区域中的字符数调整文本行区域的尺寸。
[0129] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0130] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0131] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈