1.本发明属于场景文本识别领域,具体为一种基于一致性正则训练的场景文本识别系统。
背景技术:
2.场景文本识别(str)是对自然场景中的文本进行识别,是光学字符识别(ocr)的一种特殊形式。
3.在过去,手工制作的特征用于场景文本识别,例如定向梯度描述符的直方图、连通分量和笔画宽度变换。随着深度学习技术的快速发展,场景文本识别在创新性、实用性和效率等方面都有了很大的进步。场景文本识别有两个主要的类别,分别是为基于分割的方法和无需分割的方法。特别地,无需分割的方法大致可以分为基于连接时序分类(ctc)的方法和基于注意力的方法。
4.目前,由于卷积神经网络和注意力机制的应用,规则文本识别方法已经取得了良好的性能。与规则文本识别任务相比,由于环境的多重干扰、各种形状和扭曲的图案,不规则文本识别更加困难。
5.尽管深度学习方法在包括场景文本识别在内的许多计算机视觉任务中取得了巨大成功,但它对大数据的需求很大。除了真实的标记数据,合成标记数据也被广泛用于训练str模型。合成数据和真实数据各有优缺点。真实数据有人工标注,但通常昂贵、耗时且体积小。合成数据是自动的和高效的,但是很难针对不同的任务设计一个好的合成数据引擎,合成数据和真实数据之间总是存在域差距。
6.考虑到在现实世界中更容易收集无标注的数据,许多研究人员打算利用无标签的数据来提高深度模型的性能。半监督方法可以在训练过程中将额外的无标签数据与标签数据结合起来,最常用的是自训练方法。与伪标签等自训练方法相比,uda(unsupervised data augmentation)等一致性正则化方法通常被认为更有效和高效。众所周知,一致性正则化方法在场景文本识别任务中还没有成功的应用。当将一致性正则化方法应用于str模型时,发现模型崩溃严重,性能不佳。
技术实现要素:
7.要解决的技术问题
8.为了解决上述问题,本发明提出非对称的无监督分支结构并结合域适应分支,有效提升了模型训练稳定性和最终性能。
9.技术方案
10.一种基于一致性正则训练的场景文本识别系统,其特征在于包括监督分支、无监督分支和域适应分支;所述的监督分支接受文本图像x
l
作为输入,并计算学生模型的预测分布p
l
和标注文本字符串y
gt
之间的交叉熵损失;所述的无监督分支通过弱数据增强和强数据增强将未标记的图像xu分别转换为两个增强视图x
u1
和x
u2
;对于输入图像x
u1
,教师模型输
出预测分布p
u1
;对于输入图像x
u2
,学生模型输出预测分布p
u2
;然后,将弱数据增强视图x
u1
的预测分布p
u1
作为目标,采用一致性正则化损失,迫使强数据增强视图x
u2
的输出p
u2
更接近p
u1
;所述的域适应分支计算coral损失以对齐带标签数据和无标签数据的字符级特征;最后,计算上述三个损失的加权和,并用反向传播算法更新模型。
11.所述的学生模型和教师模型结构相同但是参数不同,均采用场景文本识别模型。
12.所述的场景文本识别模型包括矫正模块、特征提取模块、序列建模模块和预测模块。
13.在无监督分支中在分类层之前为学生模型添加了一个投影模块。
14.所述的投影模块为前馈层模块pff。
15.有益效果
16.本发明提出的一种基于一致性正则训练的场景文本识别系统,整个系统包括三个分支,包括利用带标签进行监督训练,利用无标签数据进行一致性正则训练和域适应分支用于拉进合成数据和真实数据的域距离。本发明使用应用一致性正则化方法来训练更鲁棒和性能更好的str模型。具体来说,str模型接收两个未标记文本图像的增强视图作为输入,并强制它输出相同的结果。通过这种训练方式,模型可以利用大规模的未标签数据,学习变换不变特征。本发明在无监督分支的一条路径中添加了一个投影模块以防止模型崩溃的解决方案。考虑到训练数据和真实测试数据之间的巨大域差距,应用域适应损失来拉近合成带标签数据与真实无标签数据之间的字符级特征之间的距离。
17.本发明可以有效地利用真实的未标记数据来提高str模型的鲁棒性和性能。与监督基线相比,本发明的半监督模型显示出很大的改进。在不使用人工标注数据的情况下,本发明可以在所有场景文本识别测试数据集中优于当前最先进的方法。
附图说明
18.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
19.图1系统总体结构图;
20.图2trba流程图;
21.图3域适应分支结构图。
具体实施方式
22.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
23.如图1所示,本发明的系统由三个分支组成,分别称为监督分支、无监督分支和域适应分支。拥有两个场景文本识别模型,分别是学生模型和教师模型,学生模型和教师模型结构相同但是参数不同。监督分支接受文本图像x
l
作为输入,并计算学生模型的预测分布p
l
和标注文本字符串y
gt
之间的交叉熵损失。无监督分支通过弱数据增强和强数据增强将未标记的图像xu分别转换为两个增强视图x
u1
和x
u2
。对于输入图像x
u1
,教师模型输出预测分布
p
u1
。对于输入图像x
u2
,学生模型输出预测分布p
u2
。然后,将弱数据增强视图x
u1
的预测分布p
u1
作为目标,采用一致性正则化损失,迫使强数据增强视图x
u2
的输出p
u2
更接近p
u1
。为了缩小合成带标签数据和真实带标签数据之间的域差距,本发明计算coral损失以对齐带标签数据和无标签数据的字符级特征。最后,计算上述三个损失的加权和,并用反向传播算法更新模型。
24.场景文本识别模型。场景文本识别模型它由矫正模块(具体是薄板样条tps)、特征提取模块(卷积残差网络resnet)、序列建模模块(双向bilstm)和预测模块(注意力机制attention)组成,如图2所示,因此称之为trba。矫正模块使用薄板样条(tps)将输入的图像x转换为归一化图像x,用于减轻后续识别任务的难度。对于输入图像大小为32
×
100,特征提取模块最后一个卷积层的特征图大小为c
×1×
t(c是通道大小,t是解码器的最大序列长度)。序列建模模块使用双向长短期记忆循环神经网络(bilstm)来学习更好的序列特征h∈t
×
c。预测模块使用基于注意力的序列预测。在解码的第t个时间步中,预测模块使用编码器输出h、最后隐藏状态和字符s
t-1
以及前一时间步的嵌入信息f(y
t-1)来预测字符,以预测当前时间步的输出。
25.e
t,i
=w
t
tanh(ws
t-1
vhi b)
[0026][0027]
其中w、w、v是可训练的参数。注意力α权重代表序列特征h在不同时间步长中的重要性。以权重为系数,解码器将h加权和为特征向量g
t
,在域适应分支中将其视为字符级特征。预测模块的循环单元将g
t
作为视觉输入并产生输出向量s
t
。
[0028][0029]st
=rnn(s
t-1
,(g
t
,f(y
t-1
)))
[0030]
在分类器层之后,trba模型输出大小为t
×
k的序列预测结果,其中k是字符的分类数。
[0031]
监督分支。监督分支将标记数据中的图像x
l
作为输入,经过学生模型的矫正、特征提取、序列建模和预测阶段得到输出p
l
。计算学生模型的预测结果和标注文本字符串y
gt
之间的交叉熵损失:
[0032][0033]
其中θ
student
是学生模型的模型参数。
[0034]
无监督分支。无监督分支只需要未标记的文本图像xu,不需要对应的标注字符串。根据数据增强策略的强度的不同,本发明事先定义了两种不同的数据增强策略,分别是弱(数据)增强和强(数据)增强。xu通过弱增强转化为x
u1
,通过强增强转化为x
u2
。
[0035][0036][0037][0038]
其中i是指标函数。在实践中,如果学生模型和教师模型共享相同的模型结构和参数,无监督分支将严重崩溃并表现不佳。因此,本发明在分类层之前为学生模型添加了一个投影模块,以破坏这种对称结构。本发明使用transformer中提出前馈层(position-wise feedforward,pff)模块作为投影模块。此外,本发明使用指数移动平均方法更新教师模型,以保持投影模块处于最佳状态。
[0039]
域适应分支。如图3所示,本发明使用域适应损失来缩小合成带标签数据与真实无标签数据之间的域差距。本发明不是在合成数据和真实数据之间对齐全局特征空间,而是自适应聚焦对齐字符级特征空间中合成数据和真实数据的分布。本发明将在每个解码时间步中自动关注局部特征的向量g视为字符级特征。使用相关损失(correlation alignment,coral)来衡量f
lclf
和f
u2clf
两个字符级特征之间的分布距离。域适应损失定义如下:
[0040][0041]
其中u
l
是f
lclf
的集合,u
u2
是f
u2clf
的集合,表示平方矩阵frobenius范数,cov(u)是协方差矩阵。
[0042]
训练过程和推理过程。在训练过程中,定义最终损失如下:
[0043]
l=l
sup
λ
unl
l
unl
λ
da
l
da
[0044]
其中l
unl
和l
da
是超参数。adam被选为优化器,并使用反向传播来更新学生模型的参数。停止教师模型的梯度并使用指数移动平均(ema)机制来更新其参数,ema机制定义如下:
[0045]
θ
teac
=αθ
teacher
(1-α)θ
student
[0046]
其中α是超参数。训练后,仅保存学生模型,用于推理阶段预测文本图像的内容。在推理阶段,预测模块首先使用代表解码开始“bos”字符作为输入,输出第一个字符。接下来,预测模块在推理阶段的每个解码时间步中迭代地使用先前的输出字符作为输入。一旦输出“eos”字符,预测模块即告结束。
[0047]
下面将介绍本发明使用的训练和测试数据集、系统的实验设置。
[0048]
(1)数据集
[0049]
本发明在两个合成标记数据集上训练系统,包括synth90k和synthtext,总共有大约14.5m样本。使用大约10.7m个真实的未标记数据。本发明在六个场景文本识别基准测试数据集中进行评估。合成带标签数据和测试数据集都是公开的,而真实无标签数据是私有的。
[0050]
六个测试数据集的详细信息如下。iit5k-words(it5k)包含3000个用于测试的裁剪单词图像。街景文本(svt)由647个单词图像组成,这些图像是从谷歌街景中收集的。许多图像分辨率低或有很多噪音和模糊。icdar 2013(ic13)包含1015个裁剪的单词图像,而ic13_857是ic13的子集,没有短于3个字符的单词图像。svt-perspective(svt-p)包含645个用于测试的裁剪图像。大多数图像是透视扭曲的,因为图像是从谷歌街景中的侧视角快照中选择的。cute80包含288张高分辨率图像用于测试,但有些图像是弯曲的。icdar 2015(ic15包含2077个裁剪的单词图像。ic15_1811是ic15的子集,丢弃带有非字母数字字符的单词图像。
[0051]
真实无标签数据集的详细信息如下。所有未标记的数据集包含从三个场景图像数据集(包括places2、openimages和imagenet ilsvrc 2012)中裁剪的约107亿个单词图像。本发明使用名为craft(character-region awareness for text detection)的场景文本检测器来检测和裁剪文本图像。将文本置信度阈值设置为0.7,并丢弃低分辨率(宽度乘以高度小于1000)的文本图像。没有应用其他的后处理方法,最终得到了10.7m个文本图像。
[0052]
(2)数据增强
[0053]
数据增强在本发明的一致性正则化训练中起着重要作用。如上所述,对无监督分支中的未标记图像使用弱(数据)增强和强(数据)增强。为了便于与完全监督训练进行公平比较,在监督分支的训练中也使用了强增强。弱增强方法改变图像的亮度、对比度、饱和度和色调。强增强方法继承自randaugment增强方法。它包含通道转换,如自动对比度、对比度、亮度、颜色、均衡、分色、曝光、曝光添加操作空间转换,如剪切、平移和旋转等。
[0054]
(3)实验设置
[0055]
本发明的模型和系统是用pytorch实现的。
[0056]
在预处理阶段,将原始图像通过不同的增强策略转换为增强图像并调整为相同的32
×
100大小。为了平衡标记数据和未标记数据的比例,设置带标签数据的批次大小n
l
为384和无标记数据的批次nu到128的批次。
[0057]
本发明使用adam优化器来训练系统。为了加速模型收敛,采用了onecyclelr学习率调度器,将最大学习率设置为0.001。onecyclelr学习率调度器首先将学习率从基础学习率提高到最大学习率,然后逐渐降低,直到训练结束时下降到基础学习率。温度系数τ设置为0.4,置信度阈值β为0.3。指数移动平均衰减比设置为0.999以保持投影层处于最佳状态。本发明将λunl和λda分别设置为1.0和0.01。该系统结合带标签数据和无标签数据训练共250000次迭代。
[0058]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-587.html