场景文本识别模型综述
一、数据集的分析
(一) 训练数据集
大多数自然场景文字识别算法使用合成数据进行训练。两个常用的合成数据集是 MJSynth(MJ) 和 SynthText(ST) ,分别包含890万和550万张训练样本。
结论:
- 自然场景文字识别算法的性能随着数据量的增多而改善。
- 在不同训练数据集下训练的模型,彼此不具有可比性。
- 数据的多样性比数据量更加重要。
- 当真实训练数据与评测数据分布相近时,在真实数据上Fine-tuning可以改善识别算法的性能;反之效果可能适得其反。
(二) 测试数据集
自然场景文字识别领域的评测数据集主要包括2类:一类是规则文本数据集,如 IIIT5K,SVT,IC03 和 IC13;另一类是不规则文本数据集(以弯曲、透视变换为主要特点),如IC15,SVT-P 和 CUTE80 。
结论:
- 部分自然场景文字识别评测数据集(IC03, IC13和IC15)存在样本数量差异。特别地,IC03训练集与IC13测试集存在215张重合文字样本。
- 测试集样本数量的差异会影响对识别算法性能的评估。
二、模型结构的分析
本文将自然场景文字识别模型分为4个模块阶段(Stage),包括:
- 变换处理阶段(Transformation stage)
- 特征提取阶段(Feature Extraction stage)
- 序列建模阶段(Sequence Modeling stage)
- 预测阶段(Prediction stage)
本文探究了不同阶段的不同设计实现对算法识别性能、速度和参数存储量的影响:
结论:最佳模型结构:TPS + ResNet + BiLSTM + Attntion Mechanism
(一)Transformation Stage
结论:
- TPS变换的引入可以改善自然场景文字识别器的识别性能。
- TPS变换适用于识别不规则文本。
- 引入TPS变换带来的识别性能的改善,以增加少量时间和增加少量参数作为代价。
(二)Feature Extraction Stage
结论:
- 具有更复杂的特征提取模块的自然场景文字识别器的识别性能更好。
- 更复杂的特征提取模块具有更好的特征表达能力,适用于识别具有复杂字体和背景的文字样本。
- 对于速度而言,特征提取阶段的不同实现方法没有明显差异;对于参数存储量而言,ResNet的高识别性能以最大的参数存储空间作为代价。
(三)Sequence Modeling Stage
结论:
- BiLSTM的引入可以改善自然场景文字识别器的识别性能。
- BiLSTM适用于识别包含无关字符的文字样本。
- 引入BiLSTM带来的识别性能的改善,以增加少量时间和增加少量参数作为代价。
(四)Prediction Stage
(五)准确率和速度的权衡分析
结论:
- ResNet、BiLSTM和TPS的引入略微增加了时间(1.3ms ->10.9ms),却很好地改善了识别性能(69.5% ->82.9%)。
- Attention Mechanism的引入增加了大量的时间(10.9ms-> 27.6ms),却带来了很少的识别性能改善(82.9% ->84.0%)。
- 权衡准确率和速度,自然场景文字识别模型最优的模块改善路径为:ResNet -> BiLSTM -> TPS -> Attention Mechanism。
(六)准确率和参数存储量的权衡分析
结论:
- RCNN是一个轻量级的特征提取模块,具有较好的准确率-参数存储量权衡优势;相反,引入ResNet占用了大量的参数。
- 权衡准确率和参数存储量,自然场景文字识别模型最优的模块改善路径为:RCNN -> Attention Mechanism -> TPS -> BiLSTM –> ResNet。
三、 总结及讨论
本文是第一篇对自然场景文字识别算法性能比较的公平性进行详细分析讨论的文章。本文通过大量的实验分析,总结并提出了丰富实用的结论和工程建议,同时也引发了相关研究者对于自然场景文字识别领域更多的思考。
本文的主要贡献有:
(1)首次公开指出了自然场景文字识别算法性能比较的公平性的问题;
(2)系统全面的探讨了训练和评测数据集、模型结构(如主干网)对自然场景文字识别算法性能的影响;
(3)把自然场景文字识别整体流程划分为四个不同的模块,并总结了一个高性能的识别技术路线;
(4)分析了自然场景文字识别算法的不同阶段及不同实现对识别算法性能、速度和参数存储量的影响。