8e3cfbd1c992882ffeb136f9d3f4d841.png

之前介绍了基于transformer的文本识别方法(aka.: transocr)。

本文主要分析一下transocr在弯曲文本识别中的性能表现,以CUTE80数据集为例。

CUTE80数据集共有288张图像用于评估,在自然场景下进行采集,并且精确裁剪了文本区域,大部分都是弯曲文本。

27cc3dc8318eeb9e556def236715e776.png

训练数据集

在合成数据集上进行训练,选择目前比较常用的数据集,MJ 和 ST。

  1. MJSynth:即MJ, 为自然场景文本识别人工合成的数据集,包含8.9M张图像。图像的字体、粗细和阴影等变化很丰富。
  2. SynthText: 即ST,最开始是为了文本检测合成的数据集,但为了训练文本识别模型,常常可以将文本区域从大图中裁剪出来。ST包含5.5M训练数据。

由于数据量很大,实际训练的时候并没有将两个合成数据集的所有样本都用上。

我们分别在两个数据集中随机采样了80%的图像用来训练。

没有在真实的数据集上进一步微调了,毕竟真实数据并没有很多。

我们直接使用在合成数据集上训练的模型来评估对CUTE80的识别性能。

结果

以下结果是从文献[4]中截取的:

8d4993e19eba799584bfa0536d9b394e.png

其中CT288就是各算法在CUTE80数据集上的识别结果,我们的模型在CUTE80上的准确率为 0.791667。 而这一极大的性能提升仅仅是在原始模型架构的基础上做了简单的替换和更改,主要有:

  1. 文献[4]原作者的best model在Prediction阶段采用的是attention,我们将attention改用为transformer
  2. 训练数据集并没有用到真实样本,与原作保持一致
  3. 没有对原始模型架构做大的修改
  4. 保持相同的训练策略,包括batch size, optimizer, learning rate等

因此,我们可以推测,性能的提升很可能是得益于transformer的作用

TPS---弯曲文本的自动纠正

我们特别对TPS做了一个对比:

6c1f9428d1fe0ae90b65dc2076b5dbe8.png

其中第一列是原始图像,第二列为使用TPS进行转换后的结果。其中TPS使用我们训练的模型权重进行初始化。

对于一些弯曲、变形、透视的文本图像能够很好的纠正。

References

  1. A robust arbitrary text detection system for natural scene images
  2. Synthetic data and artificial neural net-works for natural scene text recognition
  3. Synthetic data for text localisation in natural images
  4. What Is Wrong With Scene Text Recognition Model Comparisons?Dataset and Model Analysis

更多推荐