CN116798044A - 文本识别方法、装置,以及电子设备 - Google Patents
文本识别方法、装置,以及电子设备 Download PDFInfo
- Publication number
- CN116798044A CN116798044A CN202211242295.4A CN202211242295A CN116798044A CN 116798044 A CN116798044 A CN 116798044A CN 202211242295 A CN202211242295 A CN 202211242295A CN 116798044 A CN116798044 A CN 116798044A
- Authority
- CN
- China
- Prior art keywords
- sequence
- character recognition
- feature
- sample
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 86
- 108091026890 Coding region Proteins 0.000 claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 238000010586 diagram Methods 0.000 claims abstract description 16
- 238000012549 training Methods 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims 1
- 238000012015 optical character recognition Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 43
- 238000004590 computer program Methods 0.000 description 14
- 102100032202 Cornulin Human genes 0.000 description 10
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 10
- 238000000605 extraction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/164—Noise filtering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种文本识别方法,属于光学字符识别技术领域,有助于提升文本识别准确度。所述方法包括:将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取卷积神经网络针对目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;对特征图进行重组,得到目标图像的特征序列;通过字符识别模型中的序列编码网络对特征序列进行编码映射,得到编码序列;通过字符识别模型中的CTC解码器对编码序列进行解码,得到目标图像的字符识别结果。本方法通过提取高度大于1的特征图,从而可以基于更加细粒度的特征进行文字识别,提升了弧形文本图像、***图像等复杂文本的文本识别准确度。
Description
技术领域
本申请涉及光学字符识别技术领域,特别是涉及文本识别方法、装置,以及电子设备及计算机可读存储介质。
背景技术
对于图像中的文本识别,传统的方法是通过将图像切分为文本行图像,之后,再对每个文本行中的图像进行单字符切分,最后,对于单字符分别进行识别。随着神经网络模型的广泛应用,出现了基于深度学习的端到端的文本识别。在基于深度学习的端到端的文本识别方案中,不需要显式加入对文本行进行切割这个环节,而是将光学字符识别转化为序列学习问题,虽然输入的图像尺度不同,文本长度不同,但是经过CNN(ConvolutionalNeural Networks,卷积神经网络)和RNN(Convolutional Neural Networks,循环神经网络)后,在输出阶段经过一定的CTC(Connectionist temporal classification)翻译转录后,就可以对整个文本图像进行识别。然而,现有技术中的基于深度学习的端到端的文本识别方法,在处理例如***图像中的文本识别,或者弧形文本的识别时,准确度还有待提升。
发明内容
本申请实施例提供一种文本识别方法,有助于提升弧形文本图像、***图像等复杂文本图像的文本识别准确度。
第一方面,本申请实施例提供了一种文本识别方法,包括:
将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;
根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;
将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;
通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;
通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
第二方面,本申请实施例提供了一种文本识别装置,包括:
特征图获取模块,用于将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;
第一特征转换模块,用于根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;
第二特征转换模块,用于将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;
特征编码模块,用于通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;
解码输出模块,用于通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的文本识别方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的文本识别方法的步骤。
本申请实施例公开的文本识别方法,通过将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。本方法通过配置卷积神经网络输出特征图的高度,使得文本识别模型对目标图像进行特征提取时,能够提取到目标图像更加细粒度的图像特征,这样,后需的序列编码网络基于更加细粒度的图像特征进行特征编码时,不仅可以有效规避图像中的噪声,还能够基于更细致的特征进行文本识别,从而,提升了弧形文本图像、***图像等复杂文本图像的文本识别准确度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一个实施例的文本识别方法流程图;
图2是本申请一个实施例中字符识别模型结构示意图;
图3是本申请一个实施例中卷积神经网络的输入图像与输出的特征图对应关系示意图;
图4是本申请一个实施例中卷积神经网络输出的特征图重组为特征序列的过程示意图;
图5是现有技术中输入至序列编码网络的特征序列与图像中位置对应关系示意图;
图6是本申请实施例中输入至序列编码网络的特征序列与图像中位置对应关系示意图;
图7是本申请一个实施例中的文本识别方法另一流程图;
图8是本申请一个实施例中文本识别装置结构示意图;
图9示意性地示出了用于执行根据本申请的方法的电子设备的框图;以及
图10示意性地示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请实施例公开的一种文本识别方法,如图1所示,所述方法包括:步骤110至步骤150。
步骤110,将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数。
本申请实施例中所述的目标图像为对待识别文本的图像经过预处理后得到的灰度图像,所述目标图像的高度和宽度将被归一化到预先训练的字符识别模型的输入图像尺寸,例如高度为H,宽度为W。
本申请的实施例中,所述字符识别模型为预先离线训练的神经网络模型。所述字符识别模型可以采用CRNN模型。
CRNN模型,即将CNN与RNN网络结合,共同训练。CRNN模型主要用于在一定程度上实现端到端(end-to-end)地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,是一种基于图像的序列识别。CRNN模型主要包括三层:CNN(卷积层),使用深度CNN,对输入图像提取特征,得到特征图;RNN(循环层),使用双向RNN(BLSTM)对特征序列进行预测,对序列中的每个特征向量进行学习,并输出预测标签(真实值)分布;CTC loss(转录层),使用CTC损失把从循环层获取的一系列标签分布转换成最终的标签序列。
现有技术中,对于输入至CRNN模型的一幅高度为H、宽度为W的图像,经过CNN经过卷积处理后,将输出高度为1,宽度为W/m的特征图,其中,m是时间窗口的宽度。之后,在CNN输出的特征图中提取RNN需要的特征向量序列,进行每个宽度对应的特征分类。
以尺寸为HxWx1的目标图像为例,其中,H代表高度,W代表宽度,1代表通道值,此处表示灰度图,该目标图像输入至现有技术中的CRNN模型之后,通过CNN的特征层(一系列的卷积层、池化层、批归一化层,激活层)处理之后,得到形如1xnxL的特征图。其中,1表示特征图的高度,n表示特征图的宽度,L为特征图的数量。
如图2所示,本申请实施例中采用的字符识别模型包括:卷积神经网络210、数据结构转换层220、序列编码网络230,以及,CTC解码器240。在文本识别阶段,所述卷积神经网络210用于对输入图像(如目标图像)进行特征提取,得到特征图;数据结构转换层220用于将卷积神经网络210输出的特征图转换成符合序列编码网络230输入要求的特征序列;序列编码网络230用于对输入的特征序列进行编码,得到编码序列;CTC解码器240用于将所述序列编码网络230输出的编码序列转录成字符编码序列,即文本识别结果。
本申请的实施例中,所述卷积神经网络210被配置为输出高度为D、宽度为n的L个特征图。其中,L、高度值D和宽度值n的取值为大于1的整数。其中,特征图的数量L和宽度值n根据执行本方法的计算处理设备的运算能力和行业经验确定。进一步的,所述高度D的取值是根据所述目标图像匹配的文本行弧度确定的。文本行弧度越大,高度值D越大,例如,对于用于识别***图像中文本的字符识别模型,D的取值可以设置为3或4,或者更大值;而对于识别具有弧度的多文本行或单文本行的字符识别模型,D的取值可以设置为2。
具体实施过程中,可以首先根据所述文本识别方法的具体应用场景,构建字符识别模型,确定字符识别模型中卷积神经网络210输出的特征图的高度值D,并根据特征图的高度值为D的输出需求,设计卷积神经网络210的结构。这样,经过训练之后,得到的字符识别模型对于每幅输入图像,经过卷积神经网络210进行特征提取之后,都将得到高度为D的特征图。
本申请的一些实施例中,可以通过调整图2所示的卷积神经网络210中位于后端的一个或多个卷积层和/或最大池化层的采样窗口尺寸或步长,配置卷积神经网络210输出的特征图的高度。
本申请实施例中,以将卷积神经网络210输出特征图的高度值配置为3为例,将前述尺寸为HxWx1的目标图像输入至本申请实施例中设计的字符识别模型之后,该字符识别模型中的卷积神经网络210将从输入的目标图像中提取到高度为D特征图。即该字符识别模型中的卷积神经网络210输出的特征图为形如DxnxL的特征图,其中,D取值为3,表示特征图的高度。可以理解为,本申请实施例中设计的字符识别模型中,卷积神经网络210输出的特征图为宽度为n、高度为3(即D)的L个特征图。根据卷积神经网络210输出的特征图与目标图像的像素位置之间的映射关系可以得出,目标图像的同一宽度位置(对应卷积神经网络的同一时间窗)的图像特征是通过D个特征向量表示的,具有更强的特征表达能力,更加适用于表达具有弧度的文本行。
由于卷积层,最大池化层和激活函数在局部区域上执行,因此它们是平移不变的。因此,卷积神经网络210输出特征图的每个特征向量对应于输入图像(如目标图像)的一个矩形区域(即感受野),并且这些矩形区域与特征图上从左到右的相应列具有相同的顺序。以图3所示的输入图像和特征图为例,如果将卷积神经网络210输出的各特征图按照宽度位置从左到右划分成n个时间窗口,将输入图像从左向右划分成n个矩形区域,那么,每个特征图中,与每个时间窗口对应的特征向量,分别对应输入图像中的一个矩形区域。例如,图3中每个特征图位于长方体区域320中的特征向量,是输入图像中图像区域310的特征向量。本申请的实施例中,每个特征向量的高度是D,即每个特征向量有D个维度,特征向量的不同维度对应输入图像的不同高度位置。
因此,经过本申请实施例中设计的卷积神经网络210提取的输入图像的L个特征图,在对应的一个宽度位置上有D组特征,每组特征对应不同的图像高度。
步骤120,根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列。
本申请实施例中,所述序列编码网络230基于RNN或LSTM等序列网络结构实现。所述序列编码网络230的输入数据为特征序列,因此,需要将卷积神经网络210输出的特征图转换为所述序列编码网络230能够处理的特征序列。
本申请的实施例中,通过在卷积神经网络210和序列编码网络230之间设置数据结构转换层220,实现由特征图到特征序列的转换。
本申请的一些实施例中,所述根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列,包括:对于所述特征图中对应同一宽度位置的D组特征,按照每组所述特征对应的所述目标图像中的位置由上至下的顺序,将所述D组特征从前向后拼接,得到对应相应所述宽度位置的特征子序列。
由图3的特征图映射示意图可以看出,每个所述特征图中对应同一宽度位置的特征向量(如320所示长方体中的特征向量)表达了输入图像中一矩形图像区域(如矩形区域310)的图像特征。本申请的实施例中,通过改进卷积神经网络210的结构,使得卷积神经网络210输出的特征图的高度为D,即每个所述特征图中对应同一宽度位置的特征向量通过D维特征表示,其中,每个维度的特征用于表达对应图像中,该宽度位置不同高度位置的图像区域的图像特征。相当于,输入图像中每个宽度位置处的图像区域的特征通过D组特征向量表达,每组特征向量用于表达该宽度位置上一个指定图像高度位置的图像区域的图像特征。
在进行特征的数据结构转换时,将对应一个时间窗口的对应的图像区域的D组特征向量(即对应每个高度的特征向量)作为该图像区域对应的特征子序列,然后将每个图像区域对应的特征子序列依次拼接起来,就可以得到该输入图像的一个特征向量序列。
例如,对于一个有n个时间窗口的卷积神经网络210,以特征图中特征向量表示为为例,其中,j表示高度位置,取值为1至D,i表示时间窗口序号,即宽度位置,取值为1至n,该卷积神经网络210输出的特征图中,对应输入图像的高度位置1的特征图可以表示为由特征向量/> 构成的向量序列,对应输入图像的高度位置D的特征图可以表示为由特征向量/>构成的向量序列。
其中,图像高度位置根据设计的卷积神经网络210输出的特征高度确定。例如,当卷积神经网络210输出的特征高度被配置为D时,可以将输入图像(如目标图像)沿高度方向之上而下平均划分为D行,每一行对应一个图像高度位置。例如,可以定义最上面一行对应图像高度位置1,最下面一行对应图像高度位置D,从而确定输入图像中的高度位置。
将对应同一宽度位置i的D组特征向量,即对应同一宽度位置i的,高度位置1至D的特征向量(共D组),按照每组特征向量对应的图像高度位置由上至下的顺序(如前述高度位置由1至D的顺序),将这D组特征从前向后拼接,即可得到对应宽度位置i的特征子序列。具体举例而言,将对应目标图像的高度位置1的特征向量对应目标图像的高度位置2的特征向量/>…直至对应目标图像的高度位置D的特征向量/>从前向后依次拼接,得到对应宽度位置i的特征子序列。数据结构转换的效果可参见图4,图4中上面三行为特征图中不同高度的特征向量,最下面一行为进行数据结构转换后得到的特征子序列。
本申请的一些实施例中,对应某个时间窗口的特征向量可以通过对卷积神经网络210输出的L个特征图中对应该时间窗口的,且对应同一图像高度位置的特征向量融合得到。例如,将L个特征图中对应第一个时间窗口的一列特征向量中,对应图像高度位置为1的特征向量,融合得到特征向量将L个特征图中对应第n个时间窗口的一列特征向量中,对应图像高度位置为D的特征向量,融合得到特征向量/>
步骤130,将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列。
按照前述方法,可以得到目标图像的每个宽度位置对应的特征子序列。
对于一个具有n个时间窗口的卷积神经网络210(即目标图像的特征图对应n个宽度位置),如果该卷积神经网络210被配置为输出特征图的高度为D,该卷积神经网络210输出的L个宽度为n、高度为D的特征图,经过数据结构转换之后,将得到一个由n个长度为D的特征子序列拼接得到的长度为D×n的特征序列。
现有技术中,CRNN模型中卷积层输入至循环层的特征为如图5所示的每一列图像区域(即每个宽度位置)对应的特征向量的序列,而本申请实施例中,通过将卷积神经网络210的输出特征图高度配置为大于1的值,使得输入至序列编码网络230(相当于现有技术中的循环层)的特征为如图6所示的每个网格区域对应的特征向量的序列。由于输入至序列编码网络230的特征向量基于多个不同图像高度位置的特征图生成,携带了更加细致的图像特征,对图像的特征表达更加细粒度,使得字符识别模型的抗干扰能力更强,识别结果更加准确。例如,基于如图6所示的每个网格区域对应的特征向量的序列进行编码和转录时,网格中五角星区域的特征对文本识别造成的干扰将大大减小。如果采用现有技术中进行识别,在五角星区域所在的宽度位置对应的特征向量中,五角星的图像特征占据了很大的比重,会导致该宽度位置的字符识别错误。
步骤140,通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列。
接下来,将经过数据结构转换得到的长度为D×n的特征序列,输入至序列编码网络230,由所述序列编码网络230对所述特征序列进行编码映射,得到编码序列。
序列编码网络的具体实施方式可参见现有技术中CRNN网络中的RNN网络(即循环层)的具体实施方式,本申请实施例中不再赘述。
步骤150,通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
之后,将所述序列编码网络230进行编码映射处理后得到的编码序列,输入至所述CTC解码器240,由所述CTC解码器240对所述序列编码网络230输出的编码序列进行转录,得到目标图像的文本识别结果。其中,所述文本识别结果为目标图像中文本行对应的字符编码序列。
CTC解码器的具体实施方式可参见现有技术中CRNN网络中的CTC解码器,本申请实施例中不再赘述。
为了便于读者理解本申请实施例公开的文本识别方法,下面对字符识别模型的训练方案进行进一步阐述。
参见图7,本申请的一些实施例中,所述将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图之前,还包括:步骤100。
步骤100,训练字符识别模型。
其中,用于训练所述字符识别模型的训练样本为:设置有标签的样本图像,所述标签为所述样本图像中的字符的真实编码序列,所述卷积神经网络被配置为输出高度为D的特征图。其中,所述字符识别模型中的卷积神经网络的配置和网络结构,可以参见前文描述。
其中,所述训练所述字符识别模型,包括:对每个所述训练样本分别执行以下字符识别步骤,得到相应样本图像中字符的预测编码序列:将样本图像输入至所述字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述样本图像输出的高度为D、宽度为n的样本特征图;根据所述样本特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的样本特征子序列;将对应各所述宽度位置的所述样本特征子序列,依序拼接为所述样本图像的特征序列;通过所述序列编码网络对所述特征序列进行编码映射,得到样本编码序列;通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列;根据各所述训练样本的所述样本图像中字符的所述预测编码序列和所述真实编码序列计算CTC损失,通过优化所述CTC损失,迭代训练所述字符识别模型。
本申请的一些实施例中,所述样本图像包括以下一种或多种图像:***图像、弧形文本行图像,以及,多行文本图像。
在训练所述字符识别模型时,对于每个训练样本,所述字符识别模型分别执行特征提取、编码映射、转录操作,以得到每个训练样本对应的预测编码序列。之后,根据所有训练样本的标签(即真实编码序列)与所述字符识别模型预测得到的预测编码序列,通过CTC损失函数,计算所述字符识别模型的CTC(Connectionist Temporal Classification)损失,并以优化CTC损失为目标,调整所述字符识别模型中卷积神经网络210和序列编码网络230中的模型参数,从而达到训练所述字符识别模型的目的。
在模型训练过程中,对于当前训练样本,将该训练样本的样本图像输入至字符识别模型之后,通过所述字符识别模型的卷积神经网络210对输入的样本图像进行特征提取,所述卷积神经网络210将针对所述样本图像输出高度为D、宽度为n的样本特征图。卷积神经网络210对输入图像进行特征提取的具体实施方式参见前文所述,此处不再赘述。
之后,该样本特征图将被输入至数据结构转换层220,通过数据结构转换层220对该样本特征图进行数据结构转换,得到匹配序列编码网络230输入需求的特征序列。例如,根据所述样本特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的样本特征子序列;之后,将对应各所述宽度位置的所述样本特征子序列,依序拼接为所述样本图像的特征序列。对样本特征图进行数据结构转换,得到样本图像对应的特征序列的具体实施方式,参见前文中文本识别阶段对目标图像的特征图进行数据结构转换得到特征序列的具体实施方式,此处不再赘述。
接下来,将该样本图像的特征序列输入至所述序列编码网络230,通过所述序列编码网络230对所述特征序列进行编码映射,得到样本编码序列。通过所述序列编码网络对样本图像的所述特征序列进行编码映射,得到样本编码序列的具体实施方式,参见文本识别阶段,通过字符识别模型中的序列编码网络对目标图像的所述特征序列进行编码映射,得到编码序列的具体实施方式,此处不再赘述。
之后,通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列。通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列的具体实施方式,参见文本识别阶段,通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果的具体实施方式,此处不再赘述。
本申请的实施例中,CTC损失函数可采用现有技术中CRNN模型中的通用CTC损失函数。模型参数的优化方法,以及字符识别模型的迭代训练过程,参见现有技术,此处不再赘述。
本申请实施例中公开的文本识别方法,通过将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果,提升了弧形文本图像、***图像等复杂文本图像的文本识别准确度。
本申请实施例公开的文本识别方法,通过配置卷积神经网络输出特征图的高度,使得文本识别模型对目标图像进行特征提取时,能够提取到目标图像更加细粒度的图像特征,这样,后需的序列编码网络基于更加细粒度的图像特征进行特征编码时,不仅可以有效规避图像中的噪声,还能够基于更细致的特征进行文本识别,从而提升目标图像的文本识别准确度。
本申请实施例公开的文本识别方法,对复杂文本图像(如多行文本图像、***图像、弧形文本行图像)的识别效果,具有显著改善。
实施例二
本申请实施例公开的一种文本识别装置,如图8所示,所述装置包括:
特征图获取模块810,用于将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;
第一特征转换模块820,用于根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;
第二特征转换模块830,用于将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;
特征编码模块840,用于通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;
解码输出模块850,用于通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
本申请的一些实施例中,所述第一特征转换模块820,进一步用于:
对于所述特征图中对应同一宽度位置的D组特征,按照每组所述特征对应的所述目标图像中的位置由上至下的顺序,将所述D组特征从前向后拼接,得到对应相应所述宽度位置的特征子序列。
本申请的一些实施例中,所述装置还包括:
字符识别模型训练模块(图中未示出),用于训练所述字符识别模型,其中,用于训练所述字符识别模型的训练样本为:设置有标签的样本图像,所述标签为所述样本图像中的字符的真实编码序列,所述卷积神经网络被配置为输出高度为D的特征图,所述字符识别模型训练模块,进一步用于:
对每个所述训练样本分别执行以下字符识别步骤,得到相应样本图像中字符的预测编码序列:
将样本图像输入至所述字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述样本图像输出的高度为D、宽度为n的样本特征图;
根据所述样本特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的样本特征子序列;
将对应各所述宽度位置的所述样本特征子序列,依序拼接为所述样本图像的特征序列;
通过所述序列编码网络对所述特征序列进行编码映射,得到样本编码序列;
通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列;
根据各所述训练样本的所述样本图像中字符的所述预测编码序列和所述真实编码序列计算CTC损失,通过优化所述CTC损失,迭代训练所述字符识别模型。
本申请的一些实施例中,所述高度D的取值是根据所述目标图像匹配的文本行弧度确定的。
本申请的一些实施例中,所述样本图像包括以下一种或多种图像:***图像、弧形文本行图像,以及,多行文本图像。
本申请实施例公开的文本识别装置,用于实现本申请实施例一中所述的文本识别方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
本申请实施例公开的文本识别装置,通过将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果,提升了弧形文本图像、***图像等复杂文本图像的文本识别准确度。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种文本识别方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的电子设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图9示出了可以实现根据本申请的方法的电子设备。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器910和存储器920及存储在所述存储器920上并可在处理器910上运行的程序代码930,所述处理器910执行所述程序代码930时实现上述实施例中所述的方法。所述存储器920可以为计算机程序产品或者计算机可读介质。存储器920可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器920具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码930的存储空间9201。例如,用于程序代码930的存储空间9201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码930为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的文本识别方法的步骤。
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图9所示的电子设备中的存储器920类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图10所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码930’,所述计算机可读代码930’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种文本识别方法,其特征在于,包括:
将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;
根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;
将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;
通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;
通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列,包括:
对于所述特征图中对应同一宽度位置的D组特征,按照每组所述特征对应的所述目标图像中的位置由上至下的顺序,将所述D组特征从前向后拼接,得到对应相应所述宽度位置的特征子序列。
3.根据权利要求1或2所述的方法,其特征在于,所述将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图之前,还包括:
训练所述字符识别模型,其中,用于训练所述字符识别模型的训练样本为:设置有标签的样本图像,所述标签为所述样本图像中的字符的真实编码序列,所述卷积神经网络被配置为输出高度为D的特征图,所述训练所述字符识别模型,包括:对每个所述训练样本分别执行以下字符识别步骤,得到相应样本图像中字符的预测编码序列:
将样本图像输入至所述字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述样本图像输出的高度为D、宽度为n的样本特征图;
根据所述样本特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的样本特征子序列;
将对应各所述宽度位置的所述样本特征子序列,依序拼接为所述样本图像的特征序列;
通过所述序列编码网络对所述特征序列进行编码映射,得到样本编码序列;
通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列;
根据各所述训练样本的所述样本图像中字符的所述预测编码序列和所述真实编码序列计算CTC损失,通过优化所述CTC损失,迭代训练所述字符识别模型。
4.根据权利要求3所述的方法,其特征在于,所述高度D的取值是根据所述目标图像匹配的文本行弧度确定的。
5.根据权利要求3所述的方法,其特征在于,所述样本图像包括以下一种或多种图像:***图像、弧形文本行图像,以及,多行文本图像。
6.一种文本识别装置,其特征在于,包括:
特征图获取模块,用于将目标图像输入至预先训练的字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述目标图像输出的高度为D、宽度为n的特征图,其中,D和n为大于1的整数;
第一特征转换模块,用于根据所述特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的特征子序列;
第二特征转换模块,用于将对应各所述宽度位置的所述特征子序列,依序拼接为所述目标图像的特征序列;
特征编码模块,用于通过字符识别模型中的序列编码网络对所述特征序列进行编码映射,得到编码序列;
解码输出模块,用于通过所述字符识别模型中的CTC解码器对所述编码序列进行解码,得到所述目标图像的字符识别结果。
7.根据权利要求6所述的装置,其特征在于,所述第一特征转换模块,进一步用于:
对于所述特征图中对应同一宽度位置的D组特征,按照每组所述特征对应的所述目标图像中的位置由上至下的顺序,将所述D组特征从前向后拼接,得到对应相应所述宽度位置的特征子序列。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
字符识别模型训练模块,用于训练所述字符识别模型,其中,用于训练所述字符识别模型的训练样本为:设置有标签的样本图像,所述标签为所述样本图像中的字符的真实编码序列,所述卷积神经网络被配置为输出高度为D的特征图,所述字符识别模型训练模块,进一步用于:
对每个所述训练样本分别执行以下字符识别步骤,得到相应样本图像中字符的预测编码序列:
将样本图像输入至所述字符识别模型中的卷积神经网络,获取所述卷积神经网络针对所述样本图像输出的高度为D、宽度为n的样本特征图;
根据所述样本特征图中对应同一宽度位置,且对应不同高度位置的D组特征,得到对应相应所述宽度位置的样本特征子序列;
将对应各所述宽度位置的所述样本特征子序列,依序拼接为所述样本图像的特征序列;
通过所述序列编码网络对所述特征序列进行编码映射,得到样本编码序列;
通过所述CTC解码器对所述样本编码序列进行解码,得到所述样本图像中字符的预测编码序列;
根据各所述训练样本的所述样本图像中字符的所述预测编码序列和所述真实编码序列计算CTC损失,通过优化所述CTC损失,迭代训练所述字符识别模型。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至5任意一项所述的文本识别方法。
10.一种计算机可读存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至5任意一项所述的文本识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242295.4A CN116798044A (zh) | 2022-10-11 | 2022-10-11 | 文本识别方法、装置,以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242295.4A CN116798044A (zh) | 2022-10-11 | 2022-10-11 | 文本识别方法、装置,以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116798044A true CN116798044A (zh) | 2023-09-22 |
Family
ID=88035104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211242295.4A Pending CN116798044A (zh) | 2022-10-11 | 2022-10-11 | 文本识别方法、装置,以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116798044A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117809314A (zh) * | 2023-11-21 | 2024-04-02 | 中化现代农业有限公司 | 文字识别方法、装置、电子设备和存储介质 |
-
2022
- 2022-10-11 CN CN202211242295.4A patent/CN116798044A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117809314A (zh) * | 2023-11-21 | 2024-04-02 | 中化现代农业有限公司 | 文字识别方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558893B2 (en) | Systems and methods for recognizing characters in digitized documents | |
CN111428718B (zh) | 一种基于图像增强的自然场景文本识别方法 | |
CN113313022B (zh) | 文字识别模型的训练方法和识别图像中文字的方法 | |
CN111738169B (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
CN111275038A (zh) | 图像文本识别方法、装置、计算机设备及计算机存储介质 | |
CN114022882B (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN112509555B (zh) | 方言语音识别方法、装置、介质及电子设备 | |
CN110188827B (zh) | 一种基于卷积神经网络和递归自动编码器模型的场景识别方法 | |
CN112800768A (zh) | 一种嵌套命名实体识别模型的训练方法及装置 | |
CN114495129B (zh) | 文字检测模型预训练方法以及装置 | |
CN113298151A (zh) | 一种基于多级特征融合的遥感图像语义描述方法 | |
CN112084435A (zh) | 搜索排序模型训练方法及装置、搜索排序方法及装置 | |
US11568140B2 (en) | Optical character recognition using a combination of neural network models | |
CN110472248A (zh) | 一种中文文本命名实体的识别方法 | |
CN111428727A (zh) | 基于序列变换纠正及注意力机制的自然场景文本识别方法 | |
CN111428750A (zh) | 一种文本识别模型训练及文本识别方法、装置及介质 | |
CN114529903A (zh) | 文本细化网络 | |
CN113221718A (zh) | 公式识别方法、装置、存储介质和电子设备 | |
CN112836702A (zh) | 一种基于多尺度特征提取的文本识别方法 | |
CN116798044A (zh) | 文本识别方法、装置,以及电子设备 | |
Hemanth et al. | CNN-RNN BASED HANDWRITTEN TEXT RECOGNITION. | |
CN112307749A (zh) | 文本检错方法、装置、计算机设备和存储介质 | |
CN116012850A (zh) | 一种基于八度卷积和编解码的手写数学表达式识别方法 | |
CN114548325B (zh) | 基于对偶对比学习的零样本关系抽取方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |