『OCR_detection』EAST

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


前言

论文: EAST: An Efficient and Accurate Scene Text Detector
代码: https://github.com/argman/EAST

  • 自然场景的文本检测是当前深度学习的重要应用,在之前的文章中已经介绍了基于深度学习的文本检测模型 CTPN、CRAFT(见文章:『OCR_detection』CTPN『OCR_detection』CRAFT)。典型的文本检测模型一般是会分多个阶段(multi-stage)进行,在训练时需要把文本检测切割成多个阶段(stage)来进行学习,这种把完整文本行先分割检测再合并的方式,既影响了文本检测的精度又非常耗时,对于文本检测任务上中间过程处理得越多可能效果会越差。
  • 本文介绍的文本检测模型 EAST,便简化了中间的过程步骤,直接实现端到端文本检测,优雅简洁,检测的准确性和速度都有了进一步的提升。

一、网络结构

1.2 特征提取层:

  • 使用的基础网络结构是 PVANet,分别从 stage1,stage2,stage3,stage4 的卷积层抽取出特征图,一种 FCN 的思想。卷积层的尺寸依次减半,但卷积核的数量依次增倍,这是一种“金字塔特征网络”的思想。
  • 通过这种方式,可抽取出不同尺度的 feature map,目的是解决文本行尺度变换剧烈的问题,ealy stage 可用于预测小的文本行,late-stage 可用于预测大的文本行,以实现对不同尺度文本行的检测(大的 feature map 擅长检测小物体,小的 feature map 擅长检测大物体)。这个思想与 SegLink 模型很像。

1.2 特征融合层:

抽取的特征进行 merge.这里合并的规则采用了 U-net 的方法,合并规则:从特征提取网络的顶部特征按照相应的规则向下进行合并。 (具体见网络结构图)

  • step 1: 特征提取层中抽取的最后一层的特征图 f1 被最先送入unpooling 层,将图像放大 1 倍;
  • step 2: 接着与前一层的特征图 f2 串起来 (concatenate);
  • step 3: 然后依次作卷积核大小为 1*13*3 的卷积;
  • step 4: 对 f3,f4 重复以上过程,而卷积核的个数逐层递减,依次为 128,64,32;
  • step 5: 最后经过 32 核,3*3 卷积后将结果输出到 “输出层”

1.3 网络输出层:

  • 包含文本得分和文本形状.根据不同文本形状(可分为 RBOX 和 QUAD),输出也各不相同,具体参看网络结构图。输出一个 score map 和 4 个回归的框以及 1 个角度信息,或者输出一个 scoremap 和 8 个坐标信息。最终输出以下5部分的信息,分别是:
  1. score map:检测框的置信度,1 个参数;
  2. text boxes:检测框的位置(x, y, w, h),4 个参数;
  3. text rotation angle:检测框的旋转角度,1 个参数;
  4. text quadrangle coordinates:任意四边形检测框的位置坐标,8 个参数

二、网络 idea

  • 提出了基于 two-stage 的文本检测方法:全卷积网络(FCN) 和 非极大值抑制(NMS),消除中间过程冗余,减少检测时间.
  • 该方法即可以检测单词级别,又可以检测文本行级别.检测的形状可以为任意形状的四边形:即可以是旋转矩形,也可以是普通四边形.
  • 采用了 Locality-Aware NMS 来对生成的几何进行过滤
  • 该方法在精度和速度方面都有一定的提升.

三、网络 loss

loss 由两部分组成:score map lossgeometry loss

  • Note: 本部分 loss 参考链接 2,如有侵权,联系我即删除 (向大佬递膝盖)

3.1 分数图损失(Loss for Score Map)

之前一些做检测的文章采用的是经典的 cross-entropy loss,即交叉熵损失函数。但是本论文稍作改变,变成 class balanced cross entropy,用于解决训练数据类别不平衡的问题,公式如下:
在这里插入图片描述
其中 Y ∧ Y^∧ Y 是 score map, Y ∗ Y^* Y 是 ground truth, β β β 是 balance factor,平衡正、负样本的。
在这里插入图片描述
因此通过 平衡采样hard negative mining(一种增加复杂负样本的方法)技术解决训练样本中目标物体分布不平衡的问题,因为训练过程中,有些干扰性较强的负样本就称为 Hard negtive,增加此类样本可以提高模型的精度,但是实际上这类样本比较少,因此才需要在训练的过程中使用 hard negative mining 方法来增加此类负样本的占比。

3.2 几何形状损失(geometry loss)

3.2.1 RBOX loss

直接使用 L1 或者 L2 损失去回归文本区域将导致损失偏差更大.因此论文中采用 IoU 损失在 RBOX 回归的 AABB 部分,其损失函数公式为:
在这里插入图片描述
在这里插入图片描述
其中带 * 标志的是真实值,带 ^ 标志的是预测值。因此几何形状损失是:
在这里插入图片描述

3.2.2 四边形框损失(QUAD loss)

  • 文本在自然场景中的尺寸变化极大,在 QUAD 回归时使用尺度归一化的 smoothed-L1 损失,来保证几何形状的回归损失是尺度不变的.
  • 针对QUAD loss,其损失函数公式为:
    在这里插入图片描述
    其中 Q 是顺时针方向(从左上开始)4 个点 ( x , y ) (x,y) (x,y) 坐标值。
    在这里插入图片描述

四、评价

  • 在特征合并层,利用不同尺度的 feature map,并通过相应的规则进行 自顶向下 的合并方式,可以检测不同尺度的文本行
  • 提供了文本的方向信息,可以检测各个方向的文本
  • 该方法在检测长文本的时候效果表现比较差,这主要是网络的感受野决定的(感受野不够大)
  • 在检测曲线文本时,效果不太理想

五、优化

  • 为改进 EAST 的长文本检测效果不佳的缺陷,有人提出了 Advanced EAST,以 VGG16 作为网络结构的骨干,同样由特征提取层、特征合并层、输出层三部分构成。经实验,Advanced EAST 比 EAST 的检测准确性更好,特别是在长文本上的检测。在接下来的工作中复现 Advanced EAST 后,我再详细更新这一网络, 首先把其网络结构图放在下面
  • 开源源码: https://github.com/huoyijie/AdvancedEAST

在这里插入图片描述

参考链接

  1. https://my.oschina.net/u/876354/blog/3050127
  2. https://cloud.tencent.com/developer/article/1542875
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

libo-coder

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值