1. 前言
为了能够充分利用未标注数据,本文提出了一种基于transformer的端到端文本识别算法,该算法是第一个可以同时使用有监督和弱监督进行训练的端到端文本识别算法,该方法使用同一个隐变量完成多个任务,并提出一种新的适用于文本识别的匈牙利匹配Loss,该方法可以使用只带有文本标注的图片进行训练,并达到与有监督算法相当的指标,加入标注数据后进行,性能会超过现有的有监督算法
论文:Towards Weakly-Supervised Text Spotting using a Multi-Task Transformer
2. 背景
现有的文本识别算法依赖的标注数据需要同时包含文本标注和文本框(box/poly)标注,但是标注成本很高,且文本标注耗费的时间仅为文本框标注时间的一半,因此本文希望可以仅使用文本标注的真实数据进行训练
本文的结构为transformer+多任务头,使用transfomer可以实现通过query获得感兴趣区域的特征,避免依赖区域信息(box/poly)作为输入,此外通过一个object query embedding,经过多个轻量级任务头,可以获得检测、识别、分割结果。
本文贡献如下:
- 提出一个弱监督训练策略,对真实的标注数据,仅要求文本而不要求空间信息;同时实现了一种适用于文本识别的匈牙利匹配loss
- 第一个基于transfomer的多任务端到端识别算法,可同时输出检测和识别结果
- 第一个可以使用同一个架构完成有监督和弱监督训练的算法
3. 本文框架
本文框架基于Deformable-DETR算法,输入特定数量的query,获得对应数量的embedding,然后输入不同的任务头,获得对应结果,例如:
- 检测头:由3层的FFN组成,预测文本的bbox
- 识别头:基于LSTM,预测文本序列
- 分割头:4个FC+3个反卷积层,预测文本的分割结果(由角点组成)
3.1 匈牙利loss-有监督
训练过程中,网络的预测结果需要和Ground truth进行匹配,本文与Deformable DETR相同,采用匈牙利算法计算一对一的匹配,如下所示
σ^=σ∈θNargmini=1∑NC(yi,y^σ(i)),
其中θN为可能得匹配关系数量,C为cost函数,yi为gt,y^为网络的预测结果。 得到最佳匹配后,计算的loss如下:
LHungarian (y,y^)=i=1∑NL(yi,y^σ^(i))
对于文本识别而言,需要在Deformable DETR考虑的物体框和物体种类的匹配关系以外,需要再加上文本的匹配,即
C(y,y^σ(i))=−αcp^σ(i)(ci)+1{ci=∅}αboxCbox(bi,b^σ(i))+1{ci=∅}αrecCrec(ti,t^σ(i))
其中,p^σ(i)(ci)为预测结果属于ci类的概率,最终的loss可以表示为:
L(yi,y^σ^(i))=−βclogσ^(i)(ci)+1{ci=∅}βboxLbox(bi,b^σ^(i))+1{ci=∅}βrecLrec(ti,t^σ^(i)).
在上述公式中,物体框和物体种类的cost与loss与Deformable DETR保持一致,文本识别cost和loss都为cross entropy loss。
如果不考虑文本识别cost,Deformable DETR倾向与选择IoU最大的预测结果,但文本不一定完整,在加入文本识别loss后可以较好的改善文本匹配结果
3.2 匈牙利loss-弱监督
当使用仅包含文本信息的标注信息进行训练时,则需要去除bbox相关的cost及loss,及使用如下公式:
Cweak (y,y^σ(i))=−αcp^σ(i)(ci)+1{ci=∅}αrecCrec(ti,t^σ(i))
Lweak (yi,y^σ^(i))=−βclogp^σ^(i)(ci)+1{ci=∅}βrecLrec(ti,t^σ^(i))
4. 实验
本文首先在合成数据上通过有监督的方式训练得到TTSsynthetic,然后基于该模型分别在全标注和半标注的数据上进行finetune,分别得到TTSbox和TTSweak,为了得到分割结果,通过冻结TTSbox的权重并使用poly标注数据进行训练,得到TTSpoly
4.1 与其他算法对比
4.2 弱监督结果
TTSsynthetic模型性能一般,弱监督可以显著提高模型性能,有监督训练可以进一步提升性能
4.3 对于角度和弯曲度的鲁棒性
4.4标注时间对比
作者在100张total text数据集上对9名标注者的标注时间进行测试,分别对比poly+文本,box+文本,纯文本的标注时间,分别为14.3,10.6,4.6,如下所示
4.5 消融实验
作者通过消融实验证明:
- 增加识别头可以提高检测的P/R
- 匈牙利匹配算法中加入识别cost,可以提高端到端准确率
- 识别头使用RNN要优于FC