一、背景
场景文本检测一般采用两种方法:
1、基于锚框的回归,缺点是不能定位任意形状的文本,特别是形状弯曲的文本;
2、基于分割,缺点是距离较近的文本不能单独分割开来。
二、网络结构
如图所示,网络包括两种步骤:1、文本实例分割 ----> 2、后处理算法PSE
2.1 文本实例分割
基网络采用FPN结构的ResNet,选取feature map {P2、P3、P4、P5},4个不同尺寸的feature map通道数都为256,P3、P4、P5分别上采样2、4、8倍(与P2尺寸一致),P2、P3、P4、P5拼接后接conv_3*3卷积将维为256通道,得到融合后特征F,将F经过n个 conv_1*1卷积 + upsampling + sigmoid 操作得到对应n个分割mask,计为S1、S2、...、Sn。需注意的是S1、S2、...、Sn表示不同尺寸的文本实例分割mask,在论文中简称为“kernel”。同一个文本实例,网络会输出n个"kernel"大小不同的分割mask,即S1、S2、...、Sn(尺寸由小到大)。每个内核与原始的整个文本实例共享相似的形状,并且它们都位于相同的中心点但在比例上不同。
2.2 后处理算法 PSE
为解决相邻文本实例不能单独分割开的问题,引入渐进式尺寸扩张算法用于后处理网络输出的分割mask。没有太懂!!
对于预测的n个分割实例S1......Sn ,为了得到最终的检测结果,我们采用了渐进的尺度扩展算法。 它基于广度优先搜索(BFS), 由三个步骤组成:
1、从具有最小尺度的核S1开始(在此步骤中可以区分实例,不同实例有不同的连通域);
2、通过逐步在较大的核中加入更多的像素来扩展它们的区域;
3、完成直到发现最大的核。
三、训练标签生成方法及损失函数
3.1 标签生成
由于PSENet对某一文本实例输出n个不同尺寸的分割mask,训练时需要生成对应的n个不同尺寸的ground truth label map。对应于Sn,ground truth label map为文本实例的原始外轮廓多边形(如下图中pn所示),而S1、S2、...、Sn-1对应的ground truth label map(如下图中pi所示)是在pn上做shrink处理(Vatti clipping algorithm)。ground truth label map都是0/1二值化的分割图。
3.2 损失函数
用到了多任务损失函数:
由于正负样本比例失衡(一般而言文本区域在图片中只占较小的区域),采用交叉熵损失会导致由负样本主导,训练难以收敛,因此训练采用dice coefficient。