端到端文本识别算法:CRAFTS(ECCV2020)

多种文本检测算法性能对比及算法介绍
(https://blog.csdn.net/qq_39707285/article/details/108754444)

Character Region Attention For Text Spotting(CRAFTS),是CRAFT作者的进化版本,用作端到端的文本识别,包括文本检测+文本识别,且其中的检测效果比CRAFT还要好。了解CRAFT的可以去参考这篇文章,点击进入

1. 关键点

端到端的文本识别(text spotter)指的是文本检测+文本识别。通常使用端到端的文本识别能够达到很好的效果,之前的text spotter算法通常把检测和识别分成两个分支,使用RoI Pooling让分支共享特征。然而采用基于注意力的解码器(识别)和表示字符区域空间信息的检测器(检测)之间存在一定的联系,因为这两个模块都需要查找字符区域的位置,如果能把这两个模块结合起来,可能会达到不错的效果。

于是,基于这个想法,就有了本文的 CRAFTS。识别器模块的损失经过检测器模块反向传播,检测模块输出的字符分数map能够帮助识别模块更好的处理字符中心点,识别模块的损失反向传播到检测模块后能够增加字符区域的定位准确性。除此之外,还有一个强化的共享阶段允许任意形状文本区域的特征校正和边界定位。

主要关键点:

  1. 提出端到端的网络可以检测和识别任意形状的文本
  2. 在校正和识别模块上,利用检测器的空间字符信息,构建了模块之间的互补关系
  3. 通过在网络中的所有特征中传播识别损失建立了一个单一的管道
    在IC13、IC15、IC19-MLT和TotalText都取得了最佳表现

2. 算法

2.1 综述

在这里插入图片描述

CRAFTS可以分成3个阶段:检测阶段、共享阶段和识别阶段,详细的网络结构如图2所示。

检测阶段输入一张图片然后定位到文本框。共享阶段汇集backbone高层特征和检测器输出, 然后使用校正模块对集合特征进行校正,并将其串联在一起形成一个字符相关特征。识别阶段,基于注意的解码器使用字符相关特征预测文本标签。

2.2 检测阶段

检测器选用 CRAFT, 因为它能够表示字符区域的语义信息。CRAFT的输出是字符区域中心的概率和字符之间的关系。这个字符中心信息可以用来支持识别器中的attention模块,因为这两个模块都是为了定位字符的中心位置。为了达到更好的效果,对CRAFT进行了3处修改,分别是backbone更改、链接表示和方向估计。

  • Backbone replacement
    最近的研究表明,无论是检测还是识别,ResNet50都能够得到更好的特征表示,所以替换VGG16为ResNet50。

  • Link representation
    在拉丁文字中垂直文本不常见,但在东亚国家中经常出现垂直方向的文字。在之前的CRAFT中,在垂直文本上使用原始的affinity映射通常会产生错误的透视变换,从而产生无效的框坐标,所以在这部分,使用一个二值的中心线链接相邻的字符区域,以解决该问题。
    在相邻字符之间生成一个宽度为 t t t的线段,作为linkmap的GT, t = m a x ( ( d 1 + d 2 ) / 2 ∗ α , 1 ) t = max((d_1 + d_2)/2 ∗ \alpha, 1) t=max((d1+d2)/2α,1) d 1 d_1 d1 d 2 d_2 d2是相邻字符的对角线长度, α \alpha α是尺度系数。 使用该公式可以使中心线的宽度与字符的大小成正比。 α \alpha α设置为0.1。

  • Orientation estimation
    得到一个准确的文本框方向对于文本识别是至关重要的,于是,在检测阶段增加了2个通道的输出,这两个通道用来预测字符在水平和垂直方向的角度。
    生成GT部分,字符框向上的角度记为 θ b o x ∗ \theta^*_{box} θb

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值