zl程序教程

您现在的位置是:首页 >  工具

当前栏目

FOTS:端到端的文本检测与识别方法的理论与应用

应用 检测 文本 理论 端的 端到 识别方法
2023-06-13 09:14:33 时间

导言:

端到端的文本检测与识别方法:

基于深度学习的可端到端训练的自然场景检测与识别算法(text spotting)由于其简洁高效且统一的结构,逐渐取代了过去将检测与识别分阶段训练然后拼接在一起的方案,成为自然场景文本检测与识别的主流研究方向之一。端到端自然场景文本检测和识别网络一般都共享特征提取分支,根据提取的特征进行文本检测,然后将检测得到的文本特征送入识别模块进行文本识别。

背景:

目前的主流算法也可以分成单阶段和两阶段两大类两阶段的方法都是基于目标检测和实例分割中常用的算法Faster R-CNN 和Mask R-CNN。Li 等人(2017a)提出了第1个基于深度学习的端到端自然场景文本检测和识别算法,该方法基于Faster R-CNN 进行检测,将通过RoI-Pooling 提取的共享特征送入基于注意力机制(Attention)的识别器进行文本识别,但该方法只能检测识别水平方向的文本。Lyu 等人(2018b) 基于Mask R-CNN 提出了MaskTextSpotter,该方法在RoI-Align 之后额外增加了一个单字实例分割的分支,对文本的识别也是依赖于该分支的单字符分类。

它能够检测并识别任意形状的文本,但训练的时候需要依赖字符级别的标注。作者后续在这个工作的基础上提出了Mask TextSpotter v2(Liao 等,2021),它加入了基于Attention机制的序列识别分支以提高识别器性能,其结构如图13 所示。Qin 等人(2019) 也是在Mask R-CNN 上进行改进,在预测出分割结果和文本最大外接检测框之后通过RoI Masking 的操作得到只有文本区域的特征图送入文本识别网络。后来Liao 等人(2020a)考虑到RPN 得到的文本候选区域对于任意形状的文本不鲁棒,于是提出了MaskTextSpotter v3,它首先设计了一个Anchor-free 的分割区域提取网络( segmentation proposal network,SPN)替代RPN 预测任意形状文本的显著图,然后根据每个文本的掩码mask 进行Hard RoI Masking操作,得到该文本的特征并送入识别网络,检测和识别分支的设计思路都沿用作者之前的MaskTextSpotter v2。

两阶段的端到端文本检测识别算法的性能通常受到RoI-Pooling 等特征对齐操作的影响,所以很多学者也提出了单阶段的方法。Liao 等人(2017)提出的TextBoxes(Liao 等人,2017) 和TextBoxes + +(Liao 等人,2018a)都是基于单阶段目标检测器SSD进行改进,在得到文本检测框之后送入CRNN(Shi等人,2017b)进行文本识别。其中TextBoxes 只能识别水平文本,而TextBoxes ++ 由于加入了角度预测,所以能识别任意方向的四边形文本。He 等人(2018)使用EAST 算法先检测到任意方向的文本,然后通过Text Align 层在检测框内进行采样得到文本区域特征送入识别分支进行识别。Liu 等人(2018c)提出的FOTS(fast oriented text spotting)也是和He 等人的思想类似,同样使用EAST 作为检测分支,不同之处在于FOTS 是通过RoI rotate 转换任意方向文本的特征送入识别器进行文本识别。Xing等人(2019)提出的CharNet 则是和Mask TextSpotter一样使用单字符实例分割作为识别单元,检测单元则是基于单字检测和文本行检测的结合。

此外,CharNet 引入了和CRAFT 类似的迭代字符检测方法以得到单字检测结果,提高端到端的性能。基于文本组件的方法还有Feng 等人(2019a)提出的Text-Dragon,它不需要与CharNet 一样的单字符级别标注,其检测分支先检测文本的任意四边形组件,然后通过RoI slide 操作与CTC 算法结合进行文本识别。Qiao 等人(2020a)提出的TextPerceptron 基于分割的方法对任意形状的文本进行检测,然后通过一个形状变换模块(shape transform module)将检测到的文本区域矫正成规则形态并送入识别分支。Wang 等人(2020a)的工作则是通过检测任意形状文本的边界点,并通过TPS 变换对文本进行矫正,然后送入识别分支输出最后的结果。

Liu 等人(2020)基于不需要锚点框(anchor-free)的单阶段目标检测器FCOS(fully convolutional one-stage object detector) (Tian等,2019)提出了ABCNet(adaptive Bezier-curve network),用三次贝塞尔曲线对不规则文本进行建模,通过学习贝塞尔曲线控制点检测文本实例,并提出了Bezier Align 更高效地连接检测与识别的特征,极大提高了端到端文本检测与识别的效率和性能,ABCNet的结构如图14 所示。Baek 等人(2020)以他们之前自然场景文本检测的工作CRAFT 为基础,提出CRAFTS,在检测到不规则文本后对区域特征做TPS变换得到矫正后的文本特征结合单字检测的结果,然后将其送入识别器进行文本识别。

3.3.1 常用的端到端文本检测与识别模型

FOTS

FOTS由中国科学院深圳先进技术研究所发表的论文《FOTS: Fast Oriented Text Spotting with a Unified Network》提出。一个统一的端到端可训练的快速定向文本定位(FOTS)网络,用于同时检测和识别,在两个互补的任务之间共享计算和视觉信息。特别地,引入了旋转旋转来共享检测和识别之间的卷积特征。得益于卷积共享策略,FOTS与基线文本检测网络相比,计算消耗很小,并且联合训练方法学习了更多的通用特征,使FOTS方法比这两阶段方法表现得更好。实验ICDAR 2015,ICDAR 2017 MLT和ICDAR 2013数据集表明,该方法优于最先进的方法,在ICDAR 2015上取得89.84%的F1,帧率达到22.6fps。

在本文中,提出同时考虑文本检测和识别。它产生了快速端到端训练的文本定位系统(FOTS)。与之前的两阶段文本定位相比,FOTS的方法通过卷积神经网络学习更一般的特征,这些特征在文本检测和文本识别之间共享,而这两个任务的监督是互补的。由于特征提取通常需要大部分时间,因此它将计算范围缩小为一个单一的检测网络,如图1所示。连接检测和识别的关键是ROIRotate,它根据定向的检测边界框从特征图中得到合适的特征。

FOTS算法原理:

FOTS是一个端到端可训练的框架,它可以同时检测和识别自然场景图像中的所有单词。它由共享卷积、文本检测分支、旋转操作和文本识别分支四个部分组成。

其体系结构如图2所示。首先利用共享卷积的方法提取特征图。在特征图之上建立了基于全卷积网络的面向文本检测分支来预测检测边界框。旋转操作符从特征图中提取与检测结果对应的文本建议特征。然后将文本建议特征输入循环神经网络(RNN)编码器和基于神经网络的时序类分类(CTC)解码器进行文本识别。由于网络中的所有模块都是可微的,所以整个系统可以进行端到端进行训练。

backbone

共享卷积层的主干网络是ResNet-50 。受FPN 的启发,FOTS连接了低级特征映射和高级语义特征映射。由共享卷积产生的特征图的分辨率为输入图像的1/4。文本检测分支使用共享卷积产生的特征输出文本的密集每像素预测。利用检测分支产生的面向文本区域的建议,所提出的旋转旋转将相应的共享特征转换为固定高度的表示,同时保持原始区域的高宽比。最后,文本识别分支识别区域提案中的单词。采用CNN和LSTM对文本序列信息进行编码,然后采用CTC解码器。

文本检测分支(the text detection branch)

受EAST与DDRN的启发,FOTS采用完全卷积网络作为文本检测器。 由于自然场景图像中有许多小文本框,FOTS将共享卷积中原始输入图像的1/32到1/4大小的特征映射放大。 在提取共享特征之后,应用一个转换来输出密集的每像素的单词预测。 第一个通道计算每个像素为正样本的概率。 与EAST类似,原始文本区域的缩小版本中的像素被认为是正的。 对于每个正样本,以下4个通道预测其到包含此像素的边界框的顶部,底部,左侧,右侧的距离,最后一个通道预测相关边界框的方向。 通过对这些正样本应用阈值和NMS产生最终检测结果。

RoIRotate操作

RoIRotate对定向特征区域进行变换,得到轴对齐的特征图,如图4所示。在这项工作中,我们固定了输出高度,并保持高宽比不变,以处理文本长度的变化。与RoI pooling和RoI Align相比,RoI旋转提供了一个更通用的提取感兴趣区域特征的操作。FOTS还与RRPN中提出的RRoI pooling进行了比较。RRoI pooling通过最大池化将旋转区域转换为固定大小的区域,同时我们使用双线性插值来计算输出的值。该操作避免了RoI与提取的特征之间的不一致,并使输出特征的长度成为变量,更适合于文本识别。

RoIRotate以共享卷积生成的特征图作为输入,生成所有文本提案的特征图,高度固定和高宽比不变。与目标分类不同,文本识别对检测噪声非常敏感。预测文本区域的一个小误差可能会切断几个字符,这对网络训练有害,因此FOTS在训练过程中使用地面真实文本区域而不是预测的文本区域。在测试时,应用阈值化和NMS来过滤预测的文本区域。旋转后,转换后的特征映射被输入到文本识别分支。

文本识别分支(the text recognition branch)

文本识别分支的目标是利用共享卷积提取和RoIRotate的区域特征来预测文本标签。考虑到文本区域中标签序列的长度,LSTM的输入特征只减少了两次(减少为1/4)沿着宽度轴通过共享的卷积从原始图像。否则,将消除紧凑文本区域中可区分的特征,特别是那些窄形字符的特征。FOTS的文本识别分支包括VGGlike 序列卷积、仅沿高度轴缩减的池、一个双向LSTM 、一个全连接和最终的CTC解码器。

实验结果:

FOTS选择三个具有挑战性的公共基准数据集:ICDAR 2015、ICDAR 2017 MLT和ICDAR 2013对方法进行评估。

ICDAR 2015是ICDAR 2015鲁棒阅读竞赛的挑战4,该竞赛通常用于定向场景文本检测和定位。该数据集包括1000张训练图像和500张测试图像。这些图像由谷歌眼镜捕获,不考虑位置,因此场景中的文本可以是任意方向。对于文本识别任务,它提供了三个特定的词汇列表,供测试阶段参考,分别命名为“STRONG”、“WEAK”和“GENERIC”。“STRONG”词典为每张图片提供100个单词,包括图片中出现的所有单词。“WEAK”词汇包括整个测试集中出现的所有单词。“GENERIC”词汇是一个90k单词词汇。在训练中,首先使用ICDAR 2017 MLT训练和验证数据集中的9000张图像对模型进行训练,然后使用1000张ICDAR 2015训练图像和229张ICDAR 2013训练图像对模型进行微调。

ICDAR 2017 MLT是一个大型多语言文本数据集,包括7200个训练图像、1800个验证图像和9000个测试图像。该数据集由来自9种语言的完整场景图像组成,其中的文本区域可以是任意方向的,因此更具多样性和挑战性。这个数据集没有文本检测任务,所以只报告文本检测结果。

ICDAR 2013由229张训练图像和233张测试图像组成,但与上述数据集不同,它只包含水平文本。本识别任务提供了“STRONG”、“WEAK”和“GENERIC”词汇。。虽然FOTS方法是针对定向文本设计的,但该数据集的结果表明,所提出的方法也适用于水平文本。由于训练图像太少,首先使用ICDAR 2017 MLT训练和验证数据集中的9000张图像来训练预训练模型,然后使用229张ICDAR 2013训练图像进行微调。

与以往将文本检测和识别分为两个不相关的任务的工作不同,FOTS将这两个任务联合训练,并且文本检测和识别可以相互受益。为了验证这一点,我们构建了一个两阶段系统,其中文本检测和识别模型分别进行训练。在FOTS网络中,检测网络是通过去除识别分支来构建的,同样,检测分支也是从原始网络中去除的,从而得到识别网络。对于识别网络,从源图像裁剪的文本行区域被用作训练数据,类似于以前的文本识别方法【《An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition》、《Reading scene text in deep convolutional sequences.》、《Star-net: A spatial attention residue network for scene text recognition》】。

如表2、3、4所示, FOTS显著优于文本定位任务中的两阶段方法“Our detection”和文本定位任务中的“Our Two-Stage”。结果表明,FOTS的联合训练策略使模型参数达到了更好的收敛状态。

FOTS在检测方面表现更好,因为文本识别监控有助于网络学习详细的字符级特征。为了进行详细分析,我们总结了文本检测的四个常见问题,未命中:丢失一些文本区域,错误:将一些非文本区域错误地视为文本区域,拆分:将整个文本区域错误地拆分为几个单独的部分,合并:将几个独立的文本区域错误地合并在一起。如图5所示,与“Our detection”方法相比,FOTS大大减少了所有这四种类型的错误。具体来说,“Our detection”方法侧重于整个文本区域特征,而不是字符级特征,因此当文本区域内部存在较大差异或文本区域与其背景具有相似模式等情况下,该方法效果不佳。因为文本识别监管迫使模型考虑字符的细微细节,FOTS学习具有不同模式的单词中不同字符之间的语义信息。它还增强了具有相似模式的角色和背景之间的差异。如图5所示,对于未命中的情况,“我们的检测”方法未命中文本区域,因为它们的颜色与其背景相似。对于错误的情况,“Our detection”方法错误地将背景区域识别为文本,因为它具有“类似文本”的模式(例如,具有高对比度的重复结构条纹),而FOTS在考虑拟议区域中的字符细节的认识损失训练后避免了这种错误。对于拆分情况,“Our detection”方法将文本区域拆分为两个,因为该文本区域的左侧和右侧具有不同的颜色,而FOTS将该区域作为一个整体进行预测,因为该文本区域中的字符模式是连续且相似的。对于合并案例,“Our detection”方法错误地将两个相邻的文本边界框合并在一起,因为它们太近且具有相似的模式,而FOTS利用文本识别提供的字符级信息并捕获两个单词之间的空间

在ICDAR 2015数据集的实验结果如下图所示:

在ICDAR 2017数据集的实验结果如下图所示:

在ICDAR 2013数据集的实验结果如下图所示:

将FOT与最先进的方法进行比较。如表2、3、4所示,FOTS的方法在所有数据集中都比其他方法有很大的优势。由于ICDAR 2017 MLT没有文本检测任务,实验只报告文本检测结果。ICDAR 2013中的所有文本区域都由水平边界框标记,而其中许多区域略微倾斜。由于FOTS的模型是使用ICDAR 2017 MLT数据进行预训练的,因此它还可以预测文本区域的方向。FOTS的最终文本定位结果保持预测方向以获得更好的性能,并且由于评估协议的限制,FOTS的检测结果是网络预测的最小水平外接矩形。值得一提的是,在2015年ICDAR文本识别任务中,FOTS的方法在Fmeasure方面比之前的最佳方法【《Detecting oriented text in natural images by linking segments. 》、《An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition》】要好15%以上。对于单尺度测试,对于ICDAR 2015、ICDAR 2017 MLT和ICDAR 2013,FOTS分别将输入图像的长边大小调整为2240、1280、920,以获得最佳结果,FOTS采用3-5尺度进行多尺度测试。

结论:

FOTS,一个面向场景文本识别的端到端可训练框架。提出了一种新的旋转操作,将检测和识别统一到端到端的流水线中。FOTS具有模型小,速度快,精度高,支持多角度等特点,在标准基准测试上的实验表明,FOTS的方法在效率和性能方面明显优于以前的方法。