CTPN原理概述

CTPN

论文地址:https://arxiv.org/abs/1609.03605

代码github地址:https://github.com/eragonruan/text-detection-ctpn

CTPN是一个文字检测模型,不过年代比较久远,功能也比较局限,只能检测水平或者稍稍倾斜的文本行。这是因为CTPN在设计理念就是针对水平文本的。下图是CTPN的效果图。

CTPN原理概述_第1张图片
CTPN最终效果图


文字检测可以认为是目标检测的分支,CTPN模型中可以看到经典目标检测模型Faster R-CNN的影子,或者说其中的anchor机制,这在之后会详细解释。

对于一般的目标检测任务,模型会得出检测框(目标的位置信息),因为一般的物体形状大小都是相对固定的,所以可以凭借先验知识设置anchor。

但是对于横行的文本,难点在于在水平方向上文字可以任意拼接,所以文本行的长度是任意的,直接使用anchor-based的方法去检测效果不好,因为anchor尺度不好设置,所以CTPN采用的方法是将文本行分割个一个个小块(长度是固定的),它去检测这类小块,最后使用一种文本行构造法将所有块连起来。类似下面的图。

CTPN原理概述_第2张图片
文本行分为小块

下图是CTPN模型的网络结构图。CTPN模型运行流程如下:

1、输入一张图片,经过backbone,这里用的是VGG16,提取图片特征图。经过VGG16之后得到的特征图长宽是原图的1/16,通道是512。

2、在特征图上再做卷积核大小为3,步长为1的卷积,进一步提取特征。

3、把第2步得到的特征输入到一个双向LSTM网络中,提取文字的序列特征,这时候得到的特征是图像特征和序列特征的融合。

4、将第三步得到的特征输入到全连接层,得到最终的输出。

之后的文章会对这些步骤配合源码来解析。

CTPN原理概述_第3张图片
CTPN网络结构图

你可能感兴趣的:(CTPN原理概述)