CN114140802B - 一种文本识别方法、装置、电子设备和存储介质 - Google Patents
一种文本识别方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114140802B CN114140802B CN202210111519.1A CN202210111519A CN114140802B CN 114140802 B CN114140802 B CN 114140802B CN 202210111519 A CN202210111519 A CN 202210111519A CN 114140802 B CN114140802 B CN 114140802B
- Authority
- CN
- China
- Prior art keywords
- recognition
- character
- target image
- module
- mapping information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013507 mapping Methods 0.000 claims abstract description 170
- 238000004364 calculation method Methods 0.000 claims abstract description 108
- 238000012549 training Methods 0.000 claims description 47
- 230000009466 transformation Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- QWCKQJZIFLGMSD-UHFFFAOYSA-N alpha-aminobutyric acid Chemical compound CCC(N)C(O)=O QWCKQJZIFLGMSD-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/044—Recurrent networks, e.g. Hopfield 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)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Character Discrimination (AREA)
Abstract
本公开涉及一种文本识别方法、装置、电子设备和存储介质。获取目标图像,目标图像包括至少一个字符,通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果,第二识别结果为目标图像的文本识别结果,能够准确的识别图像中的文本,还能够根据目标图像自动调整识别模型的网络参数,识别速度快、准确率高。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种文本识别方法、装置、电子设备和存储介质。
背景技术
目前,基于图像进行文本识别应用广泛,通常在进行文本识别之前,需要检测图像中包括的文本行数,随后基于每行文本进行识别。
但是,先检测再识别的方法,可能会存在漏识别或多识别的问题,且对于文本展现形式或背景较为复杂的图像,例如图像上存在直文本、倾斜文本和弯曲文,先检测再识别的方法可能会引入较多误差,识别速度比较慢,准确率也比较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种文本识别方法,能够准确的识别图像中的文本,识别速度快,准确率高,还能够根据目标图像自动调整识别模型的网络参数,方法灵活。
第一方面,本公开实施例提供了一种文本识别方法,包括:
获取目标图像,目标图像包括至少一个字符;
通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果。
第二方面,本公开实施例提供了一种文本识别装置,包括:
获取模块,用于获取目标图像,目标图像包括至少一个字符;
识别单元,用于通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果。
第三方面,本公开实施例提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,程序包括指令,指令在由处理器执行时使处理器执行根据上述的方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的方法。
第五方面,包括计算机程序,其中,计算机程序在被处理器执行时实现上述的方法。
本公开实施例提供的一种文本识别方法,通过获取目标图像,目标图像包括至少一个字符,通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果,第二识别结果为目标图像的文本识别结果,能够准确的识别图像中的文本,还能够根据目标图像自动调整识别模型的网络参数,识别速度快、准确率高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种应用场景的示意图;
图2为本公开实施例提供的一种文本识别模型训练方法的流程示意图;
图3为本公开实施例提供的一种文本识别模型的结构示意图;
图4为本公开实施例提供的一种文本识别方法的流程示意图;
图5为本公开实施例提供的一种文本识别方法的流程示意图;
图6为本公开实施例提供的一种文本识别装置的结构示意图;
图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,文字识别是在包括文字的图片中识别出字符序列的过程,也就是识别出图像中包括的所有字符的过程,自然场景下除了图片背景复杂,光照变化等因素外,输出空间也比较复杂。其次,文本图像根据其书写方向及走势大致可以分为正常文本(直文本)、倾斜文本和弯曲文本等。常见的文本识别方法都是针对单行文本图像,因此一般需要文本检测操作作为前置步骤得到具体的单行文本,但是对于比较复杂的文本图像,可能有明显的层级结构,采用基于字符的方法标注成本高,基于序列的方法可能会有漏识别或多识别字符的问题,且大部分识别方法都是针对单行文本,需要以检测作为前置操作,但是对于版式较为复杂的图像,检测加识别的方式可能会引入较多误差,文本识别准确率比较低。
针对上述技术问题,本公开实施例提供了一种文本识别方法,具体的通过下述一个或多个实施例进行详细说明。
具体的,文本识别方法可以由终端或服务器来执行。具体的,终端或服务器可以通过文本识别模型对目标图像中的字符进行识别。文本识别模型的训练方法的执行主体和文本识别方法的执行主体可以相同,也可以不同。
例如,在一种应用场景中,如图1所示,服务器12对文本识别模型进行训练。终端11从服务器12获取训练完成的文本识别模型,终端11通过该训练完成的文本识别模型对目标图像中的字符进行识别。该目标图像可以是终端11拍摄获得的。或者,该目标图像是终端11从其他设备中获取的。再或者,该目标图像是终端11对预设图像进行图像处理后得到的图像,该预设图像可以是终端11拍摄获得的,或者该预设图像可以是终端11从其他设备中获取的。此处,并不对其他设备做具体限定。
在另一种应用场景中,服务器12对文本识别模型进行训练。进一步,服务器12通过训练完成的文本识别模型对目标图像中的字符进行识别。服务器12获取目标图像的方式可以类似于如上所述的终端11获取目标图像的方式,此处不再赘述。
在又一种应用场景中,终端11对文本识别模型进行训练。进一步,终端11通过训练完成的文本识别模型对目标图像中的字符进行识别。
可以理解的是,本公开实施例提供的文本识别模型训练方法、文本识别方法并不限于如上所述的几种可能场景。由于训练完成的文本识别模型可应用在文本识别方法中,因此,在介绍文本识别方法之前,下面可以先介绍一下文本识别模型训练方法。
下面以服务器12训练文本识别模型为例,介绍一种文本识别模型训练方法,即文本识别模型的训练过程。可以理解的是,该文本识别模型训练方法同样适用于终端11训练文本识别模型的场景中。
图2为本公开实施例提供的一种文本识别模型训练方法的流程示意图,具体包括如图2所示的如下步骤S210至S250:
S210、获取样本图像,并确定样本图像中的字符。
目前,文本识别方法按照识别图像中文本行数量可以分为单行识别和多行识别,单行识别在实际使用中需要通过前置检测方法得到单行文本图像,然后再进行识别,相比于多行识别,虽然会出现累计误差,但是效果依然远优于多行识别的方法。对于单行文本,不同书写者之间会有笔迹差异,相同书写者的笔迹风格是一致的,但是目前的方法都是对获取的所有单行文本进行统一的训练,并未考虑不同书写者的笔迹因素,对于文本识别来说,其识别准确的关键因素包括笔迹、背景、字形等,因此,本公开实施例提供的方法,能够根据输入图像个性化的调整识别网络的梯度,从而实现更好的识别效果。
可理解的,服务器获取多个样本图像,样本图像可以理解为待识别的文本图像,多个样本图像中每个样本图像包括多个字符,多个字符组成的文本行在样本图像中的表现形式可以是直文本、倾斜文本和弯曲文本等。具体的,收集大量的样本图像,样本图像都是单行文本图像,样本图像中可以包括直文本、倾斜文本和弯曲文本图像,也可以包括常规的、模糊的、有影印的图像,以及其他一些图像,同时记录来自同一张大图上的样本图像,也就是为同一张大图上截取的多个样本图像打上相同的标记。例如,可以获取包括多个文本行的图像1,图像1中的多个文本行是同一个书写者书写的,针对同一个书写者书写的具有多行文本的图像1进行前置检测,并根据每行文本的坐标位置进行截取得到多个单行的样本图像,该多个单行的样本图像可以标记为图像1,基于图像2截取得到的多个单行的样本图像标记为图像2,以此类推,将同一个图像截取得到的多个单行样本图像打上相同的标记。
可选的,上述S210中具体包括:获取单行样本图像;对单行样本图像中包括的字符进行标注,并确定样本图像中包括的字符。
可理解的,获得多个样本图像后,将多个样本图像缩放到同一个大小,随后标记多个样本图像中每个样本图像中包括的所有字符,标注后的字符可以以字符串的形式存在,标记样本图像中字符的过程中也能够确定样本图像中的字符,将该标记后的样本图像中的字符作为标准的字符,作为文本识别模型训练过程中输出的字符识别结果的参照,进而更新文本识别模型的网络参数。可理解的是,根据多个样本图像中标注的字符信息建立字典,字典中包括多个样本图像中的字符,若多个样本图像中包括的都是文字,那么建立的字典中就包括多个独立且不重复的文字,多个独立且不重复的文字可以通过将标注的字符序列进行单字符的集合与操作得到,建立的字典可以作为后续基于文本识别模型进行字符识别时的字符数据库,根据识别概率在字符识别库中确定具体的字符。
S220、构建文本识别模型,文本识别模型包括识别模块和计算模块。
可理解的,在上述S210得到基础上,构建文本识别模型,文本识别模型包括两个部分,分别是第一部分识别模块和第二部分计算模块,识别模块用于对样本图像中的字符进行识别,输出字符识别结果,计算模块用于判断识别模块输出的字符识别结果是否准确,还用于根据字符识别结果计算损失值,损失值用于更新识别模型的网络参数。
示例性的,参见图3,图3为本公开实施例提供的一种文本识别模型的结构示意图,构建的文本识别模型300包括识别模块310和计算模块320,识别模块310中包括多个识别子模块,多个识别子模块可以记为第一识别子模块311、第二识别子模块312和第三识别子模块313,第三识别子模块313中包括注意力层、循环层和全连接层,计算模块320中包括多个计算子模块,分别为第一计算子模块、第二计算子模块和第三计算子模块。
S230、根据样本图像以及样本图像中的字符对识别模块进行训练,得到更新后的识别模块。
可理解的,在上述S220的基础上,获取到样本图像以及样本图像中的字符后,将样本图像输入到构建的识别模块中,得到样本图像对应的预设字符,预设字符可以理解为识别模块识别出的样本图像中的字符,该预设字符可能不是准确的识别结果。随后,根据预设字符、样本图像中的字符和预设损失函数,更新识别模块,例如,样本图像1中标注的字符为“森”,预设字符可能是“森”、“林”或“木”,若识别结果是“森”,则说明识别模块识别出的结果准确,其中预设损失函数可以是多分类交叉熵损失函数,损失函数的类型不作限定,可以根据用户的实际使用需求自行确定。
可理解的,识别模块内的计算流程包括:第一识别子模块311对样本图像进行特征映射,得到第一映射信息,第二识别子模块312将第一识别子模块311得到的第一映射信息按照坐标位置依次输入,进行特征变换,得到第二映射信息,第三识别子模块313对第二映射信息进行识别,得到字符识别结果。具体的,第三识别子模块313中包括的注意力层和循环层联合循环使用,并基于第二映射信息得到第三映射信息,随后第三映射信息经过全连接层,得到字符识别结果。
S240、根据样本图像以及更新后的识别模块对计算模块进行训练,得到更新后的计算模块。
可选的,上述S240中根据样本图像以及更新后的识别模块对计算模块进行训练,得到更新后的计算模块,具体包括:更新后的识别模型对样本图像进行识别,得到样本图像对应的预测字符和预测映射信息;根据预测字符和预测映射信息对计算模块进行训练,得到更新后的计算模块。
可理解的,在上述S230的基础上,识别模块训练完成后,将识别模块和计算模块进行联合训练,但是不更新识别模块的网络参数,只更新计算模块的网络参数,也就是将训练完成的识别模块的输出作为计算模块的输入,来对计算模块进行训练。具体的,将上述标注的单行样本图像和标注的字符信息,按照正负样本1:3的比例进行划分,正样本是指字符标注正确的样本,负样本是指字符标注中的部分信息随机出错的样本,例如某一单行样本图像的正样本为“AAAA”,该单行样本图像的负样本为“AABA”。然后利用识别模块(第一部分)提取样本图像的特征映射以及字符识别结果作为计算模块的输入,使用二分类交叉熵损失函数对计算模块进行训练。可理解的是,识别模块输出的特征映射以及字符识别结果是比较准确的,基于识别模块输出的特征映射以及字符识别结果训练计算模块,使得计算模块的训练效果比较好,能够进一步提高整个文本识别模型的识别准确率。
S250、根据样本图像和样本图像中的字符对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数。
可选的,上述S250中根据样本图像和样本图像中的字符对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数,具体包括:更新后的识别模型对样本图像进行识别,得到样本图像对应的预测字符和预测特征信息;根据预测字符和样本图像中的字符计算损失值,得到第一损失值;更新后的计算模块根据预测特征信息计算损失值,得到第二损失值;根据第一损失值和第二损失值之和,对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数。
可理解的,在上述S230和S240的基础上,得到更新后的计算模块和更新后的识别模块之后,将更新后的计算模块和更新后的识别模块进行联合训练,将样本图像输入到更新后的识别模块中,得到预测字符,随后根据预测字符和样本图像中的字符(标记的字符)计算损失值,得到第一损失值,计算第一损失值的损失函数可以选择二分类交叉熵损失函数;更新后的计算模块根据更新后的识别模块输出的预测字符以及预测特征信息计算第二损失值;计算第一损失值和第二损失值的和值,通过和值更新文本识别模型中的网络参数,也就是再次更新上述更新后的计算模块和更新后的识别模块的网络参数,从而得到训练完成的文本识别模型,在进行联合训练时,更新后的计算模块以及更新后的识别模块输出的结果准确率比较高,能够加快整个文本识别模型的训练速度,提高整个文本识别模型的识别准确率。
本公开实施例提供的一种文本识别模型的训练方法,获取样本图像,并确定样本图像中的字符;构建文本识别模型,文本识别模型包括识别模块和计算模块;根据样本图像以及样本图像中的字符对识别模块进行训练,得到更新后的识别模块;根据样本图像以及更新后的识别模块对计算模块进行训练,得到更新后的计算模块;根据样本图像和样本图像中的字符对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数。本公开中采用3个训练步骤对文本识别模型进行训练,首先,对文本识别模型中的第一部分识别模块进行训练,得到更新后的识别模块,随后基于更新后的识别模块对文本识别模型中的计算模块进行训练,不改变更新后的识别模块的参数,只得到更新后的计算模块,最后将更新后的识别模块和更新后的计算模块进行联合训练,得到文本识别模型,该种方法训练得到的文本识别模型识别的准确率高,且模型的训练周期短。
在上述实施例的基础上,图4为本公开实施例提供的一种文本识别方法的流程示意图,以终端根据文本识别模型识别目标图像中的字符为例进行说明,具体包括如图4所示的步骤S410至S420:
S410、获取目标图像,目标图像包括至少一个字符。
可理解的,终端得到文本识别模型之后,获取目标图像,目标图像中包括单行文本,单行文本可能是直文本、斜文本或者弯曲文本,单行文本中包括至少一个字符,也就是只有存在字符的行才称为文本行。可理解的是,目标图像可以是目标终端直接获取包括多行文本的图像,该多行文本可以是同一书写者书写的,随后将目标图像中的多行文本图像按照每行文本的坐标位置进行截取,得到多个单行文本图像作为多个目标图像。还有一种可能的方式,目标终端直接获取包括单行文本的目标图像,该目标图像也可以是其他终端对包括多行文本的图像进行截取得到且发送给目标终端的,目标终端是指进行基于文本识别模型识别目标图像中字符等操作的终端。
S420、通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果。
可理解的,在上述S410的基础上,目标终端获取包括单行文本的目标图像后,将目标图像输入到上述训练完成的文本识别模型中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息,第一识别结果可以理解为字符预测结果,第一识别结果可能是不准确的识别结果;计算模块根据映射信息得到预测结果,随后计算模块根据输出的预测结果和第一识别结果计算损失值,具体的,可以采用二分类交叉熵损失函数计算损失值,并根据损失值更新识别模块的网络参数;通过更新后的识别模块对目标图像再次进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果,此时的第二识别结果就是最终的识别结果,且准确度比较高。本公开提供的方法,首先对目标图像进行初步的识别,随后基于初始的识别结果以及提取的映射信息,对识别模块的网络参数进行调整,使得字符识别的准确率更高,且考虑到了来自同一个图像的多个单行文本图像在笔迹上的相似性,在前向阶段会微调识别模块的网路参数,以此实现个性化文本识别,也就是能够更好的识别同一个图像中的字符,具有更好的识别精度,且应用场景更加广泛。例如,文本识别模型通过对图像1截取的多个目标图像进行识别后,文本识别模型内的识别模块的网络参数也随着识别次数进行多次微调整之后,该文本识别模型对图像1的书写者1书写的字符的识别精度就比较高,可理解的是,随着文本识别模型对图像1得到的多个单行目标图像的识别,文本识别模型内识别模块的网络参数的调整范围可能会越来越小,表示对图像1的书写者1书写的字符的识别准确度也越来越高,文本识别模型对书写者1书写的图像2中的字符的识别精度也比较高,也就是对书写者1的适应性比较好,整个文本识别模型比较灵活且更加智能。
可选的,识别模块包括多个识别子模块;目标图像的映射信息包括第一映射信息和第二映射信息。
可选的,上述S420中通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息,具体包括:通过第一识别子模块对目标图像进行特征映射,得到第一映射信息;通过第二识别子模块对第一映射信息进行特征变换,得到第二映射信息;通过第三识别子模块基于第二映射信息,得到目标图像中至少一个字符中每个字符的第一识别结果。
可理解的,参见图3,图3中识别模块310包括第一识别子模块311、第二识别子模块312和第三识别子模块313,第一识别子模块311对目标图像进行特征映射,得到第一映射信息,例如目标图像大小为16H*16W,其中H表示高度,W表示宽度,H和W均大于1,输入到第一识别子模块之后,得到的第一映射信息就是一组H*W*512的映射信息,512是指通道数;第二识别子模块312包括两层双向的长短时记忆网络(Long Short-Term Memory,LSTM),两层LSTM网络依次相连,第二识别子模块312将第一识别子模块311输出的第一映射信息按照位置依次输入,进行特征变换,得到第二映射信息,第一映射信息的大小为H*W*512,第二映射信息的大小为(B,HW,512),其中B为输入批量的大小,也就是输入目标图像的数量,HW为高度和宽度的乘积,516表示通道数;第三识别子模块313中注意力层和循环层联合循环进行特征映射,最后经过全连接层通过循环层输出的特征映射结果得到第一识别结果。
可选的,第一识别子模块包括多个子识别层,多个子识别层依次相连。
示例性的,参见图3,第一识别子模块311中包括4个子识别层,具体包括第一子识别层、第二子识别层、第三子识别层和第四子识别层,第一识别子模块311可以是残差网络层,具体的第一识别子模块311可以理解为一个Resnet18网络层,子识别层可以理解为Resnet18网络层中的Block块,每个block块由若干卷积层组成,每个block块都会进行卷积操作,每一个block块的输出是后一个block块的输入,即每个block块依次连接,在第一识别子模块311中设置了每个block块对应的卷积层的步长。
可选的,通过第一识别子模块对目标图像进行特征映射,得到第一映射信息包括:通过第一子识别层对目标图像进行特征映射,得到第一映射信息,第一映射信息的大小为目标图像大小的二分之一;通过第二子识别层对第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的四分之一;通过第三子识别层对更新后的第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的八分之一;通过第四子识别层对更新后的第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的十六分之一。
可理解的,第一识别子模块311对目标图像进行特征映射,得到目标图像对应的第一映射信息的具体流程包括:第一子识别层对目标图像进行特征映射,得到第一映射信息,第一映射信息的大小为目标图像大小的二分之一,映射信息也可以理解为映射特征图,如上述目标图像大小为16H*16W,第一子识别层中卷积的步长设置为2,此时得到的第一映射信息的大小为8H*8W*64,8H*8W*64可以理解为特征图的大小为8H*8W,通道数为64;第二子识别层对第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的四分之一,第二子识别层中步长设置为2,第二映射信息的大小为4H*4W*128,也就是宽和高均减半,通道数增加一倍;通过第三子识别层对第二子识别层输出的更新后的第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的八分之一,第三子识别层中卷积的步长设置为2,第三映射信息的大小也为2H*2W*256,也就是宽和高均减半,通道数增加一倍;通过第四子识别层对第三子识别层输出的更新后的第一映射信息进行特征映射,得到更新后的第一映射信息,更新后的第一映射信息的大小为目标图像大小的十六分之一,第四子识别层中卷积的步长设置为2,第四映射信息的大小为H*W*512,最后经过第四子识别层输出的更新后的第一映射信息的高和宽相当于目标图像高和宽的1/16,也就是每经过一个resnet18的block块,第一映射信息的高宽均减半,通道数量增加一倍。可理解的是,每个block块输出的第一映射信息的内容均不同。
可选的,计算模块包括多个计算子模块。
可选的,上述S420中基于计算模块根据第一识别结果和映射信息计算损失值,具体包括:第一计算子模块基于映射信息,得到第一特征信息;第二计算子模块基于第一识别结果,得到第二特征信息;第三计算子模块基于预设特征信息,得到第三特征信息;将第一特征信息、第二特征信息和第三特征信息输入到第四计算子模块计算损失值。
可理解的,计算模块中包括多个计算子模块,多个计算子模块可以记为第一计算子模块、第二计算子模块和第三计算子模块,第一计算子模块根据上述第二识别子模块输出的第二映射信息,得到第一特征信息,具体的第一计算子模块中包括4个卷积层,4个卷积层依次连接,提取第二映射信息中的特征并输出第一特征信息,第一特征信息可以是多维的特征映射信息。第二计算子模块包括字嵌入层和单向LSTM网络层,字嵌入层和单向LSTM网络层依次进行连接,第二计算子模块对第一识别结果进行特征提取,得到第二特征信息,第一识别结果中识别出的字符可以以字符串的形式存在。第三计算子模块包括全连接层和单向LSTM网络层,第三计算子模块的输入为预设特征信息,预设特征信息可以是预设的最大字符串长度,例如预设的最大字符串长度为40,也就是单行文本中包括的字符的最大数量为40,40个字符包括0-39个固定位置,例如目标图像的单行文本中包括10个字符,该字符为第3个字符,那么第三计算子模块输出的第三特征信息就是40维的特征信息,第三特征信息的40维的特征信息中第3维存在字符的位置信息,其他39维的特征信息不存在字符的位置信息。最后,第四计算子模块包括两个卷积层和两个全连接层,两个卷积层和两个全连接层依次相连,将第一特征信息、第二特征信息和第三特征信息进行串联叠加后的特征信息输入到第四计算子模块中,第四计算子模块中的最后一个全连接层的节点数为2,最后一个全连接层会输出计算模块的判断结果,例如计算模块判断出识别模块输出的第一识别结果是准确的或者是不准确的,例如输出0表示识别模块输出的第一识别结果是不准确的,输出1表示识别模块输出的第一识别结果是准确的。计算模块在进行判断的过程中可以直接根据第一识别结果和预测结果计算得到损失值,还可以在确定识别模块输出的第一识别结果是不准确时,根据第一识别结果和预测结果计算得到损失值。可理解的是,第一计算子模块、第二计算子模块和第三计算子模块是并行的3个模块,3个模块的输入不同,输出均是多维特征信息。
本公开实施例提供的一种文本识别方法具体包括:获取目标图像,目标图像包括至少一个字符,通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果,第二识别结果为目标图像的文本识别结果。本公开提供的方法,首先对目标图像进行初步的识别,随后基于初始的识别结果以及提取的映射信息,对识别模块的网络参数进行调整,使得字符识别的准确率更高,且考虑到了来自同一个图像的多个单行文本图像在笔迹上的相似性,在前向阶段会微调识别模块的网路参数,以此实现个性化文本识别,也就是能够更好的识别同一个图像中的字符,能有更好的识别精度,且应用场景更加广泛。
在上述实施例的基础上,图5为本公开实施例提供的一种文本识别方法的流程示意图,可选的,通过第三识别子模块基于第二映射信息,得到目标图像中至少一个字符中每个字符的第一识别结果,具体包括如图5所示的如下步骤S510至S530:
可选的,第三识别子模块包括注意力层、循环层和全连接层。
示例性的,参见图3,图3中第三识别子模块313中包括注意力层、循环层和全连接层,注意力层可以是基于注意力机制(Attention)构建的网络层,循环层可以是基于门控循环神经网络构建的网络层。
S510、注意力层基于第二映射信息,得到第三映射信息。
可理解的,将第二子识别模块输出的第二映射信息输入到第三子识别模块中的注意力层,注意力层基于第二映射信息继续进行特征映射,得到第三映射信息。
S520、循环层基于第三映射信息和初始特征向量,得到第一特征向量。
可理解的,在上述S510的基础上,循环层基于第三映射信息和初始特征向量,得到第一特征向量,其中,第三映射信息作为循环层中的输入信息,输入信息记为x0,初始特征向量可以理解为历史状态信息,初始特征向量记为h0,随后循环层根据输入信息x0和初始特征向量h0进行状态更新,得到更新后的状态(第一特征向量),第一特征向量可以记为h1。可理解的是,循环层中不需要引入额外的记忆单元,只需要引入一个更新门来控制当前状态需要从历史状态中保留多少信息,以及需要从候选状态中接收多少新的信息,具体的,循环层根据输入信息x0和初始特征向量h0进行状态更新,得到更新后的状态h1的方法,可以参考门控循环神经网络的实现方法,在此不作赘述。
可选的,得到第一特征向量后,若不满足循环层对应的输出条件,则将第一特征向量和第三映射信息输入到注意力层,得到第四映射信息;将第三映射信息与第四映射信息合并后的特征信息以及第一特征向量输入到循环层,得到第二特征向量。
可理解的,循环层得到第一特征向量后,判断是否满足循环层对应的输出条件,输出条件可以是预设长度,预设长度可以是HW/256,也就是判断循环层循环的次数是否达到预设次数,若否,则将第一特征向量和第三映射信息输入到注意力层,在注意力层中,将第三映射信息作为查询项(query)、第一特征向量作为键(key)和值(value),输出第四映射信息。随后,将第四映射信息和第三映射信息合并输入到循环层,第四映射信息和第三映射信息合并后的信息作为循环层的输入,可以记为x1,循环层根据x1和上述h1进行状态更新,得到第二特征向量,第二特征向量可以记为h2。确定第二特征向量后,若满足循环层对应的输出条件,则结束循环层和注意力层之间的循环,输出第二特征向量。
S530、全连接层基于第一特征向量,得到目标图像中至少一个字符中每个字符的第一识别结果。
可选的,上述S530中全连接层基于第一特征向量,得到目标图像中至少一个字符中每个字符的第一识别结果,具体包括:得到第二特征向量后,若满足循环层对应的输出条件,则将第二特征向量输入到全连接层,得到目标图像中至少一个字符中每个字符的第一识别结果。
可理解的,在上述S520的基础上,若得到第一特征向量后,满足循环层对应的输出条件,则全连接层根据第一特征向量得到目标图像中至少一个字符中每个字符的第一识别结果。或者,若得到第二特征向量后,才满足循环层对应的输出条件,则全连接层根据第二特征向量得到目标图像中至少一个字符中每个字符的第一识别结果。也就是将循环层满足输出条件的前一次操作得到的特征向量作为全连接层的输入。
可理解的,第三识别子模块还包括字嵌入层,在第三识别子模块内可以进行注意力层、循环层、全连接层和字嵌入层之间的循环计算,在上述得到第一特征向量后,全连接层根据第一特征向量得到第一识别结果,并将输出的第一识别结果输入到字嵌入层,字嵌入层根据第一识别结果得到表征向量,随后将表征向量和注意力层输出的第三映射信息合并,作为循环层的输入,直到循环结束,循环层输出第二特征向量,全连接层会根据第二特征向量得到更新后的第一识别结果,此时更新后的第一识别结果就不需要输入字嵌入层。
本公开实施例提供的一种文本识别方法,注意力层基于第二映射信息,得到第三映射信息,循环层基于第三映射信息和初始特征向量,得到第一特征向量,全连接层基于第一特征向量,得到目标图像中至少一个字符中每个字符的第一识别结果,在第三识别子模块内进行循环计算,得到第一识别结果,该种方法可以有效减少误差积累,提升识别效果以及识别精度。
图6为本公开实施例提供的图像处理装置的结构示意图。本公开实施例提供的图像处理装置可以执行文本识别方法实施例提供的处理流程,如图6所示,图像处理装置600包括:
获取单元610,用于获取模块,用于获取目标图像,目标图像包括至少一个字符;
识别单元620,用于通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括识别模块和计算模块,其中,通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息;基于计算模块根据第一识别结果和映射信息计算损失值,并根据损失值更新识别模块;通过更新后的识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第二识别结果。
可选的,识别单元620中识别模块包括多个识别子模块;目标图像的映射信息包括第一映射信息和第二映射信息。
可选的,识别单元620中通过识别模块对目标图像进行识别,得到目标图像中至少一个字符中每个字符的第一识别结果和目标图像的映射信息,包括:
通过第一识别子模块对目标图像进行特征映射,得到第一映射信息;
通过第二识别子模块对第一映射信息进行特征变换,得到第二映射信息;
通过第三识别子模块基于第二映射信息,得到目标图像中至少一个字符中每个字符的第一识别结果。
可选的,识别单元620中第三识别子模块包括注意力层、循环层和全连接层。
可选的,识别单元620中通过第三识别子模块基于第二映射信息,得到目标图像中至少一个字符中每个字符的第一识别结果,包括:
注意力层基于第二映射信息,得到第三映射信息;
循环层基于第三映射信息和初始特征向量,得到第一特征向量;
全连接层基于第一特征向量,得到目标图像中至少一个字符中每个字符的第一识别结果。
可选的,识别单元620中得到第一特征向量后,若不满足循环层对应的输出条件,则将第一特征向量和第三映射信息输入到注意力层,得到第四映射信息;
将第三映射信息与第四映射信息合并后的特征信息以及第一特征向量输入到循环层,得到第二特征向量。
可选的,识别单元620中全连接层基于第一特征向量,得到目标图像中至少一个字符中每个字符的第一识别结果,包括:
得到第二特征向量后,若满足循环层对应的输出条件,则将第二特征向量输入到全连接层,得到目标图像中至少一个字符中每个字符的第一识别结果。
可选的,识别单元620中计算模块包括多个计算子模块。
可选的,识别单元620中基于计算模块根据第一识别结果和映射信息计算损失值,包括:
第一计算子模块基于映射信息,得到第一特征信息;
第二计算子模块基于第一识别结果,得到第二特征信息;
第三计算子模块基于预设特征信息,得到第三特征信息;
将第一特征信息、第二特征信息和第三特征信息输入到第四计算子模块计算损失值。
可选的,装置600中还包括训练单元,训练单元具体用于:
获取样本图像,并确定样本图像中的字符;
构建文本识别模型,文本识别模型包括识别模块和计算模块;
根据样本图像以及样本图像中的字符对识别模块进行训练,得到更新后的识别模块;
根据样本图像以及更新后的识别模块对计算模块进行训练,得到更新后的计算模块;
根据样本图像和样本图像中的字符对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数。
可选的,训练单元中根据样本图像以及更新后的识别模块对计算模块进行训练,得到更新后的计算模块,包括:
更新后的识别模型对样本图像进行识别,得到样本图像对应的预测字符和预测映射信息;
根据预测字符和预测映射信息对计算模块进行训练,得到更新后的计算模块。
可选的,训练单元中根据样本图像和样本图像中的字符对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数,包括:
更新后的识别模型对样本图像进行识别,得到样本图像对应的预测字符和预测特征信息;
根据预测字符和样本图像中的字符计算损失值,得到第一损失值;
更新后的计算模块根据预测特征信息计算损失值,得到第二损失值;
根据第一损失值和第二损失值之和,对更新后的识别模块以及更新后的计算模块进行联合训练,更新文本识别模型中的网络参数。
图6所示实施例的图像处理装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
参考图7,现将描述可以作为本公开的服务器或客户端的电子设备700的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
电子设备700中的多个部件连接至I/O接口705,包括:输入单元706、输出单元707、存储单元708以及通信单元709。输入单元706可以是能向电子设备700输入信息的任何类型的设备,输入单元706可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元707可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元704可以包括但不限于磁盘、光盘。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理。例如,在一些实施例中,文本识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM702和/或通信单元709而被载入和/或安装到电子设备700上。在一些实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本识别方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (12)
1.一种文本识别方法,其特征在于,包括:
获取目标图像,所述目标图像包括至少一个字符;
通过预先训练的文本识别模型对所述目标图像中的字符进行识别,所述文本识别模型包括识别模块和计算模块,其中,通过所述识别模块对所述目标图像进行识别,得到所述目标图像中至少一个字符中每个字符的第一识别结果和所述目标图像的映射信息;基于所述计算模块根据所述第一识别结果和所述映射信息计算损失值,并根据所述损失值更新所述识别模块;通过更新后的识别模块对所述目标图像进行识别,得到所述目标图像中至少一个字符中每个字符的第二识别结果。
2.根据权利要求1所述的方法,其特征在于,所述识别模块包括多个识别子模块;所述目标图像的映射信息包括第一映射信息和第二映射信息;
所述通过所述识别模块对所述目标图像进行识别,得到所述目标图像中至少一个字符中每个字符的第一识别结果和所述目标图像的映射信息,包括:
通过第一识别子模块对所述目标图像进行特征映射,得到第一映射信息;
通过第二识别子模块对所述第一映射信息进行特征变换,得到第二映射信息;
通过第三识别子模块基于所述第二映射信息,得到所述目标图像中至少一个字符中每个字符的第一识别结果。
3.根据权利要求2所述的方法,其特征在于,所述第三识别子模块包括注意力层、循环层和全连接层;
所述通过第三识别子模块基于所述第二映射信息,得到所述目标图像中至少一个字符中每个字符的第一识别结果,包括:
所述注意力层基于所述第二映射信息,得到第三映射信息;
所述循环层基于所述第三映射信息和初始特征向量,得到第一特征向量;
所述全连接层基于所述第一特征向量,得到所述目标图像中至少一个字符中每个字符的第一识别结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
得到所述第一特征向量后,若不满足所述循环层对应的输出条件,则将所述第一特征向量和所述第三映射信息输入到所述注意力层,得到第四映射信息;
将所述第三映射信息与所述第四映射信息合并后的特征信息以及所述第一特征向量输入到所述循环层,得到第二特征向量。
5.根据权利要求4所述的方法,其特征在于,所述全连接层基于所述第一特征向量,得到所述目标图像中至少一个字符中每个字符的第一识别结果,包括:
得到所述第二特征向量后,若满足所述循环层对应的输出条件,则将所述第二特征向量输入到所述全连接层,得到所述目标图像中至少一个字符中每个字符的第一识别结果。
6.根据权利要求1所述的方法,其特征在于,所述计算模块包括多个计算子模块;
所述基于所述计算模块根据所述第一识别结果和所述映射信息计算损失值,包括:
第一计算子模块基于所述映射信息,得到第一特征信息;
第二计算子模块基于所述第一识别结果,得到第二特征信息;
第三计算子模块基于预设特征信息,得到第三特征信息;
将所述第一特征信息、所述第二特征信息和所述第三特征信息输入到第四计算子模块计算损失值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取样本图像,并确定所述样本图像中的字符;
构建文本识别模型,所述文本识别模型包括识别模块和计算模块;
根据所述样本图像以及所述样本图像中的字符对所述识别模块进行训练,得到更新后的识别模块;
根据所述样本图像以及所述更新后的识别模块对所述计算模块进行训练,得到更新后的计算模块;
根据所述样本图像和所述样本图像中的字符对所述更新后的识别模块以及所述更新后的计算模块进行联合训练,更新所述文本识别模型中的网络参数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述样本图像以及所述更新后的识别模块对所述计算模块进行训练,得到更新后的计算模块,包括:
所述更新后的识别模型对所述样本图像进行识别,得到所述样本图像对应的预测字符和预测映射信息;
根据所述预测字符和所述预测映射信息对所述计算模块进行训练,得到更新后的计算模块。
9.根据权利要求7所述的方法,其特征在于,所述根据所述样本图像和所述样本图像中的字符对所述更新后的识别模块以及所述更新后的计算模块进行联合训练,更新所述文本识别模型中的网络参数,包括:
所述更新后的识别模型对所述样本图像进行识别,得到所述样本图像对应的预测字符和预测特征信息;
根据所述预测字符和所述样本图像中的字符计算损失值,得到第一损失值;
所述更新后的计算模块根据所述预测特征信息计算损失值,得到第二损失值;
根据所述第一损失值和所述第二损失值之和,对所述更新后的识别模块以及所述更新后的计算模块进行联合训练,更新所述文本识别模型中的网络参数。
10.一种文本识别装置,其特征在于,包括:
获取模块,用于获取目标图像,所述目标图像包括至少一个字符;
识别单元,用于通过预先训练的文本识别模型对所述目标图像中的字符进行识别,所述文本识别模型包括识别模块和计算模块,其中,通过所述识别模块对所述目标图像进行识别,得到所述目标图像中至少一个字符中每个字符的第一识别结果和所述目标图像的映射信息;基于所述计算模块根据所述第一识别结果和所述映射信息计算损失值,并根据所述损失值更新所述识别模块;通过更新后的识别模块对所述目标图像进行识别,得到所述目标图像中至少一个字符中每个字符的第二识别结果。
11.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210111519.1A CN114140802B (zh) | 2022-01-29 | 2022-01-29 | 一种文本识别方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210111519.1A CN114140802B (zh) | 2022-01-29 | 2022-01-29 | 一种文本识别方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114140802A CN114140802A (zh) | 2022-03-04 |
CN114140802B true CN114140802B (zh) | 2022-04-29 |
Family
ID=80381859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210111519.1A Active CN114140802B (zh) | 2022-01-29 | 2022-01-29 | 一种文本识别方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114140802B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114708581A (zh) * | 2022-04-11 | 2022-07-05 | 深圳市星桐科技有限公司 | 一种图像处理方法、装置、电子设备和存储介质 |
CN114758330A (zh) * | 2022-04-22 | 2022-07-15 | 深圳市星桐科技有限公司 | 一种文本识别方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443241A (zh) * | 2019-07-29 | 2019-11-12 | 北京迈格威科技有限公司 | 车牌识别模型训练方法、车牌识别方法及装置 |
CN110555441A (zh) * | 2019-09-10 | 2019-12-10 | 杭州橙鹰数据技术有限公司 | 一种文字识别方法及装置 |
CN111695630A (zh) * | 2020-06-11 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种图像识别模型的更新方法及相关设备 |
CN113011420A (zh) * | 2021-03-10 | 2021-06-22 | 北京百度网讯科技有限公司 | 字符识别方法、模型训练方法、相关装置及电子设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106128035B (zh) * | 2016-06-30 | 2018-10-02 | 西安工程大学 | 基于神经网络和多参数信息融合的地质灾害预报方法 |
CN107562875A (zh) * | 2017-08-31 | 2018-01-09 | 北京麒麟合盛网络技术有限公司 | 一种模型的更新方法、装置及*** |
TWI772700B (zh) * | 2019-10-29 | 2022-08-01 | 財團法人資訊工業策進會 | 影像辨識系統及其更新方法 |
CN111401458A (zh) * | 2020-03-23 | 2020-07-10 | 清华大学 | 一种基于深度强化学习的多模型目标状态预测方法及*** |
CN111782921A (zh) * | 2020-03-25 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 检索目标的方法和装置 |
CN112016543A (zh) * | 2020-07-24 | 2020-12-01 | 华为技术有限公司 | 一种文本识别网络、神经网络训练的方法以及相关设备 |
CN112241994B (zh) * | 2020-09-28 | 2024-05-31 | 爱芯元智半导体股份有限公司 | 模型训练方法及渲染方法、装置、电子设备及存储介质 |
CN112016315B (zh) * | 2020-10-19 | 2021-02-02 | 北京易真学思教育科技有限公司 | 模型训练、文本识别方法及装置、电子设备、存储介质 |
CN112749639B (zh) * | 2020-12-29 | 2022-01-14 | 中电金信软件有限公司 | 模型训练方法、装置、计算机设备和存储介质 |
CN112990175B (zh) * | 2021-04-01 | 2023-05-30 | 深圳思谋信息科技有限公司 | 手写中文字符的识别方法、装置、计算机设备和存储介质 |
-
2022
- 2022-01-29 CN CN202210111519.1A patent/CN114140802B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443241A (zh) * | 2019-07-29 | 2019-11-12 | 北京迈格威科技有限公司 | 车牌识别模型训练方法、车牌识别方法及装置 |
CN110555441A (zh) * | 2019-09-10 | 2019-12-10 | 杭州橙鹰数据技术有限公司 | 一种文字识别方法及装置 |
CN111695630A (zh) * | 2020-06-11 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种图像识别模型的更新方法及相关设备 |
CN113011420A (zh) * | 2021-03-10 | 2021-06-22 | 北京百度网讯科技有限公司 | 字符识别方法、模型训练方法、相关装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114140802A (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111738251B (zh) | 一种融合语言模型的光学字符识别方法、装置和电子设备 | |
CN113313022B (zh) | 文字识别模型的训练方法和识别图像中文字的方法 | |
CN110647829A (zh) | 一种票据的文本识别方法及*** | |
CN114140802B (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
CN111709406B (zh) | 文本行识别方法及装置、可读存储介质、电子设备 | |
KR102124466B1 (ko) | 웹툰 제작을 위한 콘티를 생성하는 장치 및 방법 | |
CN114022882B (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN113657274B (zh) | 表格生成方法、装置、电子设备及存储介质 | |
KR102508860B1 (ko) | 이미지에서의 키 포인트 위치의 인식 방법, 장치, 전자기기 및 매체 | |
CN113657483A (zh) | 模型训练方法、目标检测方法、装置、设备以及存储介质 | |
KR20190115509A (ko) | 자동 수어 인식 방법 및 시스템 | |
CN115101069A (zh) | 语音控制方法、装置、设备、存储介质以及程序产品 | |
US20220207286A1 (en) | Logo picture processing method, apparatus, device and medium | |
CN111353493A (zh) | 文本图像方向校正方法及装置 | |
CN115273103A (zh) | 文本识别方法、装置、电子设备及存储介质 | |
CN113723367B (zh) | 一种答案确定方法、判题方法及装置和电子设备 | |
CN114758330A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
CN113920291A (zh) | 基于图片识别结果的纠错方法、装置、电子设备及介质 | |
CN114758331A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN114663886A (zh) | 文本识别方法、模型的训练方法及装置 | |
CN114549695A (zh) | 图像生成方法、装置、电子设备及可读存储介质 | |
CN114708581A (zh) | 一种图像处理方法、装置、电子设备和存储介质 | |
CN115100659B (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN114639096B (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN115131709B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231121 Address after: 518028 Garden East Community, Yuanling Street, Futian District, Shenzhen City, Guangdong Province 297, Garden East Garden Podium Building, No. 1, 3, and 5, Yuanling Fifth Street Patentee after: Shenzhen Xingtong Technology Co.,Ltd. Address before: 102200 Room 401, building 16, courtyard 16, Yingcai North Third Street, future science city, Changping District, Beijing Patentee before: BEIJING YIZHEN XUESI EDUCATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |