文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network

PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network

 

一、现状:文本检测的主流方法:基于回归(regression-based)、基于分割(segmentation-based)。

基于回归(regression-based)的方法通常基于通用对象检测框架,例如Faster R-CNN [31]和SSD [22]。 TextBoxes [19]修改了卷积核的锚定比例和形状,以适应文本的各种纵横比。 EAST [42]使用FCN [25]直接预测每个像素的得分图,旋转角度和文本框。 RRPN [28]采用了Faster R-CNN,并提出了RPN部分的旋转建议以检测任意方向的文本。 RRD [20]从两个单独的分支中提取了用于文本分类和回归的特征图,以更好地检测长文本。但是,大多数基于回归的方法通常需要复杂的锚设计和繁琐的多个阶段,这可能需要详尽的调整并导致次优性能。 此外,上述论文是专为多种方向的文本检测而设计的,在处理实际在实际场景中广泛分布的曲线文本时可能会不足。

 

基于分割(segmentation-based)的方法主要受全卷积网络(FCN)的启发[25]。 Zhang等[39]首先采用FCN提取文本块,并通过MSER从这些文本块中检测字符候选。 Yao等[38]将一个文本区域表示为多种属性,例如文本区域和方向,然后利用FCN预测相应的热图。 Lyu等人[27]利用角点定位为文本实例找到合适的不规则四边形。 PixelLink [4]通过预测不同文本实例之间的像素连接来分离彼此靠近的文本。 最近,TextSnake [26]使用有序磁盘来表示曲线文本以进行曲线文本检测。 SPCNet使用实例分割框架并利用上下文信息来检测任意形状的文本,同时抑制误报。

 

二、文本检测面对的挑战:

(1)大多数现有的算法都是四边形边界框,而四边形边界框对于定位具有任意形状的文本并不准确;(基于回归算法面临的挑战)

(2)彼此靠近的两个文本实例可能相互覆盖,而导致错误检测(基于分割面对挑战)。如图1所示,

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第1张图片

三、传统的基于分割的算法

优点:可以缓解上述的第一个挑战(即具备检测任意形状文本的能力);

缺点:仍然无法解决彼此相邻的文本的覆盖问题。

 

四、提出了一种新颖的渐进式拓展网络PSENet

              PSENet在基于分割的基础上,提出的基于内核的框架(kernel-based),该算法可以精准地检测具有任意形状的文本实例,其通过为每个文本实例生成不同比例的内核kernel,并逐渐将最小比例内核kernel拓展为具有完整形状的文本实例。由于最小比例内核之间存在很大的几何余量,因此我们的方法有效地分割了紧密的文本实例,从而使使用基于分段的方法来检测任意形状的文本实例更加容易。

优点:

  1. 首先,作为基于分割的方法,PSENet执行像素级分割,该分割能够精确定位具有任意形状的文本实例;
  2. 其次,我们提出了一种渐进式比例扩展算法,利用该算法可以成功识别相邻文本实例。

我们为每个文本实例分配了多个预测的分割区域,为简单起见,这些区域被称为“内核”每个内核的形状与原始文本实例相似,但比例不同。为了获得最终的检测结果,我们采用基于广度优先搜索(BFS)的渐进规模扩展算法。通常,共有3个步骤:1)从最小比例的内核开始(在此步骤中可以区分实例); 2)通过逐渐在较大的内核中包含更多像素来扩展其区域; 3)完成,直到探究完整的文本实例(最大的内核)

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第2张图片

五、算法框架(FPN+PSE)

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第3张图片

PSENet是基于FPN的基础上实现的,使用ResNet作为backbone网络。首先,从backbone中获取四个256通道的特征图(P2、P3、P4、P5)。为了进一步组合从低到高的语义特征,通过函数C来融合四个特征图,以获取具有1024个通道的特征图F,如下:

其中“||”表示concatenation,Upx2、Upx4、Upx8分别表示2、4、8倍上采样。随后,将F总到Conv(3,3)-BN-ReLU层,将通道数由原来的1024减少到256通道。接下来,通过n个Conv(1,1)-up-Sigmoid层,产生n个分割结果S1、S2、…、Sn。Conv,BN,ReLU和Up分别是指卷积[18],批归一化[15],整流线性单位[6]和上采样。

 

六、Progressive Scale Expansion Algorithm(PSE)

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第4张图片

Figure 4是PSE算法的流程图,其主要思想是来源于广度优先搜索(BFS)算法。假设我们有3个分割的结果S={S1,S2,S3}。首先,基于最小kernel的图S1(Figure 4(a)),4个不同的连接分量C={c1,c2,c3,c4}作为初始化。Figure 4(b)中具有不同颜色的区域分别表示这些不同的连接组件。 到目前为止,我们已经检测到所有文本实例的中心部分(即最小内核)。 然后,我们通过合并S2和S3中的像素来逐步扩展检测到的内核。 两次缩放的结果分别显示在Figure 4(c)和Figure 4(d)中。 最后,我们提取Figure 4(d)中用不同颜色标记的连接组件作为文本实例的。

Figure 4(g)描述了扩展的示意图。该扩展基于BFS,从多个kernel(区域)的像素开始,并迭代合并相邻的文本像素。值得注意的是,在扩展的过程中有冲突的像素(红色框所示),解决原则:先到先得的方式合并内核。且由于采用渐进式扩展,这些边界冲突不会影响最终的检测和性能。拓展算法的伪代码如下:

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第5张图片

在伪代码中,T、P为中间结果,Q是一个队列。Neighbor代表p的相邻像素(4路),GroupByLabel是通过标签对中间结果进行分组的函数。Si[q]=True表示Si中的像素q的预测值属于文本部分。C和E分别是指扩展前和扩展后保留的内核。

 七、Label Generation

如Figure 3所示,PSENet产生具有不同核比例的分割结果(如S1、S2、…、Sn)。因此,在训练过程中需要不同内核尺度的相应的GT(Ground truths)。在实践中,GT标签可以收缩原本文本实例来简单有效的使用GT标签。如Figure 5所示,(b)中带有蓝色边框的多边形表示原本文本比例,并且对应于最大的分割标签掩码。为了在(c)中顺序获得缩小的mask,使用Vatti裁剪算法将原始的多边形pn缩小了di个像素,并得到缩小的多边形pi(如(a)所示)。随后将每个缩小的多边形pi转移到0/1二进制掩码中,以分割地面标签GT。我们将这些GT分别表示为G1、G2,…,Gn。

文本检测算法:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network_第6张图片

在数学上,如果我们将比例视为ri,则pn和pi之间的边际余量di为:

其中,Area是计算多边形面积的函数,Perimeter是计算多边形周长的函数。此外,我们将GT图中的Gi的比例ri定义为:

其中,m是最小比例尺,在0到1之间。根据(3),通过两个超参数n和m可确定比例尺的值(即r1、r2、…、rn),它们从m线性增加到1.

 

8、损失函数Loss Function

为了训练PSENet,损失函数为:

其中,Lc和Ls分别代表完整文本和缩小文本的损失,并平衡Lc和Ls之间的重要性。

 

通常情况下,文本只占自然场景图片的一个非常小的区域,这在使用二进制交叉熵[3]时使网络对非文本区域的预测bias。受[29]的启发,我们在实验中采用了骰子系数。 骰子系数D(Si,Gi)的公式如式(5)所示。

其中Si,x,y和Gi,x,y分别指分割结果Si和GT中Gi中的像素(x,y)。

此外,还有许多与文本笔划类似的模式,例如栅栏,格子等。因此,在训练过程中,对Lc采用了Online Hard Example Mining(OHEM)[34]以更好地区分这些模式。

Lc专注于分割文本和非文本区域。文中将OHEM给出的训练掩码视为M,因此Lc可公式化为公式(6):

Ls是缩小的文本实例的损失。 由于它们被完整文本实例的原始区域包围,因此我们忽略了分割结果Sn中非文本区域的像素,以避免了某些冗余。 因此,Ls可以表示如下:

其中,W是Sn中非文本区域的像素掩码,Sn,x,y是在Sn中的像素值(x,y).

 

九、总结:

提出了一种新颖的渐进式规模扩展网络(PSENet),以成功检测自然场景图像中具有任意形状的文本实例。 通过使用多个语义分割图将检测到的区域从小内核逐渐扩展到大型完整实例,我们的方法对形状具有鲁棒性,并且可以轻松地分离非常接近甚至部分相交的那些文本实例。 在场景文本检测基准上的实验证明了该方法的优越性能。

 

参考文献:PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network

 

 

 

 

你可能感兴趣的:(文本检测)