当前位置:   article > 正文

文本检测模型 CTPN 文字检测模型 自然场景文本检测的深度学习模型 更细粒度的anchor设计 引入RNN处理序列特征 Side-refinement(边界优化)多任务学习_ctpn文本检测

ctpn文本检测

文本检测模型 CTPN

CTPN(Connectionist Text Proposal Network)是一种针对自然场景文本检测的深度学习模型,由Shi等人于2016年提出[1]。该模型基于Faster R-CNN目标检测框架,但针对文本检测的特点进行了多项改进和优化。以下是CTPN模型的主要特点和改进之处:

  • 更细粒度的anchor设计:
    在Faster R-CNN中,anchor通常用于捕捉不同尺度和长宽比的物体。然而,在文本检测中,文本行通常具有较小的尺寸和特定的长宽比。因此,CTPN使用了一种细粒度的anchor策略,以更好地捕捉文本行的特征。
    在垂直方向上,anchor具有固定的高度,而在水平方向上,anchor的宽度则可以在一定范围内变化,以适应不同长度的文本行。

  • 引入RNN处理序列特征:
    文本行通常具有序列性特征,即文本字符在水平方向上排列成一行。为了捕捉这种序列性特征,CTPN在卷积神经网络(CNN)的基础上引入了循环神经网络(RNN)。
    RNN可以对序列中的每个位置进行建模,并通过序列间的连接捕获字符间的依赖关系。在CTPN中,RNN通常使用LSTM(长短期记忆)或GRU(门控循环单元)等变体。

  • Side-refinement(边界优化):
    为了进一步提高文本框边界预测的精度,CTPN引入了一个侧边优化(Side-refinement)步骤。
    在得到初步的文本框预测后,CTPN会利用一个额外的卷积层对文本框的边界进行微调。具体来说,这个卷积层会对每个anchor的位置进行更精细的预测,以产生更加准确的文本框边界。

  • VGG16骨干网络:
    CTPN使用了VGG16网络作为其骨干网络。VGG16是一个深度卷积神经网络,具有良好的特征提取能力。通过利用VGG16的预训练权重,CTPN可以更快地收敛并达到较高的性能。

  • 多任务学习:
    CTPN采用多任务学习的策略进行训练。除了预测文本框的位置和边界外,CTPN还预测每个anchor是否为文本的一部分(即文本/非文本分类)。这种多任务学习的方式可以帮助模型更好地学习文本检测的特征。

  • 非极大值抑制(NMS):
    在得到多个文本框预测后,CTPN使用非极大值抑制(NMS)来消除冗余的预测框。NMS通过比较预测框的得分和重叠度来保留得分最高且重叠度较低的预测框。
    通过以上改进和优化,CTPN在自然场景文本检测任务中取得了显著的性能提升,并成为了当时最先进的文本检测方法之一。

模型介绍

CTPN(Connectionist Text Proposal Network)[1]是目标检测算法Faster R-CNN 的改进算法,用于文字检测。CTPN根据文本区域的特点做了专门的优化:

  • 使用更加符合自然场景文字检测特点的anchor(相比于物体,文字尺寸小);
  • 引入RNN用于处理场景文字检测中存在的序列特征;
  • 引入Side-refinement(边界优化)提升文本框边界预测精度。

模型结构

CTPN采用的方法是将文本行分割成一个个小块(长度是固定的),然后去检测这些小块,最后使用一种文本行构造法将所有块连起来,如 图1 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


图1 CTPN 序列特征

CTPN网络结构如 图2 所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


图2 CTPN网络结构示意图

整个检测分为5步:

1)准备数据集、并获取锚点anchor;

2)输入图片,经过backbone(用VGG16的前5个Conv stage,即Conv5),提取图片feature map。经过VGG16之后得到的特征图长宽是原图的1/16,通道是512。

3)在Conv5得到的feature map上再做卷积核大小为3,步长为1的卷积,进一步提取特征,用于预测当前卷积核所在位置k个anchor对应的类别信息、位置信息。其中,C表示通道数。

4)把每一行的所有窗口对应的3*3*C的特征输入到BiLSTM(双向LSTM)网络中,提取文字的序列特征,这时候得到的特征是图像特征和序列特征的融合。

5)将第三步得到的特征输入到FC全连接层,并将FC层特征输入两个分类或者回归层中。

CTPN任务1的输出是 2 k 2k 2k ,用于预测候选区域box的起始 y y y坐标和高度 h h h ;任务2是用来对前景和背景两个任务的分类评分;任务3是 k k k个输出的side-refinement的偏移(offset)预测。

模型loss

CTPN 的 loss 分为三部分:

  • Ls:预测每个 anchor 是否包含文本区域的classification loss,采用交叉熵损失;

  • Lv:文本区域中每个 anchor 的中心y坐标cy与高度h的regression loss,采用Smooth L1;

  • Lo:文本区域两侧 anchor 的中心x坐标cx 的regression loss,采用Smooth L1。

    公式如下:

    L ( s i , V j , O k ) = 1 N s ∑ i L

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/771063
推荐阅读
相关标签
  

闽ICP备14008679号