本文主要是介绍PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network ---- 论文翻译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
论文地址:https://arxiv.org/abs/1903.12473
论文解读:https://blog.csdn.net/m0_38007695/article/details/96438264
渐进式扩展网络的形状鲁棒文本检测
摘要
场景文本检测已经取得了快速进展,特别是随着最近卷积神经网络的发展。但是,仍然存在两个阻碍算法进入工业应用的挑战。一方面,大多数现有技术都需要四边形边界框,这种边界框不能够准确地定位具有任意形状的文本。另一方面,彼此接近的两个文本实例可能导致错误检测,会把连个文本实例都包含进去。传统上,基于分割的方法可以缓解第一个问题,但通常无法解决第二个挑战。为了解决这两个挑战,在本文中,我们提出了一种新颖的渐进式扩展网络(PSENet),它可以精确地检测任意形状的文本实例。更具体地说,PSENet为每个文本实例生成不同比例的内核,并逐渐将最小比例内核扩展为具有完整形状的文本实例。由于最小规模内核之间存在大的几何边距,因此我们的方法可以有效地分割紧密文本实例,从而更容易使用基于分割的方法来检测任意形状的文本实例。 在CTW1500,Total-Text,ICDAR 2015和ICDAR 2017 MLT的大量实验验证了PSENet的有效性。值得注意的是,在CTW1500上,一个都是长曲线文本的数据集,PSENet以27 FPS实现了74.3%的F-measure,而我们最好的F-measure(82.2%)优于现有算法6.6%。 该代码将在未来发布。
1. 介绍
户外场景文本检测是许多应用的基本问题,例如场景理解,产品识别和自动驾驶。 随着卷积神经网络(CNNs)的快速发展,近年来取得了很多进展。我们可以将现有的基于CNN的算法粗略地分为两类:基于回归的方法和基于分割的方法。
对于基于回归的方法,文本目标通常以具有某些方向的矩形或四边形的形式表示。 然而,基于回归的方法未能处理具有任意形状的文本实例,例如,如图1(b)所示的曲线文本。 另一方面,基于分割的方法基于像素级分类来定位文本实例。 但是,很难将彼此接近的文本实例分开。 通常,基于分割的方法预测出的一个错误检测包含多个互相靠的近的文本实例。 如图1(c)所示。
为了解决这些问题,在本文中,我们提出了一种新的基于内核的框架,即渐进式扩展网络(PSENet)。我们的PSENet有以下两个好处。首先,作为基于分割的方法,PSENet执行像素级分割,其能够精确地定位具有任意形状的文本实例。其次,我们提出了一种渐进式扩展算法,利用该算法可以成功检测相邻的文本实例,如图1(d)所示。更具体地,我们为每个文本实例分配多个预测的分割区域,为简单起见,将其表示为“内核”。每个内核都具有与原始文本实例类似的形状,但具有不同的比例。为了获得最终的检测结果,我们采用了基于广度优先搜索(BFS)的渐进式扩展算法。通常,有3个步骤:1)从具有最小尺度的内核开始(在该步骤中可以区分实例); 2)通过逐渐在更大的内核中包含更多像素来扩展它们的区域; 3)完成,直到探索完整的文本实例(最大的内核)。
设计渐进式扩展算法有三个潜在的原因。 首先,具有最小尺度的内核很容易分开,因为它们的边界彼此相距很远。 其次,最小规模的内核不能覆盖文本实例的完整区域(见图2(b))。 因此,有必要从最小规模的内核中恢复完整的文本实例。 第三,渐进式扩展算法是一种简单有效的方法,可以将小内核扩展为完整的文本实例,从而确保文本实例的准确位置。
为了显示我们提出的PSENet的有效性,我们对四个竞争性基准数据集进行了大量实验,包括ICDAR 2015,ICDAR 2017 MLT,CTW1500和Total-Text。在这些数据集中,CTW1500和Total-Text明确设计用于曲线文本检测。 具体来说,在具有长曲线文本的CTW1500上,我们的表现优于最新方法6.6%,我们的实时模型在27 FPS时达到了相当的性能(74.3%)。此外,提出的PSENet在多方向和多语言文本数据集上也取得了很好的表现:ICDAR 2015和ICDAR 2017 MLT。
2. 相关工作
基于深度学习方法的场景文本检测在过去几年取得了显着成效。 主要的现代文本检测器基于CNN框架,其中场景文本检测大致分为两类:基于回归的方法和基于分割的方法。
基于回归的方法通常基于通用目标检测框架,例如Faster R-CNN和SSD。 TextBoxes修改了anchor尺度和卷积核的形状,以适应文本的各种宽高比。 EAST使用FCN直接预测每个像素的得分图,旋转角度和文本框。 RRPN 采用了Faster R-CNN并提出了RPN部分的旋转proposal来检测任意方向的文本。 RRD 从两个单独的分支提取了用于文本分类和回归的feature maps, 为了更好的长文本检测 。
然而,大多数基于回归的方法通常需要复杂的 anchor 设计和繁琐的多阶段,这可能需要进行更多的调整才能获得好的性能。 此外,上述作品是专门为多向文本检测而设计的,在处理曲线文本时可能会失败,曲线文本实际上广泛分布在真实场景中。
基于分割的方法主要受全卷积网络(FCN)的启发。Zhang等人:首先采用FCN提取文本块并通过MSER从这些文本块中检测候选字符。 Yao等人将一个文本区域定义为各种属性,例如文本区域和方向,然后利用FCN预测相应的热图。 Lyu等人利用角点定位为文本实例找到合适的不规则四边形。 PixelLink通过预测不同文本实例之间的像素连接来分隔彼此靠近的文本。最近,TextSnake [26]使用有序圆圈来表示曲线文本检测的曲线文本。 SPCNet 使用实例分割框架并利用上下文信息来检测任意形状的文本,同时抑制误检测。
上述工作在几个横向和多向文本基准测试中取得了优异的性能。同样,除TextSnake [26]外,上述大多数方法都没有特别注意曲线文本。 但是,TextSnake在前向传播仍然需要耗时且复杂的后处理步骤(集中化,跨步和滑动),而我们提出的渐进式扩展只需要一个干净而有效的步骤。
3. 提出的方法
在本节中,我们首先介绍所提出的渐进式扩展网络(PSENet)的整体框架。 接下来,我们介绍了渐进式扩展算法的细节,并展示了它如何有效地分离紧密的文本实例。 此外,介绍了生成标签的方法和损失函数的设计。 最后,我们描述了PSENet的实现细节。
3.1 整体框架
我们提出的PSENet的整体框架如图3所示。我们使用ResNet作为PSENet的主干网络。 我们将低级纹理特征与高级语义特征相结合。 这些 maps 在 F F F 中进一步融合以把各种感受野的信息编码在一起。直观地,这种融合可以促进各种尺度的内核的生成。 然后将feature map F F F 投影到n个分支中以产生多个分割结果 S 1 , S 2 , … , S n S_1, S_2, …,S_n S1,S2,…,Sn。每个Si将是一定尺度的所有文本实例的一个分割掩码。 不同分割掩模的尺度由超参数决定,这将在 3.4 中讨论。 在这些掩码中,S1给出具有最小尺度(即,最小内核)的文本实例的分割结果,并且Sn表示原始分割掩模(即,最大内核)。 在获得这些分割掩模之后,我们使用渐进式扩展算法将 S 1 S_1 S1中的所有实例的内核逐渐扩展到它们在 S n S_n Sn 中的完整形状,并获得最终的检测结果为 R R R。
3.2 网络设计
PSENet的基本框架是由FPN 实现的。 我们首先从骨干网络获得四个256通道特征图(即 P 2 , P 3 , P 4 , P 5 P_2, P_3, P_4, P_5 P2,P3,P4,P5)。 为了进一步将语义特征从低级别升级到高级别,我们通过函数 C ( ⋅ ) \Bbb C(\cdot) C(⋅) 用1024个通道融合了四个特征映射得到feature map F F F:
F = C ( P 2 , P 3 , P 4 , P 5 ) = P 2 ∣ ∣ U p × 2 ( P 3 ) ∣ ∣ U p × 4 ( P 4 ) ∣ ∣ U p × 8 ( P 5 ) F = \Bbb C(P_2, P_3, P_4, P_5) = P_2 \;||\; Up_{×2}(P_3) \;||\; Up_{×4}(P_4) \;||\; Up_{×8}(P_5) F=C(P2,P3,P4,P5)=P2∣∣Up×2(P3)∣∣Up×4(P4)∣∣Up×8(P5)
其中 “ ∣ ∣ || ∣∣” 代表拼接(concatenation), U p × 2 ( ⋅ ) , U p × 4 ( ⋅ ) , U p × 8 ( ⋅ ) Up_{×2}(\cdot),\; Up_{×4}(\cdot), \; Up_{×8}(\cdot) Up×2(⋅),Up×4(⋅),Up×8(⋅) 分别代表上采样 2 , 4 , 8 2, \; 4, \;8 2,4,8 倍。随后,将 F F F 通过到 C o n v ( 3 , 3 ) − B N − R e L U Conv(3,3)-BN-ReLU Conv(3,3)−BN−ReLU 层中并减少至256个通道。 接下来,它通过 n n n 个 C o n v ( 1 , 1 ) − U p − S i g m o i d Conv(1, 1)-Up-Sigmoid Conv(1,1)−Up−Sigmoid 层并产生n个分割结果 S 1 , S 2 , . . . , S n S_1,S_2,...,S_n S1,S2,...,Sn。 这里, C o n v Conv Conv, B N BN BN, R e L U ReLU ReLU 和 U p Up Up 指的是卷积,批量归一化,整流线性单元和上采样。
3.3 渐进尺度扩展算法
如图1所示,基于分割的方法是很难把离得很近的文本实例给分开的。为了解决这个问题,我们提出了渐进尺度扩展算法。
这有一个生动的例子(如图4),解释了渐进扩展算法的流程,其中心思想来自于广度优先搜索(BFS)算法。在这个例子里,我们有三个分割的结果 S = { S 1 , S 2 , S 3 } S = \{S_1, S_2, S_3\} S={S1,S2,S3}(图4(a),(e),(f))。首先基于最小内核的map S 1 S_1 S1(图4(a)),4个不同的连通域 C = { c 1 , c 2 , c 3 , c 4 } C = \{c_1, c_2, c_3,c_4\} C={c1,c2,c3,c4} 可以作为初始化。在图4(b)中分别使用不同的颜色代表不同的连通域。现在,我们检测到了全部文本实例的中心部分(例如,最小内核)。然后,我们通过合并 S 2 S_2 S2 中的像素逐步扩展检测到的内核,然后 S 3 S_3 S3。这两个尺度扩展结果分别在图4©和图4(d)中显示。最后,我们提取在图4(d)中用不同颜色标记的连通域作为文本实例的最终预测。
尺度扩展的流程在图4(g)中说明。扩展基于广度优先搜索算法,该算法从多个核的像素开始并迭代地合并相邻的文本像素。请注意,在扩展期间可能存在冲突的像素,如图4(g)中的红色框所示。在我们的实践中处理冲突的原则是,混淆的像素只能由一个单独的内核合并 - 先到先得。由于“渐进式”扩展程序,这些边界冲突不会影响最终检测和性能。 算法1总结了尺度扩展算法的细节。在伪代码中, T , P T, P T,P 是中间结果, Q Q Q 是队列。 N e i g h b o r ( ⋅ ) \rm Neighbor(\cdot) Neighbor(⋅) 代表 p p p 的邻近像素(4个方向)。 G r o u p B y L a b e l ( ⋅ ) \rm GroupByLabel(\cdot) GroupByLabel(⋅) 是按标签对中间结果进行分组的函数。“ S i [ q ] = T r u e S_i[q] = \rm True Si[q]=True” 表示 S i S_i Si 中像素 q q q 的预测值属于文本部分。 C C C 和 E E E 分别表示扩展前后的内核。
3.4 标签生成
图3说明,PSENet生成不同尺度内核的分割结果(例如 S 1 , S 2 , . . . , S n S_1, S_2,...,S_n S1,S2,...,Sn)。因此,在训练的时候,有相对应的不同内核的Ground Truth。在我们实践中,这些Ground Truth可以通过缩小原始文本实例简单且有效的生成。在图5(b)中蓝色边框的多边形代表原始文本实例,它对应于最大的分割标签掩码(最右边图5©)。为了顺序获得在图5©中的收缩掩模,我们利用 V a t t i \rm Vatti Vatti 裁剪算法将原始多边形 p n p_n pn 缩小 d i d_i di 像素并得到缩小的多边形 p i p_i pi(见图5(a))。随后,每个收缩的多边形 p i p_i pi 被转换成 0/1 二进制掩码作为分割标签 Ground Truth。 我们将这些Ground Truth分别表示为 G 1 , G 2 , . . . , G n G_1,G_2,...,G_n G1,G2,...,Gn。在数学上,如果我们将比例视为 r i r_i ri,则 p n p_n pn 和 p i p_i pi 之间的余量 d i d_i di 可以计算为:
d i = A r e a ( p n ) × ( 1 − r i 2 ) P e r i m e t e r ( p n ) d_i = \frac{\rm{Area}(\it{p_n}) × (1 - r_i^2)}{\rm Perimeter (\it p_n)} di=Perimeter(pn)Area(pn)×(1−ri2)
其中, A r e a ( ⋅ ) \rm Area(\cdot) Area(⋅) 是计算多边形面积的函数, P e r i m e t e r ( ⋅ ) \rm Perimeter(\cdot) Perimeter(⋅) 是计算多边形周长的函数。我们定义Ground Truth G i G_i Gi 的比例 r i r_i ri 为:
r i = 1 − ( 1 − m ) × ( n − i ) n − 1 r_i = 1- \frac{(1-m) × (n-i)}{n-1} ri=1−n−1(1−m)×(n−i)
其中, m m m 是最小的尺度比例,在 ( 0 , 1 ] (0,1] (0,1]之间。基于上方公式的定义,比例值( r 1 , r 2 , . . . , r n r_1, r_2, ...,r_n r1,r2,...,rn)由两个超参数 n n n和 m m m决定,它们从 m m m 线性增加到 1。
3.5 损失函数
学习PSENet,损失函数可以表示为:
L = λ L c + ( 1 − λ ) L s L = \lambda L_c + (1-\lambda) L_s L=λLc+(1−λ)Ls
其中 L c L_c Lc 和 L s L_s Ls 分别代表完整文本实例和一个缩小的文本实例, λ \lambda λ 平衡 L c L_c Lc 和 L s L_s Ls 之间的重要性。
在自然图像中,文本实例只占图像很小的区域是普遍的,当使用二进制交叉熵时,这使得网络的预测更偏向于非文本区域。受 Fully convolutional neural networks for volumetric medical image segmentation 这篇文章的启发,我们在试验中采用了 dice系数。这个dice系数 D ( S i , G i ) D(S_i, G_i) D(Si,Gi) 可以表示为:
D ( S i , G i ) = 2 ∑ x , y ( S i , x , y × G i , x , y ) ∑ x , y S i , x , y 2 + ∑ x , y G i , x , y 2 D(S_i, G_i) = \frac{2 \sum_{x,y}(S_{i,x,y} × G_{i,x,y})}{\sum_{x,y}S_{i,x,y}^2 + \sum_{x,y}G_{i,x,y}^2} D(Si,Gi)=∑x,ySi,x,y2+∑x,yGi,x,y22∑x,y(Si,x,y×Gi,x,y)
其中 S i , x , y S_{i, x,y} Si,x,y 和 G i , x , y G_{i,x,y} Gi,x,y 分别代表了像素 ( x , y ) (x, y) (x,y) 在分割结果 S i S_i Si 和Ground Truth G i G_i Gi 中的值。
此外,有许多类似于文本笔划的模式,例如栅栏,格子等。因此,我们在训练期间采用在线硬实例挖掘(OHEM)来更好地区分这些模式。
L c L_c Lc 重点在于分割文本和非文本区域。把通过OHEM给出的training mask作为 M M M,则 L c L_c Lc 可以表示为:
L c = 1 − D ( S n ⋅ M , G n ⋅ M ) L_c = 1 - D(S_n \cdot M, G_n \cdot M) Lc=1−D(Sn⋅M,Gn⋅M)
L s L_s Ls 是缩减文本区域的损失。因为他们是被完整文本实例的原始区域包围的,我们在分割结果 S n S_n Sn 中忽视非文本区域的像素去避免一定冗余。因此, L s L_s Ls 可以表示为:
L s = 1 − ∑ i = 1 n − 1 D ( S i ⋅ W , G i ⋅ W ) n − 1 W x , y = { 1 , i f S n , x , y ≥ 0.5 ; 0 , o t h e r w i s e . L_s = 1 - \frac{\sum_{i=1}^{n-1}D(S_i \cdot W, G_i \cdot W)}{n-1} \\ W_{x,y} = \begin{cases} 1, \quad if \;S_{n,x,y} \geq 0.5; \\ 0, \quad otherwise. \end{cases} Ls=1−n−1∑i=1n−1D(Si⋅W,Gi⋅W)Wx,y={1,ifSn,x,y≥0.5;0,otherwise.
其中 W W W 是在 S n S_n Sn 中忽视非文本区域的 mask, S n , x , y S_{n,x,y} Sn,x,y 是 S n S_n Sn 中像素 ( x , y ) (x,y) (x,y) 的值。
4.实验
在这一部分,我们首先进行PSENet的消融研究。然后,我们在四个最近具有挑战的公共基准上验证提出的PSENet:CTW1500,TotalText,ICDAR2015和ICDAR 2017 MLT,并和最新的方法进行比较。
4.1 数据集
CTW1500 是一个具有挑战性的长的弯曲文本检测的数据集。包含1000张训练图片和500张测试图片。不同于传统的文本数据集(ICDAR2015和ICDAR2017 MLT),在CTW1500中的文本实例是通过14个点的多边形标记的,描述了不规则弯曲文本的形状。
Total-Text 是一个弯曲文本检测新提出的数据集。包括水平,多方向和弯曲文本实例。包含1255张训练图像和300张测试图像。
ICDAR2015(IC15) 是一个文本检测公共数据集。包含总共1500张图片,1000张用来训练,其余的用来测试。文本区域通过四个顶点的四边形标注。
ICDAR2017 MLT(IC17-MLT) 是一个大尺度的多语言的文本数据集,包括7200张训练图像,1800张验证图像和9000张测试图像。这个数据集由9种语言的完整场景图像组成。
4.2 实现细节
我们使用通过ImageNet预训练的ResNet作为我们的主干网络。全部的网络使用随机梯度下降(SGD)优化。使用7200张IC17-MLT训练图像和1800张IC17-MLT验证图像训练模型,并得出在IC17-MLT上的结果。注意,没有额外的数据,例如SynthText,用于训练IC17-MLT。我们在4个GPU上使用batch size为16,迭代次数180K在IC17-MLT上训练PSENet。初始学习率为 1 × 1 0 − 3 1 × 10^{-3} 1×10−3 ,在60K和120K迭代步数时分别除以10。
其余数据集采用了两种训练策略:(1)从头训练。(2)在IC17-MLT上fine-tuning。从头开始训练时,我们使用batch size 16,迭代次数36K训练PSENet,初始学习率为 1 × 1 0 − 3 1 × 10^{-3} 1×10−3 ,在12K和24K迭代步数时分别除以10。在IC17-MLT上fine-tuning是,迭代次数是24K,初始学习率为 1 × 1 0 − 4 1× 10^{-4} 1×10−4,在12K迭代次数时除以10。
我们使用 5 × 1 0 − 4 5×10^{-4} 5×10−4的权重衰减和0.99的Nesterov动量且没有阻尼。我们采用了 [Delving deep into rectifiers: Surpassing human-level performance on imagenet classification] 中介绍的权重初始化。
在训练时,我们忽视了所有数据集中标记 DO NOT CARE的模糊文本区域。损失函数的 λ \lambda λ 设置为0.7。OHEM的负样本比例设置为3。训练图像的数据增强如下:1)图像随机缩放 { 0.5 , 1.0 , 2.0 , 3.0 } \{0.5, 1.0, 2.0, 3.0\} {0.5,1.0,2.0,3.0};2)图像随机的水平翻转,在 [ − 1 0 ∘ , 1 0 ∘ ] [-10^\circ, 10^\circ] [−10∘,10∘] 范围内随机旋转。3)从转换的图像中随机剪切 640 × 640 640 × 640 640×640 大小的图像。对于四边形文本,我们计算最小区域矩形以提取边界框。 对于曲线文本数据集,应用PSE的输出以生成最终结果。
4.3 消融研究
内核可以用作最终结果吗? 内核的目的是粗略的定位文本实例并且把离得很近的文本分离开。然后,最小尺度的内核不能覆盖文本实例的完整面积,对文本检测和识别不利。在图6(a)中,在ICDAR2015和CTW1500上,只使用最小尺度的内核的检测器的F-measures是糟糕的。此外,我们使用CRNN去识别在完整文本实例和内核中的文本,发现CRNN不能识别在内核中的文本(图2)。因此,内核不能作为最终结果。
最小内核尺度的影响。我们通过设置内核的数量 n n n 为 2,让最小尺度 m m m 从 1 到 0.1 变化,来研究最小尺度 m m m 的影响。在数据集 ICDAR 2015和CTW1500上验证模型。我们可以从图6(a)中发现,当 m m m 太大或者太小时,测试集上的F-measures值下降。注意,当设置内核尺度为1的时候,只是用了文本分割map作为最终结果,没有使用渐进尺度扩展算法。没有PSE,这个网络的表现是不好的,因为网络不能把离得很近的文本分开。当 m m m 太大时,PSENet很难分割离得很近的文本实例。当 m m m 太小时,PSENet经常把一整个文本行错误分割成不同的部分,训练不能很好的收敛。
内核数量的影响。我们调查了内核数量 n n n 在PSENet性能上的影响。保持最小尺度 m m m不变,用不同的内核数量 n n n 训练PSENet。在ICDAR2015上设置 m = 0.4 m = 0.4 m=0.4,在CTW1500上设置 m = 0.6 m=0.6 m=0.6,让 n n n 从2到10增加。在ICDAR2015和CTW1500上验证。图6(b)显示实验结果,可以发现,随着n的增长,在测试集上的F-measure也保持上升,当 n ≥ 5 n \geq 5 n≥5 时开始平稳。多内核的优点在于它可以把两个离得很近的文本实例使用较大的间隙取重建。
主干网络的影响。深度神经网络已被证明可以提高大规模图像分类和物体检测的性能。为了更好地分析所提出的PSENet的能力,我们采用用三个不同深度的 50 , 101 , 152 {50,101,152} 50,101,152 的ResNet作为我们的主干,并且在大规模数据集IC17-MLT上进行测试。如表1所示,在相同的设置下,将主干的深度从50提高到152可以将性能从70.8%明显提高到72.2%,绝对改善1.4%。
4.4 与最新方法的比较
检测弯曲文本。为了测试弯取文本检测的能力,我们在CTW1500和TotalText上验证了我们的方法,这两个数据集主要包含弯取文本。在测试阶段,我们把长边缩放到1280,使用和【Detecting curve text in the wild: New dataset andnew solution】一样的验证方法得到验证结果。分别在表2和表3展示了PSENet在数据集CTW 1500和TotalText上的单尺度性能。注意,主干网络使用的是ResNet50。
在CTW1500上,PSENet超越了所有的类似方法,即使没有额外的数据。值得注意的是,我们可以发现PSENet实现的Fmeasure(82.2%)比CTD + TLOC高8.8%,比TextSnake高6.6%。据我们所知,这是文献中报道最好的结果。
在TotalText上,PSENet实现了 84.02%的准确率,77.96%的召回率和80.87%的F-measure,超过最好的方法 2.47%。请注意,我们的PSENet在F-measure中超过TotalText的baseline 40%。
在处理曲线文本或任意形状的文本时,CTW1500和Total-Text的性能展示了PSENet的固有优势。我们还说明了几个具有挑战性的结果,并与图7(d)中最先进的CTD + TLOC 进行了一些视觉比较。比较清楚地表明,PSENet可以优雅地区分非常复杂的曲线文本实例,并以引人注目的方式将它们分开。
检测多向文本。我们在IC15上验证PSENet,测试对多向文本检测的能力。主干网络只使用了ResNet50。我们把输入图像的长边缩放到2240。在表4中,比较了最新的方法。只有单尺度的设置,我们的方法实现了85.69%的F-measure超过最新方法3%。另外,我们,在图7(a)中展示了一些测试示例,PSENet可以准确的定位到各种方向的文本实例。
检测多语言文本。 为了测试PSENet对多语言的鲁棒性。我们在IC17-MLT上验证了PSENet。由于数据集的大尺度,为了充分利用PSENet 的潜能,我们把Res50和Res152作为主干网络。我们将原始图像放大2倍,PSENet达到72.13%的F-measure,优于最新方法5.3%。此外,我们在图7(b)中演示了一些测试示例,PSENet可以准确定位多种语言的文本实例。这证明PSENet对于多语言和多方位检测是强大的,并且确实可以在复杂的自然场景中部署。 结果如表5所示。
请注意,我们使用高分辨率来测试IC15和IC17-MLT,因为这两个数据集中有很多小文本。
4.5 速度分析
如表6所示,PSENet可以快速检测弯取文本实例。采用ResNet50和ResNet18作为主干来权衡速度和准确性。我们专门分析了PSENet在不同阶段的时间消耗。当输出特征映射为输入图像的 1/1 时,PSENet获得最佳性能,而PSE的时间消耗超过总推理时间的一半,因为feature map较大。如果输出特征图的大小为输入图像的1/ 4,则PSENet的FPS可以从3.9提升到8.4,而性能从84.84%略微降低到82.09%,如表2所示。我们可以看到PSE的时间消耗小于总推理时间的1/10。此外,当我们把长边缩放到640时,FPS进一步被推到22并且探测器仍然具有良好的性能(75.6%)。
当我们使用ResNet 18作为主干网络时,PSENet的速度几乎是实时的(27 FPS),而性能仍然具有竞争力。 请注意,PSENet(ResNet18)不使用外部数据进行预训练。结合表2,我们可以发现PSENet在速度和性能方面均优于EAST和CTD + TLOC。
所有上述实验均在CTW1500测试集上进行测试。 我们评估所有测试图像并计算平均速度。我们将长边缩放到 { 1280 , 960 , 640 } \{1280, 960, 640\} {1280,960,640} 作为输入来测试速度。 表6中的所有结果均由PyTorch和一个1080Ti GPU测试得出。
5. 结论和展望
我们提出了一种新颖的渐进式扩展网络(PSENet),以成功检测自然场景图像中任意形状的文本实例。 通过多个语义分割图逐渐将检测到的区域从小内核扩展到大内核和完整的实例,我们的方法对形状很稳健,并且可以轻松地分离那些非常接近甚至部分相交的文本实例。 场景文本检测基准的实验证明了该方法的优越性能。
未来有多种方向可供探索。 首先,我们将研究扩展算法是否可以与网络端到端一起进行训练。 其次,可以将渐进式扩展算法引入到一般实例级分割任务中,特别是在那些拥有许多拥挤对象实例的基准测试中。我们正在整理我们的代码并将很快发布它们。
6. 感谢
这项工作得到了中国自然科学基金67772273和格兰特61832008,江苏省杰出青年科学基金BK20160021和国家电网公司科学基金(基于Fewshot机器学习的输电线路冰风灾害特征识别与预测研究)的支持。
7. 用渐进式扩展网络进行形状稳健文本检测的补充材料
7.1 多内核的优点
当多个内核的大小差距较大时,可以使用多个内核平滑地重建文本实例。 如图8所示,2-kerenl重建存在一些缺陷,当内核数量增加时,这个问题得到缓解(参见3核重构)。此外,渐进式扩展算法(PSE)的时间复杂度为 O ( W × H ) O(W×H) O(W×H),其中 W × H W×H W×H 是输出的大小。 因此,内核数量的增加对PSE的时间成本没有影响。 因此,使用多个内核来重建文本实例是一种很好的方式。
7.2 PSENet在其他语义分割框架中的应用
提出的PSENet包含两个关键点:内核机制和PSE。 它们都易于应用于其他语义分割框架。 在这里,我们基于广泛使用的语义分割框架PSPNet 实现类似PSENet的方法,并在CTW1500上进行评估。我们详细比较了基于PSPNet的PSENet方法和表7中的原始PSENet。我们可以发现基于PSPNet的方法也可以在曲线文本数据集上实现竞争性能。然而,与原始PSENet相比,基于PSPNet的方法需要更多GPU内存(3.7G vs 2.9G)并且具有更低的推理速度(289ms vs 118ms),这表明原始PSENet更适合于文本检测。
7.3 更多关于CTW1500的比较
为了证明PSENet在复杂曲线文本检测方面的强大功能,我们实现了最先进的开源方法CTD-TLOC,并在CTW1500上进行PSENet和CTD-TLOC之间的详细比较。 比较如图9,10所示。有趣且令人惊奇的是,在图9中,我们提出的PSENet能够找到几个文本实例,其中ground truth甚至没有标记。这充分证明了我们的方法由于其强大的学习表现和区分能力而非常强大。 图10展示了更多示例,其中PSENet不仅可以检测曲线文本实例,即使是非常弯曲,也可以很好地分离那些紧密的文本实例。
7.4 有关Total Text,ICDAR 2015和ICDAR 2017 MLT的更多检测示例
在本节中,我们将演示PSENet生成的更多测试示例,图11(TotalText),图12(ICDAR 2015)和图13(ICDAR 2017 MLT)。从这些结果可以很容易地看出,使用提出的基于内核的框架和PSE,我们的方法实现了以下几点:1)精确定位任意形状的文本实例; 2)很好地分离紧密相邻的文本实例; 3)检测各种方向的文本实例; 4)检测多语言文本。同时,由于强大的特征表示,PSENet还可以定位具有复杂和不稳定照明,不同颜色和可变比例的文本实例。
这篇关于PSENet:Shape Robust Text Detection with Progressive Scale Expansion Network ---- 论文翻译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!