CN114565751A - Ocr识别模型训练方法、ocr识别方法及相关装置 - Google Patents
Ocr识别模型训练方法、ocr识别方法及相关装置 Download PDFInfo
- Publication number
- CN114565751A CN114565751A CN202210192272.0A CN202210192272A CN114565751A CN 114565751 A CN114565751 A CN 114565751A CN 202210192272 A CN202210192272 A CN 202210192272A CN 114565751 A CN114565751 A CN 114565751A
- Authority
- CN
- China
- Prior art keywords
- image
- image blocks
- recognition model
- ocr recognition
- model
- 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
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了OCR识别模型训练方法、OCR识别方法及相关装置,OCR识别模型训练方法包括:将无标注数据的第一图像样本切分为多个第一图像块,随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块;利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建包含编码器和第一解码器的初始特征识别模型进行预训练;基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型;将有标注数据的第二图像样本切分为多个第二图像块;采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到OCR识别模型。本申请无需大量标注数据,模型训练效率高,同时,训练方法使得OCR识别模型的识别能力高。
Description
技术领域
本申请涉及OCR识别技术领域,特别是涉及OCR识别模型训练方法、OCR识别方法及相关装置。
背景技术
OCR(Optical Character Recognition,光学字符识别)是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式,现在也包含自然场景的文字识别。
目前主流的OCR识别模型主要采用CNN网络作为骨干网络,采用CTC作为解码器,其中,在构建OCR识别模型时需要使用大量有标注数据的图像样本进行模型训练。
但是,标注数据需要耗费大量时间和资源,使得OCR识别模型的训练效率大大降低,并且,现有的OCR识别模型仅考虑视觉信息,容易产生误识别,识别效果较差。
发明内容
有鉴于此,本申请提供了OCR识别模型训练方法、OCR识别方法及相关装置,用于解决现有技术OCR识别模型的训练效率低且识别效果差的问题,其技术方案如下:
一种OCR识别模型训练方法,包括:
将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,遮挡图像块的数量大于未遮挡图像块的数量;
利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型;
基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型;
将有标注数据的第二图像样本切分为多个第二图像块;
采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。
可选的,利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型预设特征,包括:
将未遮挡图像块输入到初始特征识别模型包含的编码器中,得到未遮挡图像块的视觉语义信息;
将未遮挡图像块的视觉语义信息和遮挡图像块输入到初始特征识别模型包含的第一解码器中,得到重构出的未遮挡图像块和遮挡图像块分别对应的预设特征;
根据重构出的未遮挡图像块和遮挡图像块分别对应的预设特征,以及,从第一图像样本提取的预设特征,对初始特征识别模型的参数进行预训练,得到预训练特征识别模型。
可选的,预设特征包括以下特征中的一种或多种:方向梯度直方图特征、卷积神经网络特征、局部二值模式特征、Haar-like特征、ORB特征、加速稳健特征和SIFT特征。
可选的,采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型,包括:
将多个第二图像块输入到任务处理模型中,得到多个第二图像块对应的OCR识别结果;
基于多个第二图像块对应的OCR识别结果和第二图像样本包含的词片序列对任务处理模型的参数进行训练,得到OCR识别模型。
可选的,图像样本的获取方法,包括:
获取原始样本;
对原始样本进行图像转换处理,得到处理后的原始样本,其中,图像转换处理包括以下处理中的一种或多种:随机旋转、高斯模糊、图像膨胀、图像腐蚀、下采样和添加下划线;
将原始样本和处理后的原始样本作为图像样本。
一种OCR识别方法,应用于如上述任一项的OCR识别模型,包括:
获取待识别图像;
将待识别图像切分为多个待识别图像块;
将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果,作为待识别图像的OCR识别结果。
一种OCR识别模型训练装置,包括:第一切分模块、第一训练模块、模型构建模块、第二切分模块和第二训练模块;
第一切分模块,用于将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,遮挡图像块的数量大于未遮挡图像块的数量;
第一训练模块,用于利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型;
模型构建模块,用于基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型;
第二切分模块,用于将有标注数据的第二图像样本切分为多个第二图像块;
第二训练模块,用于采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。
一种OCR识别装置,应用于如上述的OCR识别模型,包括:获取模块、第三切分模块和识别模块;
获取模块,用于获取待识别图像;
第三切分模块,用于将待识别图像切分为多个待识别图像块;
识别模块,用于将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果,作为待识别图像的OCR识别结果。
一种数据处理设备,包括存储器和处理器;
存储器,用于存储程序;
处理器,用于执行程序,实现如上述任一项的OCR识别模型训练方法,或上述的OCR识别方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时,实现如上述任一项的OCR识别模型训练方法,或上述的OCR识别方法的各个步骤。
经由上述的技术方案可知,本申请提供的OCR识别模型训练方法,首先将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,然后利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型,接着基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型,之后将有标注数据的第二图像样本切分为多个第二图像块,最后采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。本申请能够基于大量无标注数据的第一图像样本对预先构建的初始特征识别模型进行训练,以得到预训练特征识别模型,基于该预训练特征识别模型中的编码器和第二解码器即可构建任务处理模型,之后基于少量有标注数据的第二图像样本和第二图像样本包含的词片序列训练任务处理模型,即可得到具备更高识别能力的OCR识别模型,由于本申请的训练过程无需大量标注数据,提高了OCR识别模型的训练效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的OCR识别模型训练方法的流程示意图;
图2a为本申请实施例提供的图像样本的示意图;
图2b为本申请实施例提供的遮挡图像块和未遮挡图像块的示意图;
图3为本申请实施例提供的编码器结构的示意图;
图4为本申请实施例提供的解码器结构的示意图;
图5为本申请实施例提供的初始特征识别模型的训练过程示意图;
图6为本申请实施例提供的OCR识别方法的流程示意图;
图7为本申请实施例提供的OCR识别模型的识别过程示意图;
图8为本申请实施例提供的OCR识别模型训练装置的结构示意图;
图9为本申请实施例提供的OCR识别装置的结构示意图;
图10为本申请实施例提供的OCR识别模型训练设备的硬件结构框图;
图11为本申请实施例提供的OCR识别设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术中的介绍,现有的OCR识别模型主要采用CNN网络作为骨干网络,采用CTC作为解码器,并且构建过程需要使用大量有标注数据的图像样本进行模型训练。
但是,标注数据需要耗费大量时间和资源,不能利用廉价易获取的大规模的无标注数据;并且,这种OCR识别模型在进行OCR识别时仅考虑了视觉信息,容易产生误识别,尤其易导致形近字错误识别,识别效果较差,往往需要配合额外的字符级别的语言模型或者形近词典来进行后处理(例如纠错等),以提高整体准确率;另外,因为光线变化或者物体遮挡或者纸张褶皱,导致部分字、词、句被遮挡,也会大大降低OCR识别效果。
鉴于此,本申请提供了OCR识别模型训练方法、OCR识别方法及相关装置,以解决上述问题。为了使本领域技术人员更加理解本申请,接下来通过下述实施例对本申请提供的OCR识别模型训练方法进行详细介绍。
请参阅图1,示出了本申请实施例提供的OCR识别模型训练方法的流程示意图,该OCR识别模型训练方法可以包括:
步骤S101、将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块。
其中,遮挡图像块的数量大于未遮挡图像块的数量。
本实施例可采用大量无标注数据的第一图像样本训练初始的特征识别模型,其中,对于每个第一图像样本,本步骤可将该第一图像样本切分为多个固定大小的图像块patch,为了便于描述,本步骤将切分出的图像块定义为第一图像块。
考虑到图像具有局部相似性和平移不变性,具有很多冗余信息(即图像的语义密度很低),如果仅遮挡很少比例的第一图像块,则在训练初始特征识别模型时,特征识别模型很容易偷懒,简单地从邻居信息就可以脑补学习,最终导致学不到高层语义信息,基于此,需要从多个第一图像块中随机选取部分第一图像块进行遮挡,并且使遮挡图像块的数量大于未遮挡图像块的数量,如此便可强迫特征识别模型学习最精炼的视觉语义信息。
需要说明的是,本步骤随机遮挡第一图像块时,是按照遮挡图像块的数量与未遮挡图像块的数量的比值为设定比值进行遮挡操作的;可选的,本步骤可在随机遮挡时,使遮挡图像块的数量与未遮挡图像块的数量的比值为3比2,例如,以第一图像样本为图2a所示的图像样本为例,随机遮挡后的效果可参见图2b所示。
当然,本申请实施例中,遮挡图像块的数量与未遮挡图像块的数量的比值还可以为其他,例如,遮挡图像块的数量与未遮挡图像块的数量的比值为3比1,本申请对此不进行具体限定。
步骤S102、利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型。
在本实施例中,首先需要基于编码器和第一解码器构建初始特征识别模型。
其中,编码器用于提取输入图像的视觉语义信息,由于图像的语义密度很低,采用合理的训练方法对初始特征识别模型进行训练,就可以使训练出的编码器(即预训练特征识别模型中的编码器)能够提取更精炼、更完备的视觉语义信息,由此,本步骤中,将未遮挡图像块输入编码器进行训练,使得预训练特征识别模型中的编码器提取的未遮挡图像块的视觉语义信息能够表征第一图像样本的视觉语义信息。
可选的,上述编码器可采用transformer结构,该结构可参见图3所示,即,编码器由N个多头注意力层(Multi-Head Attention)和前馈神经网络层(Feed Forward)组成,这里,N的具体取值可以根据实际情况确定。
上文中的第一解码器用于基于未遮挡图像块的视觉语义信息和遮挡图像块,重构遮挡图像块和未遮挡图像块分别对应的预设特征。本实施例选择基于第一解码器重构预设特征而不是重构第一图像样本的像素,是因为像素中含有太多不重要的高频细节,让构建的特征识别模型去拟合这些高频细节,容易造成过拟合,而预设特征具有稳定性,让构建的特征识别模型去拟合预设特征,使得特征识别模型能够学习到更好更多的高级语义信息,避免陷入噪声细节中。
可选的,第一解码器也可采用transformer结构,该结构可参见图4所示,即,第一解码器由N个掩蔽多头注意力层(Masked Multi-Head Attention)、多头注意力层(Multi-Head Attention)和前馈神经网络层(Feed Forward)组成。
可选的,上述预设特征可以为方向梯度直方图特征(即HOG特征),由于HOG特征可以基于第一图像样本快速、方便地计算出来,因此选择HOG特征作为本实施例中的预设特征,使得本实施例具有计算量小、速度快的优势;当然,该预设特征还可以为其他,例如卷积神经网络特征(即CNN特征)或者其他传统特征,例如,局部二值模式(Local BinaryPattern,LBP)特征、Haar-like特征(即HAAR特征)、ORB(Oriented Fast and RotatedBrief)特征、加速稳健(Speeded Up Robust Features,SURF)特征、SIFT(Scale-invariantfeature transform,尺度不变特征变换)特征等,本申请对此不进行限定。
需要说明的是,鉴于现有技术已有类似的编码器结构和解码器结构,即本实施例的编码器和第一解码器中,部分层与现有技术相同,则为了提高特征识别模型的训练效率,可在特征识别模型初始化阶段,将现有技术已经训练出的参数作为本实施例中的编码器和第一解码器部分层的初始参数,而对于另一部分现有技术不存在的层的初始参数需要进行随机初始化。
在构建完毕初始特征识别模型后,本步骤即可利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对初始特征识别模型进行预训练,得到预训练特征识别模型。
步骤S103、基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型。
在上个步骤训练得到预训练特征识别模型后,本步骤可基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型。
值得注意的是,在构建任务处理模型时,由于任务处理模型的输入图像块的数量与预训练特征识别模型的输入图像块的数量可能不同,因此,图3所示预训练特征识别模型中的编码器的“N”与任务处理模型中的编码器的“N”可能不同。
上述第二解码器用于基于预训练特征识别模型中的编码器输出的视觉语义信息,确定输入至任务处理模型的图像的OCR识别结果。
可选的,第二解码器也可采用图4所示的transformer结构,该具体结构可参见上述步骤S102中的介绍,在此不再赘述。
步骤S104、将有标注数据的第二图像样本切分为多个第二图像块。
本实施例可采用少量有标注数据的第二图像样本训练任务处理模型,其中,对于每个第二图像样本,可将该第二图像样本切分为多个固定大小的图像块patch,为了与上述第一图像块进行区分,本步骤将切分出的图像块定义为第二图像块。
值得注意的是,由于上述步骤S102已经训练出能够提取更精炼、更完备的视觉语义信息的编码器,因此,本步骤只需要选取少于第一图像样本的数量的第二图像样本,基于少量的第二图像样本对应的第二图像块,对任务处理模型进行训练,即可训练出具备更高识别能力的OCR识别模型。
步骤S105、采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。
前述已经说明了,任务处理模型基于预训练特征识别模型中的编码器和第二解码器构建得到。则本步骤中,任务处理模型中的编码器用于获得多个第二图像块的视觉语义信息,第二解码器用于基于多个第二图像块的视觉语义信息,得到第二图像样本的OCR识别结果。
可选的,第二解码器得到第二图像样本的OCR识别结果的过程可以包括:第二解码器基于多个第二图像块的视觉语义信息,得到第二图像样本中的各词片(wordpiece),然后基于得到的各词片预测第二图像样本中的词片序列,该词片序列即为OCR识别结果。
上述第二图像样本包含的词片序列是指第二图像样本对应的标注数据,例如,若第二图像样本为图2a所示,则该第二图像样本包含的词片序列可以为“SUBWAY”。
本申请提供的OCR识别模型训练方法,首先将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,然后利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型,接着基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型,之后将有标注数据的第二图像样本切分为多个第二图像块,最后采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。本申请能够基于大量无标注数据的第一图像样本对预先构建的初始特征识别模型进行训练,以得到预训练特征识别模型,基于该预训练特征识别模型中的编码器和第二解码器即可构建任务处理模型,之后基于少量有标注数据的第二图像样本和第二图像样本包含的词片序列训练任务处理模型,即可得到具备更高识别能力的OCR识别模型,由于本申请的训练过程无需大量标注数据,节省了人力资源,提高了OCR识别模型的训练效率。
此外,由于编码器能够提取多个第二子图像更完备、更精炼的视觉语义信息,使得OCR识别模型无需额外的语言模型进行后处理,就可得到准确率更高的OCR识别结果。
为了使本领域技术人员更加理解本申请实施例中初始的特征识别模型的训练过程,以下的一个实施例,对“步骤S102、利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型”的过程进行说明。
可选的,该过程可以包括:
A1、将未遮挡图像块输入到初始特征识别模型包含的编码器中,得到未遮挡图像块的视觉语义信息。
在本步骤中,为了避免引入过多遮挡掉的第一图像块输入初始特征识别模型包含的编码器,给初始特征识别模型包含的编码器的训练造成干扰,可以仅将未遮挡图像块输入到初始特征识别模型包含的编码器中,得到未遮挡图像块的视觉语义信息。
参见图5所示的初始特征识别模型的训练过程示意图,图5中,初始特征识别模型基于编码器Encoder和第一解码器Decoder-1构建得到,本步骤可将图2b所示的6个未遮挡图像块输入到初始特征识别模型包含的编码器(Encoder)中,以基于该6个未遮挡图像块对该初始特征识别模型包含的编码器进行训练。
A2、将未遮挡图像块的视觉语义信息和遮挡图像块输入到初始特征识别模型包含的第一解码器中,得到未遮挡图像块和遮挡图像块分别对应的预设特征。
仍参见图5所示,本步骤可将未遮挡图像块的视觉语义信息和遮挡图像块按预设顺序进行排列,然后再输入到第一解码器(Decoder-1)中,以利用第一解码器重构未遮挡图像块和遮挡图像块分别对应的预设特征。
A3、根据重构出的未遮挡图像块和遮挡图像块分别对应的预设特征,以及,从第一图像样本提取的预设特征,对初始特征识别模型的参数进行预训练,得到预训练特征识别模型。
仍参见图5所示,可将重构出的未遮挡图像块和遮挡图像块分别对应的预设特征按预设的顺序进行组合,以重构出的得到第一样本图像的预设特征,然后本实施例可将重构出的第一样本图像的预设特征和从第一样本图像提取的预设特征(即该提取的预设特征即标准特征或真实特征)进行比较,根据比较结果计算损失、梯度,反向传播,对初始特征识别模型的参数进行调整和更新,以便经过多次训练后得到最优参数,基于该最优参数即可得到预训练特征识别模型。
本实施例基于大量无标注数据的第一图像样本对初始特征识别模型进行训练,在训练时通过调节遮挡部分的比例,并采用能够输出预设特征的第一解码器来帮助encoder提取精炼的视觉语义信息,从而使得训练出的预训练特征识别模型成为良好的特征提取器,并使得训练出的编码器能够提取更精炼、更完备的视觉语义信息。
采用这套框架,本申请能利用大量廉价易得的无标注数据,可以免去大批量标注数据,从而节省大量人力成本,并能取得良好识别效果。
为了使本领域技术人员更加理解本申请实施例中初始的OCR识别模型的训练过程,以下的一个实施例,对“步骤S105、采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型”的过程进行说明。
可选的,该过程可以包括:
B1、将多个第二图像块输入到任务处理模型中,得到多个第二图像块对应的OCR识别结果。
具体来说,本步骤可将多个第二图像块输入到任务处理模型包含的编码器中,得到任务处理模型包含的编码器输出的多个第二图像块的视觉语义信息,然后将该多个第二图像块的视觉语义信息输入到第二解码器中,得到多个第二图像块对应的OCR识别结果,该多个第二图像块对应的OCR识别结果即第二图像样本的OCR识别结果。
在本步骤中,第二解码器(参见图7所示的Decoder-2)可在OCR识别时替代语言模型进行词片纠错,从而输出更准确的OCR识别结果。
这里,OCR识别结果是指对第二样本图像包含的词片序列进行识别得到的结果。可选的,为了便于了解合适识别结束,OCR识别结果中,可在识别出的词片序列后增加识别结束符号,代表词片序列识别结束,例如,将“[EOS]”作为识别结束符号。
B2、基于多个第二图像块对应的OCR识别结果和第二图像样本包含的词片序列对任务处理模型的参数进行训练,得到OCR识别模型。
与上个步骤对应,若OCR识别结果中包括识别结束符号,则本步骤在训练模型时,“第二图像样本包含的词片序列”之前需要添加识别开始符号,例如“[BOS]”。需要说明的是,“[BOS]”仅为示例,该识别开始符号也可以为其他,本申请对此不进行限定。
可选的,本步骤可在训练时,将第二图像样本包含的词片序列输入到第二解码器,并使用交叉熵损失函数来监督第二解码器的输出,在任务处理模型预测时,第二解码器从“[BOS]”符号开始迭代预测之后的词片wordpiece,并把预测出的wordpiece作为下一次的输入。
本实施例基于少量有标注数据的第二图像样本和标注数据对任务处理模型进行训练,由于该任务处理模型基于已经训练好的预训练特征识别模型中的编码器构建得到,从而OCR识别模型中的第二解码器能够基于更完备的视觉语义信息进行OCR识别,因此,即使没有额外的语言模型参与纠错,OCR识别模型仍有很好的识别效果。
需要说明的是,上述OCR识别模型可以很容易地扩展为多语言模型,只需要在第二解码器端使用多语种预训练模型即可;此外,在得到OCR识别模型后,如需扩展到其他场景下的OCR识别,例如打印体文本识别、手写体文本识别、自然场景文字任务等场景,只需要微调预训练的OCR识别模型的参数并重新训练,即可很快地收敛到需要的模型,训练效率更高。
本申请的一个实施例对图像样本的获取方法进行介绍。
可选的,图像样本的获取方法可以包括:
C1、获取原始样本。
C2、对原始样本进行图像转换处理,得到处理后的原始样本。
应当理解,只有基于各种各样的图像样本对模型进行训练,才可使训练出的模型能够适用更多场景。基于此,在获得原始样本后,本步骤需要使用数据增强技术,通过对原始样本进行多种多样的图像转换处理,得到处理后的原始样本。
可选的,图像转换处理包括以下处理中的一种或多种:随机旋转、高斯模糊、图像膨胀、图像腐蚀、下采样和添加下划线。本步骤可针对每个原始样本,机会均等地随机选取图像转换处理方法对原始样本进行数据扩增。
C3、将原始样本和处理后的原始样本作为图像样本。
本步骤获得图像样本可以作为第一图像样本,也可以在标注数据后作为第二图像样本,本申请对此不进行限定。
综上,本申请实施例通过对原始样本进行图像转换处理,可以得到更多类型的第一图像样本和第二图像样本,基于该更多类型的第一图像样本和第二图像样本进行模型训练,可以使得训练出的模型更通用。
本申请实施例还提供了一种应用于上述OCR识别模型的OCR识别方法,接下来通过下述实施例对本申请提供的OCR识别方法进行详细介绍。
请参阅图6,示出了本申请实施例提供的OCR识别方法的流程示意图,该OCR识别方法可以包括:
步骤S601、获取待识别图像。
步骤S602、将待识别图像切分为多个待识别图像块。
步骤S603、将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果,作为待识别图像的OCR识别结果。
具体参见图7示出的OCR识别模型的识别过程示意图,将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果“SUBWAY”。
综上,本申请实施例无需额外的语言模型进行后处理,也不需要繁琐的预处理,仅基于OCR识别模型就能达到与当前主流OCR方法相当或更好的识别效果。
本申请实施例还提供了一种OCR识别模型训练装置,下面对本申请实施例提供的OCR识别模型训练装置进行描述,下文描述的OCR识别模型训练装置与上文描述的OCR识别模型训练方法可相互对应参照。
请参阅图8,示出了本申请实施例提供的OCR识别模型训练装置的结构示意图,如图8所示,该OCR识别模型训练装置可以包括:第一切分模块801、第一训练模块802、模型构建模块803、第二切分模块804和第二训练模块805。
第一切分模块801,用于将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,遮挡图像块的数量大于未遮挡图像块的数量。
第一训练模块802,用于利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型。
模型构建模块803,用于基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型。
第二切分模块804,用于将有标注数据的第二图像样本切分为多个第二图像块。
第二训练模块805,用于采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。
本申请提供的OCR识别模型训练装置,首先将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,然后利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型,接着基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型,之后将有标注数据的第二图像样本切分为多个第二图像块,最后采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。本申请能够基于大量无标注数据的第一图像样本对预先构建的初始特征识别模型进行训练,以得到预训练特征识别模型,基于该预训练特征识别模型中的编码器和第二解码器即可构建任务处理模型,之后基于少量有标注数据的第二图像样本和第二图像样本包含的词片序列训练任务处理模型,即可得到具备更高识别能力的OCR识别模型,由于本申请的训练过程无需大量标注数据,节省了人力资源,提高了OCR识别模型的训练效率。
在一种可能的实现方式中,上述第一训练模块802可以包括:第一输入子模块、第二输入子模块和第一训练子模块。
其中,第一输入子模块,用于将未遮挡图像块输入到初始特征识别模型包含的编码器中,得到未遮挡图像块的视觉语义信息。
第二输入子模块,用于将未遮挡图像块的视觉语义信息和遮挡图像块输入到特征识别模型包含的第一解码器中,得到未遮挡图像块和遮挡图像块分别对应的预设特征;
第一训练子模块,用于根据重构出的未遮挡图像块和遮挡图像块分别对应的预设特征,以及,从所述第一图像样本提取的预设特征,对初始特征识别模型的参数进行训练,得到预训练特征识别模型。
在一种可能的实现方式中,本申请实施例提供的OCR识别模型训练装置中,预设特征包括以下特征中的一种或多种:方向梯度直方图特征、卷积神经网络特征、局部二值模式特征、Haar-like特征、ORB特征、加速稳健特征和SIFT特征。
在一种可能的实现方式中,上述第二训练模块805可以包括:第三输入子模块和第二训练子模块。
其中,第三输入子模块,用于将多个第二图像块输入到任务处理模型中,得到多个第二图像块对应的OCR识别结果。
第二训练子模块,用于基于多个第二图像块对应的OCR识别结果和第二图像样本包含的词片序列对任务处理模型的参数进行训练,得到OCR识别模型。
在一种可能的实现方式中,本申请实施例提供的OCR识别模型训练装置还可以包括图像样本获取模块。
该图像样本获取模块,具体可以用于获取原始样本,对原始样本进行图像转换处理,得到处理后的原始样本,将原始样本和处理后的原始样本作为图像样本,其中,图像转换处理包括以下处理中的一种或多种:随机旋转、高斯模糊、图像膨胀、图像腐蚀、下采样和添加下划线。
本申请实施例还提供了一种OCR识别装置,下面对本申请实施例提供的OCR识别装置进行描述,下文描述的OCR识别装置与上文描述的OCR识别方法可相互对应参照。
请参阅图9,示出了本申请实施例提供的OCR识别装置的结构示意图,如图9所示,该OCR识别装置可以包括:获取模块901、第三切分模块902和识别模块903。
获取模块901,用于获取待识别图像。
第三切分模块902,用于将待识别图像切分为多个待识别图像块。
识别模块903,用于将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果,作为待识别图像的OCR识别结果。
本申请提供的OCR识别装置,无需额外的语言模型进行后处理,也不需要繁琐的预处理,仅基于OCR识别模型就能达到与当前主流OCR方法相当或更好的识别效果。
本申请实施例还提供了一种OCR识别模型训练设备。可选的,图10示出了OCR识别模型训练设备的硬件结构框图,参照图10,该OCR识别模型训练设备的硬件结构可以包括:至少一个处理器1001,至少一个通信接口1002,至少一个存储器1003和至少一个通信总线1004;
在本申请实施例中,处理器1001、通信接口1002、存储器1003、通信总线1004的数量为至少一个,且处理器1001、通信接口1002、存储器1003通过通信总线1004完成相互间的通信;
处理器1001可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器1003可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器1003存储有程序,处理器1001可调用存储器1003存储的程序,程序用于:
将无标注数据的第一图像样本切分为多个第一图像块,并从多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,遮挡图像块的数量大于未遮挡图像块的数量;利用遮挡图像块和未遮挡图像块,以重构第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型;基于预训练特征识别模型中的编码器和第二解码器构建任务处理模型;
将有标注数据的第二图像样本切分为多个第二图像块;
采用多个第二图像块和第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型。
可选的,程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供了一种OCR识别设备。可选的,图11示出了OCR识别设备的硬件结构框图,参照图11,该OCR识别设备的硬件结构可以包括:至少一个处理器1101,至少一个通信接口1102,至少一个存储器1103和至少一个通信总线1104;
在本申请实施例中,处理器1101、通信接口1102、存储器1103、通信总线1104的数量为至少一个,且处理器1101、通信接口1102、存储器1103通过通信总线1104完成相互间的通信;
处理器1101可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器1103存储有程序,处理器1101可调用存储器1103存储的程序,程序用于:
获取待识别图像;
将待识别图像切分为多个待识别图像块;
将多个待识别图像块输入OCR识别模型中,以得到OCR识别模型输出的OCR识别结果,作为待识别图像的OCR识别结果。
可选的,程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上述OCR识别模型训练方法中的各个处理流程,或,实现如上述OCR识别方法中的各个处理流程。
可选的,程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种OCR识别模型训练方法,其特征在于,包括:
将无标注数据的第一图像样本切分为多个第一图像块,并从所述多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,所述遮挡图像块的数量大于所述未遮挡图像块的数量;利用所述遮挡图像块和所述未遮挡图像块,以重构所述第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型;基于所述预训练特征识别模型中的编码器和第二解码器构建任务处理模型;
将有标注数据的第二图像样本切分为多个第二图像块;
采用所述多个第二图像块和所述第二图像样本包含的词片序列对所述任务处理模型进行训练,得到的模型作为OCR识别模型。
2.根据权利要求1所述的OCR识别模型训练方法,其特征在于,所述利用所述遮挡图像块和所述未遮挡图像块,以重构所述第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型,包括:
将所述未遮挡图像块输入到所述初始特征识别模型包含的编码器中,得到所述未遮挡图像块的视觉语义信息;
将所述未遮挡图像块的视觉语义信息和所述遮挡图像块输入到所述初始特征识别模型包含的第一解码器中,得到重构出的所述未遮挡图像块和所述遮挡图像块分别对应的预设特征;
根据重构出的所述未遮挡图像块和所述遮挡图像块分别对应的预设特征,以及,从所述第一图像样本提取的预设特征,对所述初始特征识别模型的参数进行预训练,得到所述预训练特征识别模型。
3.根据权利要求2所述的OCR识别模型训练方法,其特征在于,所述预设特征包括以下特征中的一种或多种:方向梯度直方图特征、卷积神经网络特征、局部二值模式特征、Haar-like特征、ORB特征、加速稳健特征和SIFT特征。
4.根据权利要求1所述的OCR识别模型训练方法,其特征在于,所述采用所述多个第二图像块和所述第二图像样本包含的词片序列对任务处理模型进行训练,得到的模型作为OCR识别模型,包括:
将所述多个第二图像块输入到所述任务处理模型中,得到所述多个第二图像块对应的OCR识别结果;
基于所述多个第二图像块对应的OCR识别结果和所述第二图像样本包含的词片序列对所述任务处理模型的参数进行训练,得到所述OCR识别模型。
5.根据权利要求1所述的OCR识别模型训练方法,其特征在于,图像样本的获取方法,包括:
获取原始样本;
对所述原始样本进行图像转换处理,得到处理后的原始样本,其中,所述图像转换处理包括以下处理中的一种或多种:随机旋转、高斯模糊、图像膨胀、图像腐蚀、下采样和添加下划线;
将所述原始样本和所述处理后的原始样本作为所述图像样本。
6.一种OCR识别方法,其特征在于,应用于如权利要求1~5任一项所述的OCR识别模型,包括:
获取待识别图像;
将所述待识别图像切分为多个待识别图像块;
将所述多个待识别图像块输入所述OCR识别模型中,以得到所述OCR识别模型输出的OCR识别结果,作为所述待识别图像的OCR识别结果。
7.一种OCR识别模型训练装置,其特征在于,包括:第一切分模块、第一训练模块、模型构建模块、第二切分模块和第二训练模块;
所述第一切分模块,用于将无标注数据的第一图像样本切分为多个第一图像块,并从所述多个第一图像块中随机选取部分第一图像块进行遮挡,得到遮挡图像块和未遮挡图像块,其中,所述遮挡图像块的数量大于所述未遮挡图像块的数量;
所述第一训练模块,用于利用所述遮挡图像块和所述未遮挡图像块,以重构所述第一图像样本的预设特征为目标,对预先构建的包含编码器和第一解码器的初始特征识别模型进行预训练,得到预训练特征识别模型;模型构建模块,用于基于所述预训练特征识别模型中的编码器和第二解码器构建任务处理模型;
所述第二切分模块,用于将有标注数据的第二图像样本切分为多个第二图像块;
所述第二训练模块,用于采用所述多个第二图像块和所述第二图像样本包含的词片序列对所述任务处理模型进行训练,得到的模型作为OCR识别模型。
8.一种OCR识别装置,其特征在于,应用于如权利要求7所述的OCR识别模型,包括:获取模块、第三切分模块和识别模块;
所述获取模块,用于获取待识别图像;
所述第三切分模块,用于将所述待识别图像切分为多个待识别图像块;
所述识别模块,用于将所述多个待识别图像块输入所述OCR识别模型中,以得到所述OCR识别模型输出的OCR识别结果,作为所述待识别图像的OCR识别结果。
9.一种数据处理设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~5任一项所述的OCR识别模型训练方法,或权利要求6所述的OCR识别方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~5任一项所述的OCR识别模型训练方法,或权利要求6所述的OCR识别方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192272.0A CN114565751A (zh) | 2022-02-28 | 2022-02-28 | Ocr识别模型训练方法、ocr识别方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192272.0A CN114565751A (zh) | 2022-02-28 | 2022-02-28 | Ocr识别模型训练方法、ocr识别方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114565751A true CN114565751A (zh) | 2022-05-31 |
Family
ID=81715916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192272.0A Pending CN114565751A (zh) | 2022-02-28 | 2022-02-28 | Ocr识别模型训练方法、ocr识别方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114565751A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082966A (zh) * | 2022-07-22 | 2022-09-20 | 中国科学院自动化研究所 | 行人重识别模型训练方法、行人重识别方法、装置和设备 |
-
2022
- 2022-02-28 CN CN202210192272.0A patent/CN114565751A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082966A (zh) * | 2022-07-22 | 2022-09-20 | 中国科学院自动化研究所 | 行人重识别模型训练方法、行人重识别方法、装置和设备 |
CN115082966B (zh) * | 2022-07-22 | 2022-12-06 | 中国科学院自动化研究所 | 行人重识别模型训练方法、行人重识别方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bartz et al. | STN-OCR: A single neural network for text detection and text recognition | |
EP3660733B1 (en) | Method and system for information extraction from document images using conversational interface and database querying | |
Das et al. | Sign language recognition using deep learning on custom processed static gesture images | |
Jain et al. | Unconstrained scene text and video text recognition for arabic script | |
CN114596566B (zh) | 文本识别方法及相关装置 | |
Desai | Support vector machine for identification of handwritten Gujarati alphabets using hybrid feature space | |
Joshi et al. | Deep learning based Gujarati handwritten character recognition | |
CN110222234B (zh) | 一种视频分类方法和装置 | |
CN114881169A (zh) | 使用随机特征损坏的自监督对比学习 | |
Wicht et al. | Camera-based sudoku recognition with deep belief network | |
CN114565751A (zh) | Ocr识别模型训练方法、ocr识别方法及相关装置 | |
Wicht et al. | Mixed handwritten and printed digit recognition in Sudoku with Convolutional Deep Belief Network | |
Al Ghamdi | A novel approach to printed Arabic optical character recognition | |
Ayachi et al. | Recognition of tifinaghe characters using a multilayer neural network | |
Gao et al. | Double supervised network with attention mechanism for scene text recognition | |
Gao et al. | DSAN: double supervised network with attention mechanism for scene text recognition | |
Vasantharajan et al. | Adapting the Tesseract Open-Source OCR Engine for Tamil and Sinhala Legacy Fonts and Creating a Parallel Corpus for Tamil-Sinhala-English | |
CN114332476A (zh) | 维语识别方法、装置、电子设备、存储介质和产品 | |
CN111767710B (zh) | 印尼语的情感分类方法、装置、设备及介质 | |
Zheng et al. | Chinese/English mixed character segmentation as semantic segmentation | |
Wang et al. | Deep learning for font recognition and retrieval | |
Tamrin et al. | Simultaneous detection of regular patterns in ancient manuscripts using GAN-Based deep unsupervised segmentation | |
Gupta et al. | C2vnet: A deep learning framework towards comic strip to audio-visual scene synthesis | |
Jain | Unconstrained Arabic & Urdu text recognition using deep CNN-RNN hybrid networks | |
Li et al. | N-FTRN: Neighborhoods based fully convolutional network for Chinese text line recognition |
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 |