FOTSL: 端到端的文本检测与识别方法的原理方法与优势
端到端的文本检测与识别方法
导言:
基于深度学习的可端到端训练的自然场景检测与识别算法(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 变换得到矫正后的文本特征结合单字检测的结果,然后将其送入识别器进行文本识别。
常用的端到端文本检测与识别模型
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 的方法在效率和性能方面明显优于以前的方法。
版权声明: 本文为 InfoQ 作者【合合技术团队】的原创文章。
原文链接:【http://xie.infoq.cn/article/eff4e9eead70784c94f217e57】。文章转载请联系作者。
评论