基于SwinTransformer的手写文字识别方法及系统与流程

文档序号:29950559发布日期:2022-05-07 18:06阅读:651来源:国知局
基于SwinTransformer的手写文字识别方法及系统与流程
基于swin transformer的手写文字识别方法及系统
技术领域
1.本技术涉及计算机技术领域,特别是涉及一种基于swin transformer的手写文字识别方法及系统。


背景技术:

2.文字识别是对序列的预测方法,所以采用了对序列预测的rnn网络,并通过cnn将图片的特征提取出来后采用rnn对序列进行预测,最后通过一个ctc的翻译层得到最终结果,这也就是常说的cnn+rnn+ctc的结构,也即crnn。
3.现有基于crnn的手写汉字识别系统准确性较低,主要是因为传统的cnn模型,在编码提取图像特征阶段,模型无法像较好的获取图像空间信息,也无法跨越空间获取图像像素之间的权重机制,并且,传统模型用lstm把cnn阶段提取的特征翻译成文字,由于lstm在获取文本的长期依赖效果不理想,而且不能跨字直接获取特征的相关度,导致在解码阶段,把图片特征转化从文字经常出现形体相似的错别字,进而导致文字识别的准确率低的技术问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高文字识别准确率的基于swin transformer的手写文字识别方法及系统。
5.本发明技术方案如下:
6.一种基于swin transformer的手写文字识别方法,所述方法包括:
7.步骤s100:获取待识别手写图片;
8.步骤s200:基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;
9.步骤s300:将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;
10.步骤s400:将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字。
11.具体而言,步骤s200:基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征,具体包括:
12.步骤s210:基于multi-head self-attention和shifted window based multi-head self-attention建立第一stagetransformer层;
13.步骤s220:根据所述第一stagetransformer层建立预设特定数量的层数,并形成所述swin-t编码结构;
14.步骤s230:基于所述swin-t编码结构对所述待识别手写图片进行特征抽取。
15.具体而言,步骤s300:将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer,具体包
括:
16.步骤s310:基于transformer预先设定设定解码器;
17.步骤s320:将所述当前图像特征输入至预设的设定解码器,并将所述当前图像特征与预设的第一设定矩阵、第二设定矩阵和第三设定矩阵分别相乘,并获取原始解码特征;
18.步骤s330:基于self-attention注意力机制对原始解码特征进行提炼,并获取所述解码器特征。
19.具体而言,步骤s400:将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字,之前还包括:
20.在训练阶段,根据所述解码器特征计算交叉熵损失。
21.具体而言,一种基于swin transformer的手写文字识别系统,所述系统包括:
22.图片获取模块,用于获取待识别手写图片;
23.特征抽取模块,用于基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;
24.特征输入模块,用于将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;
25.文字预测模块,用于将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字。
26.具体而言,所述特征抽取模块还包括:
27.编码层构建模块,用于基于multi-head self-attention和shifted window based multi-head self-attention建立第一stagetransformer层;
28.编码结构模块,用于根据所述第一stagetransformer层建立预设特定数量的层数,并形成所述swin-t编码结构;
29.编码抽取模块,用于基于所述swin-t编码结构对所述待识别手写图片进行特征抽取。
30.具体而言,所述特征输入模块还包括:
31.解码设定模块,用于基于transformer预先设定设定解码器;
32.矩阵相乘模块,用于将所述当前图像特征输入至预设的设定解码器,并将所述当前图像特征与预设的第一设定矩阵、第二设定矩阵和第三设定矩阵分别相乘,并获取原始解码特征;
33.注意机制模块,用于基于self-attention注意力机制对原始解码特征进行提炼,并获取所述解码器特征。
34.具体而言,所述文字预测模块还用于:在训练阶段,根据所述解码器特征计算交叉熵损失。
35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于swin transformer的手写文字识别方法所述的步骤。
36.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于swin transformer的手写文字识别方法所述的步骤。
37.本发明实现技术效果如下:
38.上述基于swin transformer的手写文字识别方法及系统,依次通过获取待识别手写图片;基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字,采用swin transformer建立swin-t编码结构,通过swin-t编码结构,作为编码器来抽取图像的特征,有助于降低模型的计算复杂度,让特征具备全局感受野,另,利用swin transformer作为骨干网络,能够更好的抽取手写文字背后隐藏的特征,进而极大提高文字识别准确率。
附图说明
39.图1为一个实施例中基于swin transformer的手写文字识别方法的流程示意图;
40.图2为一个实施例中一个transformer的结构框图;
41.图3为一个实施例中基于swin transformer的手写文字识别系统的结构框图;
42.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
43.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
44.在一个实施例中,如图1所示,提供了一种基于swin transformer的手写文字识别方法,其特征在于,所述方法包括:
45.步骤s100:获取待识别手写图片;
46.步骤s200:基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;
47.步骤s300:将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;
48.步骤s400:将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字。
49.综上所述,本发明依次通过获取待识别手写图片;基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字,采用swin transformer建立swin-t编码结构,通过swin-t编码结构,作为编码器来抽取图像的特征,有助于降低模型的计算复杂度,让特征具备全局感受野,另,利用swin transformer作为骨干网络,能够更好的抽取手写文字背后隐藏的特征,进而极大提高文字识别准确率。
50.在一个实施例中,步骤s200:基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征,具体包
括:
51.步骤s210:基于multi-head self-attention和shifted window based multi-head self-attention建立第一stagetransformer层;
52.步骤s220:根据所述第一stagetransformer层建立预设特定数量的层数,并形成所述swin-t编码结构;
53.具体地,本步骤中,一个multi-head self-attention加上一个shifted window based multi-head self-attention为一个第一stagetransformer层。本实施例中,预设特定数量的层数为采用swin-t版本(2,2,6,2),也即分别为四个stagetransformer的层数,其中,(2,2,6,2)中的2是一个一个multi-head self-attention加上一个shifted window based multi-head self-attention,统称为一个stage,(2,2,6,2)中的6就是3个stage。进而,通过每层仅对局部进行关系建模,同时不断缩小特征图宽高,扩大感受野,作为编码器来抽取图像的特征,交替采用w-msa(multi-head self-attention)和sw-msa(shifted window based multi-head self-attention)结构来抽取特征,这有助于降低模型的计算复杂度,让特征具备全局感受野。
54.步骤s230:基于所述swin-t编码结构对所述待识别手写图片进行特征抽取。
55.在一个实施例中,步骤s300:将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer,具体包括:
56.步骤s310:基于transformer预先设定设定解码器;
57.具体地,通过将3个transformer进行串联,进而生成所述设定解码器,实现设定所述设定解码器。其中,一个transformer的结构如图2所示。
58.步骤s320:将所述当前图像特征输入至预设的设定解码器,并将所述当前图像特征与预设的第一设定矩阵、第二设定矩阵和第三设定矩阵分别相乘,并获取原始解码特征;
59.步骤s330:基于self-attention注意力机制对原始解码特征进行提炼,并获取所述解码器特征。
60.进一步地,所述第一设定矩阵、所述第二设定矩阵和所述第三设定矩阵分别为qkv三个矩阵,qkv三个矩阵是三个权重向量,把输入的特征分别和qkv三个矩阵相乘,qkv三个矩阵是self-attention注意力机制的基本组成。分别代表query,keys和values。输入qkv三个矩阵后,也即通过self-attention注意力机制对解码器特征进行提炼,得到更好的解码特征,使得识别结果更准。
61.更进一步地,所述当前图像特征包括图片特征和已经预测出来的文字的特征融合,这样做主要是让下一个字的预测结果感知了前面已经预测出来的文字,把已经预测出来的字作为上下文特征融合进来,保证预测文本的语义相关性。
62.其中,所述图片特征指的是手写图片用swin-t编码结构抽取出来的特征,已经预测出来的文字是指图片中一行文字在进行预测时,为按照顺序一个个预测出来的,对于要预测的第一个文字,输入的是”start”开始解码标记。
63.应理解,解码器每预测一个字,需要输入编码器的特征,也即swin-t编码结构抽取出来的图片特征和已经预测出来的文字特征,其中,文字特征是把文字进行向量化表示,字向量作为特征。
64.最后,通过三层的transformer后,得到所述所述解码器特征。
65.在一个实施例中,步骤s400:将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字,之前还包括:
66.在训练阶段,根据所述解码器特征计算交叉熵损失。
67.进一步地,交叉熵损失是为了计算模型的误差,较之现有技术中采取的ctc损失,本发明通过选择交叉熵,是源于swin transformer的特征提取能力很强,不需要在复杂的分类器,就能够得到很高的准确率。
68.在一个实施例中,如图3所示,一种基于swin transformer的手写文字识别系统,所述系统包括:
69.图片获取模块,用于获取待识别手写图片;
70.特征抽取模块,用于基于swin transformer建立swin-t编码结构,并基于所述swin-t编码结构对所述待识别手写图片进行特征抽取,并获取当前图像特征;
71.特征输入模块,用于将所述当前图像特征输入至预设的设定解码器,并基于所述设定解码器获取解码器特征,其中,所述设定解码器采用3个串联的transformer;
72.文字预测模块,用于将所述解码器特征放进softmax分类器进行文字预测,并获取当前预测文字。
73.在一个实施例中,所述特征抽取模块还包括:
74.编码层构建模块,用于基于multi-head self-attention和shifted window based multi-head self-attention建立第一stagetransformer层;
75.编码结构模块,用于根据所述第一stagetransformer层建立预设特定数量的层数,并形成所述swin-t编码结构;
76.编码抽取模块,用于基于所述swin-t编码结构对所述待识别手写图片进行特征抽取。
77.在一个实施例中,所述特征输入模块还包括:
78.解码设定模块,用于基于transformer预先设定设定解码器;
79.矩阵相乘模块,用于将所述当前图像特征输入至预设的设定解码器,并将所述当前图像特征与预设的第一设定矩阵、第二设定矩阵和第三设定矩阵分别相乘,并获取原始解码特征;
80.注意机制模块,用于基于self-attention注意力机制对原始解码特征进行提炼,并获取所述解码器特征。
81.在一个实施例中,所述文字预测模块还用于:在训练阶段,根据所述解码器特征计算交叉熵损失。
82.在一个实施例中,如图4所示,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于swin transformer的手写文字识别方法所述的步骤。
83.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于swin transformer的手写文字识别方法所述的步骤。
84.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
85.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
86.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1