场景文本识别方法、系统、存储介质及计算设备技术方案

技术编号:38325366 阅读:16 留言:0更新日期:2023-07-29 09:08
本发明专利技术公开了一种场景文本识别方法、系统、存储介质及计算设备,利用知识蒸馏的思想将场景文本识别模型分为教师网络模型与学生网络模型,利用教师网络模型来训练学生网络模型,以得到一个轻量级的场景文本识别模型;将场景文本训练集输入场景文本识别模型中,使用ResNet架构来实现特征提取,且对其中四个阶段输出的特征进行蒸馏;使用Transformer模块来实现注意力机制,对提取到的特征进行序列建模,并利用教师网络模型中的相似度矩阵和前馈网络的输出作为监督信号,训练学生网络模型;最后经线性层得到最终的预测结果。本发明专利技术可提高场景文本的识别精度,并且构建的轻量级识别模型可以部署到计算能力较弱的小型或移动设备上。备上。备上。

【技术实现步骤摘要】
场景文本识别方法、系统、存储介质及计算设备


[0001]本专利技术涉及文本识别的
,尤其是指一种基于知识蒸馏的场景文本识别方法、系统、存储介质及计算设备。

技术介绍

[0002]文字是信息的主要载体之一,对信息传播和交互具有重要意义。随着互联网技术的蓬勃发展,智能手机、平板电脑、数码相机等移动设备得到广泛应用。大量的场景图像,涌现在人们生活的方方面面。使用自动化的方式识别图像中的文本,提取内含的信息,可以服务于人类活动的方方面面,提高生活的质量和生产的效率。因此场景文本的识别作为计算机视觉领域的子课题,逐渐成为一大研究热点,被广泛应用于机器视觉、图像搜索、无人驾驶、自动翻译等领域。
[0003]不同于传统的扫描图像文本的背景单一、文本规则,场景文本中的文本因表现形式丰富,图像背景复杂,以及图像拍摄引入的干扰因素等的影响,使得对其的分析与处理难度远高于传统的扫描文档图像。近年来,随着深度学习技术的快速发展,国内外学者针对各种问题和挑战,在场景文本识别任务中尝试提出了相应的解决方案,极大地促进了场景文本识别技术的发展,但由于场景文字的复杂性与多样性和识别模型的庞大,在识别精度与轻量级模型部署方面仍具有挑战性。因此,如何进一步提高场景文本的识别精度与如何构建轻量级识别模型,非常有理论和实际意义。

技术实现思路

[0004]本专利技术的第一目的在于克服现有技术的缺点与不足,提出了一种基于知识蒸馏的场景文本识别方法,主要利用ResNet架构来提取场景文本图像中的特征,利用Transformer模块来防止长距离特征建模时的信息损失,提高场景文本识别的精确度,利用知识蒸馏的在保证识别准确率的情况下使得模型更轻量化,以便于在小型设备端的部署。
[0005]本专利技术的第二目的在于提供一种基于知识蒸馏的场景文本识别系统。
[0006]本专利技术的第三目的在于提供一种存储介质。
[0007]本专利技术的第四目的在于提供一种计算设备。
[0008]本专利技术的第一目的通过下述技术方案实现:基于知识蒸馏的场景文本识别方法,包括以下步骤:
[0009]1)获取场景文本数据集,对数据集中的图片进行数据增强处理,作为场景文本训练集;
[0010]2)构建基于注意力机制的场景文本识别模型,用于场景文本识别,该场景文本识别模型以大参数量的复杂网络模型作为教师网络模型,以参数量少的轻量级作为学生网络模型,为了在文本特征的序列建模中学习不同文本间的长距离依赖关系,该模型使用Transformer模块来实现注意力机制;
[0011]3)将场景文本训练集中的图片输入到步骤2)构建的场景文本识别模型中进行模
型训练,在训练过程中将参数量大的教师网络模型的知识迁移到参数量少的学生网络模型上,实现知识蒸馏;其中,对于特征提取部分,采用中间层特征蒸馏的方式监督学生网络模型的训练;对于序列建模部分,利用教师网络模型中的相似度矩阵和前馈网络的输出作为监督信号,训练学生网络模型;
[0012]4)保存训练完成的场景文本识别模型作为最优模型,后续将待测数据输入该最优模型中,即可得到精准的场景文本识别结果。
[0013]进一步,在步骤1)中,将获取到的数据集进行图片增强处理,根据场景文本图片的采集极易受到外界光照及噪声的影响,对场景文本训练集中的图片进行数据增强,包括随机对场景文本训练集中的图片进行亮度调整、对比度调整和饱和度调整,随机对场景文本训练集中的图片进行旋转,随机添加高斯噪声来扩充数据量,提高模型的泛化能力。
[0014]进一步,在步骤2)中,基于注意力机制的场景文本识别模型使用ResNet架构与Transformer模块实现,Transformer模块分为三部分:位置编码、多头注意力模块和前馈网络;其中,多头注意力模块和前馈网络能够堆叠多层,以得到更加丰富的全局信息;输入场景文本图片经过ResNet网络提取得到的特征输入到Transformer模块中,首先经过位置编码标示不同时间单元的位置,然后多头注意力模块对编码后的特征并行地建模全局的依赖关系,最后经过前馈网络和线性层得到最终的输出;多头注意力模块由8个单头注意力模块组成,每个单头注意力模块有四个输入,分别是Q、K、V、M,Q代表查询矩阵,K与V分别代表键值,M代表注意力掩码矩阵,其中的每个查询向量q
i
∈Q先与所有的键向量k
i
∈K进行相似度计算,得到相似度矩阵,并加入注意力掩码矩阵;然后利用Softmax函数对相似度矩阵进行归一化;最后,将相似度矩阵与V进行加权求和,得到当前查询向量的注意力结果,单头注意力模块计算公式如公式(1)所示:
[0015][0016]式中,C表示向量q
i
的维度;
[0017]多个单头注意力模块构成一个多头注意力模块,首先将Q、K、V、M送入线性变换层,然后把得到的输出分别送入单头注意力模块,最后将每个单头注意力模块的注意力头部输出级联起来送入线性变换层得到多头注意力模块的最终输出,多头注意力模块计算公式如公式(2)所示:
[0018]MultiHead(Q,K,V,M)=Concat(head1,head2,...,head
h
)W
O
(2)
[0019]式中,W
o
表示线性变换的参数矩阵,head1到head
h
代表每个单头注意力模块的注意力头部输出,h代表单头注意力模块的数量,其公式如公式(3)所示:
[0020][0021]式中,head
j
代表第j个单头注意力模块的注意力头部输出,和分别代表在输入第j个单头注意力模块前分别对Q、K、V、M进行线性变换的参数矩阵;
[0022]前馈网络由两个线性变换层组成,其计算公式如公式(4)所示:
[0023]FFN(x)=max(0,xW1+b1)W2+b2ꢀꢀꢀ
(4)
[0024]式中,x代表经多头注意力模块输出的特征,W1和W2分别代表线性变换层的权重矩阵,b1和b2分别代表线性变换层的偏置;
[0025]多头注意力模块在计算时没有不同输入特征的位置信息,如果对输入特征直接进行多头注意力建模会丢失位置信息,从而造成识别性能的下降,因此,在进行多头注意力建模时,需要首先对输入数据进行位置编码。
[0026]进一步,在步骤3)中,对步骤2)构建的场景文本识别模型进行知识蒸馏,具体是将大模型学习到的知识迁移到小模型中,该场景文本识别模型的蒸馏方案是基于ResNet架构与Transformer模块构建的,从特征提取模块与序列建模模块进行蒸馏,总的蒸馏损失函数公式如公式(5)所示:
[0027]L
distill
=λ
f
L
f

s
L
s
ꢀꢀꢀꢀ
(5)
[0028]式中,L
distill
为总的蒸馏损失函数,L...

【技术保护点】

【技术特征摘要】
1.基于知识蒸馏的场景文本识别方法,其特征在于,包括以下步骤:1)获取场景文本数据集,对数据集中的图片进行数据增强处理,作为场景文本训练集;2)构建基于注意力机制的场景文本识别模型,用于场景文本识别,该场景文本识别模型以大参数量的复杂网络模型作为教师网络模型,以参数量少的轻量级作为学生网络模型,为了在文本特征的序列建模中学习不同文本间的长距离依赖关系,该模型使用Transformer模块来实现注意力机制;3)将场景文本训练集中的图片输入到步骤2)构建的场景文本识别模型中进行模型训练,在训练过程中将参数量大的教师网络模型的知识迁移到参数量少的学生网络模型上,实现知识蒸馏;其中,对于特征提取部分,采用中间层特征蒸馏的方式监督学生网络模型的训练;对于序列建模部分,利用教师网络模型中的相似度矩阵和前馈网络的输出作为监督信号,训练学生网络模型;4)保存训练完成的场景文本识别模型作为最优模型,后续将待测数据输入该最优模型中,即可得到精准的场景文本识别结果。2.根据权利要求1所述的基于知识蒸馏的场景文本识别方法,其特征在于,在步骤1)中,将获取到的数据集进行图片增强处理,根据场景文本图片的采集极易受到外界光照及噪声的影响,对场景文本训练集中的图片进行数据增强,包括随机对场景文本训练集中的图片进行亮度调整、对比度调整和饱和度调整,随机对场景文本训练集中的图片进行旋转,随机添加高斯噪声来扩充数据量,提高模型的泛化能力。3.根据权利要求2所述的基于知识蒸馏的场景文本识别方法,其特征在于,在步骤2)中,基于注意力机制的场景文本识别模型使用ResNet架构与Transformer模块实现,Transformer模块分为三部分:位置编码、多头注意力模块和前馈网络;其中,多头注意力模块和前馈网络能够堆叠多层,以得到更加丰富的全局信息;输入场景文本图片经过ResNet网络提取得到的特征输入到Transformer模块中,首先经过位置编码标示不同时间单元的位置,然后多头注意力模块对编码后的特征并行地建模全局的依赖关系,最后经过前馈网络和线性层得到最终的输出;多头注意力模块由8个单头注意力模块组成,每个单头注意力模块有四个输入,分别是Q、K、V、M,Q代表查询矩阵,K与V分别代表键值,M代表注意力掩码矩阵,其中的每个查询向量q
i
∈Q先与所有的键向量k
i
∈K进行相似度计算,得到相似度矩阵,并加入注意力掩码矩阵;然后利用Softmax函数对相似度矩阵进行归一化;最后,将相似度矩阵与V进行加权求和,得到当前查询向量的注意力结果,单头注意力模块计算公式如公式(1)所示:式中,C表示向量q
i
的维度;多个单头注意力模块构成一个多头注意力模块,首先将Q、K、V、M送入线性变换层,然后把得到的输出分别送入单头注意力模块,最后将每个单头注意力模块的注意力头部输出级联起来送入线性变换层得到多头注意力模块的最终输出,多头注意力模块计算公式如公式(2)所示:MultiHead(Q,K,V,M)=Concat(head1,head2,...,head
h
)W
O
ꢀꢀ
(2)
式中,W
o
表示线性变换的参数矩阵,head1到head
h
代表每个单头注意力模块的注意力头部输出,h代表单头注意力模块的数量,其公式如公式(3)所示:式中,head
j
代表第j个单头注意力模块的注意力头部输出,W
jQ
、W
jK
、W
jV
和W
jM
分别代表在输入第j个单头注意力模块前分别对Q、K、V、M进行线性变换的参数矩阵;前馈网络由两个线性变换层组成,其计算公式如公式(4)所示:FFN(x)=max(0,xW1+b1)W2+b2ꢀꢀꢀ
(4)式中,x代表经多头注意力模块输出的特征,W1和W2分别代表线性变换层的权重矩阵,b1和b2分别代表线性变换层的偏置;多头注意力模块在计算时没有不同输入特征的位置信息,如果对输入特征直接进行多头注意力建模会丢失位置信息,从而造成识别性能的下降,因此,在进行多头注意力建模时,需要首先对输入数据进行位置编码。4.根据权利要求3所述的基于知识蒸馏的场景文本识别方法,其特征在于,在步骤3)中,对步骤2)构建的场景文本识别模型进行知识蒸馏,具体是将大模型学习到的知识迁移到小模型中,该场景文本识别模型的蒸馏方案是基于ResNet架构与Transformer模块构建的,从特征提取模块与序列建模模块进行蒸馏,总的蒸馏损失函数公式如公式(5)所示:L
distill
=λ
f
L
f

...

【专利技术属性】
技术研发人员:杜振锋周晓清龚汝洪曾凡智周燕
申请(专利权)人:广东宜教通教育有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1