论文阅读
paper: https://arxiv.org/pdf/1904.01906.pdf
github: https://github.com/clovaai/deep-text-recognition-benchmark
1.介绍
这篇文章是韩国Naver Clova AI Research发表在ICCV2019上的一篇论文,论文的主要贡献为:
1.考察了训练集和测试集的不一致性,及其带来的模型表现差距。
2.提出了统一的四阶段STR( scene text recognition )框架,分别是:矫正转换(transformation),特征提取(feature extraction),序列模块(sequence modeling),预测(prediction)。
3.在具有一致性的数据集下,分析四个模块对模型表现的贡献,利用不同模块可以组合出新的模型。
这篇文章对STR任务的模型进行了拆解分析,有助于研究者对模型深入了解,并对现有模型进行改进。
2.STR数据集分析
人工合成数据集:
由于训练STR模型需要大量图片,所以常常选择人工生成的手段
MJSynth (MJ):通过一定的渲染和生成手段得到,约有890万张图片
SynthText (ST):从识别图像剪切出文本,岳友550万张图片
作者认为之前使用人工合成数据集研究所取得的成绩,难以说明是由于模块的作用还是使用了更大更好的数据集。
真实图像数据集
首先是识别难度较小的数据集,即文本间隔较为均匀
IIIT5K-Words (IIIT):由google图片中抓取,由2,000张训练图像和3,000张测试图像组成。
Street View Text (SVT):户外街景图像。 由257张训练的图像和647张测试的图像组成
ICDAR2003 (IC03):阅读摄像机捕获的场景文本,ICDAR2003比赛数据集,包含1,156张训练图像和1,110张评估图像
ICDAR2013 (IC13):包含848幅用于训练的图像和1,095幅用于评估的图像
之后是识别难度较大的数据集,文字存在弯曲和旋转
ICDAR2015 (IC15):4,468张用于训练的图像和2,077张用于评估的图像。由Google眼镜佩戴者在自然运动下拍摄的
SVT Perspective (SP):街景图片,其中包含645幅图像以供评估。许多图像都包含透视投影
CUTE80 (CT):其中包含288张裁剪后的图像。有很多弯曲的文字图像
从图片中看出,对于IC03,IC13,IC14,存在图片数量的差异,这一差异会导致评估结果的误差。
3.STR框架分析
STR模型发展,CRNN模型第一次将RNN与CNN结合,之后提出了多个改进模型。为了处理旋转和弯曲文本,提出了转换模块来标准化输入图像。随着注意力机制的发展,有的方法抛弃了RNN,提出了基于attention的方法。
其四阶段的框架为:
Transformation stage:如果弯曲和倾斜的图像直接输入模型,后续的特征提取阶段需要从复杂的几何图像学习到不变的特征,这点给特征提取带来的困难和负担,所以要对图像进行标准化。文中介绍的图像标准化方法是thin-plate spline(TPS),即薄板样条插值。
Feature extraction stage:提取空间特征,文中提到的有VGG,RCNN和ResNet
Sequence modeling stage:提取序列特征,文中提到的为BiLSTM
Prediction stage:文中提到的两种方法为Connectionist temporal classification(CTC)和attention-based sequence prediction(Attn)
4.实验
这部分对上一部分的四个模块进行组合,共有2(使用或不使用TPS)32(使用或不使用BiLSTM)*2 = 24种模型,固定训练,测试和评估数据集, 使用数据集为MJSynth (MJ)和SynthText (ST)。
测试结果如下:
星号为先前提出的模型,有六种,灰色为重新组合而成的模型。两张图的纵轴为准确度,左图横轴每张图片的时间消耗,右图为模型的内存消耗。
可以看出ResNet,BiLSTM和TPS的整体速度降低适中(1.3ms→10.9ms),同时极大地提高了准确度(69.5%→82.9%)。而使用Attn仅将准确性提高了1.1%,却大大降低了速度(27.6 ms)。
这两张图,左图为使用ctc和attn的对比,右图为使用三种cnn模块的对比。
之后文章详细的分析了各个模块对准确性,速度和内存的影响。
对于None-VGG-None-CTC的基础组合,从精度改进与时间使用情况来看,ResNet,BiLSTM,TPS和Attn的顺序是模块最有效的升级顺序。另一方面,从精度内存的角度来看,RCNN,Attn,TPS,BiLSTM和ResNet是模块最有效的升级顺序
最后对模型无法识别的图片进行了分析,如下图所示分别是书法字体,垂直文本,特殊字符,重度遮挡字符和低分辨率字符,还有一部分错误识别是由于标签错误。