OCR综述概览
主要分为四个部分
文字识别、文本检测、端到端文字识别和数据集的介绍
1. 文字识别
指标为f1-score
Conf. | Net | Title | SVT | IIIT5K | ICDAR13 |
---|---|---|---|---|---|
TPAMI2015 | CRNN | An end-to-end trainable neural network for image-based sequence | 0.808 | 0.782 | 0.867 |
CVPR2016 | RARE | Robust scene text recognition with automatic rectification | 0.819 | 0.819 | 0.886 |
ICCV2017 | FAN | Focusing Attention: Towards Accurate Text Recognition in Natural Images | 0.859 | 0.874 | 0.933 |
TPAMI2018 | ASTER | ASTER: An Attentional Scene Text Recognizer with Flexible Rectification | 0.936 | 0.934 | 0.918 |
PR2019 | MORAN | MORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition | 0.883 | 0.912 | 0.924 |
CVPR2020 | SRN | Towards Accurate Scene Text Recognition With Semantic Reasoning Networks | 0.915 | 0.948 | 0.955 |
1、CRNN
- 首先CNN提取图像卷积特征
- 然后LSTM进一步提取图像卷积特征中的序列特征
- 最后引入CTC解决训练时字符无法对齐的问题
2、RARE
RARE是一个深度神经网络,包括一个空间变换网络Spatial Transformer Network (STN)和一个序列识别网络Sequence Recognition Network (SRN)
两个网络同时用BP算法进行训练。网络结构如下:
提出了一个新颖且对不规则文本具有鲁棒性的场景文字识别方法;
采用了基于注意力模型(attention-based)的STN框架。传统的STN只在普通的卷积神经网络中测试;
在SRN编码器中使用循环卷积结构。
3、FAN
- 提出注意力漂移的概念,解释了现有注意力方法在复杂/低质量自然图像上性能较差的原因。
- 开发了一种 FAN新方法来解决注意力漂移问题,这种方法在大多数现有方法都有的注意力模块之外,还引入了一个全新的模块——聚焦网络(FN),该网络可以使 AN偏离的注意力重新聚焦在目标区域上。
- 采用强大的基于 ResNet 的卷积神经网络,以丰富场景文本图像的深度表征。
- 在多个基准上实施大量实验,展示了我们的方法与现有方法相比的性能优越性。
4、ASTER
本文方法主要解决不规则排列文字的文字识别问题,论文为RARE的改进版
5、MORAN
面向不规则及通用场景文本。MORAN由矫正子网络MORN和识别子网络ASRN组成,在矫正子网络MORN中设计了一种新颖的像素级弱监督学习机制来进行不规则文本的形状纠正,以降低不规则文本的识别难度。矫正子网络和识别子网络可端到端联合训练,也不需要字符位置或像素级分割等监督信息,使得网络的训练大大简化。
- 修正网络MORN采用弱监督的方式进行
- 提出了fractional pickup方法进一步提升attention的灵敏度
- 提出了curriculum learning strategy用于网络整体训练
6、SRN
由四部分组成:基础网络Backbone、并行的视觉特征提取模块(PVAM)、全局语义推理模块(GSRM) 和视觉语义融合的解码器(VSFD)
2. 文本检测
指标为f1-score
Conf. | Net | Title | ICDAR13 | ICDAR15 | CTW1500 |
---|---|---|---|---|---|
ECCV2016 | CTPN | Detecting Text in Natural Image with Connectionist Text Proposal Network | 0.8215 | 0.6085 | 0.569 |
CVPR2017 | SegLink | Detecting Oriented Text in Natural Images by Linking Segments | 0.853 | 0.75 | |
CVPR2017 | EAST | EAST: An Efficient and Accurate Scene Text Detector | 0.8072 | 0.604 | |
arXiv2018 | PSENet | Shape Robust Text Detection with Progressive Scale Expansion Network | 0.8721 | 0.822 | |
AAAI2019 | DBNet | Real-time Scene Text Detection with Differentiable Binarization | 0.847 | 0.834 | |
CVPR2021 | FCENet | Fourier Contour Embedding for Arbitrary-Shaped Text Detection | 0.862 | 0.855 |
只能检测水平文本,通过Faster RCNN+LSTM预测固定宽度的文本候选框,在后处理部分再将这些小文本段连接起来,得到文本行。
- 将文本检测任务转化为一连串小尺度文本框的检测;
- 引入RNN提升文本检测效果;
- Side-refinement(边界优化)提升文本框边界预测精准度。
2、 SegLink
- 与CTPN思想类似,都是先找出文本行的一部分,然后再连接所有的部分,组成一个完整的文本行;
- 在SSD基础上加入了旋转角度的学习;
- 在小部分文本框之前用连接线(相邻框的中点连线)来表示属不属于同一个文本框,也是用网络来学习;
- 使用融合规则将各个阶段的框信息和线信息进行融合,组成文本行。
3、 EAST
- 提出了一个由两阶段组成的场景文本检测方法:全卷积网络阶段和NMS阶段。
- 该pipeline可灵活生成word level或linelevel上文本框的预测,预测的几何形状可为旋转框或水平框。
- 算法在准确性和速度上优于最先进的方法。
4、PSENet
主干 resnet
- 是一个基于像素分割的方法,能够精确地定位任意形状的文本实例;
- 提出了渐进式扩展算法,即使两个文本实例离得很近也可以分开,从而保证文本实例的准确位置;
从最小尺度的kernels开始扩展,最小的kernels可以把紧靠的文本实例分开;逐渐扩展到更大的kernels;直到扩展到最大的kernels,组成最终的结果。
5、DBNet
传统的基于分割的文本检测的后处理方法比较复杂,提出差分二值化
- 在基准数据集上有良好的表现,其中包括水平、多个方向、弯曲的文本。
- 比之前的方法要快很多,因为DB可以提供健壮的二值化图,从而大大简化了后处理过程。
- 使用轻量级的backbone(ResNet18)也有很好的表现。
- DB模块在推理过程中可以去除,因此不占用额外的内存和时间的消耗。
6、FCENet
着重于对任意形状文本包围框的表示方法建模,提出了可以精确地逼近任何封闭曲线的傅里叶轮廓嵌入方法和针对此文本框表达方法设计的FCENet。
该算法在高度弯曲文本上具有优异的检测性能,且具有良好的泛化能力。在没有额外数据集参与预训练的情况下,在CTW1500、Total-Text上的检测效果达到了SOTA。
3. 端到端文字识别
- 由于检测和识别是高度相关的,因此将检测和识别统一到一个模型里面,就使得图像的feature可以被共享利用。
- 检测和识别这两种任务可以是互补的,更好的检测结果可以提升识别的准确率,识别的信息也可以被用来精修检测的结果。
Conf. | Net | Title | ICDAR13 | ICDAR15 |
---|---|---|---|---|
ICCV2017 | Towards End-to-end Text Spotting with Convolution Recurrent Neural Network | 0.8459 | ||
CVPR2018 | FOTS | FOTS: Fast Oriented Text Spotting with a Unified Network | 0.8477 | 0.6533 |
ECCV2018 | Mask TextSpotter | Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes | 0.865 | 0.624 |
ICCV2019 | CharNet | Convolutional Character Networks | 0.7108 | |
ECCV2020 | Mask TextSpotterV3 | Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting | 0.742 |
a.end-to-end方式训练出来的模型可以学习到更丰富的图像特征,并且这种特征可以被两种不同任务所共享,可以有效的节省时间。
b.论文中提出了一种全新的region feature抽取方法。这种feature抽取方法可以很好的兼容文本bbox原始长宽比以及避免图像的扭曲,而且ROI pooling可以生成具有不同长度的feature maps。
c.提出了一种类似课程学习策略的方法用一种逐渐增加图像复杂性的数据集来训练模型。
2、FOTS
- End-to-end框架的解决了角度文本端到端识别的问题;
- RoI Rotate模块的运用,桥接了detection和recogniton
- 模型小、速度快、效果好
3、Mask TextSpotter
Mask TextSpotter利用简单且平滑的端到端学习过程,通过语义分割获得精确的文本检测和识别。此外,它在处理不规则形状的文本实例(例如,弯曲文本)方面优于之前的方法。
识别部分只能识别26个字母+10个数字
4、CharNet
整个网络分为两个大的分支,上面的分支用来进行字符检测和识别(整体);下面的分支用来检测字符中的每一个文本(单个文字或字符)。
5、Mask TextSpotterV3
4. 数据集
数据集 | 数据语言 大小 | 简要介绍 | 标注格式 | 下载地址 |
---|---|---|---|---|
ICDAR_2013 | 语言: 英文 train:229 test:233 | 水平文本 | x1 y1 x2 y2 text | 下载链接. |
ICDAR_2015 | 语言: 英文 train:1000 test:500 | 倾斜文本 | x1,y1,x2,y2,x3,y3,x4,y4,text | 下载链接. |
ICDAR2017-MLT | 语言: 混合 train:7200 test:1800 | 多语言文本 | x1,y1,x2,y2,x3,y3,x4,y4,text | 下载链接. 提取码: z9ey |
ICDAR2017-RCTW | 语言: 混合 train:8034 test:4229 | 主要是中文 | x1,y1,x2,y2,x3,y3,x4,y4,<识别难易程度>,text | 下载链接 |
天池比赛2018 | 语言: 混合 train:10000 test:10000 | 合成图像,产品描述,网络广告 复杂排版,密集的小文本或多语言文本,水印等 | x1,y1,x2,y2,x3,y3,x4,y4,text | 检测。 识别 |
ICDAR2019-MLT | 语言: 混合 train:10000 test:10000 | 水平文本 每个连续的1000个图像包含一种主要语言的文本 | x1,y1,x2,y2,x3,y3,x4,y4,语言类别,text | 下载链接. 提取码: xofo |
ICDAR2019-LSVT | 语言: 混合 train:30000 test:20000 | 中文街景图像 | json格式标签 | 下载链接 |
ICDAR2019-ReCTS | 语言: 混合 train:20000 test:5000 | 餐厅招牌上的中文文本 | json格式标签 | 下载链接 |
ICDAR2019-ArT | 语言: 混合 train:5603 test:4563 | 包含水平、多方向和弯曲等多种形状的文本 | json格式标签 | 下载链接 |
Synth800k | 语言: 英文 80k | 每个文本实例均使用文本字符串、字级和字符级边界框进行注释 | 基于字符标注 | 下载链接 |
360万中文数据集 | 语言: 中文 360k | 每个样本固定10个字符,字符随机截取自语料库中的句子 | 每张图片由10个字符构成 | 下载链接. 提取码:lu7m |
中文街景数据集CTW | 语言:中文 32285 | 包含平面文本,凸起文本,城市文本,农村文本, 低亮度文本,远处文本,部分遮挡文本 | 基于字符标注的中文街景图片 | 下载链接 |
百度中文场景文字识别 | 语言: 混合 29万 | 由街景图片中的文字行区域(如店铺标牌、地标等)截取出来而形成 图像经过一些预处理:将文字区域利用仿射变化,等比映射为一张高为48像素的图片 | 下载链接 | |
MSRA-TD500 | 语言: 中英文 Training:300 Test:200 |
| .gt格式标签 | 下载链接 |
Total-Text | 语言: 英文 Training:1255 Test:300 | 弯曲文本 | 下载链接 |