阅读笔记——TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes

概述

基于神经网络模型和大数据集的发展,文本检测也受到了广泛关注。但是现有的文本检测方法受限于对文本行的表示方法,例如使用坐标轴对齐的矩形、或者旋转矩形,或者四边形对文本行进行表示,当遇到一些形状更灵活的文本行,例如弧形文本,如下图所示,这样的表示方法便无能为力。而弧形文本在日常生活中又经常出现。
在这里插入图片描述
一方面,文本检测很重要,在场景理解、物品搜索、自动驾驶等方面都可以有广泛的应用;另一方面由于颜色、尺度、宽高比等方面的差异,文字检测相对于普通目标检测又有很多不同的地方,因此需要特别设计和研究。

方法

现有的基于深度学习的文本检测方法,大致可以分为基于回归和基于分割两大类。基于回归的方法基于 SSD 或者 Faster-RCNN 等修改而来;基于分割的方法基于 FCN 等修改而来。但是这些方法大多缺乏对任意形状文本实例的检测能力。

文本实例表征

如下图所示,文章提出了一种新的称作 TextSnake 的适用任意形状文本实例的表示方法。TextSnack 将文本实例用一系列重叠的小圆环表示,这些圆环都处于一个中心线上,包含中心 c c c、半径 r r r 和方向值 θ θ θ。圆盘的这些属性信息可以被用来恢复这些文本实例为一个矩形,便于输入到后期的文本识别模型。
在这里插入图片描述

整体流程

整体流程如下图所示,使用一个 FCN 结构的模型对文字区域(Text Region,TR)、文本中心线(Text Center Line,TCL)、半径 r r r c o s θ cos θ cosθ s i n θ sin θ sinθ 值进行预测。
在这里插入图片描述

网络结构

网络整体结构基于 FPN 和 U-Net,最后输出和输入图像分辨率一致的特征图 h × w × 7 h×w×7 h×w×7,其中 4 个通道预测 TR 和 TCL,另外 3 个通道分别预测 r r r c o s θ cos θ cosθ s i n θ sin θ sinθ
在这里插入图片描述

推理流程

经过网络输出可以得到 TR 和 TCL,对这两个得分图使用阈值 T t c l T_{tcl} Ttcl T t r T_{tr} Ttr 进行阈值化,随后 TCL 和 TR 的公共区域就是最终的 TCL 区域。基于互斥集算法,能将这些分离的 TCL 区域分为不同的文本实例。

随后基于这些分割出来的文本实例和圆盘属性值,设计了一个 striding algorithm,流程如下图所示。

  • 首先,随机选择一个像素作为起始点并进行中心化;
  • 然后,搜索方向朝着两个相反的方向进行,不断进行搜索以及中心化;
  • 最终得到两个中心序列,将这个序列进行组合得到最终的文本实例;
  • 将文本实例进行矫正,将弧形文本实例矫正为矩形文本行,送入识别网络进行识别。

在这里插入图片描述
在这里插入图片描述

其中各个步骤的详细图示如下图所示:

  • Centralizing:对于 TCL 上的一个点,根据模型预测的几何属性图,可以获取它在 TCL 上面的切线和法线,法线再 TCL 区域中的中点就是中心点;
  • Striding:基于当前点,使用半径 r r r 和角度 θ θ θ 值,获取下一个圆环中心点坐标,并同样使用 Centralizing 进行中心化;
  • Sliding:重复前两步,圆环覆盖的地方就是预测的文本实例位置。
    在这里插入图片描述

标签生成

标签生成流程如下图所示。对于一个文本实例标注:

  • 首先确定左右两个端点,确定它们的方法,就是对于这样两个端点 AH 和 DE,有 M ( e i , i + 1 ) = c o s ⟨ e i + 1 , i + 2 , e i − 1 , i ⟩ M\lparen e_{i,i+1}\rparen=cos\langle e_{i+1,i+2},e_{i-1,i}\rangle M(ei,i+1)=cosei+1,i+2,ei1,i 趋近于 -1;
  • 然后分别在上下边采样相等数目的边界点;
  • 计算这些对应边界点的中点,作为初始的 TCL 点;
  • 收缩 TCL 两端 1 2 r e n d \frac{1}{2}r_{end} 21rend长度,使得 TCL 完全处于 TR 内部,并使得相邻文本实例容易被区分;
  • 将 TCL 区域扩展 1 5 r \frac{1}{5}r 51r 半径长度,单个的点将被认为是噪声做处理。
  • 对 TCL 中每个点计算 r r r θ \theta θ r r r 是对应点到边界的距离, θ \theta θ 通过直线拟合进行计算。

对于 TCL 区域之外的点,对应的几何属性都被直接设置为 0。

在这里插入图片描述

训练损失函数

损失函数如下所示。其中 L c l s L_{cls} Lcls 代表 TCL 和 TR 的分类交叉熵损失。 L r e g L_{reg} Lreg 代表 r , c o s ( θ ) , s i n ( θ ) r, cos\lparen\theta\rparen,sin\lparen\theta\rparen r,cos(θ),sin(θ) 的 Smooth-L1 回归损失。损失比例值全部设置为 1。
在这里插入图片描述

数据集及指标

数据集

模型在 5 个数据集上进行了实验:

  • SynthText。是一个大尺度合成数据集,包含 800K 幅图片。图片将文字渲染到自然图像中,这些文字有不同的字体、大小、颜色以及方向,比较真实。在这个数据集上对模型进行 1 个 epoch 的预训练,然后在其余数据集上进行微调;
  • TotalText。包含 1255 张训练图像,300 张测试图像。里面包含水平、多方向及弧形文本;
  • CTW1500。主要包含弧形文本,包括 1000 张训练集,500 张测试集。文字实例使用 14 个点进行标注;
  • ICDAR 2015。数据集作为 Challenge 4 of the 2015 Robust Reading Competition 被提出。图像通过 Google Glasses 获取,包含小、模糊以及各种方向的文本实例。包含 1000 张训练图像和 500 张测试图像;
  • MSRA-TD500。这是一个包含多语种、长文本行数据集,包含 300 张训练图像和 200 张测试图像。

数据增强

使用的数据增强方法包括:

  • random rotate
  • crop
  • noise、blur、lightness are randomly adjusted

最终确保经过增强后的文字仍然清晰可读。

指标

在 TotalText 数据集上的结果:
在这里插入图片描述
在 CTW 1500 上的结果:
在这里插入图片描述
在 ICDAR 2015 上的结果:
在这里插入图片描述
在 MSRA-TD500 上面的结果:
在这里插入图片描述
总的来讲,基于这个提出的文本实例表征方法,由于对各种形状文本行的支持,在各个数据集上性能都获得了质的提升。但是方法对一些几何属性还进行了预测,后处理也相对复杂,实际可以考虑后续新近提出的文本检测方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哇哇九号

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值