CN116311256A - 图像处理方法及装置、识别网络的训练方法及装置 - Google Patents

图像处理方法及装置、识别网络的训练方法及装置 Download PDF

Info

Publication number
CN116311256A
CN116311256A CN202211569625.0A CN202211569625A CN116311256A CN 116311256 A CN116311256 A CN 116311256A CN 202211569625 A CN202211569625 A CN 202211569625A CN 116311256 A CN116311256 A CN 116311256A
Authority
CN
China
Prior art keywords
network
image
sub
training
processed
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
Application number
CN202211569625.0A
Other languages
English (en)
Inventor
刘腾龙
马志国
张飞飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Oriental Education Technology Group Co ltd
Original Assignee
New Oriental Education Technology Group Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New Oriental Education Technology Group Co ltd filed Critical New Oriental Education Technology Group Co ltd
Priority to CN202211569625.0A priority Critical patent/CN116311256A/zh
Publication of CN116311256A publication Critical patent/CN116311256A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19093Proximity measures, i.e. similarity or distance measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

一种图像处理方法及装置、识别网络的训练方法及装置。该图像处理方法包括:获取待处理图像;利用识别网络对待处理图像进行处理,以得到目标对象对应的文本内容;其中,识别网络包括特征提取子网络、编码子网络和解码子网络;特征提取子网络配置为提取待处理图像的视觉特征;编码子网络配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到待处理图像的语义特征;解码子网络配置为基于语义特征,预测文本内容。该图像处理方法利用自注意力机制将输入序列上不同位置的信息联系起来,灵活的捕捉全局和局部的关系,既能够做到一步到位的全局联系捕捉又能够实现并行计算,提高了识别网络的识别精度。

Description

图像处理方法及装置、识别网络的训练方法及装置
技术领域
本公开的实施例涉及一种图像处理方法、图像处理装置、识别网络的训练方法、识别网络的训练装置、电子设备以及非瞬时性计算机可读存储介质。
背景技术
数理化学科中普遍存在结构复杂的公式,例如高维矩阵、高阶导数、复杂有机化学式等。利用公式识别技术可以识别图片中的公式并转换为可编辑文本格式,例如LaTex序列。例如,公式识别技术可以用于题库录排、智能批改等。在题库录排时,可以直接识别图片中的公式而不需人工录入公式,极大提高题库录排效率;在智能批改中,公式识别技术可以对学生的数理化作业进行自动批改,大大降低授课老师的课后作业批改压力,节省授课老师宝贵时间。
发明内容
本公开至少一实施例提供一种图像处理方法,包括:获取待处理图像,其中,所述待处理图像包括待识别的目标对象,所述目标对象包括多个字符;利用识别网络对所述待处理图像进行处理,以得到所述目标对象对应的文本内容;其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;所述特征提取子网络配置为提取所述待处理图像的视觉特征;所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述待处理图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;所述解码子网络配置为基于所述语义特征,预测所述文本内容。
例如,在本公开至少一实施例提供一种图像处理方法中,所述目标对象为公式,所述公式包括多种空间结构。
例如,在本公开至少一实施例提供一种图像处理方法中,所述文本内容为可编辑文本序列。
例如,在本公开至少一实施例提供一种图像处理方法中,所述特征提取子网络包括残差网络,所述特征提取子网络配置为利用所述残差网络,提取所述待处理图像的图像特征并对所述待处理图像进行下采样处理,输出多个特征图,其中,所述视觉特征包括所述多个特征图。
例如,在本公开至少一实施例提供一种图像处理方法中,所述残差网络包括卷积层、组归一化层、2个第一卷积模块、3个第二卷积模块以及7个第三卷积模块。
例如,在本公开至少一实施例提供一种图像处理方法中,每个特征图的尺寸为2×8。
例如,在本公开至少一实施例提供一种图像处理方法中,所述编码子网络包括块嵌入模块,所述块嵌入模块配置为:根据所述视觉特征,得到所述待处理图像对应的多个标记;为每个标记添加位置信息,以得到所述多个标记分别对应的多个位置信息;将所述多个标记和所述多个位置信息组合为二维矩阵形式,以得到编码输入向量。
例如,在本公开至少一实施例提供一种图像处理方法中,所述编码子网络还包括编码模块,所述编码模块包括M个编码器,所述M个编码器级联,其中,第一个编码器配置为接收所述编码输入向量,对所述编码输入向量进行处理,得到处理结果,第i个编码器配置为接收并处理第i-1个编码器输出的处理结果,所述语义特征根据第M个编码器的处理结果得到,其中,M为大于1的正整数,i为大于1且小于等于M的正整数。
例如,在本公开至少一实施例提供一种图像处理方法中,每个编码器包括第一多头自注意力子模块和第一前馈神经网络子模块,所述第一多头自注意力子模块配置为计算所述多个标记中每两个标记之间的相似度,以得到所述多个标记之间的序列结构信息,其中,所述多个字符之间的全局联系包括所述多个标记之间的序列结构信息;所述第一前馈神经网络子模块配置为对所述多个标记之间的序列结构信息进行线性变换处理,得到所述每个编码器的处理结果。
例如,在本公开至少一实施例提供一种图像处理方法中,M为4。
例如,在本公开至少一实施例提供一种图像处理方法中,所述解码子网络包括解码模块,所述解码模块配置为将所述语义特征和已识别的文本内容相结合,逐个预测每个字符对应的字符文本;其中,所述字符文本为所述每个字符对应的可编辑文本格式,所述已识别的文本内容包括由已预测的字符文本组成的输入序列。
例如,在本公开至少一实施例提供一种图像处理方法中,所述解码模块包括N个解码器,所述N个解码器级联,其中,第一个解码器配置为对所述语义特征和所述输入序列进行处理,得到处理结果,第j个解码器配置为对所述语义特征和第j-1个解码器输出的处理结果进行处理,得到处理结果,其中,N为大于1的正整数,j为大于1且小于等于N的正整数。
例如,在本公开至少一实施例提供一种图像处理方法中,每个解码器包括第二多头自注意力子模块,多头交互模块,以及第二前馈神经网络子模块,所述第二多头自注意力子模块配置为结合掩码机制和所述自注意力机制对接收的输入数据进行处理,以输出第一注意力矩阵,其中,所述输入数据包括所述输入序列,或者级联的上一级解码器输出的处理结果;所述多头交互模块配置为利用所述自注意力机制对所述第一注意力矩阵和所述语义特征进行处理,输出第二注意力矩阵;所述第二前馈神经网络子模块配置为对所述第二注意力矩阵进行线性变换处理,得到所述每个解码器的处理结果。
例如,在本公开至少一实施例提供一种图像处理方法中,所述解码模块还包括分类器,所述分类器包括全连接层和激活函数层,所述分类器配置为对第N个解码器输出的处理结果进行分类处理,得到预测的字符文本。
例如,在本公开至少一实施例提供一种图像处理方法中,N为4。
本公开至少一实施例提供一种识别网络的训练方法,包括:获取训练图像,其中,所述训练图像包括待识别的目标对象,所述目标对象包括多个字符;获取所述多个字符对应的标准文本内容;基于所述训练图像和所述标准文本内容,对待训练的所述识别网络进行训练;其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;所述特征提取子网络配置为提取所述训练图像的视觉特征;所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述训练图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;所述解码子网络配置为基于所述语义特征,预测所述文本内容。
例如,在本公开至少一实施例提供一种识别网络的训练方法中,获取训练图像,包括:获取原始图像,其中,所述原始图像包括所述目标对象;对所述原始图像进行图像增强处理,以得到多个处理后图像,将所述多个处理后图像中的任一个作为所述训练图像;其中,所述图像增强处理包括清晰度调节处理、亮度调节处理、角度调节处理、水印添加处理、噪声添加处理中的一种或多种组合。
例如,在本公开至少一实施例提供一种识别网络的训练方法中,所述目标对象为公式,获取原始图像,包括:构建具有不同公式结构的多个公式,其中,所述多个公式的形式为可编辑文本序列;对所述多个公式进行反编译,得到多个公式图片;对所述多个公式图片添加不同的字体处理和字号处理,以得到多个所述原始图像。
例如,在本公开至少一实施例提供一种识别网络的训练方法中,响应于所述目标对象为公式,获取所述多个字符对应的标准文本内容,包括:获取所述多个字符对应的文本表达式,其中,所述文本表达式为可编辑文本序列;对所述文本表达式进行符号归一化处理和语法归一化处理,以得到所述标准文本内容。
本公开至少一实施例提供一种图像处理装置,包括:获取单元,配置为获取待处理图像,其中,所述待处理图像包括待识别的目标对象,所述目标对象包括多个字符;处理单元,配置为利用识别网络对所述待处理图像进行处理,以得到所述目标对象对应的文本内容;其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;所述特征提取子网络配置为提取所述待处理图像的视觉特征;所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述待处理图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;所述解码子网络配置为基于所述语义特征,预测所述文本内容。
本公开至少一实施例提供一种识别网络的训练装置,包括:训练图像获取单元,配置为获取训练图像,其中,所述训练图像包括待识别的目标对象,所述目标对象包括多个字符;文本内容获取单元,配置为获取所述多个字符对应的文本内容;训练单元,配置为基于所述训练图像和所述文本内容,对待训练的所述识别网络进行训练;其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;所述特征提取子网络配置为提取所述训练图像的视觉特征;所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述训练图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;所述解码子网络配置为基于所述语义特征,预测所述文本内容。
本公开至少一实施例提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的图像处理方法,或者执行根据本公开任一实施例所述的训练方法。
本公开至少一实施例提供一种一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的图像处理方法,或者执行根据本公开任一实施例所述的训练方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开一实施例提供的一种图像处理方法的流程图;
图2为本公开至少一实施例提供的识别网络的结构示意图;
图3为本公开至少一实施例提供的特征提取子网络的示意性结构图;
图4为本公开至少一实施例提供的编码子网络的示意性结构图;
图5为本公开至少一实施例提供的解码子网络的示意性结构图;
图6为本公开一实施例提供的一种识别网络的训练方法的流程图;
图7为本公开至少一实施例提供的一种图像处理装置的示意性框图;
图8为本公开至少一实施例提供的一种训练装置的示意性框图;
图9为本公开一实施例提供的一种电子设备的示意性框图;
图10为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图;
图11为本公开至少一实施例提供的一种硬件环境的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
利用传统图像处理方法进行公式识别时,通常先采用连通域、阈值分割等方法提取单个字符的位置,然后对每个字符设计强特征并提取每个字符的特征,之后采用相似度计算方法得到每个字符的预测分类结果,由此实现公式识别。这种方式需要对识别图片进行复杂预处理操作,预处理结果直接决定了模型的泛化能力;并且,这种方式还需要进行字符级标注,标注成本高;此外,这种识别方式的识别能力有限,对空间结构复杂的公式(例如高维数组、存在包围结构的根号、方向导数等)的识别效果不好。
在一些场景中,还可以使用深度学习方法完成公式识别。深度学习方法是采用有监督学习方法来学习海量公式数据的数据特征,进而得到强泛化能力的公式识别模型。
深度学习方法的一种实现方案先采用CNN(Convolutional Neural Networks,卷积神经网络)提取图像特征,然后根据RNN(Rerrent Neural Network,循环神经网络)或者LSTM(Long Short-Term Memory,长短期记忆网络)提取图像的序列特征,最后采用CTC(Connectionist Temporal Classification,连接时序分类)进行损失函数的计算,进而得到该公式的识别结果。这种方式对左右空间结构(例如“1+2=3”)的公式具有较高的准确率,但是无法识别复杂空间结构的公式,例如包围结构(例如根号)的公式、上下结构的公式(例如分数)等。
深度学习方法的另一种实现方案采用Seq2Seq模型(Sequence To Sequence,序列到序列模型)结合注意力机制的方法进行公式识别。首先,在编码阶段进行特征提取,然后在解码阶段进行序列预测,并且在解码阶段的当前时间片预测时,注意力机制可以学习到语义向量每个分量的重要程度,进而更加关注更重要的语义分量。这种方式可以对复杂空间结构的公式有很好的识别效果,但是由于其本身存在像循环神经网络、长短期记忆网络等序列解码的网络部件,当公式对应的可编辑文本序列(例如LaTex序列)较长时,这种长期序列依赖的网络结构会限制模型的表达能力,从而导致对可编辑文本序列的长度较长的公式图片的识别准确率不高。
本公开至少一实施例提供一种图像处理方法及装置、识别网络的训练方法及装置、电子设备以及非瞬时性存储介质。该图像处理方法包括:获取待处理图像,其中,待处理图像包括待识别的目标对象,目标对象包括多个字符;利用识别网络对待处理图像进行处理,以得到目标对象对应的文本内容;其中,识别网络包括特征提取子网络、编码子网络和解码子网络;特征提取子网络配置为提取待处理图像的视觉特征;编码子网络配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到待处理图像的语义特征,其中,语义特征包括多个字符之间的全局联系;解码子网络配置为基于语义特征,预测文本内容。
本公开至少一实施例提供的图像处理方法采用全新的识别网络结构,摒弃了循环神经网络这种有记忆缺陷的循环网络部件,利用自注意力机制将输入序列上不同位置的信息联系起来,灵活的捕捉全局和局部的关系,既能够做到一步到位的全局联系捕捉又能够实现并行计算,提高了识别网络的识别精度。例如,当目标对象为公式时,该识别网络不仅能够对复杂空间结构的公式有很好的识别效果,还能够准确识别可编辑文本序列的长度较长的公式。
本公开实施例提供的图像处理方法可应用于本公开实施例提供的图像处理装置,该图像处理装置可被配置于电子设备上。该电子设备可以是个人计算机、移动终端等,该移动终端可以是手机、平板电脑、笔记本电脑等硬件设备。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为本公开一实施例提供的一种图像处理方法的流程图。
如图1所示,本公开至少一实施例提供的图像处理方法包括步骤S10至步骤S20。
步骤S10:获取待处理图像。
例如,待处理图像包括待识别的目标对象,目标对象包括多个字符。
例如,目标对象为公式,公式包括物理公式、数学公式、化学式等。
例如,公式包括多种空间结构,例如,空间结构可以包括左右结构、上下结构、半包围结构等,例如,左右结构为例如“1+2=3”的结构,上下结构例如为分数等,半包围结构例如根号等。也就是说,本公开至少一实施例处理的目标对象可以是由分式、上下角标、大括号、根号等组成的具有复杂结构特征的公式,如高维矩阵、高阶导数、复杂有机化学式等。
例如,多个字符为组成公式中的字母、数字或符号等,并且,每个字符具有对应的可编辑文本序列表达形式。
例如,可编辑文本序列为LaTex序列。若公式为“1+cos2x=2cos2x”,该公式对应的LaTex序列为“1+\cos 2x=2\cos^{2}x”,那么公式“1+cos2x=2cos2x”包括的多个字符有:“1”、“+”、“cos”、“2”、“x”“=”、“2”、“cos”、“2”、“x”。
例如,目标对象可以具有各种字体、各种颜色等。例如,目标对象可以包括印刷体公式和手写体公式。
例如,本公开中的公式不限制其对应的可编辑文本序列的长度,例如,一些复杂公式的可编辑文本序列包括60-70个字符甚至更长,本公开至少一实施例提供的图像处理方法均可以准确识别。
例如,待处理图像可以为通过图像采集装置(例如,数码相机或手机等)拍摄的图像,待处理图像可以为灰度图像,也可以为彩色图像。需要说明的是,待处理图像是指以可视化方式呈现待处理物体(例如,试卷、作业、练习册等)的形式,例如待处理物体的图片等。又例如,待处理图像也可以通过扫描等方式得到,相应地图像采集装置可以为扫描仪等。例如,待处理图像可以为图像采集装置直接采集到的图像,也可以是对采集得到的图像进行预处理之后获得的图像。
例如,待处理图像中包括一个目标对象,也即待处理包括一个完整的待识别的公式。例如,获取待处理图像可以包括:预先对包括至少一个公式的原始图像进行切分,将每个完整的、需要识别的公式图片分割出来,作为待处理图像。
需要说明的是,本公开至少一实施例提供的图像处理方法不仅可以用于识别复杂结构的公式,也可以用于识别常规的包含文字的图像等。例如,在训练过程中训练识别网络识别文字,例如,在识别字典中添加文字,则可以通过训练使得识别网络能够识别包含文字的图像,此时,多个字符也包括文字。例如,文字可以包括数理化学科中出现的高频文字,如“高温”、“加热条件”等。
步骤S20:利用识别网络对待处理图像进行处理,以得到目标对象对应的文本内容。
例如,在目标对象为公式时,目标对象对应的文本内容为该公式的可编辑文本序列,例如LaTex表达式(也称LaTex序列)。
图2为本公开至少一实施例提供的识别网络的结构示意图。
例如,如图2所示,识别网络100包括特征提取子网络101、编码子网络102和解码子网络103。
例如,特征提取子网络101配置为提取待处理图像的视觉特征。
例如,编码子网络102配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到待处理图像的语义特征,这里,语义特征包括多个字符之间的全局联系。
例如,解码子网络103配置为基于语义特征,预测文本内容。
本公开至少一实施例提供的图像处理方法先利用特征提取子网络101提取待处理图像的视觉特征;之后,编码子网络102基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,例如,编码子网络102计算每个字符与其他字符之间的相似度,直接获取全局联系,从而得到包括多个字符之间的全局联系的语义特征;之后,利用解码子网络103根据基于语义特征,预测文本内容。
本公开至少一实施例提供的图像处理方法不同于传统深度学习方法通过池化操作来增大感受野,从而获取不相连区域字符的关系,而是利用自注意力机制直接获取字符之间的全局联系,解决了序列解码的长期依赖关系,从而对于具有复杂结构的公式或可编辑文本序列的长度较长的公式也有更优的识别准确率。
下面结合附图,具体说明本公开至少一实施例提供的识别网络的具体结构和图像处理过程。
需要说明的是,下述内容中的通道数、每一层输出的特征图尺寸的具体数值均为一种可能的实施方式,本领域技术人员可以根据实际需要调整通道数和特征图尺寸,本公开对此不作限制。
例如,特征提取子网络101包括残差网络,特征提取子网络101配置为利用残差网络,提取待处理图像的图像特征并对待处理图像进行下采样处理,输出多个特征图,例如,视觉特征包括多个特征图。
图3为本公开至少一实施例提供的特征提取子网络的示意性结构图。
如图3所示,特征提取子网络101包括残差网络(图3中虚线框所示),残差网络包括卷积层、组归一化层、激活函数层、池化层、2个第一卷积模块、3个第二卷积模块以及7个第三卷积模块。
例如,残差网络可以参考ResNet50的结构,但与ResNet50不同的是,本公开至少一实施例中的残差网络的卷积层采用StdConv2d(标准归一化卷积),归一化层没有采用批归一化层(Batch Normalization),而是使用组归一化层(Group Normalization);此外,在ResNet50网络中包括4个卷积模块(分别为卷积模块1、卷积模块2、卷积模块3和卷积模块4),每个卷积模块包括不同尺寸的多个卷积层,卷积模块1重复堆叠3次,卷积模块2重复堆叠4次,卷积模块3重复堆叠6次,卷积模块4重复堆叠3次,在本公开至少一实施例提供的残差网络中,重复堆叠3次的卷积模块4中移至卷积模块3中,由此,将卷积模块1作为第一卷积模块,卷积模块2作为第二卷积模块,包含卷积模块4的调整后卷积模块3作为第三卷积模块,第一卷积模块重复堆叠2次,第二卷积模块重复堆叠3次,第三卷积模块重复堆叠7次。
在本公开至少一实施例提供的残差网络中,激活函数层采用RELU函数,池化层为最大值池化(MaxPool),由此,得到残差网络。
例如,如图3所示,残差网络接收的待处理图像的尺寸为32×128×1,也即待处理图像为灰度图像且高度为32像素,宽度为128像素。经过卷积层处理后输出64通道的尺寸为16×64的特征图;经过池化层处理后输出64通道的尺寸为8×32的特征图;经过2个第一卷积模块处理后输出256通道的尺寸为8×32的特征图;经过3个第二卷积模块处理后输出512通道的尺寸为4×16的特征图;经过7个第一卷积模块处理后输出1024通道的尺寸为2×8的特征图。
因此,通过残差网络不仅提取了待处理图像的多个特征图作为视觉特征,还相当于将待处理图像下采样16倍(由32×128的待处理图像转换为2×8的特征图),从而这些特征图可以直接作为后续的编码子网络的输入。
此外,残差网络最终输出的每个特征图的尺寸处理为2×8,目标对象为公式时,该尺寸对于公式的适配度最优。
图4为本公开至少一实施例提供的编码子网络的示意性结构图。
如图4所示,编码子网络102包括块嵌入模块1021和编码模块1022。
例如,块嵌入模块1021配置为:根据视觉特征,得到待处理图像对应的多个标记;为每个标记添加位置信息,以得到多个标记分别对应的多个位置信息;将多个标记和多个位置信息组合为二维矩阵形式,以得到编码输入向量。
例如,编码模块1022要求输入的是标记(token)序列,即二维矩阵[token_dim,num_token],其中,token_dim为token的维度,num_token为token的数量。特征提取子网络101输出多个二维特征图,也即其数据格式为三维矩阵[H,W,C],其中H为特征图高度,W为特征图宽度,C为通道个数,这种数据格式明显不是编码模块1022所需要的,所以需要先通过一个块嵌入模块来对图像数据进行变换。
例如,如图4所示,视觉特征包括1024通道的尺寸为2×8的特征图,在块嵌入模块1021中,首先通过卷积层(未示出)调整通道数,例如,卷积层的卷积核尺寸为1*1,卷积步长为1,调整后的通道数例如为256,也即通过该卷积层处理后输出的特征图为256通道,尺寸为2×8的特征图。
之后,将256×2×8的特征图在宽度和高度两个维度展平,由此,得到编码模块1012所需的16×256的二维矩阵形式,例如,该16×256二维矩阵也可看做16个标记(token),每个标记的长度为256。
例如,还可以在输入编码模块1012之前加入位置信息(Position Embedding),以引入每个标记在序列中的位置。
此外,也可以在刚刚得到的多个标记前插入一个专门用于分类的分类标记([class]token,未示出),这个分类标记是一个可训练的参数,数据格式和其它标记一样,都是一个256维度的向量,其与之前生成的多个标记进行拼接,得到[17,256]的二维矩阵。
例如,位置信息也是一个[17,256]的二维矩阵,其中包含了每个标记的位置信息,通过与加入分类标记的二维矩阵进行拼接,得到中间向量,维度也是[17,256]。
需要说明的是,由于本公开至少一实施例提供的图像处理方法主要利用编码子网络102输出的语义特征,而不用于分类,因此即使不加分类标记,也不影响方案的实施。
例如,由多个标记和多个位置信息组合为二维矩阵形式的中间向量,如图4所示,中间向量通过输出层(例如DropOut)进行处理,以减少网络过拟合的结构,最终得到输入到编码模块1022的编码输入向量。
如图4所示,编码模块1022包括M个编码器,分别为图4中的编码器1、编码器2、...编码器M,M个编码器级联。
例如,第一个编码器配置为接收编码输入向量,对编码输入向量进行处理,得到处理结果;第二个编码器配置为接收第一个编码器的处理结果并处理,得到第二个编码器的处理结果;...;第i个编码器配置为接收并处理第i-1个编码器输出的处理结果,以此类推。
例如,语义特征根据第M个编码器的处理结果得到,这里,M为大于1的正整数,i为大于1且小于等于M的正整数。
例如,第一个编码器为M个级联的编码器中的第一级解码器,接收外部输入,例如为图4中的编码器1;第N个编码器为M个级联的编码器中最后一级编码器,输出最终结果,例如为图4中的编码器M;第i个编码器为M个级联的编码器中第i级编码器。
例如,第M个编码器的处理结果经过层归一化(Layer Normalization)进行处理,以加速模型收敛并且防止梯度消失和梯度爆炸,同时提供一定的正则化作用,由此,得到语义特征。
例如,每个编码器包括第一多头自注意力子模块和第一前馈神经网络子模块(图中未示出)。
例如,第一多头自注意力子模块配置为计算多个标记中每两个标记之间的相似度,以得到多个标记之间的序列结构信息,其中,多个字符之间的全局联系包括多个标记之间的序列结构信息。
例如,第一前馈神经网络子模块配置为对多个标记之间的序列结构信息进行线性变换处理,得到每个编码器的处理结果。
关于第一多头自注意力子模块和第一前馈神经网络子模块的结构、计算原理等内容可以参考Transformer模型中编码端的各个堆叠的编码器(Encoder)的结构,这里不再赘述。
第一多头自注意力子模块可以让模型去关注不同方面的信息,最终将各个方面的信息整合起来,以辅助网络捕捉到更丰富的特征或信息,增强模型的表达能力。例如,第一多头自注意力子模块利用自注意力机制,在计算过程中会直接将公式中任意两个字符的联系通过一个计算步骤(计算多个标记之间的相似度所得到的自注意力矩阵)直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征。并且,相比于传统的RNN、LSTM或Seq2Seq等模型,编码模块支持并行计算,这也大幅提高识别网络的计算能力和效率。
例如,在一些实施例中,M设置为4,此时识别网络的识别准确率、计算效率、模型复杂度得到最优的平衡。
图5为本公开至少一实施例提供的解码子网络的示意性结构图。
如图5所示,解码子网络103包括解码模块1031,解码模块1031配置为将语义特征和已识别的文本内容相结合,逐个预测每个字符对应的字符文本。
例如,字符文本为每个字符对应的可编辑文本格式,例如,字符文本为每个字符对应的LaTex表达式。例如,已识别的文本内容包括由已预测的字符文本组成的输入序列。
例如,通常输入序列中的第一个元素为特殊标签(token),该标签可以为用于指示字符文本开始的标签,例如“<SS>”或“<BOS>”,或者,该标签也可以是用于指示上一轮预测的文本内容已结束的标签,例如“<EOS>”,或者,该标签也可能是其它视任务而定的标签等,本公开对此不作限制,该标签的目标均是预测下一个位置的字符文本是什么。
例如,在预测出第一个字符文本后,将第一个字符文本和特殊标签作为输入序列,输入解码模块1031进行识别,得到预测的第二个字符文本;之后,将预测的第二个字符文本、第一个字符文本和特殊标签作为输入序列,输入解码模块1031进行识别,得到预测的第三个字符文本,以此类推,直到输出结束标签,例如输出“<EOS>”,完成一轮公式识别。
例如,如图5所示,解码模块1031包括N个解码器,分别为图5中的解码器1至解码器N,N个解码器级联。
例如,第一个解码器配置为对语义特征和输入序列进行处理,得到处理结果;第二个解码器为对语义特征和第一个解码器的处理结果进行处理,得到处理结果;...;第j个解码器配置为对语义特征和第j-1个解码器输出的处理结果进行处理,得到处理结果,这里,N为大于1的正整数,j为大于1且小于等于N的正整数。
例如,第一个解码器为N个级联的解码器中第一级解码器,接收外部输入,例如为图5中的解码器1;第N个解码器为N个级联的解码器中最后一级解码器,输出最终结果,例如为图5中的解码器N。
例如,每个解码器包括第二多头自注意力子模块,多头交互模块,以及第二前馈神经网络子模块。
例如,第二多头自注意力子模块配置为结合掩码机制和自注意力机制对接收的输入数据进行处理,以输出第一注意力矩阵。例如,对于第一个解码器,输入数据包括输入序列,对于第二个解码器至第N个解码器,输入数据包括级联的上一级解码器输出的处理结果。
例如,多头交互模块配置为利用自注意力机制对第一注意力矩阵和语义特征进行处理,输出第二注意力矩阵。例如,注意力矩阵由每两个标记之间的相似度得到,注意力矩阵的具体计算方式不再赘述。
多头交互模块的形式与第二多头自注意力子模块一致,唯一不同的是Q(Query,查询)矩阵、K(Key,键)矩阵、V(Value,值)矩阵的来源不同。对于多头交互模块,Q矩阵来源于第一自注意力模块的输出,而K矩阵和V矩阵来自于编码模块1022的输出,由此实现让解码端的标记给予编码端对应的标记更多的关注。
例如,第二前馈神经网络子模块配置为对第二注意力矩阵进行线性变换处理,得到每个解码器的处理结果。
关于第二多头自注意力子模块、多头交互模块和第二前馈神经网络子模块的结构、计算原理等内容可以参考Transformer(转换)模型中解码端的各个堆叠的解码器(Decoder)的结构,这里不再赘述。
例如,如图5所示,解码模块1031还包括分类器,分类器包括全连接层和激活函数层(例如softmax)。
例如,分类器配置为对第N个解码器输出的处理结果进行分类处理,得到预测的字符文本。
例如,预先获取识别字典,识别字典是所有可能的字符文本的集合。例如,可以通过归纳总结数理化学科中出现的高频公式符号,得到最终的公式识别字典。
例如,全连接层对第N个解码器输出的处理结果进行处理,得到中间结果;中间结果经过激活函数层处理后,得到长度为T的一维向量,T也是识别字典中包括的所有字符文本的总数,例如,一维向量中的T个元素与识别字典中的T个字符文本一一对应;将一维向量中的最大元素值对应的字符文本作为预测的字符文本并输出。
例如,解码子网络103中的预处理可以包括利用块嵌入模块得到合适的数据形式以及添加位置信息,具体过程与前述的块嵌入模块1021的相关过程相同,这里不再赘述。
例如,在一些实施例中,N设置为4,此时识别网络的识别准确率、计算效率、模型复杂度得到最优的平衡。
例如,以公式为1+cos2x=2cos2x为例,具体说明解码阶段的工作流程。
例如,公式1+cos2x=2cos2x对应的可编辑文本序列为:1+\cos 2x=2\cos^{2}x。
首先,使用一个开始标签进行预测,例如输入序列包括开始标签<SS>,将输入序列经预处理调整至合适的数据形式后输入到第一个解码器中,例如解码器1中,并结合从编码子网络102中得到语义特征,得到处理结果;将该处理结果输入至第二个解码器,例如解码器2中,第二个解码器结合从编码子网络102中得到语义特征对该处理结果进行处理,得到第二个解码器的处理结果;..;以此类推,在得到第N个解码器(例如解码器N)的输出结果后,通过分类器得到预测的字符文本,例如预测的字符文本为“1”。
之后,将["<SS>","1"]作为输入序列,将输入序列经预处理调整至合适的数据形式后输入到第一个解码器中继续重复上述过程,得到下一个预测的字符文本“+”。
之后,继续上述过程,直到分类器输出结束标签,例如“<EOS>”,完成一轮预测,得到公式1+cos2x=2cos2x对应的文本内容“1+\cos 2x=2\cos^{2}x”。
本公开至少一实施例提供的图像处理方法能够在高性能服务器(例如图形处理器)上部署服务,并支持动态扩容的高并发,保证服务调用的鲁棒性;并且,该方法采用全新的识别网络结构,解决序列解码的长期依赖关系,大幅提升公式识别准确率,不论对于具有复杂空间结构的公式或是可编辑文本序列较长的公式,都能得到较为准确的识别结果。
本公开至少一实施例还提供一种识别网络的训练方法。图6为本公开一实施例提供的一种识别网络的训练方法的流程图。
如图6所示,本公开至少一实施例提供的训练方法包括步骤S30至步骤S50。
步骤S30,获取训练图像。
例如,训练图像包括待识别的目标对象,目标对象包括多个字符。
步骤S40,获取多个字符对应的标准文本内容。
例如,目标对象包括公式,多个字符的定义如前所述,这里不再赘述。
例如,多个字符对应的标准文本内容可以为公式的可编辑文本序列,例如LaTex序列。
步骤S50,基于训练图像和标准文本内容,对待训练的识别网络进行训练。
例如,识别网络包括特征提取子网络、编码子网络和解码子网络;特征提取子网络配置为提取训练图像的视觉特征;编码子网络配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到训练图像的语义特征,其中,语义特征包括多个字符之间的全局联系;解码子网络配置为基于语义特征,预测文本内容。
关于识别网络的结构和功能可以参考本公开至少一实施例提供的图像处理方法中的相关内容,重复之处不再赘述。
例如,在步骤S50,识别网络的具体训练过程为有监督训练,也即将识别网络输出的预测的文本内容与标准文本内容进行比较,根据损失函数计算损失值,依据损失值更新识别网络的权重,之后重复上述过程,直到预测的文本内容与标准文本内容相符,由此得到训练好的识别网络。
需要说明的是,在训练阶段,识别网络可以并行训练,也即一次性给出全部的输入序列,一次性预测目标序列(文本内容)。此时,解码子网络中的第二多头注意力模块需要引入掩码机制,以避免识别网络看到未来的信息,具体过程可以参考Transformer模型的训练过程,这里不再赘述。
海量多样化的数理化公式数据是确保数理化公式识别模型泛化性的关键,而公式数据复杂多变,人工标注真实标签需要对可编辑文本序列的语法有深刻理解,这无形中加大了公式数据的标注难度。并且,公式数据标注成本高,为了降低标注成本,本公开至少一实施例提供的训练方法通过分析真实场景中的数据分布以及数据特征,采用数据合成和数据增强技术来得到海量训练图像。
例如,步骤S30可以包括:获取原始图像,其中,原始图像包括目标对象;对原始图像进行图像增强处理,以得到多个处理后图像,将多个处理后图像中的任一个作为训练图像;其中,图像增强处理包括清晰度调节处理、亮度调节处理、角度调节处理、水印添加处理、噪声添加处理中的一种或多种组合。
例如,在步骤S30,可以通过拍照、扫描等方式采集公式图像,或者通过网络下载带有公式的图片,将其作为原始图像。采集过程可以根据实际业务场景设置,保证数据来源的多样化。
例如,目标对象为公式,获取原始图像,可以包括:构建具有不同公式结构的多个公式,其中,多个公式的形式为可编辑文本序列;对多个公式进行反编译,得到多个公式图片;对多个公式图片添加不同的字体处理和字号处理,以得到多个原始图像。
例如,可以预先构建例如数十万的LaTex格式的不同类型公式,例如包括有多层分式嵌套、根号、大括号、上下角标等组合起来的多种公式类型;将这些LaTex公式进行反编译,将其由LaTex格式转换成公式符号,得到多个公式图片;对多个公式图片并添加不同的字体、字号表达,得到多个原始图像。
由于收集到的原始图像无法涵盖所有亮度条件、图像质量、倾斜角度等不同情况,而真实场景复杂多变,存在图片扭曲畸变、强光照、椒盐噪声等复杂场景,不够充足的待训练数据会影响识别网络的鲁棒性。为了在有限的数据上,模拟尽可能多的公式状态,以保证模型的泛化性,本公开至少一实施例提供的训练方法还包括对原始图像进行多种图像增强处理,以适应复杂多变的真实场景。
例如,亮度调节处理可以采用HSV(Hue,Saturation,Value,色调、饱和度、明度)空间亮度调节方法。例如,初始图像为RGB图像,首先将初始图像中每个像素点的一组RGB像素值转换值HSV颜色空间,也即每个像素点的像素值包括一组色调值、饱和度值和明度值;之后,从预设范围中随机选择一个数值作为调节系数,将HSV颜色空间中每个像素点的明度值与该调解系数相乘,以调节每个像素点的亮度;最后,将调节后的每个像素点的像素值(色调值、饱和度值和明度值)转换回RGB颜色空间,从而得到多个不同亮度的待训练图像。
通过这种方式可以模拟多种不同亮度条件下拍摄的图像,大大丰富识别网络的训练数据库。
例如,清晰度调节处理可以采用编程语言中的图像压缩函数(例如,采用opencv库中自带的图像压缩功能),通过调节图像压缩参数实现图像质量调节,获得不同清晰度的待训练图像。Python环境中,函数API的示例可以为:cv2.imwrite("file.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),90]。
通过这种方式可以模拟多种不同的图像质量,大大丰富识别网络的训练数据库。
例如,角度调节处理可以包括:首先,在预设旋转角度范围内随机选择某一值作为旋转角度θ,例如,预设旋转角度范围可以为[-15度,15度];之后,以初始图像中某一点(例如初始图像的中心)作为旋转中心,依据旋转矩阵计算旋转后每个像素点的位置坐标,进而得到初始图像旋转了旋转角度θ后的图像。
旋转矩阵如下所示;
Figure BDA0003987461090000181
其中,M表示旋转矩阵,θ表示图像旋转角度,k表示图像缩放比例,例如,k为[0.7,1.3]中的随机值,x和y表示旋转中心的坐标值,sin(.)表示正弦函数,cos(.)表示余弦函数。
关于随机噪声、随机水印等具体处理过程这里不再赘述,可以采用任意可行的方式来对原始图像进行增强,丰富识别网络的训练数据库。
例如,公式的LaTex表达形式往往不是唯一的,这种数据和标准标签的一对多问题导致模型的训练过程中很难收敛,因此需要将原始图像的公式对应的标准文本内容归一化到一种形式,以加快模型收敛速度以及降低模型学习的复杂程度。
例如,步骤S40可以包括:获取多个字符对应的文本表达式,其中,文本表达式为可编辑文本序列;对文本表达式进行符号归一化处理和语法归一化处理,以得到标准文本内容。
例如,符号归一化处理是将可编辑文本序列中针对同一字符的不同表达归一化至一种表达。例如,可编辑文本序列为LaTex表达式时,在LaTex语法中,很多公式符号的LaTex表示并不是唯一的,例如’\rightarrow’和’\to’都表示→。这种类似的多对一的符号需要归一化到一种,使每个字符对应的字符文本都只有一种表示形式。
例如,语法归一化处理是将可编辑文本序列中针对同一字符的不同语法表达归一化至一种表达。例如,方程组既可以用\begin{array}也可以用\begin{matrix}表示,这种情况需要将不同的语法表达归一化到一种,原则上使得所有训练图像对应的标准文本内容保持统一且可编辑文本序列的长度越短越好。
本公开至少一实施例还提供一种图像处理装置,图7为本公开至少一实施例提供的一种图像处理装置的示意性框图。
如图7所示,图像处理装置700可以包括获取单元701和处理单元702。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图7所示的图像处理装置700的组件和结构只是示例性的,而非限制性的,根据需要,图像处理装置700也可以具有其他组件和结构。
例如,这些模块可以通过硬件(例如电路)模块、软件模块或二者的任意组合等实现,以下实施例与此相同,不再赘述。例如,可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现这些单元。
例如,获取单元701用于获取待处理图像,例如,待处理图像包括待识别的目标对象,目标对象包括多个字符。
例如,获取单元701可以包括存储器,存储器存储有待处理图像。或者,获取单元701也可以包括一个或多个摄像头,以获取待处理图像。例如,获取单元701可以为硬件、软件、固件以及它们的任意可行的组合。
例如,处理单元702可以包括识别网络703。处理单元702用于:利用识别网络703对待处理图像进行处理,以得到目标对象对应的文本内容。
识别网络703包括特征提取子网络、编码子网络和解码子网络。特征提取子网络配置为提取待处理图像的视觉特征;编码子网络配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到待处理图像的语义特征,其中,语义特征包括多个字符之间的全局联系;解码子网络配置为基于语义特征,预测文本内容。
需要说明的是,处理单元702中的识别网络703与上述图像处理方法的实施例中的识别网络100的结构和功能相同,在此不再赘述。
例如,获取单元701和处理单元702可以包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的获取单元701和处理单元702的一些功能或全部功能。例如,获取单元701和处理单元702可以是专用硬件器件,用来实现如上所述的获取单元701和处理单元702的一些或全部功能。例如,获取单元701和处理单元702可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本申请实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,获取单元701可以用于实现图1所示的步骤S10,处理单元702可以用于实现图1所示的步骤S20。从而关于获取单元701和处理单元702能够实现的功能的具体说明可以参考上述图像处理方法的实施例中的步骤S10至步骤S20的相关描述,重复之处不再赘述。此外,图像处理装置100可以实现与前述图像处理方法相似的技术效果,在此不再赘述。
需要注意的是,在本公开的实施例中,该图像处理装置700可以包括更多或更少的电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路或单元的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
本公开至少一实施例还提供一种识别网络的训练装置,图8为本公开至少一实施例提供的一种训练装置的示意性框图。
如图8示,训练装置800可以包括训练图像获取单元801、文本内容获取单元802和训练单元803。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图8所示的训练装置800的组件和结构只是示例性的,而非限制性的,根据需要,训练装置800也可以具有其他组件和结构。
例如,训练图像获取单元801,配置为获取训练图像,其中,训练图像包括待识别的目标对象,目标对象包括多个字符。
例如,文本内容获取单元802,配置为获取多个字符对应的文本内容。
例如,训练单元803,配置为基于训练图像和文本内容,对待训练的识别网络进行训练。
例如,训练单元803包括识别网络804、损失函数(未示出),训练单元803用于对待训练的识别网络804进行训练,以得到训练好的识别网络804。
识别网络804包括特征提取子网络、编码子网络和解码子网络。特征提取子网络配置为提取待处理图像的视觉特征;编码子网络配置为基于视觉特征,利用自注意力机制提取多个字符之间的全局联系,以得到待处理图像的语义特征,其中,语义特征包括多个字符之间的全局联系;解码子网络配置为基于语义特征,预测文本内容。
需要说明的是,训练单元803中的识别网络804与上述图像处理方法的实施例中的识别网络100的结构和功能相同,在此不再赘述。
例如,训练图像获取单元801、文本内容获取单元802和训练单元803可以包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的训练图像获取单元801、文本内容获取单元802和训练单元803的一些功能或全部功能。例如,训练图像获取单元801、文本内容获取单元802和训练单元803可以是专用硬件器件,用来实现如上所述的训练图像获取单元801、文本内容获取单元802和训练单元803的一些或全部功能。例如,训练图像获取单元801、文本内容获取单元802和训练单元803可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本申请实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,训练图像获取单元801、文本内容获取单元802和训练单元803可以用于实现图6所示的步骤S30,文本内容获取单元802可以用于实现图6所示的步骤S40,练单元803可以用于实现图6所示的步骤S50。从而关于训练图像获取单元801、文本内容获取单元802和训练单元803能够实现的功能的具体说明可以参考上述训练方法的实施例中的步骤S30至步骤S50的相关描述,重复之处不再赘述。此外,训练装置800可以实现与前述识别网络的训练方法相似的技术效果,在此不再赘述。
需要注意的是,在本公开的实施例中,该训练装置800可以包括更多或更少的电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路或单元的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
图9为本公开一实施例提供的一种电子设备的示意性框图。如图9所示,该电子设备900例如适于用来实施本公开实施例提供的图像处理方法或训练方法。应当注意,图9所示的电子设备900的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备900还可以具有其他组件。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在存储器中的非暂时性计算机可读指令执行各种适当的动作和处理,以实现各种功能。
例如,计算机可读指令被处理装置901运行时可以执行根据上述任一实施例所述的图像处理方法中的一个或多个步骤。需要说明的是,关于图像处理方法的处理过程的详细说明可以参考上述图像处理方法的实施例中的相关描述,重复之处不再赘述。
例如,计算机可读指令被处理装置901运行时可以执行根据上述任一实施例所述的训练方法中的一个或多个步骤。需要说明的是,关于训练方法的处理过程的详细说明可以参考上述训练方法的实施例中的相关描述,重复之处不再赘述。例如,存储器可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)903和/或高速缓冲存储器(cache)等,例如,计算机可读指令可以从存储装置908加载到随机存取存储器(RAM)903中以运行计算机可读指令。非易失性存储器例如可以包括只读存储器(ROM)902、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如风格图像、以及应用程序使用和/或产生的各种数据等。
例如,处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘、闪存等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他电子设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但应理解的是,并不要求实施或具备所有示出的装置,电子设备900可以替代地实施或具备更多或更少的装置。例如,处理器901可以控制电子设备900中的其它组件以执行期望的功能。处理器901可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有数据处理能力和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上
图10为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图10所示,存储介质1000可以为非瞬时性计算机可读存储介质,在存储介质1000上可以非暂时性地存储一个或多个计算机可读指令1001。例如,当计算机可读指令1001由处理器执行时可以执行根据上文所述的图像处理方法或者训练方法中的一个或多个步骤。
例如,该存储介质1000可以应用于上述电子设备中,例如,该存储介质1000可以包括电子设备中的存储器。
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
例如,关于存储介质1000的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
图11为本公开至少一实施例提供的一种硬件环境的示意图。本公开提供的电子设备可以应用在互联网系统。
利用图11中提供的计算机系统可以实现本公开中涉及的图像处理装置和/或电子设备的功能。这类计算机系统可以包括个人电脑、笔记本电脑、平板电脑、手机、个人数码助理、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备或可穿戴设备。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机设备可以是一个通用目的的计算机设备,或一个有特定目的的计算机设备。两种计算机设备都可以被用于实现本实施例中的图像处理装置和/或电子设备。计算机系统可以包括实施当前描述的实现图像处理所需要的信息的任何组件。例如,计算机系统能够被计算机设备通过其硬件设备、软件程序、固件以及它们的组合所实现。为了方便起见,图11中只绘制了一台计算机设备,但是本实施例所描述的实现图像处理所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散计算机系统的处理负荷。
如图11所示,计算机系统可以包括通信端口250,与之相连的是实现数据通信的网络,例如,计算机系统可以通过通信端口250发送和接收信息及数据,即通信端口250可以实现计算机系统与其他电子设备进行无线或有线通信以交换数据。计算机系统还可以包括一个处理器组220(即上面描述的处理器),用于执行程序指令。处理器组220可以由至少一个处理器(例如,CPU)组成。计算机系统可以包括一个内部通信总线210。计算机系统可以包括不同形式的程序储存单元以及数据储存单元(即上面描述的存储器或存储介质),例如硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)240,能够用于存储计算机处理和/或通信使用的各种数据文件,以及处理器组220所执行的可能的程序指令。计算机系统还可以包括一个输入/输出组件260,输入/输出组件260用于实现计算机系统与其他组件(例如,用户界面280等)之间的输入/输出数据流。
通常,以下装置可以连接输入/输出组件260:例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;例如显示器(例如,LCD、OLED显示器等)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信接口。
虽然图11示出了具有各种装置的计算机系统,但应理解的是,并不要求计算机系统具备所有示出的装置,可以替代地,计算机系统可以具备更多或更少的装置。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (23)

1.一种图像处理方法,包括:
获取待处理图像,其中,所述待处理图像包括待识别的目标对象,所述目标对象包括多个字符;
利用识别网络对所述待处理图像进行处理,以得到所述目标对象对应的文本内容;
其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;
所述特征提取子网络配置为提取所述待处理图像的视觉特征;
所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述待处理图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;
所述解码子网络配置为基于所述语义特征,预测所述文本内容。
2.根据权利要求1所述的图像处理方法,其中,所述目标对象为公式,所述公式包括多种空间结构。
3.根据权利要求2所述的图像处理方法,其中,所述文本内容为可编辑文本序列。
4.根据权利要求1-3任一项所述的图像处理方法,其中,所述特征提取子网络包括残差网络,
所述特征提取子网络配置为利用所述残差网络,提取所述待处理图像的图像特征并对所述待处理图像进行下采样处理,输出多个特征图,其中,所述视觉特征包括所述多个特征图。
5.根据权利要求4所述的图像处理方法,其中,所述残差网络包括卷积层、组归一化层、2个第一卷积模块、3个第二卷积模块以及7个第三卷积模块。
6.根据权利要求5所述的图像处理方法,其中,每个特征图的尺寸为2×8。
7.根据权利要求1-3任一项所述的图像处理方法,其中,所述编码子网络包括块嵌入模块,
所述块嵌入模块配置为:
根据所述视觉特征,得到所述待处理图像对应的多个标记;
为每个标记添加位置信息,以得到所述多个标记分别对应的多个位置信息;
将所述多个标记和所述多个位置信息组合为二维矩阵形式,得到编码输入向量。
8.根据权利要求7所述的图像处理方法,其中,所述编码子网络还包括编码模块,
所述编码模块包括M个编码器,所述M个编码器级联,
其中,所述M个编码器中的第一个编码器配置为接收所述编码输入向量,并对所述编码输入向量进行处理,得到处理结果,
所述M个编码器中的第i个编码器配置为接收并处理第i-1个编码器输出的处理结果,
所述语义特征根据第M个编码器的处理结果得到,
其中,M为大于1的正整数,i为正整数且大于1小于等于M。
9.根据权利要求8所述的图像处理方法,其中,每个编码器包括第一多头自注意力子模块和第一前馈神经网络子模块,
所述第一多头自注意力子模块配置为计算所述多个标记中每两个标记之间的相似度,以得到所述多个标记之间的序列结构信息,其中,所述多个字符之间的全局联系包括所述多个标记之间的序列结构信息;
所述第一前馈神经网络子模块配置为对所述多个标记之间的序列结构信息进行线性变换处理,得到所述编码器的处理结果。
10.根据权利要求8所述的图像处理方法,其中,M为4。
11.根据权利要求1-3任一项所述的图像处理方法,其中,所述解码子网络包括解码模块,
所述解码模块配置为将所述语义特征和已识别的文本内容相结合,逐个预测每个字符对应的字符文本;
其中,所述字符文本为所述字符对应的可编辑文本格式,所述已识别的文本内容包括由已预测的字符文本组成的输入序列。
12.根据权利要求11所述的图像处理方法,其中,所述解码模块包括N个解码器,所述N个解码器级联,
其中,所述N个解码器中的第一个解码器配置为对所述语义特征和所述输入序列进行处理,得到处理结果,
所述N个解码器中的第j个解码器配置为对所述语义特征和第j-1个解码器输出的处理结果进行处理,得到处理结果,
其中,N为大于1的正整数,j为大于1且小于等于N的正整数。
13.根据权利要求12所述的图像处理方法,其中,每个解码器包括第二多头自注意力子模块、多头交互模块以及第二前馈神经网络子模块,
所述第二多头自注意力子模块配置为结合掩码机制和所述自注意力机制对接收的输入数据进行处理,以输出第一注意力矩阵,其中,所述输入数据包括所述输入序列,或者级联的上一级解码器输出的处理结果;
所述多头交互模块配置为利用所述自注意力机制对所述第一注意力矩阵和所述语义特征进行处理,输出第二注意力矩阵;
所述第二前馈神经网络子模块配置为对所述第二注意力矩阵进行线性变换处理,得到所述解码器的处理结果。
14.根据权利要求12所述的图像处理方法,其中,所述解码模块还包括分类器,所述分类器包括全连接层和激活函数层,
所述分类器配置为对第N个解码器输出的处理结果进行分类处理,得到预测的字符文本。
15.根据权利要求12所述的图像处理方法,其中,N为4。
16.一种识别网络的训练方法,包括:
获取训练图像,其中,所述训练图像包括待识别的目标对象,所述目标对象包括多个字符;
获取所述多个字符对应的标准文本内容;
基于所述训练图像和所述标准文本内容,对待训练的所述识别网络进行训练;
其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;
所述特征提取子网络配置为提取所述训练图像的视觉特征;
所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述训练图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;
所述解码子网络配置为基于所述语义特征,预测所述文本内容。
17.根据权利要求16所述的训练方法,其中,获取训练图像,包括:
获取原始图像,其中,所述原始图像包括所述目标对象;
对所述原始图像进行图像增强处理,以得到多个处理后图像,将所述多个处理后图像中的任一个作为所述训练图像;
其中,所述图像增强处理包括清晰度调节处理、亮度调节处理、角度调节处理、水印添加处理、噪声添加处理中的一种或多种组合。
18.根据权利要求17所述的训练方法,其中,所述目标对象为公式,
获取原始图像,包括:
构建具有不同公式结构的多个公式,其中,所述多个公式的形式为可编辑文本序列;
对所述多个公式进行反编译,得到多个公式图片;
对所述多个公式图片添加不同的字体处理和字号处理,以得到多个所述原始图像。
19.根据权利要求16-18任一项所述的训练方法,其中,响应于所述目标对象为公式,
获取所述多个字符对应的标准文本内容,包括:
获取所述多个字符分别对应的文本表达式,其中,所述文本表达式为可编辑文本序列;
对所述文本表达式进行符号归一化处理和语法归一化处理,以得到所述多个字符对应的标准文本内容。
20.一种图像处理装置,包括:
获取单元,配置为获取待处理图像,其中,所述待处理图像包括待识别的目标对象,所述目标对象包括多个字符;
处理单元,配置为利用识别网络对所述待处理图像进行处理,以得到所述目标对象对应的文本内容;
其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;
所述特征提取子网络配置为提取所述待处理图像的视觉特征;
所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述待处理图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;
所述解码子网络配置为基于所述语义特征,预测所述文本内容。
21.一种识别网络的训练装置,包括:
训练图像获取单元,配置为获取训练图像,其中,所述训练图像包括待识别的目标对象,所述目标对象包括多个字符;
文本内容获取单元,配置为获取所述多个字符对应的文本内容;
训练单元,配置为基于所述训练图像和所述文本内容,对待训练的所述识别网络进行训练;
其中,所述识别网络包括特征提取子网络、编码子网络和解码子网络;
所述特征提取子网络配置为提取所述训练图像的视觉特征;
所述编码子网络配置为基于所述视觉特征,利用自注意力机制提取所述多个字符之间的全局联系,以得到所述训练图像的语义特征,其中,所述语义特征包括所述多个字符之间的全局联系;
所述解码子网络配置为基于所述语义特征,预测所述文本内容。
22.一种电子设备,包括:
存储器,非瞬时性地存储有计算机可执行指令;
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-15任一项所述的图像处理方法,或者执行根据权利要求16-19任一项所述的训练方法。
23.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-15任一项所述的图像处理方法,或者实现根据权利要求16-19任一项所述的训练方法。
CN202211569625.0A 2022-12-08 2022-12-08 图像处理方法及装置、识别网络的训练方法及装置 Pending CN116311256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211569625.0A CN116311256A (zh) 2022-12-08 2022-12-08 图像处理方法及装置、识别网络的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211569625.0A CN116311256A (zh) 2022-12-08 2022-12-08 图像处理方法及装置、识别网络的训练方法及装置

Publications (1)

Publication Number Publication Date
CN116311256A true CN116311256A (zh) 2023-06-23

Family

ID=86782222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211569625.0A Pending CN116311256A (zh) 2022-12-08 2022-12-08 图像处理方法及装置、识别网络的训练方法及装置

Country Status (1)

Country Link
CN (1) CN116311256A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116847091A (zh) * 2023-07-18 2023-10-03 华院计算技术(上海)股份有限公司 图像编码方法、系统、设备及介质
CN116935373A (zh) * 2023-09-18 2023-10-24 珠海亿智电子科技有限公司 多类型车牌识别模型的训练方法、装置、设备及存储介质
CN117912005A (zh) * 2024-03-19 2024-04-19 中国科学技术大学 利用单个标记解码的文本识别方法、系统、设备及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116847091A (zh) * 2023-07-18 2023-10-03 华院计算技术(上海)股份有限公司 图像编码方法、系统、设备及介质
CN116847091B (zh) * 2023-07-18 2024-04-26 华院计算技术(上海)股份有限公司 图像编码方法、系统、设备及介质
CN116935373A (zh) * 2023-09-18 2023-10-24 珠海亿智电子科技有限公司 多类型车牌识别模型的训练方法、装置、设备及存储介质
CN116935373B (zh) * 2023-09-18 2024-03-12 珠海亿智电子科技有限公司 多类型车牌识别模型的训练方法、装置、设备及存储介质
CN117912005A (zh) * 2024-03-19 2024-04-19 中国科学技术大学 利用单个标记解码的文本识别方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN110176027B (zh) 视频目标跟踪方法、装置、设备及存储介质
RU2691214C1 (ru) Распознавание текста с использованием искусственного интеллекта
Singh Practical machine learning and image processing: for facial recognition, object detection, and pattern recognition using Python
CN116311256A (zh) 图像处理方法及装置、识别网络的训练方法及装置
CN113591546B (zh) 语义增强型场景文本识别方法及装置
CN109299663A (zh) 手写字体识别方法、系统以及终端设备
CN110363084A (zh) 一种上课状态检测方法、装置、存储介质及电子
CN111738169B (zh) 一种基于端对端网络模型的手写公式识别方法
CN109446873A (zh) 手写字体识别方法、系统以及终端设备
CN115457531A (zh) 用于识别文本的方法和装置
CN111833360B (zh) 一种图像处理方法、装置、设备以及计算机可读存储介质
CN117597703A (zh) 用于图像分析的多尺度变换器
CN111612010A (zh) 图像处理方法、装置、设备以及计算机可读存储介质
CN113762050A (zh) 图像数据处理方法、装置、设备以及介质
CN114463805B (zh) 深度伪造检测方法、装置、存储介质及计算机设备
CN116189162A (zh) 一种船牌检测与识别方法、装置、电子设备和储存介质
Li et al. Style transfer for QR code
CN110826534A (zh) 一种基于局部主成分分析的人脸关键点检测方法及系统
Rose et al. Word recognition incorporating augmented reality for linguistic e-conversion
CN113435210A (zh) 社交图片文本识别方法、装置、计算机设备及存储介质
CN113159053A (zh) 图像识别方法、装置及计算设备
CN116740078A (zh) 图像分割处理方法、装置、设备以及介质
CN116168394A (zh) 图像文本识别方法和装置
CN113362249B (zh) 文字图像合成方法、装置、计算机设备及存储介质
CN114399708A (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