CN113673336B - 基于对齐ctc的字符切割方法、系统及介质 - Google Patents
基于对齐ctc的字符切割方法、系统及介质 Download PDFInfo
- Publication number
- CN113673336B CN113673336B CN202110805781.1A CN202110805781A CN113673336B CN 113673336 B CN113673336 B CN 113673336B CN 202110805781 A CN202110805781 A CN 202110805781A CN 113673336 B CN113673336 B CN 113673336B
- Authority
- CN
- China
- Prior art keywords
- frame
- text line
- image
- character
- text
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种基于对齐CTC的字符切割方法、系统及介质,该方法为:收集文本行图像并进行预处理;构建基于CTC的文本行识别模型;利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;根据输出各帧的类别预测结果和置信度得到字符切割位置;根据字符切割位置在原图上切割得到字符。本发明的基于对齐CTC的文本行识别模型的训练数据只需要标注文本行内容,不需要标注单字的位置,节省了大量人力,实现了弱监督的文本行单字分割。另外,本发明的模型能够适用于任意输入长度以及带较多标注噪声的输入文本图像,鲁棒性强,能够得到更广泛的运用。
Description
技术领域
本发明属于人工智能及计算机视觉的技术领域,具体涉及一种基于对齐CTC的字符切割方法、系统及介质。
背景技术
文字是人类表达思想、传播知识、传承文明的重要载体。通过计算机视觉的方式识别文字并将之数字化能够大幅度解放人力成本,大幅度促进文化知识的传播和人类文明的传承,因此是非常实用且热门的人工智能研究方向。
虽然直接对文本行进行序列识别也能够得到具有一定准确率的识别结果,但若能在文本行图像识别时拥有字符级标注信息则能够获得更加准确的识别结果。此外,将单字分割出来还能辅助利用对抗生成网络辅助中文手写数据合成等任务。但是通过人工标注的方法获取字符级标注则过于费时费力,因此需要一种方法能够在直接基于原始的仅带有文本行内容标注的文本行图像弱监督地标注出文本行中每个字符的大致位置。而基于注意力机制的弱监督文本行单字分割仅仅适用于长度短的文本行,当原始文本行图像较长时或文本行图像对应的标注噪声较多时,无法将基于注意力机制的文本行单字分割模型训练至收敛,因此也无法完成正确的切割。因此需要一种能够适用于任意长度文本行,且抗噪性能强的弱监督文本行单字分割方法来满足实用性要求。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供了基于对齐CTC的字符切割方法、系统及介质。
为了达到上述目的,本发明采用以下技术方案:
本发明的一个方面,提供了基于对齐CTC的字符切割方法,包括以下步骤:
S1、收集文本行图像;
S2、对文本行图像进行预处理,得到训练样本;
S3、构建基于CTC的文本行识别模型;
S4、利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
S5、将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;
S6、根据输出各帧的类别预测结果和置信度得到字符切割位置;
S7、根据字符切割位置在原图上切割得到字符。
作为优选的技术方案,所述对文本行图像进行预处理,具体包括以下步骤:
按照短边进行尺寸归一化,保持所有文本行图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H,W)的文本行图像缩放至尺寸为(hs,ws),且ws=hs×(W/H);其中H为缩放前文本行图像的高度,W为缩放前文本行图像的宽度,hs为缩放后文本行图像的高度,ws为缩放后文本行图像的宽度;
对尺寸归一化后的文本行图像进行动态数据增广;所述动态数据增广包括随机平移和随机模糊;
对动态数据增广后的文本行图像在短边方向上进行动态的随机顺序拼接,每次随机挑选若干张文本行图像,并将其按照随机顺序拼接为一张较长的文本行图像,使得拼接后的文本行图像的长边长度大于短边长度的50倍,同时按照图像拼接的顺序对文本行图像的标注进行拼接,再将拼接得到的文本行图像除以255得到归一化文本行图像,最后将归一化文本行图像减去归一化文本行图像的均值并除以归一化文本行图像的方差,最终得到训练样本。
作为优选的技术方案,所述基于CTC的文本行识别模型包括卷积-循环神经网络编码器以及解码器;
所述卷积-循环神经网络编码器包括卷积网络部分和循环网络部分;所述卷积网络部分包括若干残差卷积模块、卷积层、池化层、批归一化层和ReLU激活函数层,用于将尺寸为(hs,ws)的输入图像转化为尺寸为(1,ws/8)的特征图,并将特征图作为循环网络部分的输入;所述循环网络部分包括两个BLSTM层、两个全连接层及两个ReLU激活函数层;所述两个全连接层的前面均加入Dropout层;
所述解码器包括一个输出通道数为训练数据中的字符类别总数+1的全连接层及其后面的Softmax层,用于将卷积-循环神经网络编码器输出的尺寸为(1,ws/8)的特征图转化为帧数为ws/8的帧串;所述帧串中的每一帧的通道数均为训练数据中的字符类别总数+1;所述帧串的每个通道分别和空白字符及训练数据中的各字符相对应,且每个通道的输出结果在0-1之间,每一帧各通道输出结果的和为1。
作为优选的技术方案,所述采用丢帧法训练基于CTC的文本行识别模型,具体包括以下步骤:
采用丢帧法标记待丢弃帧;
使用未被标记的帧计算CTC损失;
将计算出的CTC损失进行反向传播并利用Adam优化算法对基于CTC的文本行识别模型进行优化。
作为优选的技术方案,所述采用丢帧法标记待丢弃帧,具体包括以下步骤:
将基于CTC的文本行识别模型的解码器输出的帧串中的每一帧按照一定概率随机标记;
使用贪心法获取每一帧的预测类别结果,即每一帧的预测类别结果为这一帧通道中拥有最大激活值的通道的索引所对应的字符类别;
检测每一帧的预测类别结果和被标记情况:若每连续的三帧的预测类别结果均不是空白字符,且其中第二帧的预测类别结果和第一、三帧的预测结果均不一致,且第二帧被标记,则去掉第二帧的标记;若每连续的三帧中,第二帧的预测类别结果为空白字符而第一、三帧的预测类别结果一致且不为空白字符,且第二帧被标记,则去掉第二帧的标记;
将被标记的帧在计算CTC损失之前丢弃。
作为优选的技术方案,所述将待切割文本图像进行处理,具体包括以下步骤:
保持待切割文本图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H1,W1)的待切割文本图像缩放至尺寸为(hs,ws1),且ws1=hs×(W1/H1);其中H1为缩放前待切割文本图像的高度,W1为缩放前待切割文本图像的宽度,hs为缩放后待切割文本图像的高度,ws1为缩放后待切割文本图像的宽度;
将缩放后待切割文本图像除以255得到归一化待切割文本图像,之后将归一化待切割文本图像减去归一化待切割文本图像的均值并除以归一化待切割文本图像的方差,得到处理后的待切割文本图像。
作为优选的技术方案,所述根据输出各帧的类别预测结果和置信度得到字符切割位置,具体包括以下步骤:
取出将处理后的待切割文本图像输入已完成训练的基于CTC的文本行识别模型所得的输出结果;对于每张处理后的待切割文本图像,已完成训练的基于CTC的文本行识别模型的解码器的输出帧串帧数为ws1/8且每一帧的输出通道数为训练数据中的字符类别总数+1,每个通道分别和空白字符及训练数据中的各字符相对应,其中ws1是缩放后文本行图像的宽度;每一帧的每个输出通道的输出值在0-1之间且每一帧各输出通道输出值之和为1。
对于模型解码器输出的帧串中的所有帧,遍历计算其各输出通道的输出结果;对于任意一个不与空白字符相对应的通道Cx,若其在所有帧中有一帧以上的输出结果大于0.1,则计算这些帧串的位置集合{(S1,N1),(S2,N2),…,(Sn,Nn)};该位置集合的计算方法为:对于模型解码器输出的帧串中所有帧的Cx通道,其第一个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S1,终点帧索引记为N1,其第二个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S2,终点帧索引记为N2;其第n个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记Sn,终点帧索引记为Nn。
作为优选的技术方案,所述根据字符切割位置在原图上切割得到字符,具体包括以下步骤:
对于每个字符的字符切割位置的集合{(S1,N1),(S2,N2),…,(Sn,Nn)},计算集合中每个元素(Sn,Nn)在原图上的字符框,具体为:
该字符框的左上角在原图上的位置为该字符框的右下角在原图上的位置为/>其中H1为缩放前待切割文本图像的高度,hs为缩放后待切割文本图像的高度,Sn为起始帧索引,Nn为终点帧索引;
将原图中这些字符框内的部分裁剪下来,作为这个字符的切割结果。
本发明的另一个方面,还提供了基于对齐CTC的字符切割系统,应用于上述的基于对齐CTC的字符切割方法,包括预处理模块、模型构建模块、训练模块、预测及切割模块;
所述预处理模块用于收集文本行图像并对文本行图像进行预处理,得到训练样本;
所述模型构建模块用于构建基于CTC的文本行识别模型;
所述训练模块用于利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
所述预测及切割模块用于将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;根据输出各帧的类别预测结果和置信度得到字符切割位置;根据字符切割位置在原图上切割得到字符。
本发明的另一个方面,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的基于对齐CTC的字符切割方法。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明使用丢帧法训练基于对齐CTC的文本行识别模型,在识别文本行内容的同时,能够准确、高效率地将文本行中的单字分割出来。
(2)本发明提出的基于对齐CTC的文本行识别模型的训练数据只需要标注文本行内容,不需要标注单字的位置,节省了大量人力,实现了弱监督的文本行单字分割。
(3)本发明提出的基于对齐CTC的文本行识别模型能够适用于字符类别数量任意多的情况。
(4)本发明提出的基于对齐CTC的文本行识别模型能够适用于任意输入长度的输入文本图像,相比于只能用短文本图像训练和预测的基于注意力机制的文本行单字分割方法,本发明提出的基于对齐CTC的文本行识别模型的实用性更为强大。
(5)本发明提出的基于对齐CTC的文本行识别模型能够适用于训练数据含噪声较多的情况,相比于只能用训练数据非常干净的基于注意力机制的文本行单字分割方法,本发明提出的基于对齐CTC的文本行识别模型对训练数据中的噪声的鲁棒性更强,能够得到更广泛的运用。
附图说明
图1是本发明实施例基于对齐CTC的字符切割方法的流程图;
图2是本发明实施例Residual Convolution Block结构图;
图3是本发明实施例切割CASIA手写数据集字符过程图;
图4是本发明实施例切割MTHTKHv2数据集及CASIA手写数据集字符的结果图;
图5是本发明实施例基于对齐CTC的字符切割系统的结构示意图;
图6是本发明实施例的存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例
如图1所示,本实施例提供了基于对齐CTC的字符切割方法,包括以下步骤:
S1、收集文本行图像;
对于中文古籍文本行图像的识别与分割,所收集的图像来自于高丽藏大藏经。将大藏经图像的扫描件按列切分得到文本行图像。文本行图像的标签是文本行内容,文本行所包含的文字类别数是6025。对于中文现代手写文本行图像的识别与分割,所收集的图像来自于CASIA手写数据集,将CASIA手写数据集中的图像按行切分得到文本行图像,文本行图像的标签是文本行内容,文本行所包含的文字类别数是2702。
S2、对文本行图像进行预处理,得到训练样本,具体包括以下步骤:
S2.1、按照短边进行尺寸归一化,保持所有文本行图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H,W)的文本行图像缩放至尺寸为(hs,ws),且ws=hs×(W/H);其中H为缩放前文本行图像的高度,W为缩放前文本行图像的宽度,hs为缩放后文本行图像的高度,ws为缩放后文本行图像的宽度。在本实施例中,hs设置为64。
S2.2、对尺寸归一化后的文本行图像进行动态数据增广,包括以下方式:
S2.2.1、随机平移:对图片进行随机平移。将图片随机向任意方向平移0-8个像素,并通过复制距离最近的原图片边界像素的方法填充平移后空缺的部分。
S2.2.2、随机模糊:对图片随机进行模糊处理。对图片随机进行高斯模糊,高斯模糊的核半径随机取3或5。
S2.3、对动态数据增广后的文本行图像在短边方向上进行动态的随机顺序拼接,每次随机挑选若干张文本行图像,并将其按照随机顺序拼接为一张较长的文本行图片,使得拼接后的文本行图像的长边长度大于短边长度的50倍,同时按照图像拼接的顺序对文本行图像的标注进行拼接,再将拼接得到的文本行图像除以255得到归一化文本行图像,最后将归一化文本行图像减去归一化文本行图像的均值并除以归一化文本行图像的方差,最终得到训练样本。
S3、构建基于CTC的文本行识别模型,所述基于CTC的文本行识别模型包括卷积-循环神经网络编码器以及解码器,具体如下:
S3.1、构建基于CTC的文本行识别模型
所述卷积-循环神经网络编码器包括卷积网络部分和循环网络部分;所述卷积网络部分包括若干残差卷积模块、卷积层、池化层、批归一化层和ReLU激活函数层,其结构如表1所示。其中残差卷积模块的结构如图2所示,其由卷积层、批归一化层和ReLU激活函数层组成,并将残差分支的输出加入到最终的输出中。当残差卷积模块的输入输出通道数相等时,其残差分支就是输入的恒等映射,否则其残差分支通过卷积核大小为1的卷积层将输入数据的特征维度变为输出通道数。卷积网络部分将高度、宽度分别为hs、ws的输入图像转化为尺寸为(1,ws/8)的特征图,并将特征图作为循环网络的输入;所述循环网络部分包括两个BLSTM层、两个全连接层及两个ReLU激活函数层;所述两个全连接层的前面均加入Dropout层;在本实施例中,hs设置为64。
表1.编码器模型结构参数表
表1中,C代表输出通道数,K代表卷积核或池化核的尺寸,S代表步长,P代表在输入图像上长边方向上和短边方向上两边补零的数量,D代表Dropout概率。ResidualConvolution Block结构如图2所示。MaxPooling代表最大池化层,Convolution代表卷积层,BatchNormalization代表批归一化层,BLSTM代表BLSTM层,Fully Connected代表全连接层,Dropout代表全连接层。
S3.2、构建解码器
所述解码器包括一个输入通道数为512,输出通道数为训练数据中的字符类别总数+1的全连接层及其后面的Softmax层,用于将卷积-循环神经网络编码器输出的尺寸为(1,ws/8)的特征图转化为帧数为ws/8的帧串;所述帧串中的每一帧的通道数均为训练数据中的字符类别总数+1;所述帧串的每个通道分别和空白字符及训练数据中的各字符相对应,且每个通道的输出结果在0-1之间,每一帧各通道输出结果的和为1。
S4、利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型,具体包括以下步骤:
S4.1、采用丢帧法标记待丢弃帧,具体包括以下步骤:
S4.1.1、将基于CTC的文本行识别模型的解码器输出的帧串中的每一帧按照一定概率(本实施例的前一半的训练过程中,该标记概率为0.7;后一半的训练过程中,该标记概率为0.5)随机标记;
S4.1.2、使用贪心法获取每一帧的预测类别结果,即每一帧的预测类别结果为这一帧通道中拥有最大激活值的通道的索引所对应的字符类别;
S4.1.3、检测每一帧的预测类别结果和被标记情况:若每连续的三帧的预测类别结果均不是空白字符,且其中第二帧的预测类别结果和第一、三帧的预测结果均不一致,且第二帧被标记,则去掉第二帧的标记;
S4.1.4、检测每一帧的预测类别结果和被标记情况:若每连续的三帧中,第二帧的预测类别结果为空白字符而第一、三帧的预测类别结果一致且不为空白字符,且第二帧被标记,则去掉第二帧的标记;
S4.1.5、将被标记的帧在计算CTC损失之前丢弃。
S4.2、使用未被标记的帧计算CTC损失,即损失值为CTC(y_pred,y_gt),其中CTC(y_pred,y_gt)代表计算y_pred和y_gt的CTC损失,y_pred代表模型解码器输出帧串中未被标记的帧,y_gt代表该输入样本的内容序列标签;
S4.3、将计算出的CTC损失进行反向传播并利用Adam优化算法对基于CTC的文本行识别模型进行优化;
在本实施例中,Adam优化算法的betas取(0.9,0.999),训练epoch数为30,前10个epoch中Adam优化算法的学习率为1e-3,第11至20个epoch学习率为3e-4,第21至第25个epoch学习率为1e-4,第26至第30个epoch学习率为3e-5。
S5、将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中,具体包括以下步骤:
S5.1、保持待切割文本图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H1,W1)的待切割文本图像缩放至尺寸为(hs,ws1),且ws1=64×(W1/H1);其中H1为缩放前待切割文本图像的高度;W1为缩放前待切割文本图像的宽度;hs为缩放后待切割文本图像的高度,在本实施例中,设置为64;ws1为缩放后待切割文本图像的宽度;
S5.2、将缩放后待切割文本图像除以255得到归一化待切割文本图像,之后将归一化待切割文本图像减去归一化待切割文本图像的均值并除以归一化待切割文本图像的方差,得到处理后的待切割文本图像。
S5.3、将处理后的待切割文本图像输入到已完成训练的基于CTC的文本行识别模型中,得到已完成训练的基于CTC的文本行识别模型的解码器的输出结果。
S6、根据输出各帧的类别预测结果和置信度得到字符切割位置,具体包括以下步骤:
S6.1、取出将处理后的待切割文本图像输入已完成训练的基于CTC的文本行识别模型所得的输出结果;对于每张处理后的待切割文本图像,已完成训练的基于CTC的文本行识别模型的解码器的输出帧串帧数为ws1/8且每一帧的输出通道数为训练数据中的字符类别总数+1,每个通道分别和空白字符及训练数据中的各字符相对应,其中ws1是缩放后文本行图像的宽度;每一帧的每个输出通道的输出值在0-1之间且每一帧各输出通道输出值之和为1。
S6.2、对于模型解码器输出的帧串中的所有帧,遍历计算其各输出通道的输出结果;对于任意一个不与空白字符相对应的通道Cx,若其在所有帧中有一帧以上的输出结果大于0.1,则计算这些帧串的位置集合{(S1,N1),(S2,N2),…,(Sn,Nn)};该位置集合的计算方法为:对于模型解码器输出的帧串中所有帧的Cx通道,其第一个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S1,终点帧索引记为N1,其第二个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S2,终点帧索引记为N2;其第n个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记Sn,终点帧索引记为Nn。
S7、根据字符切割位置在原图上切割得到字符,具体包括以下步骤:
7.1、对于每个字符的字符切割位置的集合{(S1,N1),(S2,N2),…,(Sn,Nn)},计算集合中每个元素(Sn,Nn)在原图上的字符框,其中根据位置集合中的元素计算字符框的方法为:该字符框的左上角在原图上的位置为该字符框的右下角在原图上的位置为/>其中H1为缩放前待切割文本图像的高度;hs为缩放后待切割文本图像的高度,在本实施例中设置为64;Sn为起始帧索引,Nn为终点帧索引;
S7.2、将原图中这些字符框内的部分裁剪下来,作为这个字符的切割结果。
如图5所示,在本申请的另一个实施例中,提供了基于对齐CTC的字符切割系统,该系统包括预处理模块、模型构建模块、训练模块、预测及切割模块;
所述预处理模块用于收集文本行图像并对文本行图像进行预处理,得到训练样本;
所述模型构建模块用于构建基于CTC的文本行识别模型;
所述训练模块用于利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
所述预测及切割模块用于将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;根据输出各帧的类别预测结果和置信度得到字符切割位置;根据字符切割位置在原图上切割得到字符。
在此需要说明的是,上述实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,该系统是应用于上述实施例的基于对齐CTC的字符切割方法。
如图6所示,在本申请的另一个实施例中,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现上述实施例的基于对齐CTC的字符切割方法,具体为:
S1、收集文本行图像;
S2、对文本行图像进行预处理,得到训练样本;
S3、构建基于CTC的文本行识别模型;
S4、利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
S5、将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;
S6、根据输出各帧的类别预测结果和置信度得到字符切割位置;
S7、根据字符切割位置在原图上切割得到字符。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.基于对齐CTC的字符切割方法,其特征在于,包括以下步骤:
收集文本行图像;
对文本行图像进行预处理,得到训练样本;
构建基于CTC的文本行识别模型,所述基于CTC的文本行识别模型包括卷积-循环神经网络编码器以及解码器;
所述卷积-循环神经网络编码器包括卷积网络部分和循环网络部分;所述卷积网络部分包括若干残差卷积模块、卷积层、池化层、批归一化层和ReLU激活函数层,用于将尺寸为(hs,ws)的输入图像转化为尺寸为(1,ws/8)的特征图,并将特征图作为循环网络部分的输入;所述循环网络部分包括两个BLSTM层、两个全连接层及两个ReLU激活函数层;所述两个全连接层的前面均加入Dropout层;
所述解码器包括一个输出通道数为训练数据中的字符类别总数+1的全连接层及其后面的Softmax层,用于将卷积-循环神经网络编码器输出的尺寸为(1,ws/8)的特征图转化为帧数为ws/8的帧串;所述帧串中的每一帧的通道数均为训练数据中的字符类别总数+1;所述帧串的每个通道分别和空白字符及训练数据中的各字符相对应,且每个通道的输出结果在0-1之间,每一帧各通道输出结果的和为1;
利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;
所述将待切割文本图像进行处理具体包括以下步骤:
保持待切割文本图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H1,W1)的待切割文本图像缩放至尺寸为(hs,ws1),且ws1=hs×(W1/H1);其中H1为缩放前待切割文本图像的高度,W1为缩放前待切割文本图像的宽度,hs为缩放后待切割文本图像的高度,ws1为缩放后待切割文本图像的宽度;
将缩放后待切割文本图像除以255得到归一化待切割文本图像,之后将归一化待切割文本图像减去归一化待切割文本图像的均值并除以归一化待切割文本图像的方差,得到处理后的待切割文本图像;
根据输出各帧的类别预测结果和置信度得到字符切割位置,具体包括以下步骤:
取出将处理后的待切割文本图像输入已完成训练的基于CTC的文本行识别模型所得的输出结果;对于每张处理后的待切割文本图像,已完成训练的基于CTC的文本行识别模型的解码器的输出帧串帧数为ws1/8且每一帧的输出通道数为训练数据中的字符类别总数+1,每个通道分别和空白字符及训练数据中的各字符相对应,其中ws1是缩放后文本行图像的宽度;每一帧的每个输出通道的输出值在0-1之间且每一帧各输出通道输出值之和为1;
对于模型解码器输出的帧串中的所有帧,遍历计算其各输出通道的输出结果;对于任意一个不与空白字符相对应的通道Cx,若其在所有帧中有一帧以上的输出结果大于0.1,则计算这些帧串的位置集合{(S1,N1),(S2,N2),…,(Sn,Nn)};该位置集合的计算方法为:对于模型解码器输出的帧串中所有帧的Cx通道,其第一个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S1,终点帧索引记为N1,其第二个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记S2,终点帧索引记为N2;其第n个连续一帧以上输出结果大于0.1的帧串片段的起始帧索引记Sn,终点帧索引记为Nn;
根据字符切割位置在原图上切割得到字符,具体包括以下步骤:
对于每个字符的字符切割位置的集合{(S1,N1),(S2,N2),…,(Sn,Nn)},计算集合中每个元素(Sn,Nn)在原图上的字符框,具体为:
该字符框的左上角在原图上的位置为该字符框的右下角在原图上的位置为/>其中H1为缩放前待切割文本图像的高度,hs为缩放后待切割文本图像的高度,Sn为起始帧索引,Nn为终点帧索引;
将原图中这些字符框内的部分裁剪下来,作为这个字符的切割结果。
2.根据权利要求1所述基于对齐CTC的字符切割方法,其特征在于,所述对文本行图像进行预处理,具体包括以下步骤:
按照短边进行尺寸归一化,保持所有文本行图像的长宽比不变,将短边缩放至设定长度hs,即将缩放前尺寸为(H,W)的文本行图像缩放至尺寸为(hs,ws),且ws=hs×(W/H);其中H为缩放前文本行图像的高度,W为缩放前文本行图像的宽度,hs为缩放后文本行图像的高度,ws为缩放后文本行图像的宽度;
对尺寸归一化后的文本行图像进行动态数据增广;所述动态数据增广包括随机平移和随机模糊;
对动态数据增广后的文本行图像在短边方向上进行动态的随机顺序拼接,每次随机挑选若干张文本行图像,并将其按照随机顺序拼接为一张较长的文本行图像,使得拼接后的文本行图像的长边长度大于短边长度的50倍,同时按照图像拼接的顺序对文本行图像的标注进行拼接,再将拼接得到的文本行图像除以255得到归一化文本行图像,最后将归一化文本行图像减去归一化文本行图像的均值并除以归一化文本行图像的方差,最终得到训练样本。
3.根据权利要求1所述基于对齐CTC的字符切割方法,其特征在于,所述采用丢帧法训练基于CTC的文本行识别模型,具体包括以下步骤:
采用丢帧法标记待丢弃帧;
使用未被标记的帧计算CTC损失;
将计算出的CTC损失进行反向传播并利用Adam优化算法对基于CTC的文本行识别模型进行优化。
4.根据权利要求3所述基于对齐CTC的字符切割方法,其特征在于,所述采用丢帧法标记待丢弃帧,具体包括以下步骤:
将基于CTC的文本行识别模型的解码器输出的帧串中的每一帧按照一定概率随机标记;
使用贪心法获取每一帧的预测类别结果,即每一帧的预测类别结果为这一帧通道中拥有最大激活值的通道的索引所对应的字符类别;
检测每一帧的预测类别结果和被标记情况:若每连续的三帧的预测类别结果均不是空白字符,且其中第二帧的预测类别结果和第一、三帧的预测结果均不一致,且第二帧被标记,则去掉第二帧的标记;若每连续的三帧中,第二帧的预测类别结果为空白字符而第一、三帧的预测类别结果一致且不为空白字符,且第二帧被标记,则去掉第二帧的标记;
将被标记的帧在计算CTC损失之前丢弃。
5.基于对齐CTC的字符切割系统,其特征在于,应用于权利要求1-4中任一项所述的基于对齐CTC的字符切割方法,包括预处理模块、模型构建模块、训练模块、预测及切割模块;
所述预处理模块用于收集文本行图像并对文本行图像进行预处理,得到训练样本;
所述模型构建模块用于构建基于CTC的文本行识别模型;
所述训练模块用于利用预处理后的训练样本采用丢帧法训练基于CTC的文本行识别模型;
所述预测及切割模块用于将待切割文本图像进行处理并输入至已完成训练的基于CTC的文本行识别模型中;根据输出各帧的类别预测结果和置信度得到字符切割位置;根据字符切割位置在原图上切割得到字符。
6.一种存储介质,存储有程序,其特征在于:所述程序被处理器执行时,实现权利要求1-4任一项所述的基于对齐CTC的字符切割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110805781.1A CN113673336B (zh) | 2021-07-16 | 2021-07-16 | 基于对齐ctc的字符切割方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110805781.1A CN113673336B (zh) | 2021-07-16 | 2021-07-16 | 基于对齐ctc的字符切割方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113673336A CN113673336A (zh) | 2021-11-19 |
CN113673336B true CN113673336B (zh) | 2023-09-26 |
Family
ID=78539550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110805781.1A Active CN113673336B (zh) | 2021-07-16 | 2021-07-16 | 基于对齐ctc的字符切割方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113673336B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110399879A (zh) * | 2019-06-14 | 2019-11-01 | 华南理工大学 | 一种基于注意力机制的文本行单字分割方法 |
US10671878B1 (en) * | 2019-01-11 | 2020-06-02 | Capital One Services, Llc | Systems and methods for text localization and recognition in an image of a document |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815339B (zh) * | 2019-01-02 | 2022-02-08 | 平安科技(深圳)有限公司 | 基于TextCNN知识抽取方法、装置、计算机设备及存储介质 |
-
2021
- 2021-07-16 CN CN202110805781.1A patent/CN113673336B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671878B1 (en) * | 2019-01-11 | 2020-06-02 | Capital One Services, Llc | Systems and methods for text localization and recognition in an image of a document |
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110399879A (zh) * | 2019-06-14 | 2019-11-01 | 华南理工大学 | 一种基于注意力机制的文本行单字分割方法 |
Non-Patent Citations (2)
Title |
---|
基于改进LeNet-5模型的手写体中文识别;何凯;黄婉蓉;刘坤;高圣楠;;天津大学学报(自然科学与工程技术版)(第08期);全文 * |
基于语义分割技术的任意方向文字识别;王涛;江加和;;应用科技(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113673336A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647829A (zh) | 一种票据的文本识别方法及系统 | |
CN113673338B (zh) | 自然场景文本图像字符像素弱监督自动标注方法、系统及介质 | |
CN110969129B (zh) | 一种端到端税务票据文本检测与识别方法 | |
CN112052852B (zh) | 一种基于深度学习的手写气象档案资料的字符识别方法 | |
CN110619326B (zh) | 一种基于扫描的英语试卷作文检测识别系统及方法 | |
CN112883795B (zh) | 一种基于深度神经网络的表格快速自动提取方法 | |
CN112580507B (zh) | 一种基于图像矩矫正的深度学习文本字符检测方法 | |
US10373022B1 (en) | Text image processing using stroke-aware max-min pooling for OCR system employing artificial neural network | |
CN112016512A (zh) | 基于反馈式多尺度训练的遥感图像小目标检测方法 | |
CN112836702B (zh) | 一种基于多尺度特征提取的文本识别方法 | |
CN115862045B (zh) | 基于图文识别技术的病例自动识别方法、系统、设备及存储介质 | |
CN113673482B (zh) | 基于动态标签分配的细胞抗核抗体荧光识别方法及系统 | |
CN115880704B (zh) | 一种病例的自动编目方法、系统、设备及存储介质 | |
CN111738295A (zh) | 图像的分割方法及存储介质 | |
CN110991374B (zh) | 一种基于rcnn的指纹奇异点检测方法 | |
CN113673336B (zh) | 基于对齐ctc的字符切割方法、系统及介质 | |
CN112597925A (zh) | 手写字迹的识别/提取、擦除方法及擦除系统、电子设备 | |
CN117152768A (zh) | 用于扫读笔的离线识别方法及系统 | |
CN112800259B (zh) | 一种基于边缘闭合与共性检测的图像生成方法及系统 | |
Chen et al. | Scene text recognition based on deep learning: a brief survey | |
CN113221885A (zh) | 一种基于整字和偏旁部首的层次化建模方法及系统 | |
WO2024103292A1 (zh) | 手写体识别方法、手写体识别模型的训练方法及装置 | |
CN117132997B (zh) | 一种基于多头注意力机制和知识图谱的手写表格识别方法 | |
CN112329744B (zh) | 一种图片文字识别方法和装置 | |
Srivastava et al. | Cell Extraction and Horizontal-Scale Correction in Structured Documents |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |