CN113762261A - 一种对图像的字符识别方法、装置、设备及介质 - Google Patents
一种对图像的字符识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113762261A CN113762261A CN202110508541.5A CN202110508541A CN113762261A CN 113762261 A CN113762261 A CN 113762261A CN 202110508541 A CN202110508541 A CN 202110508541A CN 113762261 A CN113762261 A CN 113762261A
- Authority
- CN
- China
- Prior art keywords
- character
- image
- recognized
- attention
- eigenvalue
- 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 129
- 238000012545 processing Methods 0.000 claims abstract description 133
- 239000011159 matrix material Substances 0.000 claims abstract description 119
- 230000000873 masking effect Effects 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 claims abstract description 40
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims description 126
- 238000012549 training Methods 0.000 claims description 103
- 230000006870 function Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 30
- 238000009877 rendering Methods 0.000 claims description 21
- 238000005457 optimization Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 6
- 230000003190 augmentative effect Effects 0.000 claims description 3
- 238000004883 computer application Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 49
- 238000004590 computer program Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 16
- 230000001976 improved effect Effects 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 238000012795 verification Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000013434 data augmentation Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000016557 multi-organism process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本申请实施例提供了一种对图像的字符识别方法、装置、设备及介质,其中的方法可包括:获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,特征矩阵上包括多个特征值;对特征矩阵中各个特征值进行编码,得到特征值编码信息;基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于第一字符,从遮罩处理后的注意力图中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。采用本申请实施例能够更为准确地识别待识别图像中的字符。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种对图像的字符识别方法、装置、设备及介质。
背景技术
在许多应用场景中均会涉及对字符的识别,这些场景包括证件识别场景、卡号识别场景、车牌识别场景以及票据识别场景等等,还有一些特殊的关于不规则字符序列识别场景,比如印章内容识别场景、曲形文字验证码识别场景等。其中,印章内容识别场景中,有效识别印章所包含的各个字符或各个字符所组成的字符序列,能够帮助判断出该印章的所属者,能够为合同或票据审核等场景提供便利;而诸如曲形文字验证码识别场景则可以自动为用户识别所需的文字验证码,方便用户快速进行注册、支付等场景下的验证处理。
目前,对各类图像进行文字识别的方法大多是基于OCR(Optical CharacterRecognition,光学字符识别)来进行的,但OCR识别有时候不够准确。
发明内容
本申请实施例提供一种对图像的字符识别方法、装置及设备,能够较为准确地识别图像中的字符。
一方面,本申请实施例提供一种对图像的字符识别方法,该方法包括:
获取待识别图像,并对所述待识别图像进行特征分析,得到特征矩阵,所述特征矩阵上包括多个特征值;
对所述特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息;
基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;
基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
另一方面,本申请实施例提供一种对图像的字符识别方法,该方法包括:
获取待识别图像;
将所述待识别图像作为字符检测模型的输入,并根据所述字符检测模型的输出结果得到所述待识别图像的字符识别结果;
其中,所述字符检测模型包括特征提取网络、编码器以及解码器构成;
所述特征提取网络用于对所述待识别图像进行特征分析得到特征矩阵;
所述编码器用于对所述特征提取网络输出的特征矩阵上的特征值进行编码;
所述解码器用于对所述编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
另一方面,本申请实施例提供一种对图像的字符识别装置,该装置包括:
获取单元,用于获取待识别图像,并对所述待识别图像进行特征分析,得到特征矩阵,所述特征矩阵上包括多个特征值;
处理单元,用于对所述特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息;基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
另一方面,本申请实施例提供一种对图像的字符识别装置,该装置包括:
获取单元,用于获取待识别图像;
处理单元,用于将所述待识别图像作为字符检测模型的输入,并根据所述字符检测模型的输出结果得到所述待识别图像的字符识别结果;
其中,所述字符检测模型包括特征提取网络、编码器以及解码器构成;
所述特征提取网络用于对所述待识别图像进行特征分析得到特征矩阵;
所述编码器用于对所述特征提取网络输出的特征矩阵上的特征值进行编码;
所述解码器用于对所述编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
另一方面,本申请实施例提供一种电子设备,该电子设备包括:
存储装置,用于存储计算机应用程序;
处理器,执行存储装置中存储的计算机应用程序,实现上述描述的对图像的字符识别方法。
在一个实施例中,处理器具体用于执行如下步骤:
获取待识别图像,并对所述待识别图像进行特征分析,得到特征矩阵,所述特征矩阵上包括多个特征值;
对所述特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息;
基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;
基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
在另一个实施例中,处理器具体用于执行如下步骤:
获取待识别图像;
将所述待识别图像作为字符检测模型的输入,并根据所述字符检测模型的输出结果得到所述待识别图像的字符识别结果;
其中,所述字符检测模型包括特征提取网络、编码器以及解码器构成;
所述特征提取网络用于对所述待识别图像进行特征分析得到特征矩阵;
所述编码器用于对所述特征提取网络输出的特征矩阵上的特征值进行编码;
所述解码器用于对所述编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机应用程序,计算机应用程序被执行时,实现上述描述的对图像的字符识别方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的对图像的字符识别方法。
本申请实施例中,能够对待识别图像对应的特征矩阵中的各个特征值进行编码,得到特征值编码信息,并基于特征值编码信息识别待识别图像上所包含的字符序列中的各个字符,从而实现快速的获取对待识别图像的字符识别结果。并且,在识别到待识别图像上包含的字符序列中的第一个字符后,可对第一字符对应的注意力图进行遮罩处理,这样在识别字符序列中的第二字符的过程中,可避免对第一字符进行重复识别,提高对字符识别的效率,能够较为快捷地识别出字符序列中的各个字符,提高对图像中的字符识别的准确性和快速性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请一个示例性实施例提供的一种包含字符序列的待识别图像示意图;
图1b示出了本申请一个示例性实施例提供的一种对图像的字符识别系统的架构示意图;
图2示出了本申请一个示例性实施例提供的一种对图像的字符识别方法的流程示意图;
图3示出了本申请一个示例性实施例提供的一种待识别图像的示意图;
图4示出了本申请一个示例性实施例提供的一种确定待识别字符区域的示意图;
图5示出了本申请一个示例性实施例提供的特征矩阵获取示意图;
图6示出了本申请一个示例性实施例提供的待识别图像处理过程的示意图;
图7示出了本申请一个示例性实施例提供的另一种待识别图像处理过程的示意图;
图8示出了本申请一个示例性实施例提供的一种对图像的字符识别方法的流程示意图;
图9示出了本申请一个示例性实施例提供的一种通过终端输入待识别图像的示意图;
图10示出了本申请一个示例性实施例提供的一种从待识别图像中识别出多个印章的示意图;
图11a示出了本申请一个示例性实施例提供的一种对图像的字符识别方法的流程示意图;
图11b示出了本申请一个示例性实施例提供的一种对网络模型进行训练的流程示意图;
图12示出了本申请一个示例性实施例提供的一种数据扩充的示意图;
图13示出了本申请一个示例性实施例提供的一种构建第一图像的示意图;
图14示出了本申请一个示例性实施例提供的一种构建第二图像的示意图;
图15示出了本申请一个示例性实施例提供的一种对图像的字符识别装置的结构示意图;
图16示出了本申请一个示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提出一种对图像的字符识别方案,该对图像的字符识别方案涉及人工智能的机器学习等技术,其中:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。机器学习可以被看成一项任务,这个任务的目标就是让机器(广义上的计算机)通过学习来获得类似人类的智能。例如人类会下围棋,计算机程序(AlphaGo或AlphaGoZero)被设计成掌握了围棋知识、会下围棋的程序。其中,多种方法可用来实现机器学习的任务,比如,神经网络、线性回归、决策树、支持向量机、贝叶斯分类器、强化学习、概率图模型、聚类等多种方法。
其中,神经网络(Neural Network)是实现机器学习任务的一种方法,在机器学习领域谈论神经网络,一般是指“神经网络学习”。它是一种由许多简单元组成的网络结构,这种网络结构类似于生物神经系统,用来模拟生物与自然环境之间的交互,并且网络结构越多,神经网络的功能往往越丰富。神经网络是一个比较大的概念,针对语音、文本、图像等不同的学习任务,衍生出了更适用于具体学习任务的神经网络模型,如递归神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Network,CNN)、全连接卷积神经网络(fully convolutiona l neural network,FCNN)等等。
本申请实施例中字符识别方案涉及的待识别图像可以是普通的带有文本内容的图像,例如一些报刊杂志,特别是一些带印章的图像、带有曲形字符序列的字符验证码的图像等。有效识别待识别图像中的印章内容或曲形字符序列,具有较为重要的意义;以待识别图像为带有曲形字符序列的字符验证码的图像为例,在通过字符验证码进行注册、登录等应用场景下,只有准确识别出字符验证码所包含的曲形字符序列,才能实现对用户身份的校验,进而帮助用户快速完成注册、登录等操作;其中,示例性的带有曲形字符序列的字符验证码的图像可参见图1a所示的第一幅图。再以待识别图像为带有印章的图像为例,印章所包含的字符序列(即印章内容)往往是加盖印章的对象的标识(如某个部分的部门名称、某个公司的公司名称等等),因此,印章具有一定的效力,通过在文件(或图像等)中盖上印章(即任一单位或个人的印章),可表示该文件是由印章所指示的对象(如单位或个人)签署的,那么根据文件上的印章可认定该文件的效力,进而确定该文件关联的权利或义务是归属于印章所指示的对象。其中,示例性的带有印章的图像可参见图1a所示的第二幅图,对于不同形状的印章,印章所包含的字符序列也可展现为不同分布形状;如印章的形状为曲形(如圆形或椭圆形),那么该印章的字符序列可以跟随印章的形状呈现曲形分布,即字符序列所包含的每个字符按照曲形的位置和角度进行显示。为便于阐述,后续均以待识别图像为带有印章的图像,且印章呈现曲形形状为例进行说明。
通过上述描述可知,准确识别待识别图像中的字符序列能够为多种应用场景(如印章的自动核实场景、注册新用户场景等等)提供便利。基于此,本申请实施例还提出一种对图像的字符识别系统,该对图像的字符识别系统可用于实现对图像的字符识别方案。如图1b所示,该对图像的字符识别系统包括终端101和服务102,本申请实施例对终端101和服务器102的数量和类型不作限定,在此说明。其中,终端101可包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(MobileInternet Devices,简称MID)、智能电视、车载设备、头戴设备等可以进行触屏的智能设备。终端中包括终端屏幕,也称为显示屏、显示屏幕等等;终端中可以运行应用程序(可简称为应用,如社交应用、游戏应用、视频应用、小程序应用、w eb应用等等)。服务器102可以包括但不限于:数据处理服务器、Web服务器、应用服务器等等具有复杂计算能力的设备。服务器102可以是终端101的后台服务器,用于与终端101进行信息交互,以为该终端101提供计算和应用服务支持;或者,服务器102还可以是终端101中运行的任一应用的后台服务器,用于与终端101中运行的应用进行信息交互,以为该任一应用提供计算和应用服务支持。服务器102可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式系统。服务器102还可以是区块链网络上的一个节点服务器。终端101和服务器102可以通过有线或无线方式进行直接或间接地通信连接,本申请实施例并不对终端101和服务器102之间的连接方式进行限定。
本申请实施例提出的对图像的字符识别系统是由电子设备(如终端101或服务器102)调用网络模型实现的;网络模型可以是采用样本数据对区域检测模型(如yolov5模型)以及字符检测模型(如神经机器翻译模型)进行训练得到的;区域检测模型用于检测图像中字符序列的显示位置或显示区域,如印章的显示位置或显示区域;字符检测模型用于识别待识别图像中的字符序列(如印章所包含的字符序列)。基于此,本申请实施例涉及网络模型的训练和应用,由于网络模型的训练和应用对电子设备的计算能力的要求并不相同,如训练网络模型时需要计算机设备具备GPU(graphics processing unit,图形处理器)芯片,才能满足模型训练对高计算能力的要求。
在一种实现方式中,本申请实施例支持由搭载有GPU芯片的服务器102来执行网络模型的训练,而采用具备人机交互功能的终端101来执行网络模型的应用,此时,训练好的网络模型部署于终端101中。其中,终端101和服务器102之间相互交互来执行对图像的字符识别方案的大致流程可包括:在服务器102侧对网络模型(包括本申请实施例中提及的区域检测模型和字符检测模型)进行模型训练,并在网络模型收敛后(即得到优化后的网络模型),将网络模型(或用于运行网络模型的程序)发送至终端101;终端101接收服务器102发送的网络模型,并部署网络模型。当终端101获取到待识别图像时,可调用网络模型执行如下识别操作:首先,可检测待识别图像中字符序列所在的显示位置,并根据检测出的显示位置从待识别图像中截取包含字符序列的待识别图像;其次,对待识别图像进行特征分析,得到特征矩阵,并对特征矩阵中的各个特征值进行编码得到特征值编码信息;最后,基于特征值编码信息识别待识别图像上所包含的字符序列中的各个字符,得到对待识别图像的字符识别结果。基于上述过程,可得到对待识别图像的识别结果,该识别结果可包括:对待识别图像中字符序列的显示位置的位置识别结果,以及字符识别结果。其中,位置识别结果的表现方式可包括但不限于:以坐标形式输出显示位置;或者,截取包含字符序列的那部分图像进行输出,如截取包含印章的那部分图像进行输出;或者,输出位置信息,如位置信息为左下角;等等。本申请实施例对位置识别结果的表现方式不作限定。
在其他实现方式中,服务器102训练好网络模型后,本身就部署有网络模型,则本申请实施例提供的对图像的字符识别方案还可以由服务器102来执行。在这种实现方式下,执行对图像的字符识别方案的大致流程可以包括:由服务器102对网络模型进行模型训练,得到收敛的网络模型;当终端101获取到待识别图像时,将待识别图像发送至服务器102,由服务器102调用网络模型来对待识别图像进行字符识别处理,得到待识别图像的识别结果,该识别结果可包括位置识别结果以及字符识别结果。其中,服务器102调用网络模型来对待识别图像进行识别的过程可参见上述描述的,终端102调用网络模型对待识别图像进行识别的相关描述,在此不作赘述。需要说明的是,后续提及的识别结果均包括位置识别结果和字符识别结果,特在此说明。
可以理解的是,如果终端101搭载有能够支撑较高计算能力的GPU芯片,那么网络模型的训练和应用过程也可以由终端101来执行,终端101执行对图像的字符识别方案的过程与上述实现方式是类型的,在此不作赘述。
基于上述描述的对图像的字符识别方案,本申请实施例提出更为详细的对图像的字符识别方法,下面将结合附图对本申请实施例提出的对图像的字符识别方法进行详细介绍。
请参见图2,图2示出了本申请一个示例性实施例提供的一种对图像的字符识别方法的流程示意图;该对图像的字符识别方法可以由电子设备来执行,电子设备可以包括:图1b所示系统中的终端101或服务器102,该对图像的字符识别方法包括但不限于步骤S201-S204。
S201:获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,所述特征矩阵上包括多个特征值。所述待识别图像可以是指包含一些字符序列的图像,这些字符序列可能不规则的包含在图像中,也可能以特定的形状包含于图像中,例如图1a中的字符序列,在本申请实施例中,一种示例性的待识别图像可参见图3,如图3所示,该待识别图像中带有呈现曲形分布的字符序列“深圳市创新公司”,该字符序列包含多个字符,如该字符序列包括:字符“深”、字符“圳”、字符“市”、字符“创”、字符“新”、字符“公”以及字符“司”等等。本申请实施例对字符序列所包含的字符类型和数量不作限定,字符类型可包括但不限于:英文字符、中文字符、标点符号等。在一些实施例中,图3描述的是带印章的图像,待识别图像还可以是其他一些例如以波浪形显示的验证码进行截图后得到的图像。
在步骤S201中,可以通过一个特征提取网络,例如CNN,完成特征分析,得到特征矩阵。在基于CNN的模型中,支持采用采样方法对待识别图像进行特征分析;具体可采用下采样(subsampled)或降采样(downsampled)方法对待识别图像进行特征分析,得到特征矩阵。对待识别图像进行下采样,可理解为将待识别图像进行缩小,得到待识别图像的缩小图像(或缩略图),在一个实施例中,可对待识别图像通过多通道下采样后得到多个通道的特征矩阵。
上述对待识别图像进行下采样处理,可得到尺寸满足后续处理要求的特征矩阵,后续处理要求的尺寸是以在特征提取网络训练时定义的输出尺寸为准。下面结合图5来对下采样处理过程进行示例性介绍,如图5所示,假设待识别图像的尺寸为:192像素*160像素,设置的下采样倍数为8*8倍且三通道(例如角点、水平、竖直)的下采样,则将待识别图像的长和宽均缩小8倍,则对待识别图像进行下采样得到的特征矩阵的尺寸为:(198/8)*(160/8)=24*20。上述以下采样为例对待识别图像进行特征分析的过程进行介绍,但可以理解的是,对待识别图像进行特征分析的方式还可以为其他方式,本申请实施例对此不作限定,在此说明。
S202:对特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息。对特征矩阵的编码可以通过一个编码器来实现。根据所采用的编码器的不同,对特征矩阵进行编码的方式也不相同。本申请实施例以编码器为由双向LSTM(Long Short Term Mermory network,长短期记忆人工神经网络)为例进行说明。编码器具体可以为一层双向LSTM,具体示意如图6中的网络601部分。其中,上述的LSTM是一种循环神经网络,该LSTM具备记住长期信息的能力,能够将历史记录的信息作为新一轮的输入信息,以此达到记录全部信息的目的。值得注意的是,在编码器由LSTM组成的实现方式下,采用编码器对特征矩阵中各个特征值进行编码后,得到特征值编码信息,该特征值编码信息用于表示各个特征值在特征矩阵中的位置信息和特征信息。
设在步骤S201中提取的特征矩阵为V,特征矩阵中的每行特征输入编码器encoder(一层双向lstm)得到新的特征矩阵V′,新的特征矩阵V′即为本申请实施例中所描述的特征值编码信息,其具体计算公式(1)可以如下所示:
V′h,w=RNN(V′h,w-1,Vh,w) (1)
其中,RNN为循环神经网络(Recurrent Neural Network);下标h是指输入的相应特征值在特征矩阵上的行数、下标w是指输入的特征值在特征矩阵上对应行的位置,例如:当h=1、w=1时,是指特征矩阵第一行上的第一个特征值,即特征矩阵中第一行、第一列的特征值。其中,为了获取到特征矩阵在列方向的顺序特征,特征矩阵中每行特征在输入编码器encoder前,和当前行序号的嵌入embedding特征进行融合concat后作为输入。因此,在得到的V′h,w中,表达了相应的特征值所在的行、列以及在每行中的具体位置的位置信息,例如V′1,1表示了特征矩阵上第一行、第一列的特征值(位置信息)的特征信息。
结合图6来对特征矩阵中各个特征值进行编码、得到特征值编码信息的过程进行更为详细的介绍;如图6所示,首先,将特征矩阵的第一行输入编码器,可实现对特征矩阵上位于第一行的各个特征值的特征信息进行编码,得到第一特征值编码信息,第一特征值编码信息可用于表示特征矩阵上位于第一行的各特征值的位置信息和特征信息,基于上述的描述以及公式(1),第一特征值编码信息可以包括(V′1,1、V′1,2、V′1,3、……、V′1,w);其次,将待识别图像特征中的第二行输入编码器,同样可得到(V′2,1、V′2,2、V′2,3、……、V′2,w),后续,继续将特征矩阵的第三行、第四行、……、等等输入到编码器,可以得到最终的特征值编码信息,该特征值编码信息的表达式如下式(2)所示:
如公式(2)所示,对特征矩阵中的各个特征值进行编码所的得到特征值编码信息也可以表现为矩阵的形式。
S203:基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图。
步骤S203可以通过一个解码器来实现,即S202和S203及下述的S204是通过一个编码器-解码器的网络模型(比如字符检测模型)来实现的。在本申请实施例中,所述的解码器可以是由一层LSTM网络(解码模块)和一层注意力Attention网络(注意力模块)构成。
解码器是基于已经完成预测的字符,对还未完成预测的字符进行预测,其中,遮罩处理包括:通过注意力Attention网络,对编码器输出的特征值编码信息进行分析得到的attention map(注意力图)。在注意力图中,将已经完成预测的字符所对应的注意力区域置为0,在一个实施例中,根据编码器输出的特征值编码信息得到的attention map注意力图可参考下述式(3)。在本申请实施例中,通过在注意力网络引入遮罩处理mask-attention(遮罩式注意力),当预测完一个字符后在attention map(注意力图)中遮挡mask掉该字符所对应的注意力区域,即把该字符对应的响应置为零,降低第一个字符对预测第二个字符的时候的干扰,避免出现重复attention的情况。
在本申请实施例中,解码器是作为一个条件语言模型来训练,基于已经完成预测的字符预测结果(y1,y2,…,yt)和输入特征V′h,w来预测下一个字符yt+1,计算公式如下:
p(yt+1|y1,...,yt,V′)=softmax(Woutot) (4)
其中,所述Wout是一个线性变换矩阵,softmax()是一个可以把输入的每个值映射到(0,1)的函数,输出的所有值累和为1,可认为用于计算概率,在分类任务上,经过softmax概率最大的类别即为预测输出类别。ot的表达式如下式(5):
ot=tanh(Wc[ht;ct]) (5)
其中,ht是解码器的隐状态,其表达式如下述式(6)。ct为上下文特征矩阵,其可以基于attention和encoder输出的特征矩阵V′计算,计算方式如下式(7)所示。Wout和Wc都是权重矩阵。
ht=RNN(ht-1,[yt-1;ot-1]) (6)
et=α(ht,{V′h,w})
eit=βTtanh(Whhi-1+Wvv′t)
αt=softmax(et) (7)
ct=φ({V′h,w},αt)
其中,αt是基于et计算出的注意力权重矩阵,αt和encoder输出的特征矩阵V′h,w作为输入,经过φ变换后得到上下文特征矩阵ct。eit是上一关于et的公式中α变换的函数表达。β是一个超参数,比如等于0.5之类的数值。Wh、Wv是权重矩阵。h是隐状态,v是上述的encoder输出的特征矩阵。
φ变换计算公式如下式(8),φ表示输入是这两个参数的一个函数,即上下文特征矩阵中i位置的值为t时刻特征矩阵V′h,w及对应注意力权重矩阵在i位置的加权和:
ci=∑tαitvt (8)
其中,ci的计算函数是上述的φ变换。ct表示的是t时刻的上下文特征矩阵,ci是t时刻上下文特征矩阵中的第i个元素。
综上所述,在一个实施例中,本申请可以通过如图7所示的字符检测模型来实现待识别图像上各个字符的识别。
基于步骤S202的描述可知,特征矩阵的特征值编码信息可用于表示特征矩阵中各个特征值的位置信息和特征信息,根据特征矩阵的特征值编码信息所表达的信息,通过注意力算法可以识别出待识别图像上包含的字符序列中的各个字符,进而识别得到待识别图像所包含的字符序列(如印章内容)。总的来说,从编码器获得特征矩阵的特征值编码信息后,可将特征矩阵的特征值编码信息输入解码器,以使解码器调用注意力算法(或称为注意力(attention)机制)、解码模块来预测待识别图像上包含的字符序列的各个字符。其中,基于注意力算法、及遮罩处理进行字符识别,可以帮助解码器在不同时刻更为专注的对不同字符进行识别;例如,解码器在第一时刻可以专注于识别注意力图上的第一字符,在对第一字符预测结束后,在第二时刻可以专注于在注意力图上识别第二字符,等等。
在依次识别待识别图像中的各个字符的过程中,由于待识别图像中各个字符的显示方式并不相同,如图3所示,待识别图像中的各个字符并未排列在同一水平线上,而是分布成一个曲形,那么在对各个字符进行识别时,容易导致对同一字符的重复识别。基于此,本申请实施例提出一种mask-attention(遮罩式注意力)方法,该遮罩式注意力方法支持在预测结束某一字符后,对该字符相关的注意力图进行遮罩处理,被遮罩后的字符对应的响应逻辑被置为零,即当识别到该字符时,该字符不作任何响应;这样可避免在多次字符识别中对同一字符的重复识别,可提高字符识别的效率和正确度。
S204:基于第一字符,从遮罩处理后的注意力图中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
在一个实施例中,上述的步骤S203具体可以包括:通过训练优化后得到的解码器中的注意力模块从特征值编码信息对应的注意力图中确定第一个字符所对应的注意力区域;通过训练优化后得到的解码器中的解码模块对注意力图中注意力区域中的值进行运算,得到待识别图像上包含的字符序列中的第一字符;将注意力图中注意力区域中的值设置为指定值,该指定值可以使得注意力模块不再关注这部分值为指定值对应的区域,比如指定值可以为0,得到遮罩处理后的注意力图;在此基础上,基于第一字符,从遮罩处理后的注意力图中预测出第二字符的实现方式可包括:通过注意力模块从遮罩处理后的注意力图确定出第二字符对应的注意力区域;通过解码模块对第一字符和确定出的第二字符对应的注意力区域中的值进行运算,得到第二字符。在一个实施例中,由于字符序列中各个字符之间具有一定的位置关系,如从左往右对字符序列中各个字符进行识别的过程中,当第一字符位于第二字符的左边位置,即第二字符位于第一字符的右边位置时,注意力模块可以基于在注意力图上第一字符的注意力区域快速确定第二字符的注意力区域。
结合图7,注意力集中模块部分括弧内的矩阵可以认为是attention map,注意力图上的每个值是根据编码器输出的特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息,而特征值又是与每个字符的位置和特征对应的,如此一来,在得到第一字符的注意力区域之后,可以第一字符的注意力区域很快确定第二字符对应的注意力区域。当然,注意力模块在注意力区域分析时,可以不考虑位置信息,仅仅考虑特征值,通过有监督的训练能够训练优化得到注意力模块。
基于步骤S203对特征值编码信息中的第一字符对应的状态信息进行遮罩处理后,可得到遮罩处理后的注意力图,则可基于第一字符在注意力图上对应的注意力区域,从遮罩处理后的注意力图中快速确定相邻的第二字符的注意力区域,预测出第二字符,以此类推,可实现识别出待识别图像所包含的字符序列中的各个字符。
当然,如果待识别图像不止包括第一字符和第二字符,则本申请实施例还支持对遮罩了第一字符对应的状态信息的特征值编码信息中的第二字符进行遮罩处理,即对注意力图上与第二字符对应的注意力区域的值进行遮罩处理,得到遮罩了第一字符、第二字符所对应的注意力区域的注意力图。如图6所示的示意,在对第一字符“X1”、第二字符“X2”对应的注意力区域进行遮罩处理,得到遮罩后的注意力图;并基于第一字符所对应的注意力区域的位置信息以及第二字符所对应注意力区域的位置信息,可以很快得到在注意力图上的第三字符对应的注意力区域,解码模块也可快速解码得到第三字符“X3”;以此类推,直到识别完待识别图像上字符序列所包含的所有字符;将识别到的第一字符、第二字符、第三字符、……组合起来的序列,确定为待识别图像所包含的字符序列,如图7所示,待识别图像的字符序列为“X1X2X3公司”。
本申请实施例中,能够对待识别图像对应的特征矩阵中的各个特征值进行编码,得到特征值编码信息,并基于特征值编码信息识别待识别图像上所包含的字符序列中的各个字符,从而实现快速的获取对待识别图像的字符识别结果。并且,在识别到待识别图像上包含的字符序列中的第一个字符后,可进行相应的遮罩注意力的遮罩处理,这样在识别字符序列中的后续字符的过程中,可避免对已识别字符进行重复识别,提高对字符识别的效率,能够较为快捷地识别出字符序列中的各个字符,提高字符识别的准确性和快速性。
请参见图8,图8示出了本申请一个示例性实施例提供的另一种对图像的字符识别方法的流程示意图;该对图像的字符识别方法可以由电子设备来执行,电子设备可以包括:图1b所示系统中的终端101或服务器102,该对图像的字符识别方法包括但不限于步骤S801-S809。
S801:获取图像,并对获取的图像进行字符区域识别处理,根据识别处理结果确定待识别字符区域。其中,根据执行本申请实施例提出的对图像的字符识别方法的执行主体的不同,获取待识别图像的方式也不相同;例如:本申请实施例提供的对图像的字符识别方法由服务器来执行时,服务器可接收终端发送的待识别图像;又如:由终端来执行本申请实施例提出的对图像的字符识别方法时,终端可以接收其他终端发送的待识别图像,或者,终端接收用户输入的待识别图像。
一种用户通过终端输入待识别图像的示意图可参见图9,如图9所示,在终端的终端屏幕中显示图像上传界面901,该图像上传界面901中包含输入选项9011;当输入选项9011被触发时,可在终端屏幕中显示图像候选界面902,图像候选界面902中包括一个或多个候选待处理的图像,如候选待处理的图像9021、候选待处理的图像9022、候选待处理的图像9023、……、等等;根据用户的选中操作从一个或多个候选待处理的图像中选中任一候选待处理的图像时,如选中候选待处理的图像9021,返回图像9021至图像上传界面901;图像上传界面901中还包括提交选项9012,当用户触发提交选项9012时,开始执行对图像的字符区域识别处理。
需要说明的是,图9只是一种示例性的上传待处理的图像的示意图,本申请实施例还支持其他实现方式来上传图像;例如,支持图像候选界面902以浮窗形式显示于图像上传界面901之上;或者,支持在用户选中某一图像后,输出识别界面,并在识别界面中显示正在识别的提示信息,以提示用户正在对进行处理;或者,支持通过“扫一扫”的方式获取图像;等等。综上所述,本申请实施例对用户上传待处理的图像的过程不作限定,在此说明。另外,本申请实施例还支持由用户在终端屏幕中确定出待识别字符区域,这一实现方式可参见图4,如图4所示,用户可在终端屏幕中画出待识别字符区域,这种由用户自己确定待识别字符区域在一定程度上可减轻终端的工作量,且确保待识别字符区域一定是用户确定的区域。
本申请实施例支持采用区域检测模型来识别待识别图像中的待识别字符区域,待识别字符区域内包含字符序列;其中,区域检测模型可包括但不限于检测效率较高的一阶段模型,如yolov5模型,等等。以yolov5模型为例,yolov5模型中集成了特征金字塔网络结构,可用来检测图像中的不同尺寸的字符序列(如字体大小不同),使得对于待识别图像所包含的不同大小占比的字符序列都能精确检测出来;例如,从同一待识别图像中检测出不同尺寸的包含字符序列的印章。其中,从图像中识别出不同尺寸的字符序列的示例性示意图可参见图10,如图10所示,该待处理的图像中包括印章1、印章2以及印章3,则调用区域检测模型可精确地检测出印章1、印章2以及印章3的待识别字符区域,如待识别字符区域1001中包括印章1、待识别字符区域1002中包括印章2,以及待识别字符区域1003中包括印章3。
S802:根据待识别字符区域得到初始待识别图像。从图像中识别出包含字符序列的待识别字符区域后,可以对该待识别字符区域进行截图操作,进而得到初始待识别图像,初始待识别图像中包含字符序列。继续参见图10,根据待识别字符区域1001可得到初始待识别图像1004;根据待识别字符区域1002可得到初始初始待识别图像1005;根据待识别字符区域1003可得到初始待识别图像1006。
S803:判断初始待识别图像中字符序列的表现形状是否为目标形状。所谓目标形状可是指曲形形状,如圆形形状或椭圆形状。当然,目标形状也可以为其他形状,如五角星形状、棱形形状等等;目标形状具体为哪种形状,是与前述描述的区域检测模型相关的,训练得到的区域检测模型具有识别哪种形状的字符序列的功能,则目标形状就为哪种形状。例如,训练得到的区域检测模型具有识别呈现五角星形状的字符序列的功能,则目标形状为五角星形状;又如,训练得到的区域检测模型具有识别呈现椭圆形状的字符序列的功能,则目标形状为椭圆形状;等等。本申请实施例以目标形状为曲形形状,包括但不限于:圆形形状和椭圆形状,为例进行介绍,在此说明。
S804:如果初始待识别图像中字符序列的表现形状不是目标形状,则采用与字符序列的表现形状相关的方法对初始待识别图像进行识别,得到对初始待识别图像的识别结果。
继续参见图10,印章1和印章2是矩形形状的印章,而不是目标形状(如曲形形状)的印章,印章3为目标形状的印章。那么可采用矩形形状相关的识别方法分别对包含印章1和印章2的初始待识别图像进行识别,得到识别结果,该识别结果可包括:初始待识别图像中印章1的位置识别结果以及字符识别结果,以及初始待识别图像中印章2的位置识别结果以及字符识别结果。而对包含印章3的初始待识别图像执行步骤S805,以得到对包含印章3的待识别图像的识别结果。其中,本申请实施例对具体采用哪种与矩形形状相关的识别方法,来分别对包含印章1和印章2的初始待识别图像进行识别不作限定,在此说明。
S805:如果初始待识别图像中字符序列的表现形状是目标形状,则按照图像调整规则对初始待识别图像进行调整,得到待识别图像。其中,图像调整规则是与训练字符检测模型时输入的样本图像相关的;换句话说,在训练字符检测模型时输入的是哪种尺寸和样式的样本图像,那么在应用字符检测模型时也需要按照图像调整规则,将初始待识别图像调整为与样本图像的尺寸和样式均相同的待识别图像。本申请实施例中提供的一种示例性的根据图像调整规则对初始待识别图像进行调整可包括:将初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域,将初始待识别图像的尺寸调整为目标尺寸中的任意一个或者两个的组合。具体地,图像调整规则可包括:将初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域(如初始待识别图像的左上角);或者,将初始待识别图像的尺寸调整为目标尺寸(如将初始待识别图像的长调整为192像素,将初始待识别图像的宽调整为160像素等);或者,将初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域,以及将初始待识别图像的尺寸调整为目标尺寸。上述过程根据图像调整规则对初始待识别图像进行调整,得到待识别图像的样式和尺寸均满足字符检测模型的输入要求,可以有利于快速对待识别图像进行印章识别,提高识别效率和识别准确性。
S806:获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,特征矩阵上包括多个特征值。
S807:对特征矩阵中各个特征值进行编码,得到特征值编码信息,特征值编码信息用于表示各个特征值在特征矩阵中的位置信息和特征信息。
S808:基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图。在一个实施例中,特征矩阵是通过训练优化后的特征提取网络对待识别图像进行识别后得到的;特征值编码信息是通过训练优化后的编码器对特征矩阵中各个特征值进行编码得到的;第一字符和第二字符是通过训练优化后的解码器对特征值编码信息进行解码后得到的,解码器包括解码模块和基于注意力算法的注意力模块。
S809:基于第一字符,从遮罩处理后的注意力图中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
对待识别图像执行步骤S801-S809所描述的相关步骤后,可得到对待识别图像的识别结果,如图1b所示,该识别结果可包括:待识别图像中字符序列(或包含字符序列的印章)的显示位置的位置识别结果,以及待识别图像中的字符序列的字符识别结果。
需要说明的是,步骤S806-S809的具体实施过程可参见图2所示实施例中步骤S201-S204所示的具体实施过程的相关描述,在此不做赘述。
本申请实施例中,首先采用对待识别图像中的字符序列的显示位置进行检测,可得到待识别图像中包含字符序列的待识别字符区域,然后根据待识别字符区域生成初始待识别图像,再对初始待识别图像进行调整得到包含字符序列的待识别图像。上述过程中,采用先检测待识别图像中字符序列的显示位置,再对待识别图像包含的字符序列进行识别的方式,使得图像识别集中在部分区域中,有效地提升了对图像的字符识别效率,并且在识别到待识别图像上包含的字符序列中的第一个字符后,可进行相应的遮罩注意力的遮罩处理,这样在识别字符序列中的后续字符的过程中,可避免对已识别字符进行重复识别,提高对字符识别的效率,能够较为快捷地识别出字符序列中的各个字符,提高字符识别的准确性和快速性。
请参见图11a,图11a示出了本申请一个示例性实施例提供的一种对图像的字符识别方法的流程示意图,图11a主要介绍基于字符检测模型来识别待识别图像中的字符序列的过程;该对图像的字符识别方法可以由电子设备来执行,该对图像的字符识别方法包括但不限于步骤S1101-S1102。
S1101:获取待识别图像。
S1102:将待识别图像作为字符检测模型的输入,并根据字符检测模型的输出结果得到待识别图像的字符识别结果。
其中,字符检测模型包括特征提取网络、编码器以及解码器构成;特征提取网络用于对待识别图像进行特征分析得到特征矩阵;编码器用于对特征提取网络输出的特征矩阵上的特征值进行编码;解码器用于对编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对特征值编码信息进行遮罩处理,得到遮罩处理后的特征值编码信息;基于第一字符从遮罩处理后的特征值编码信息中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
需要说明的是,步骤S1101-S1102的具体实施过程可参见图2所示实施例中步骤S201-S204,以及图8所示实施例中步骤S806-S809的具体实施过程的相关描述,在不作赘述。
上述描述的图2、图8以及图11a实施例主要介绍了网络模型的应用过程,即调用网络模型对待识别图像或任一图像进行识别,得到识别结果的过程。如前述所描述的,网络模型可包括:区域检测模型、字符检测模型;例如:调用区域检测模型来检测任一图像中字符序列的显示位置;又如:调用字符检测模型来识别任一待识别图像中的字符序列。其中,区域检测模型可包括但不限于yolov5模型等模型,yolov5模型集成有特征金字塔,可用于识别同一图像中的不同尺寸的字符序列,如识别同一图像中不同尺寸的印章,进而能够识别出同一图像中的多个印章。字符检测模型可包括但不限于神经机器翻译模型(NMT)等模型,神经机器翻译模型可以直接识别曲形或多行文本不用进行矫正后识别或先识别文本行再分行识别。基于上述描述的yolov5模型和神经机器翻译模型的优势,本申请实施例以区域检测模型为yolov5模型,以及字符检测模型为神经机器翻译模型为例,对网络模型的训练过程进行介绍。
网络模型是通过监督学习的方式进行训练得到的,如字符检测模型是通过监督学习的方式进行训练得到的。监督学习和无监督学习是一组相对概念,判断是否有监督,可通过判断训练时采用的样本数据是否有标签,如果输入的样本数据有标签,那么对该样本数据训练得到的训练结果可与标签进行对比,来确定网络模型是否达到收敛条件,如果训练结果与标签之间的差异满足差异阈值,表示网络模型能够较好的识别样本数据,则确定网络模型达到收敛条件,上述这种输入的样本数据包含标签的训练方法可称为监督学习;反之,则确定为无监督学习。
下面结合附图11b,对训练网络模型的过程进行介绍。其中,服务器102往往搭载有GPU芯片,具有较强的计算能力,而终端101可以提供用户交互界面,是能够与用户直接交互的设备;基于此,本申请实施例支持在服务器102侧对网络模型进行模型训练,可使得网络模型能够更快更好地达到收敛的效果,进而得到性能较好的网络模型。具体实现中,服务器采用监督学习的方式对网络模型进行训练的训练过程可包括:对区域检测模型的训练,以及对字符检测模型的训练。如图11b所示,对网络模型进行训练可包括步骤S1111-S1114。
S1111:获取样本数据集合。样本数据集合包括真实数据集合和扩充数据集合这两部分数据;真实数据集合中包括采集得到的包括字符序列的训练图像,此类训练图像可以是指:收集到的、包含字符序列(例如印章字符序列)的数据,如票据、运单、合同、字符验证码等文件或图像;扩充数据集合中包括:对采集到的训练图像进行调整处理后得到的扩充图像,扩充图像可以是指:对真实数据进行数据扩充得到的数据,其中,数据扩充可包括但不限于:对真实数据(如票据)进行旋转,调整亮度、对比度,增加噪声,对真实数据如图像进行裁剪等操作。其中,数据扩充(data augmentation)又称数据增强或数据增广,用于让有限的数据产生更多的数据,增加训练样本的数量以及多样性;采用数据扩充的方式,可以丰富样本数据的数量,从而可避免区域检测模型在训练过程中的过拟合问题,可提高训练得到的区域检测模型的性能,使得区域检测模型更为稳定。下面结合图12对数据扩充进行说明,如图12所示,假设真实数据为一张包含印章的发票图像1201,对该发票图像1201进行裁剪,可得到裁剪后的发票图像,如发票图像1202;对该发票图像1201进行旋转,可得到旋转后的发票图像,如发票图像1203;等等。可以理解的是,还可以对真实数据执行上述多种数据增广方式,得到扩充数据;如先对真实数据进行旋转,再对旋转后的图像进行裁剪等等,本申请实施例对数据扩充的具体实现方式不作限定,在此说明。
另外,样本数据集合中除包含样本数据外,还包括样本数据所对应的标签,任一样本数据的标签用于指示该样本数据中字符序列(如包含字符序列的印章)的显示位置或显示区域。其中,对样本数据进行标注,得到样本数据的标签的示例性过程可包括:假设样本数据为一张票据图像,则可在该票据图像上建立坐标系,这样可以坐标的方式来标注票据图像上印章的显示位置或显示区域;当然,对样本数据进行标注的方式可随着样本数据的样式发生变化,本申请实施例对具体如何标注样本数据不作限定,在此说明。
S1112:采用样本数据集合对区域检测模型进行训练,得到训练后的区域检测模型。具体实现中,可从样本数据集合中选取一个样本数据,并将该样本数据输入至区域检测模型中进行识别,得到针对该样本数据的预测结果,该预测结果可以是指预测字符序列(如包含字符序列的印章)在样本数据的显示位置。将该样本数据的预测结果与该样本数据的标签之间进行损失值(或差异值)计算,可判断当前的区域检测模型的训练质量。当样本数据的预测结果与该样本数据的标签之间的损失值小于损失阈值时,那么确定区域检测模型能够较为准确地预测出样本数据中印章的显示位置,则确定区域检测模型已经收敛,得到训练好的区域检测模型。反之,当样本数据的预测结果与该样本数据的标签之间的损失值小于或等于损失阈值时,那么确定区域检测模型不能准确地预测出样本数据中字符序列的显示位置,则确定区域检测模型未收敛,此时需要根据损失值调整区域检测模型中的参数,得到优化后的区域检测模型。再从样本数据集合中选取另一样本数据,并将该另一样本数据输入至优化后的区域检测模型,重复上述步骤,直到区域检测模型满足训练要求。需要说明的是,不同的区域检测模型其损失阈值可能不同,这里不作详细说明。
综上,基于步骤S1111-S1112可得到训练好的区域检测模型,该训练好的区域检测模型可较为准确地识别出任一包含字符序列的图像中字符序列的显示位置。
S1113:获取训练样本集,训练样本集用于对字符检测模型进行训练。其中,在对字符检测模型进行训练时所采用的训练样本集中包括:样本图像集合、扩充图像集合。样本图像集合中包括多个样本图像,这些样本图像可包括:直接从互联网中下载得到的图像,或者,步骤S1111所描述的样本数据集合所包含的图像。扩充图像集合中的扩充图像包括:对样本图像集合中的样本图像进行数据扩充得到的图像,以及,根据其他数据构建的图像;其中,①对样本图像集合中的样本图像进行数据扩充的过程可参见步骤S1111所描述,对真实数据进行数据扩充的过程,在此不作详细赘述。②根据其他数据构建得到的图像包括:第一图像集合、第二图像集合中的任意一个或两者的组合。第一图像集合和第二图像集合是采用不同的构建方法构建得到的图像集合;具体地,第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的;更为详细的,第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,n个第一控制点是从水平字符串的边缘采集确定的,n个第二控制点是根据n个第一控制点在目标函数曲线中确定的;n为大于零的整数。第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的;更为详细的,第二图像包括:在目标画布中渲染多个字符后生成的;其中,每个字符是从字符集合中提取到的,在目标画布上每个字符在目标画布中的位置和显示方向时根据目标曲形规则计算得到的。
下面对上述描述的两种构建方式进行更为详细的描述,其中:
(1)对搜集到的水平字符串进行曲形化处理后得到第一图像;换句话说,第一图像是使用曲形化处理函数将水平字符串拉伸为曲形得到的。其中,水平字符串是由中文字符、英文字符以标点符号等字符中的一种或多种字符组成的字符串,该字符串是水平分布的,例如水平字符串为“XXX注册号”。曲形化处理函数是一种插值函数,例如,曲形化处理函数包括薄板样条插值函数(TPS函数),薄板样条插值函数是使用数据函数对一些限定的点值,通过控制估计方差,并利用一些特征界面以及多项式拟合的方法来产生的平滑的插值曲形。具体实现中,首先,在水平字符串的边缘均匀的选取n个第一控制点,n为大于零的整数,例如n为8;其次,模拟曲形的形状在目标函数曲线(如印章的展示形状为椭圆,则目标函数曲线可为椭圆函数曲线)上选取n个第一控制点所对应的n个第二控制点;最后,将n个第一控制点和n个第二控制点输入曲形化处理函数(如薄板样条插值函数)中,可得到对水平字符串拉伸后的曲形图像,并丰富该曲形图像得到第一图像,即第一图像是基于水平字符串扩充得到的包含曲形的字符序列的图像。参见图13,假设获取的水平字符串为“XXX注册号”,那么对该水平字符串执行上述描述的步骤后,可得到曲形图像,曲形图像中各个字符是模拟曲形形状进行分布的,丰富该曲形图像可得到第一图像。
(2)在目标画布中渲染多个字符后生成第二图像;换句话说,第二图像是基于字符集合中的字符生成字符图像,再在目标画布中渲染拟合曲形形状渲染多个字符图像生成的。其中,字符集合中包括多个字符,如字符“中”、字符“老”、“城”等等,可以按照用户意愿从字符集合中提取一个或多个字符。目标画布可以是指一张空白的画布,支持在画布中添加或修改任意元素(如字符、图像、动画等)。具体实现中,首先,生成一个目标尺寸的目标画布,目标尺寸是与字符检测模型的输入尺寸相关的,如目标尺寸为300像素*300像素;其次,根据目标函数曲线计算目标画布中预设的各个字符的位置和显示方向(或显示角度),并使用字符渲染的方式将从字符集合中提取的多个字符渲染程单字图像,即一个字符渲染为一个单字图像,该单字图像中只包含该字符;最后,将渲染的单字图像按照各个字符在目标画布中预测的位置和显示方向进行粘贴,以此类推,得到第二图像。参见图14,假设从字符集合中提取的字符包括:“中”、“国”、“税”、“务”、“局”,那么使用字符渲染的方式对各个字符进行渲染,可得到各个字符对应的单字图像;并将各个单字图像按照预设的位置和显示方向粘贴至目标画布中,得到第二图像。
综上所述,基于上述描述的多种数据扩充方法,可得到较为丰富的训练样本集,采用丰富的训练样本集对字符检测模型进行训练,能够训练得到性能稳定、识别效率高的字符检测模型。
S1114:采用训练样本集对字符检测模型进行训练,得到训练后的字符检测模型。具体实现中,可从训练样本集中选取一个样本图像,并将该样本图像输入至字符检测模型,得到字符识别结果,并根据字符识别结果调整字符检测模型的参数,以实现优化字符检测模型。其中,一种字符检测模型的示例性示意图可参见图15,如图15所示,假设训练样本集中包含一个样本图像,该样本图像中包含的曲形的字符序列为“X1X2X3公司”;现将该样本图像输入字符检测模型,使得字符检测模型对该样本图像进行识别处理,得到字符识别结果。其中,具体识别过程可包括:首先,检测输入的样本图像的尺寸是否为目标尺寸,若样本图像的尺寸不为目标尺寸,则按照图像调整规则对该样本图像进行调整,得到满足尺寸的样本图像;其次,将样本图像输入神经网络(CNN)进行特征分析,得到样本图像对应的样本特征矩阵;其次,再将样本特征矩阵按行输入至编码器,以便于编码器对样本特征矩阵的特征值进行编码,得到特征值编码信息;最后,基于特征值编码信息识别样本图像上包含的字符序列的多个字符,得到字符识别结果。另外,还对字符识别结果与样本图像的标签之间的差异值进行计算,如果差异值小于差异阈值,则确定字符检测模型收敛,则将当前的字符检测模型确定为训练好的字符检测模型;如果差异值大于或等于差异阈值,则确定字符检测模型不满足训练条件,即字符检测模型未收敛,则从训练样本集中选取另一样本图像进行上述过程,直到字符检测模型收敛,得到训练好的字符检测模型,训练好的字符检测模型能够较为准确地识别出待识别图像中的印章内容。需要说明的是,不同的字符检测模型其差异阈值可能不同,这里不作详细说明。
本申请实施例中,一方面,可对真实数据进行数据扩充处理,得到扩充的样本数据;另一方面,支持基于水平字符串或多个字符构建扩充待识别图像;这样可让有限的数据产生更多的数据,可以丰富样本数据的数量以及多样性,从而可避免网络模型(如字符检测模型或字符检测模型)在训练过程中的过拟合问题,可提高训练得到的网络模型的性能,使得网络模型更为稳定,这样采用网络模型对待识别图像进行识别时,可识别得到准确性较高的识别结果。
图15示出了本申请实施例提供的一种对图像的字符识别装置的结构示意图;该对图像的字符识别装置设置在终端或服务器中。在一个实施例中,该对图像的字符识别装置可以用于执行图2、图8所示实施例,该对图像的字符识别装置可以是运行服务器中的客户端(如具有识别印章的功能的应用程序);该对图像的字符识别装置所包括的单元的具体实现可参考前述实施例中相关内容的描述。请参见图15,本申请实施例的该对图像的字符识别装置包括如下单元:
获取单元1501,用于获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,特征矩阵上包括多个特征值;
处理单元1502,用于对特征矩阵中各个特征值进行编码,得到特征值编码信息,特征值编码信息用于表示各个特征值在特征矩阵中的位置信息和特征信息;
处理单元1502,还用于基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;
处理单元1502,还用于基于第一字符,从遮罩处理后的注意力图中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
在一种实现方式中,特征矩阵是通过训练优化后的特征提取网络对待识别图像进行识别后得到的;
特征值编码信息是通过训练优化后的编码器对特征矩阵中各个特征值进行编码得到的;
第一字符和第二字符是通过训练优化后的解码器对特征值编码信息进行解码后得到的,解码器包括解码模块和基于注意力算法的注意力模块。
在一种实现方式中,处理单元1502用于基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图时,具体用于:
通过训练优化后得到的解码器中的注意力模块从特征值编码信息对应的注意力图中确定第一个字符所对应的注意力区域;
通过训练优化后得到的解码器中的解码模块对注意力图中注意力区域中的值进行运算,得到待识别图像上包含的字符序列中的第一字符;
将注意力图中注意力区域中的值设置为指定值,得到遮罩处理后的注意力图;
处理单元1502用于基于第一字符,从遮罩处理后的注意力图中预测出第二字符时,具体用于:
通过注意力模块从遮罩处理后的注意力图确定出第二字符对应的注意力区域;
通过解码模块对第一字符和确定出的第二字符对应的注意力区域中的值进行运算,得到第二字符。
在一种实现方式中,处理单元1602,还用于:
获取待识别图像,并对待识别图像进行字符区域识别处理,根据识别处理结果确定待识别字符区域;
根据待识别字符区域得到初始待识别图像;
按照图像调整规则对初始待识别图像进行调整,得到待识别图像;
其中,对初始待识别图像进行调整包括:将初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域,将初始待识别图像的尺寸调整为目标尺寸中的任意一个或者两个的组合。
在一种实现方式中,初始待识别图像是通过区域检测模型来识别的;区域检测模型是通过监督学习的方式进行训练得到的;
其中,在对字符检测模型进行训练时所采用的样本数据集合中包括:真实数据集合、扩充数据集合;
真实数据集合中包含真实数据扩充数据集合中包含扩充数据,扩充数据是对真实数据进行数据增广处理得到的。
在一种实现方式中,待识别图像包含的字符序列中的各个字符是通过字符检测模型来识别的;字符检测模型是通过监督学习的方式进行训练得到的;
其中,在对区域检测模型进行训练时所采用的样本数据集合中包括:真实数据集合、扩充数据集合;
真实数据集合中包括:采集得到的包括字符序列的训练图像,扩充数据集合中包括:对采集到的训练图像进行调整处理后得到的扩充图像,其中,对采集到的训练图像进行调整处理包括:旋转处理、亮度变化处理、对比度变化处理、增加图像噪声处理、图像裁剪处理中的任意一种或多种。
在一种实现方式中,待识别图像包含的字符序列中的各个字符是通过字符检测模型来识别的;字符检测模型是通过监督学习的方式进行训练得到的;
其中,在对字符检测模型进行训练时所采用的训练样本集中包括:样本图像集合、扩充图像集合;
扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
在一种实现方式中,第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,n个第一控制点是从水平字符串的边缘采集确定的,n个第二控制点是根据n个第一控制点在目标函数曲线中确定的;n为大于零的整数。
在一种实现方式中,第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从字符集合中提取到的,在目标画布上每个字符在目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
在另一个实施例中,该对图像的字符识别装置可以用于执行图2、图8以及图11a所示实施例,该对图像的字符识别装置该对图像的字符识别装置可以是运行服务器中的客户端(如具有识别印章的功能的应用程序);该对图像的字符识别装置所包括的单元的具体实现可参考前述实施例中相关内容的描述。请参见图15,本申请实施例的该对图像的字符识别装置包括如下单元:
获取单元1501,用于获取待识别图像;
处理单元1502,用于将待识别图像作为字符检测模型的输入,并根据字符检测模型的输出结果得到待识别图像的字符识别结果;
其中,字符检测模型包括特征提取网络、编码器以及解码器构成;
特征提取网络用于对待识别图像进行特征分析得到特征矩阵;
编码器用于对特征提取网络输出的特征矩阵上的特征值进行编码;
解码器用于对编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对特征值编码信息进行遮罩处理,得到遮罩处理后的特征值编码信息;基于第一字符从遮罩处理后的特征值编码信息中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
在一种实现方式中,字符检测模型是根据训练样本集训练得到的;训练样本集中包括:样本图像集合、扩充图像集合;
扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
在一种实现方式中,第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,n个第一控制点是从水平字符串的边缘采集确定的,n个第二控制点是根据n个第一控制点在目标函数曲线中确定的;n为大于零的整数;
以及,第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从字符集合中提取到的,在目标画布上每个字符在目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
根据本申请的一个实施例,图15所示的对图像的字符识别方法中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该对图像的字符识别装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2、图8以及图11b所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图15中所示的对图像的字符识别装置,以及来实现本申请实施例的对图像的字符识别方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,获取单元1501能够获取待识别图像,并由处理单元1502对待识别图像对应的特征矩阵中的各个特征值进行编码,得到特征值编码信息,并基于特征值编码信息识别待识别图像上所包含的字符序列中的各个字符,从而实现快速的获取对待识别图像的字符识别结果。并且,在识别到待识别图像上包含的字符序列中的第一个字符后,处理单元1502可对特征值编码信息上与第一字符对应的信息区域进行遮罩处理,这样在识别字符序列中的第二字符的过程中,可避免对第一字符进行重复识别,提高对字符识别的效率,能够较为快捷地识别出字符序列中的各个字符,提高字符识别的准确性和快速性。
图16示出了本申请一个示例性实施例提供的一种电子设备的结构示意图。请参见图16,该电子设备包括存储装置1601以及处理器1602,在本申请实施例中,该电子设备还包括网络接口1603以及用户接口1604。该电子设备可以是智能手机、平板电脑、智能可穿戴设备等等,能够通过网络接口1603接入到互联网,与服务器以及其他电子设备通信、交互数据。用户接口1604可以包括触摸显示屏等等,能够接收用户的操作,还可以向用户显示各种各样的界面以便于接收用户操作。
存储装置1601可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置1601也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置1601还可以包括上述种类的存储器的组合。
处理器1602可以是中央处理器(central processing unit,CPU)。处理器1602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。
本申请实施例的存储装置1601中存储有计算机程序,处理器1602调用存储装置中的计算机程序,当计算机程序被执行时,处理器1602可以用于实施上述诸如图2、图8以及图11a所对应的实施例等描述的方法。
在一个实施例中,该电子设备可以对应于终端或服务器;该存储装置1601中存储有计算机程序;由处理器1602加载并执行计算机程序,以实现上述对图像的字符识别方法实施例中的相应步骤;具体的,处理器1602用于执行如下步骤:
获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,特征矩阵上包括多个特征值;
对特征矩阵中各个特征值进行编码,得到特征值编码信息,特征值编码信息用于表示各个特征值在特征矩阵中的位置信息和特征信息;
基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;
基于第一字符,从遮罩处理后的注意力图中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
在一种实现方式中,特征矩阵是通过训练优化后的特征提取网络对待识别图像进行识别后得到的;
特征值编码信息是通过训练优化后的编码器对特征矩阵中各个特征值进行编码得到的;
第一字符和第二字符是通过训练优化后的解码器对特征值编码信息进行解码后得到的,解码器包括解码模块和基于注意力算法的注意力模块。
在一种实现方式中,处理器1602用于基于特征值编码信息结合注意力算法识别待识别图像上包含的字符序列中的第一字符,并在预测得到第一字符后,对基于注意力算法得到的特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图时,具体用于执行如下步骤:
通过训练优化后得到的解码器中的注意力模块从特征值编码信息对应的注意力图中确定第一个字符所对应的注意力区域;
通过训练优化后得到的解码器中的解码模块对注意力图中注意力区域中的值进行运算,得到待识别图像上包含的字符序列中的第一字符;
将注意力图中注意力区域中的值设置为指定值,得到遮罩处理后的注意力图;
处理器1602用于基于第一字符,从遮罩处理后的注意力图中预测出第二字符时,具体用于执行如下步骤:
通过注意力模块从遮罩处理后的注意力图确定出第二字符对应的注意力区域;
通过解码模块对第一字符和确定出的第二字符对应的注意力区域中的值进行运算,得到第二字符。
在一种实现方式中,处理器1602,还用于执行如下步骤:
获取待识别图像,并对待识别图像进行字符区域识别处理,根据识别处理结果确定待识别字符区域;
根据待识别字符区域得到初始待识别图像;
按照图像调整规则对初始待识别图像进行调整,得到待识别图像;
其中,对初始待识别图像进行调整包括:将初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域,将初始待识别图像的尺寸调整为目标尺寸中的任意一个或者两个的组合。
在一种实现方式中,初始待识别图像是通过区域检测模型来识别的;区域检测模型是通过监督学习的方式进行训练得到的;
其中,在对字符检测模型进行训练时所采用的样本数据集合中包括:真实数据集合、扩充数据集合;
真实数据集合中包含真实数据扩充数据集合中包含扩充数据,扩充数据是对真实数据进行数据增广处理得到的。
在一种实现方式中,待识别图像包含的字符序列中的各个字符是通过字符检测模型来识别的;字符检测模型是通过监督学习的方式进行训练得到的;
其中,在对区域检测模型进行训练时所采用的样本数据集合中包括:真实数据集合、扩充数据集合;
真实数据集合中包括:采集得到的包括字符序列的训练图像,扩充数据集合中包括:对采集到的训练图像进行调整处理后得到的扩充图像,其中,对采集到的训练图像进行调整处理包括:旋转处理、亮度变化处理、对比度变化处理、增加图像噪声处理、图像裁剪处理中的任意一种或多种。
在一种实现方式中,待识别图像包含的字符序列中的各个字符是通过字符检测模型来识别的;字符检测模型是通过监督学习的方式进行训练得到的;
其中,在对字符检测模型进行训练时所采用的训练样本集中包括:样本图像集合、扩充图像集合;
扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
在一种实现方式中,第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,n个第一控制点是从水平字符串的边缘采集确定的,n个第二控制点是根据n个第一控制点在目标函数曲线中确定的;n为大于零的整数。
在一种实现方式中,第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从字符集合中提取到的,在目标画布上每个字符在目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
在另一个实施例中,该电子设备可以对应于终端或服务器;该存储装置1601中存储有计算机程序;由处理器1602加载并执行计算机程序,以实现上述对图像的字符识别方法实施例中的相应步骤;具体的,处理器1602用于执行如下步骤:
获取待识别图像;
将待识别图像作为字符检测模型的输入,并根据字符检测模型的输出结果得到待识别图像的字符识别结果;
其中,字符检测模型包括特征提取网络、编码器以及解码器构成;
特征提取网络用于对待识别图像进行特征分析得到特征矩阵;
编码器用于对特征提取网络输出的特征矩阵上的特征值进行编码;
解码器用于对编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对特征值编码信息进行遮罩处理,得到遮罩处理后的特征值编码信息;基于第一字符从遮罩处理后的特征值编码信息中预测出第二字符,以根据第一字符和第二字符得到对待识别图像的字符识别结果。
在一种实现方式中,字符检测模型是根据训练样本集训练得到的;训练样本集中包括:样本图像集合、扩充图像集合;
扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
在一种实现方式中,第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,n个第一控制点是从水平字符串的边缘采集确定的,n个第二控制点是根据n个第一控制点在目标函数曲线中确定的;n为大于零的整数;
以及,第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从字符集合中提取到的,在目标画布上每个字符在目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
本申请实施例中,能够对待识别图像对应的特征矩阵中的各个特征值进行编码,得到特征值编码信息,并基于特征值编码信息识别待识别图像上所包含的字符序列中的各个字符,从而实现快速的获取对待识别图像的字符识别结果。并且,在识别到待识别图像上包含的字符序列中的第一个字符后,可对特征值编码信息上与第一字符对应的信息区域进行遮罩处理,这样在识别字符序列中的第二字符的过程中,可避免对第一字符进行重复识别,提高对字符识别的效率,能够较为快捷地识别出字符序列中的各个字符,提高印章识别的准确性和快速性。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括电子设备中的内置存储介质,当然也可以包括电子设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备的处理系统。并且,在该存储空间中还存放了适于被处理器1602加载并执行的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各种可选方式中提供的对图像的字符识别方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种对图像的字符识别方法,其特征在于,包括:
获取待识别图像,并对所述待识别图像进行特征分析,得到特征矩阵,所述特征矩阵上包括多个特征值;
对所述特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息;
基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;
基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
2.如权利要求1所述的方法,其特征在于,所述特征矩阵是通过训练优化后的特征提取网络对所述待识别图像进行识别后得到的;
所述特征值编码信息是通过训练优化后的编码器对所述特征矩阵中各个特征值进行编码得到的;
所述第一字符和所述第二字符是通过训练优化后的解码器对所述特征值编码信息进行解码后得到的,所述解码器包括解码模块和基于注意力算法的注意力模块。
3.如权利要求1或2所述的方法,其特征在于,所述基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图,包括:
通过训练优化后得到的解码器中的注意力模块从所述特征值编码信息对应的注意力图中确定第一个字符所对应的注意力区域;
通过训练优化后得到的解码器中的解码模块对所述注意力图中所述注意力区域中的值进行运算,得到所述待识别图像上包含的字符序列中的第一字符;
将所述注意力图中所述注意力区域中的值设置为指定值,得到遮罩处理后的注意力图;
所述基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,包括:
通过所述注意力模块从遮罩处理后的注意力图确定出第二字符对应的注意力区域;
通过所述解码模块对所述第一字符和确定出的第二字符对应的注意力区域中的值进行运算,得到第二字符。
4.如权利要求1所述的方法,其特征在于,所述获取待识别图像之前,还包括:
获取图像,并对获取的图像进行字符区域识别处理,根据识别处理结果确定待识别字符区域;
根据所述待识别字符区域得到初始待识别图像;
按照图像调整规则对所述初始待识别图像进行调整,得到所述待识别图像;
其中,对所述初始待识别图像进行调整包括:将所述初始待识别图像中字符序列所在的位置区域调整至指定的目标图像位置区域,和将所述初始待识别图像的尺寸调整为目标尺寸中的任意一个或者两个的组合。
5.如权利要求4所述的方法,其特征在于,所述初始待识别图像是通过区域检测模型来识别的;所述区域检测模型是通过监督学习的方式进行训练得到的;
其中,在对所述区域检测模型进行训练时所采用的样本数据集合中包括:真实数据集合、扩充数据集合;
所述真实数据集合中包括:采集得到的包括字符序列的训练图像,所述扩充数据集合中包括:对所述采集到的训练图像进行调整处理后得到的扩充图像,其中,对所述采集到的训练图像进行调整处理包括:旋转处理、亮度变化处理、对比度变化处理、增加图像噪声处理、图像裁剪处理中的任意一种或多种。
6.如权利要求1所述的方法,其特征在于,所述待识别图像包含的字符序列中的各个字符是通过字符检测模型来识别的;所述字符检测模型是通过监督学习的方式进行训练得到的;
其中,在对所述字符检测模型进行训练时所采用的训练样本集中包括:样本图像集合、扩充图像集合;
所述扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
所述第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,所述第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
7.如权利要求6所述的方法,其特征在于,所述第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,所述n个第一控制点是从所述水平字符串的边缘采集确定的,所述n个第二控制点是根据所述n个第一控制点在目标函数曲线中确定的;n为大于零的整数。
8.如权利要求6所述的方法,其特征在于,所述第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从所述字符集合中提取到的,在所述目标画布上每个字符在所述目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
9.一种对图像的字符识别方法,其特征在于,包括:
获取待识别图像;
将所述待识别图像作为字符检测模型的输入,并根据所述字符检测模型的输出结果得到所述待识别图像的字符识别结果;
其中,所述字符检测模型包括特征提取网络、编码器以及解码器构成;
所述特征提取网络用于对所述待识别图像进行特征分析得到特征矩阵;
所述编码器用于对所述特征提取网络输出的特征矩阵上的特征值进行编码;
所述解码器用于对所述编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
10.如权利要求9所述的方法,其特征在于,所述字符检测模型是根据训练样本集训练得到的;所述训练样本集中包括:样本图像集合、扩充图像集合;
所述扩充图像集合包括:第一图像集合、第二图像集合中的任意一个或者两者的组合;
所述第一图像集合中的第一图像是通过对搜集到的水平字符串进行曲形化处理后得到的,所述第二图像集合中的第二图像是通过从字符集合中提取的多个字符进行曲形渲染得到的。
11.如权利要求10所述的方法,其特征在于,所述第一图像是通过曲形化处理函数对n个第一控制点和n个第二控制点进行计算得到的,所述n个第一控制点是从所述水平字符串的边缘采集确定的,所述n个第二控制点是根据所述n个第一控制点在目标函数曲线中确定的;n为大于零的整数;
以及,所述第二图像包括:在目标画布中渲染多个字符后生成的;每个字符是从所述字符集合中提取到的,在所述目标画布上每个字符在所述目标画布中的位置和显示方向是根据目标曲形规则计算得到的。
12.一种对图像的字符识别装置,其特征在于,包括:
获取单元,用于获取待识别图像,并对待识别图像进行特征分析,得到特征矩阵,特征矩阵上包括多个特征值;
处理单元,用于对所述特征矩阵中各个特征值进行编码,得到特征值编码信息,所述特征值编码信息用于表示各个特征值在所述特征矩阵中的位置信息和特征信息;基于所述特征值编码信息结合注意力算法识别所述待识别图像上包含的字符序列中的第一字符,并在预测得到所述第一字符后,对基于注意力算法得到的所述特征值编码信息对应的注意力图进行遮罩处理,得到遮罩处理后的注意力图;基于所述第一字符,从所述遮罩处理后的注意力图中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
13.一种对图像的字符识别装置,其特征在于,包括:
获取单元,用于获取待识别图像;
处理单元,用于将所述待识别图像作为字符检测模型的输入,并根据所述字符检测模型的输出结果得到所述待识别图像的字符识别结果;
其中,所述字符检测模型包括特征提取网络、编码器以及解码器构成;
所述特征提取网络用于对所述待识别图像进行特征分析得到特征矩阵;
所述编码器用于对所述特征提取网络输出的特征矩阵上的特征值进行编码;
所述解码器用于对所述编码器输出的特征值编码信息进行预测处理得到第一字符,并在预测得到第一字符之后对所述特征值编码信息进行遮罩处理,得到遮罩处理后的特征值编码信息;基于所述第一字符从所述遮罩处理后的特征值编码信息中预测出第二字符,以根据所述第一字符和所述第二字符得到对所述待识别图像的字符识别结果。
14.一种电子设备,其特征在于,包括:
存储装置,用于存储计算机应用程序;
处理器,执行所述存储装置中存储的计算机应用程序,实现如权利要求1-11任一项所述的对图像的字符识别方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机应用程序,所述计算机应用程序被执行时,实现如权利要求1-11任一项所述的对图像的字符识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508541.5A CN113762261A (zh) | 2021-05-10 | 2021-05-10 | 一种对图像的字符识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508541.5A CN113762261A (zh) | 2021-05-10 | 2021-05-10 | 一种对图像的字符识别方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113762261A true CN113762261A (zh) | 2021-12-07 |
Family
ID=78787121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110508541.5A Pending CN113762261A (zh) | 2021-05-10 | 2021-05-10 | 一种对图像的字符识别方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762261A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581916A (zh) * | 2022-02-18 | 2022-06-03 | 来也科技(北京)有限公司 | 结合rpa和ai的基于图像的字符识别方法、装置及设备 |
CN114898376A (zh) * | 2022-05-31 | 2022-08-12 | 深圳市星桐科技有限公司 | 公式识别方法、装置、设备及介质 |
JP7489503B1 (ja) | 2023-02-14 | 2024-05-23 | エヌ・ティ・ティ・コムウェア株式会社 | テキスト生成装置、テキスト生成方法、およびプログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948604A (zh) * | 2019-02-01 | 2019-06-28 | 北京捷通华声科技股份有限公司 | 不规则排列文本的识别方法、装置、电子设备及存储介质 |
CN110135427A (zh) * | 2019-04-11 | 2019-08-16 | 北京百度网讯科技有限公司 | 用于识别图像中的字符的方法、装置、设备和介质 |
CN110659647A (zh) * | 2019-09-11 | 2020-01-07 | 杭州睿琪软件有限公司 | 印章图像识别方法及装置、智能发票识别设备和存储介质 |
CN111767911A (zh) * | 2020-06-22 | 2020-10-13 | 平安科技(深圳)有限公司 | 面向复杂环境的印章文字检测识别方法、装置及介质 |
CN111783705A (zh) * | 2020-07-08 | 2020-10-16 | 厦门商集网络科技有限责任公司 | 一种基于注意力机制的文字识别方法及系统 |
CN112070054A (zh) * | 2020-09-17 | 2020-12-11 | 福州大学 | 基于图结构与注意力机制的车载激光点云标线分类方法 |
CN112633290A (zh) * | 2021-03-04 | 2021-04-09 | 北京世纪好未来教育科技有限公司 | 文本识别方法、电子设备及计算机可读介质 |
-
2021
- 2021-05-10 CN CN202110508541.5A patent/CN113762261A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948604A (zh) * | 2019-02-01 | 2019-06-28 | 北京捷通华声科技股份有限公司 | 不规则排列文本的识别方法、装置、电子设备及存储介质 |
CN110135427A (zh) * | 2019-04-11 | 2019-08-16 | 北京百度网讯科技有限公司 | 用于识别图像中的字符的方法、装置、设备和介质 |
CN110659647A (zh) * | 2019-09-11 | 2020-01-07 | 杭州睿琪软件有限公司 | 印章图像识别方法及装置、智能发票识别设备和存储介质 |
CN111767911A (zh) * | 2020-06-22 | 2020-10-13 | 平安科技(深圳)有限公司 | 面向复杂环境的印章文字检测识别方法、装置及介质 |
CN111783705A (zh) * | 2020-07-08 | 2020-10-16 | 厦门商集网络科技有限责任公司 | 一种基于注意力机制的文字识别方法及系统 |
CN112070054A (zh) * | 2020-09-17 | 2020-12-11 | 福州大学 | 基于图结构与注意力机制的车载激光点云标线分类方法 |
CN112633290A (zh) * | 2021-03-04 | 2021-04-09 | 北京世纪好未来教育科技有限公司 | 文本识别方法、电子设备及计算机可读介质 |
Non-Patent Citations (1)
Title |
---|
季秀怡;李建华;: "基于双路注意力机制的化学结构图像识别", 计算机工程, no. 09, 30 September 2020 (2020-09-30) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581916A (zh) * | 2022-02-18 | 2022-06-03 | 来也科技(北京)有限公司 | 结合rpa和ai的基于图像的字符识别方法、装置及设备 |
CN114898376A (zh) * | 2022-05-31 | 2022-08-12 | 深圳市星桐科技有限公司 | 公式识别方法、装置、设备及介质 |
CN114898376B (zh) * | 2022-05-31 | 2024-06-25 | 深圳市星桐科技有限公司 | 公式识别方法、装置、设备及介质 |
JP7489503B1 (ja) | 2023-02-14 | 2024-05-23 | エヌ・ティ・ティ・コムウェア株式会社 | テキスト生成装置、テキスト生成方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiong et al. | Learning to generate time-lapse videos using multi-stage dynamic generative adversarial networks | |
US11854206B2 (en) | Temporally distributed neural networks for video semantic segmentation | |
CN110796111B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113762261A (zh) | 一种对图像的字符识别方法、装置、设备及介质 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN112819686B (zh) | 基于人工智能的图像风格处理方法、装置及电子设备 | |
CN111833360B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
CN111768438B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
CN112804558B (zh) | 视频拆分方法、装置及设备 | |
CN113283336A (zh) | 一种文本识别方法与系统 | |
US20220164533A1 (en) | Optical character recognition using a combination of neural network models | |
CN118230081B (zh) | 图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
Alam et al. | Two dimensional convolutional neural network approach for real-time bangla sign language characters recognition and translation | |
CN117541668A (zh) | 虚拟角色的生成方法、装置、设备及存储介质 | |
CN117876535A (zh) | 一种图像处理方法、装置、设备、介质及程序产品 | |
CN113762056A (zh) | 演唱视频识别方法、装置、设备及存储介质 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
CN113065432A (zh) | 一种基于数据增强和ECA-Net的手写体蒙古文识别方法 | |
CN111209886A (zh) | 一种基于深度神经网络的快速行人再识别方法 | |
CN113313127B (zh) | 文本图像识别方法、装置、计算机设备和存储介质 | |
Li | Special character recognition using deep learning | |
CN111915701A (zh) | 一种基于人工智能的按钮图像生成方法和装置 | |
Seegehalli et al. | Deep hybrid architectures and DenseNet35 in speaker-dependent visual speech recognition | |
CN116612466B (zh) | 基于人工智能的内容识别方法、装置、设备及介质 | |
CN117935029B (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 |