南京理工大学,南京大学
形状鲁棒文本检测的挑战在于两个方面:1)对于基于回归的方法而言,大多数现有的基于四边形边界框的检测器难以定位任意形状的文本,难以完美地封闭在矩形中; 2)对于基于分割的方法来说,大多数基于像素分割的检测器可能不会分离彼此非常接近的文本实例。为了解决这些问题,我们提出了一种新颖的渐进式扩展网络(PSENet),它被设计为基于分割的检测器,每个文本实例都有多个预测。we assign each text instance with multiple predicted segmentation areas. For convenience, we denote these segmentation areas as “kernels” in this paper and for one text instance, there are several corresponding kernels. 这些预测对应于通过将原始文本实例缩小到各种比例而产生的不同“kernels”。因此,最终检测可以通过我们的渐进式扩展算法,以最小的比例逐渐扩展内核,使其具有最大和完整的形状。由于这些最小内核中存在大的几何边距这一事实,我们的方法可以有效地区分相邻的文本实例,并且对于任意形状鲁棒。 ICDAR 2015和ICDAR 2017 MLT基准测试的最新成果进一步证实了PSENet的巨大成效。值得注意的是,PSENet在曲线文本数据集SCUT-CTW1500上的表现优于之前的最佳记录,绝对值为6.37%。
近来,自然场景文本检测因其众多应用而备受关注,如场景理解,产品识别,自动驾驶和目标地理定位。 然而,由于前景文本和背景物体的大变化,以及形状,颜色,字体,方向和尺度的各种文本变化,以及极端的照明和遮挡,自然场景中的文本检测仍然面临相当大的挑战。
然而,近年来随着卷积神经网络(CNNs)的惊人发展已经取得了很大进展[6,10,22]。 基于边界框回归,已经提出了一系列方法[8,9,12,17,19,23,26,29,30]以成功地以具有某些方向的矩形或四边形的形式定位文本目标。 遗憾的是,这些框架无法检测具有任意形状的文本实例(例如,曲线文本)(即基于边框回归的方法,以矩形或者四边形成功地定位了多方向文本,但是无法有效地定位任意形状的文本),这些文本实例也经常出现在自然场景中(参见图1(b))。 当然,可以考虑基于语义分割的方法来明确地处理曲线文本检测问题。 尽管逐像素分割可以提取任意形状文本实例的区域,但是当它们相对接近时,它仍然可能无法将两个文本实例分开,因为它们共享的相邻边界可能将它们合并为一个单独的文本实例(参见图1)。 1(c))。
为了解决这些问题,本文提出了一种新的实例分割网络,即渐进式扩展网络(PSENet)。 提出的PSENet有两个优点。
首先,作为基于分割的方法,PSENet能够定位具有任意形状的文本(语义分割方法的优点)。其次,我们提出了一种渐进式的扩展算法,通过使用它,使得紧密相邻的文本实例可以被成功识别(参见图1(d))。具体来说,我们为每个文本实例分配多个预测的分割区域。为方便起见,我们表示这些分割区域 作为本文中的“内核”,对于一个文本实例,有几个相应的内核。每个kernel都与文本实例的形状相似,并且在相同的中心点上,每个内核与原始的整个文本实例共享相似的形状,它们都位于相同的中心点,只是尺度不同。为了获得最终的检测结果,我们采用渐进式尺度扩展算法(这应该是后处理)。它基于广度优先搜索(BFS),由3个步骤组成:1)从具有最小尺度的内核开始(在此步骤中可以区分实例); 2)通过逐渐在更大的内核中包含更多像素来扩展它们的区域; 3)完成直到最大的内核 正在探索。
渐进的尺度扩张的动机主要有四个。 首先,具有最小尺度的kernel很容易分开,因为它们的边界彼此相距很远。 因此,它克服了先前基于分割的方法的主要缺点; 其次,最大的内核或文本实例的完整区域是实现这一目标不可或缺的最终的精确检测; 第三,内核逐渐从小规模扩展到大规模,因此smoonth的监督将使网络更容易学习; 最后,渐进式比例扩展算法确保文本实例的准确位置,因为它们的边界以谨慎和渐进的方式扩展。
为了显示我们提出的PSENet的有效性,我们对三个竞争性基准数据集进行了大量实验,包括ICDAR 2015 [13],ICDAR 2017 MLT [27]和SCUTCTW1500 [18]。 在这些数据集中,SCUT-CTW1500专门用于曲线文本检测,在此数据集上,我们超过了先前的最新结果,绝对值为6.37%。 此外,与现有的最先进方法相比,所提出的PSENet在普通四角形文本数据集上实现了更好或至少相当的性能:ICDAR 2015和ICDAR 2017 MLT。
本文的主要贡献如下:(在曲形文本上效果比现有的好很多,在四边形文本上跟现有方法可比)
•我们提出了一种新颖的渐进式扩展网络(PSENet),它可以精确地检测任意形状的文本实例。
•我们提出了一种渐进式扩展算法,该算法能够准确地分离彼此紧密相关的文本实例。
•我们提出的PSENet明显优于曲线文本检测数据集SCUT-CTW1500上的最新方法。 此外,它还在常规上取得了竞争性成果
四角形文本基准:ICDAR 2015和ICDAR 2017 MLT。
文本检测在很长一段时间内一直是计算机视觉领域的一个活跃的研究课题。 [15,29]成功地将物体检测的管道应用到文本检测中,并在水平文本检测中获得了良好的性能。 之后,[8,9,12,17,23,30]考虑了文本行的方向,使得可以检测任意方向的文本实例。 最近,[19]利用角点定位为文本实例找到合适的不规则四边形。 检测方式从水平矩形演变为旋转矩形,进一步演变为不规则
四边形(文本检测方法的发展)。 然而,除了四边形外,自然场景中还有许多其他形状的文本实例。 因此,一些研究开始探索曲线文本检测并获得某些结果。 [18]试图回归14边多边形的点的相对位置。 [31]通过定位滑动线中的两个端点来检测曲线文本,滑动线水平滑动垂直。 在[1]中提出了一种基于边界框回归和语义分割的融合检测器。 但是,由于他们目前的表现不是很满意,还是有很大的曲线文本检测中的推广空间,任意形状文本的检测器仍需要更多的探索。
在本节中,我们首先介绍所提出的渐进式扩展网络(PSENet)的整体流水线。 接下来,我们介绍渐进式扩展算法的细节,并展示
它如何有效地区分相邻的文本实例。 此外,介绍了生成标签的方法和损失函数的设计。 最后,我们描述了PSENet的实现细节。
3.1整体管道
拟议PSENet的整个流水线如图2所示。受FPN [16]的启发,我们将低级特征映射与高级特征映射相结合,因此具有四个级联特征映射。这些地图在F中进一步融合,以编码具有各种接收视图的信息。直观地说,这种融合很可能促we utilize the Vatti clipping algorithm [28] to shrink the original polygon pn by di pixels and get shrunk polygon pi (see Fig. 4 (a)).进具有各种尺度的内核的生成。然后将特征映射F映射到n个分支中以产生多个分割结果S1; S2; :::;Sn。每个Si是所有文本实例在某一尺度上的分割掩码。不同分割掩模的尺度由超参数决定,这将在3.3中讨论。在这些掩码中,S1给出了文本实例的分割结果 具有最小尺度(即,最小内核)并且Sn表示原始分割掩模(即,最大内核)。获得这些分割掩码后,我们使用渐进式尺度扩展算法将S1中的所有实例内核逐渐扩展到Sn中的完整形状,并获得最终的检测结果为R。
3.2渐进尺度扩展算法
如图1(c)所示,基于分割的方法难以分离彼此接近的文本实例。为了解决这个问题,我们提出了渐进式扩展算法。
下面是一个生动的例子(见图3)来解释渐进式扩展算法的过程,其中心思想来自广度优先搜索(BFS)算法。在这个例子中,
我们有3个分割结果S = {S1; S2; S3}(参见图3(a),(e),(f))。首先,基于最小核的映射S1(参见图3(a)),4个不同的连通分量C = {c1; C2; C3; c4}可以被发现是初始化。图3(b)中具有不同颜色的区域分别代表这些we utilize the Vatti clipping algorithm [28] to shrink the original polygon pn by di pixels and get shrunk polygon pi (see Fig. 4 (a)).不同的连接组件。到目前为止,我们已经拥有了所有文本实例的中心部分(即 最小内核)检测到。然后,我们通过合并S2中的像素,然后在S3中逐步扩展检测到的内核。两个尺度扩展的结果如图3(c)和图3所示。 分别如图3(d)所示。最后,我们提取在图3(d)中用不同颜色标记的连通分量作为文本实例的最终预测。
图3:渐进式扩展算法的过程。 CC指的是查找连接组件的函数。 EX表示尺度扩展算法。 (a),(e)和(f)分别表示S1,S2和S3。 (b)是初始连接组件。 (c)和(d)是扩展的结果。 (g)显示了扩张的插图。 (g)中的红色框表示冲突的像素。
we utilize the Vatti clipping algorithm [28] to shrink the original polygon pn by di pixels and get shrunk polygon pi (see Fig. 4 (a)).
规模扩展的过程如图3(g)所示。 扩展基于BreadthFirst-Search算法,该算法从多个内核的像素开始并迭代地合并
相邻的文字像素。 请注意,在扩展期间可能存在冲突的像素,如图3(g)中的红色框所示。 在我们的实践中处理冲突的原则是,令人困惑的像素只能由先到先服务的单个内核合并。 由于“渐进式”扩展程序,这些边界冲突不会影响最终检测和性能。 算法1总结了尺度扩展算法的细节。在伪代码中,T,P是中间结果。 Q是队列。 Neighbor(·)表示p的邻居像素。 GroupByLabel(·)是按标签对中间结果进行分组的函数。 “Si [q] =True”意味着Si中像素q的预测值属于文本部分。
图4:标签生成的图示。 (a)包含d,pi和pn的注释。 (b)显示原始文本实例。 (c)显示具有不同核尺度的分割掩模。
As illustrated in Fig. 2, PSENet produces segmentation results (e.g. S1; S2; :::; Sn) with different kernel scales. Therefore, it requires the corresponding ground truths with different kernel scales as well during training. In our practice, these ground truth labels can be conducted simply and effectively by shrinking the original text instance. The polygon with blue border in Fig. 4 (b)
denotes the original text instance and it corresponds to the largest segmentation label mask (see the rightmost map in Fig. 4 (c)). To obtain the shrunk masks sequentially in Fig. 4 (c), we utilize the Vatti clipping algorithm [28] to shrink the original polygon pn by di pixels and get shrunk polygon pi (see Fig. 4 (a)). Subsequently, each shrunk polygon pi is transferred into a 0/1 binary
mask for segmentation label ground truth. We denote these ground truth maps as G1; G2; :::; Gn respectively. Mathematically, if we consider the scale ratio as ri, the margin di between pn and pi can be calculated as:
如图2所示,PSENet产生具有不同kernel尺度的分割结果(例如S1; S2; :::; Sn)。因此,它需要在训练期间具有不同kernel尺度的相应的ground truth。在我们的实践中,这些基本事实标签可以通过缩小原始文本实例来简单有效地进行 these ground truth labels can be conducted simply and effectively by shrinking the original text instance。图4(b)中带有蓝色边框的多边形表示原始文本实例,它对应于最大的分割标签掩模(参见图4(c)中最右边的图)。为了在图4(c)中顺序获得收缩掩模,我们利用Vatti裁剪算法[28]将原始多边形pn缩小di像素并缩小多边形pi(见图4(a))we utilize the Vatti clipping algorithm [28] to shrink the original polygon pn by di pixels and get shrunk polygon pi (see Fig. 4 (a)).。随后,每个收缩的多边形pi被转换为0/1二元掩模中以用于分割标签的ground truth。我们将这些ground truth图表示为G1; G2; :::; GN分别。在数学上,如果我们将比例视为ri,则pn和pi之间的边际di可以计算为:
Loss Function
L = λLc + (1 − λ)Ls;
其中Lc和Ls分别代表完整文本实例和缩小的损失,并且λ平衡Lc和Ls之间的重要性。 通常,文本实例通常仅占据自然图像中的极小区域,这使得当使用二进制交叉熵[2]时网络偏向非文本区域的预测。 受[20]的启发,我们在实验中采用了骰子系数。 骰子系数D(Si; Gi)如公式所示。(4):
此外,有许多类似于文本笔划的模式,例如栅栏,格子等。因此,我们在训练期间对Lc采用在线难分样本挖掘(OHEM)[24]到以更好地区分这些模式。
Lc专注于分割文本和非文本区域。 让我们将OHEM给出的训练掩模视为M,因此Lc可以写成:
Ls是收缩文本实例的损失。 由于它们被完整文本实例的原始区域包围,我们忽略分割结果Sn中的非文本区域的像素以避免某些
冗余。 因此,Ls可以表述如下:
PSENet的主干是从FPN [16]实现的。我们首先从骨干获得四个256通道特征图(即P2; P3; P4; P5)。为了从低到高结合语义特征
,我们将四个特征图融合,通过函数C(·)得到1024个通道的特征映射F = C(P2; P3; P4; P5)= P2 ||Up×2(P3)|| Up ×4(P4)|| Up×8(P5);其中 || 表示串联,Up×2(·),Up×4(·),Up×8(·)分别表示上采样2,4,8倍。随后,将F送到Conv(3× 3)-BN-ReLU层中并减少至256个通道。接下来,它通过多个Conv(1×1)-Up-Sigmoid层(Up是上采样)并产生n个分割结果S1; S2; :::;锡。这里,Conv,BN,ReLU和Up指的是卷积[14],批量归一化[11],整流线性单位[4]和上采样。
我们将n设置为6,将m设置为0.5以生成标签,得到的尺度是{0.5; 0.6; 0.7; 0.8; 0.9; 1.0}。在训练期间,我们忽略所有数据集中标记为“不关注”的模糊文本区域。损失平衡的λ设定为0:7。 OHEM的负正比设定为3.训练数据的数据增加如下:1)图像被随机resized到{0.5,1.0,2.0, 3.0}; 2)图像水平翻转并随机旋转[-10°,10°]; 3)从变换后的图像中裁剪640×640个随机样本; 4)使用通道平均值和标准偏差进行归一化。对于四边形文本数据集,我们计算最小面积矩形以提取边界框作为最终预测。对于曲线文本数据集,应用RamerDouglas-Peucker算法[21]生成具有任意形状的边界框。
SCUT-CTW1500用14个点来表示任意曲型文本。
Training
我们使用FPNet和ResNet [7]在ImageNet数据集[3]上预先培训作为我们的骨干。通过使用随机梯度下降(SGD)训练所有网络。在ICDAR数据集的实验中,我们使用1000个IC15训练图像,7200个IC17-MLT训练图像和1800个IC17-MLT验证图像来训练模型,并在两个数据集的测试集上报告精度,召回和F-测量。训练结束。我们使用批量大小为16并训练模型300个时期。初始学习率设定为1×10-3,并且在100和200时期除以10。在SCUTCTW1500上,我们使用1000个训练图像从400个时期的ICDAR数据集的训练模型中微调模型。批量大小设置为16以进行微调。初始学习率设定为10-4,并且在200个时期除以10。在微调结束时,我们报告精度,在测试集上进行召回和F测量。我们使用5×10-4的重量衰减和0.99的Nesterov动量[25]而没有阻尼。我们采用[5]引入的权重初始化。
当m太大时,PSENet很难将彼此紧密相关的文本实例分开。当m太小时,PSENet经常将整个文本行错误地分成不同的部分,并且训练不能很好地收敛。
During testing, we resize the longer side of input images to 2240 and 3200(这有个问题就是,用大尺度图像进行测试,本来就能有好的结果,如果跟之前的方法使用同一个尺度的图像,效果会如何) for ICDAR 2015 and ICDAR 2017 MLT, respectively. For fair comparisons, we report all the single-scale results on these two datasets.
,可以很容易地观察到,使用渐进式扩展机制,我们的方法能够分离这些文本实例 它们彼此非常接近,并且对于各种方向也非常稳健。 同时,由于强大的功能表示,PSENet可以找到复杂的文本实例 不稳定照明,不同颜色和可变尺度。
Conclusion and Future Work
我们提出了一种新颖的渐进式扩展网络(PSENet),以成功检测自然场景图像中任意形状的文本实例。 通过逐渐扩大检测区域
通过多个语义分割图从小内核到大型和完整的实例,我们的方法对形状很稳健,并且可以很容易地区分那些非常接近甚至部分相交的文本实例。 场景文本检测基准的实验证明了该方法的优越性能。
未来有多种方向可供探索。 首先,我们将研究是否可以以端到端的方式与网络一起训练规模扩展算法。 其次, 可以将渐进式扩展算法引入到一般实例级分段任务中,尤其是那些具有许多拥挤对象实例的bencnmarks中。 我们正在清理我们的代码并将很快发布。