具有自适应文本区域表示的任意形状场景文本检测
论文地址:https://arxiv.org/abs/1905.05980
论文解读:https://blog.csdn.net/m0_38007695/article/details/95880956
摘要:
场景文本检测在计算机视觉中引起了广泛的关注,因为它可以广泛应用于实时文本翻译,自动信息输入,盲人辅助,机器人传感等多种应用中。虽然水平文本和定向文本提出了很多方法,但是检测诸如弯曲文本的不规则形状文本仍然是一个具有挑战性的问题。为解决这一问题,我们提出了一种具有自适应文本区域表示的鲁棒场景文本检测方法。给定一张输入图像,首先使用一个文本RPN网络提取文本建议框。然后,通过细化网络验证和改进这些建议框。在这里提出了基于自适应文本区域表示的RNN网络用来文本区域细化,其中每个时间步长预测一对边界点,直到没有新点发现为止。这样,就可以检测任意形状的文本区域,并用适应数量的边界点表示。这样可以更准确的描述文本区域。在五个数据集(CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500)上进行了实验,表明所提出的在场景文本检测中实现了最先进的技术。
1. 介绍
文本是用于传递语义信息的最基本的媒介。 它出现在日常生活的各个角落:街道铭牌,商店标志,产品包装,餐厅菜单等。 自然环境中的这些文本被称为场景文本。 自动检测和识别场景文本可以应用在很多地方,例如实时文本翻译,盲人协助,购物,机器人,智能汽车和教育。一个端到端的文本识别系统常常包括两部分:文本检测和文本识别。在文本检测部分,检测到文本并使用边界框标注。在文本识别部分,从检测到的文本区域中提取出文本。文本检测是端到端文本识别的重要步骤,没有它就不能从场景图片中识别出文本。因此,在这些年,场景文本检测引起了很多关注。
虽然传统的OCR技术只能处理打印文档或者名片上的文本,但场景文本检测尝试检测复杂场景中的各种文本。由于复杂的背景和各种的字体,大小,颜色,语言,照明条件和方向,场景文本检测成为了非常有挑战的任务。在深度学习方法变得流行之前,使用手工设计的功能和传统的分类器时,它的表现很差。然后,近年来,表现得到很大改善,这很大程度上得益于深度学习的发展。与此同时,文本检测的研究方向从水平场景文本转变到了多方向的场景文本和更具有挑战的弯曲文本或任意形状的场景文本。因此,本文重点介绍任意形状的场景文本。
本文中,我们提出而任意形状场景文本的检测方法,使用可适应的文本区域表示,如下图1。给一张输入图像,首先使用 Text-RPN 获得文本建议框以及输入图像的CNN feature maps;然后用一个细化网络验证和改进文本建议框,它的输入是使用CNN feature maos的ROI处理过的文本建议框。细化网络包括三个分支,分别是:文本/非文本分类,边框细化和基于自适应文本区域表示的RNN。在RNN中,每个时间步长预测一对边界点。这样,就可以了使用适应数量的边界点表示不规则文本区域了。在五个数据集(CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500)上进行了实验,进行了性能测试。实验表明,本文提出的方法不仅可以处理多方向的文本也可以处理不规则场景文本包括弯取文本。在五个数据集上都实现了最先进的表现。
2.相关工作
在深度学习成为最受欢迎的机器学习之前,基于传统滑动窗口和基于连通域的场景文本检测方法已经被广泛使用。基于传统滑动窗口的方法在图像上移动一个多尺度的窗口来把文本和非文本分开。基于连通域的方法,特别是基于最大稳定极值区域(Maximally Stable Extremal Regions,MSER)的方法,通过提取连通域来获取候选框。然后把这些候选框分为文本和非文本。这些方法通常采用自下而上的策略,通常需要几个步骤来检测文本(例如,字符检测,文本行构建,文本行分类)。由于每一步都可能导致误分类,所以这些传统文本检测表现很差。
最近,基于深度学习的方法在场景文本检测上更受欢迎了。这些方法可以分成三组,包括基于边框回归的方法,基于分割的方法和两者结合的方法。基于边框回归的方法是受到一边物体检测方法的启发,例如SSD,Faster RCNN,将文本视为一种对象,直接估计其边框作为检测结果。基于分割的方法尝试通过从背景中分割文本区域来解决问题,需要一个额外的步骤去获取最终的边界框。两者结合的方法使用和Mask RCNN相似的策略,利用分割和边框回归获得更好的表现。然而,由于比之前的方法需要的步骤更多,所以它的处理时间加长了。在这三种方法中,基于边框回归的方法是场景文本检测中最受欢迎的,这得益于通用目标检测的方法。
对于基于边界框回归的方法,可以分为一阶段方法和两阶段方法。一阶段方法包括Deep Direct Regression,TextBox,TextBoxs++,DMPNet,SegLink和EAST,在一步中直接估计文本区域的边界框。两阶段方法包括R2CNN,RRD,RRPN,IncepText和FEN。它们包括文本建议框生成步骤(生成候选框)和边框微调步骤(候选框确认和微调以生成最终的检测结果)。两阶段方法通常比一阶段的方法能获得更高的性能,所以本文使用两阶段检测的思想。
虽然大多数提出的场景文本检测方法只能处理水平或定向文本,但检测任意形状文本如弯曲文本最近吸引了更多关注。在CTD中,使用14个点的多边形表示文本区域。同时,提出了循环横向和纵向便宜连接(TLOC)用于更精确地弯曲文本检测。虽然一个多边形14个点对于大多数文本区域足够了,但是对于一些长的弯曲文本行是不够的。除此之外,14个点对于大多数水平和定向文本太多了,4个点足够了。在TextSnake中,文本实例被描述为以文本区域为以文本区域的对称轴为中心的有序重叠圆序列。每个圆都与可变半径和方向有潜在的联系,这些都是通过FCN来估算的。还有,Mask TextSpotter受Mask RCNN的启发,通过语义分割处理不规则形状的文本实例。虽然TextSnake和Mask TextSpotter都可以处理不规则形状的文本,但是像素级别的预测需要更大的计算量。
考虑到使用固定点数量的多边形来表示不同形状的文本区域是不合适的,本文提出了使用不同的点的数量的自适应文本区域来表示不同形状的文本。同时,RNN用来学习每个文本区域的自适应表示,这样可以直接标记文本区域,并且不需要逐像素分割。
3.方法
图1展示了不规则形状文本检测方法的流程图,是一个两阶段的检测方法。包含两步:Text Proposal和Proposal refinement。在Text Proposal这一步,使用Text-RPN生成一张图像的Text Proposal。同时,获得输入图像的CNN feature maps,接下来会使用。然后,通过微调网络验证和微调Text Proposal。在这一步,包括了文本/非文本分类,边框回归和自适应文本区域表示的RNN。最后,使用自适应点数的多边形标记的文本区域作为输出结果。
3.1 自适应文本区域表示
现有的场景文本检测方法使用固定数量点的多变形来表示文本区域。对于水平文本,两个点(左上和右下)就可以表示文本区域。对于多方向文本,四个点就可以表示文本区域。对于弯曲文本,在CTW1500使用14个点来表示文本区域。然而,对于一些复杂的场景文本,例如弯曲长文本,即使14个点也不足够去表示它们。但是对于大多数场景文本例如水平文本和定向文本,少于14个点就足够表示了,使用14个点表示这些文本区域太浪费了、
因此,考虑使用自适应数量的点去表示文本区域。很容易想到,使用一个文本区域边框的角点去表示文本,如图2(a)。这类似于注释通用目标的方法。然而,用这种方式,这些点不是沿一个方向排列的,可能很难去学习这个表示。在这个标注通用目标的方法中,可能需要人工校正来进行精确分割。考虑到文本区域通常具有近似对称的上边界和下边界,如图3所示,使用两个边界的成对点进行文本区域表示可能更合适。从文本区域的一边到另一边学习成对边界点会更容易,如图2(b)所示。这样,不同的文本区域可以使用不用的点精确的表示,如图3所示。而且,据我们所知,我们是第一个使用自适应成对点的数量来表示文本区域的。
3.2 Text Proposal
给定输入图像之后,第一步就是Text Proposal,在这里文本区域候选框称为Text-RPN生成的Text Proposal。除了不同的骨干网络和anchor大小之外,Text-RPN和Faster-RCNN中的RPN是相似的。在此方法中,主干网络是SE-VGG16,如表1,加入了SE(Squeeze-and-Excitation)模块的VGG16。如图4所示,SE模块通过使用通道的相互依赖型,自适应的重新校准了通道方面的特征响应,产生了显著的性能提升。FC表示全连接层,ReLU表示整流线性单元函数。此外,由于场景文本通常具有不同的大小,为了覆盖更多文本,因此anchor大小设置为 { 32 , 64 , 128 , 512 } \{32, 64, 128, 512\} {32,64,128,512} ,保持纵横比 { 0.5 , 1 , 2 } \{0.5, 1, 2\} {0.5,1,2}。
3.3 Proposal Refinement
在 text proposal 之后,在输入图像中生成的文本区域候选框,在这一步进行验证和微调。如图1 所示,微调网络用于Proposal Refinement,包含若干分支:文本/非文本分类,边框回归和基于自适应文本表示的RNN。在这里,文本/非文本分类和边框回归和其他的两阶段文本检测的方法是类似的,最后一个分支用于任意形状的文本表示。
对于最后一个分支,输入是每个 text proposal的特征,通过 ROI Pooling到SE-VGG16生成的CNN feature maps获得的。输出是每个文本区域自适应边框点的数量。因为输出长度是不同的文本区域,所以使用RNN预测这些点。因此,在这里使用了LSTM,它是一种RNN,并且用于处理序列学习问题,例如机器翻译,语音识别,图像标题和文本识别。
尽管提出成对边界点用于文本区域表示,但是可以使用不同方式用于成对点表示。很容易想到,可以使用两对点的坐标 ( x i , y i , x i + 1 , y i + 1 ) (x_i, y_i, x_{i+1}, y_{i+1}) (xi,yi,xi+1,yi+1) 来表示。这样,每对点的坐标都可以作为回归目标,如图5所示。然而,每对点都可以使用不同的方式表示,使用中心点 ( x i c , y i c ) (x_i^c, y_i^c) (xic,yic) 的坐标,中心点到两个点的距离 h i h_i hi 和他们的旋转角度 θ i \theta_i θi。然而,目标角度在某些特殊情况下不好确定。例如, 9 0 ∘ 90^\circ 90∘ 和 − 9 0 ∘ -90^\circ −90∘ 在空间中是非常相似的,但是他们的角度是不同的。这个就很难正确的学习。除此之外,方向可以通过 sin θ i \sin \theta_i sinθi 和 cos θ i \cos \theta_i cosθi 来表示,这个可以很好的预测。然而,需要很多参数。因此,本文方法使用点的坐标 ( x i , y i , x i + 1 , y i + 1 ) (x_i, y_i, x_{i+1}, y_{i+1}) (xi,yi,xi+1,yi+1) 来作为回归目标。
LSTM每个时间点的输入都是相同的,都是相应text proposal的 ROI pooling特征。每个时间点的输出是文本区域框的对点的坐标。同时,由于不同的文本区域使用自适应点数,因此需要停止标签来表示预测网络何时停止。因为停止标签预测是分类问题,而坐标预测是回归问题,所以将他们放在同一分支是不合适的。因此,LSTM的每个时间点有两个分支:一个点的坐标的回归,一个停止标签的预测。在每一个时间点,都预测文本区域的两个对边的点的坐标和标签 stop/continue。如果标签是continue,在下一个时间点将会预测另外两个点的坐标和下一个标签,否则,预测停止,文本区域使用之前预测的点表示。这样,输入图像中的文本区域就可以使用不同的多边形(通过预测的对点组成的)来检测和表示了。
虽然NMS被广泛用于通用目标检测方法的后处理检测候选框,但是在本文提出的方法中也需要NMS。因为文本区域是通过多边形来表示的,所以使用普通的基于水平边框的NMS来计算是不合适的。所以使用多边形NMS, 是基于多边形文本区域的面积计算的。在NMS后,剩余的文本区域就作为检测结果输出了。
3.4 训练目标
由于Text-RPN和Faster R-CNN中的RPN是相似的,所以Text-RPN的训练损失也是以相同的方式计算的。因此,在这一部分,我们只关注微调网络的损失函数。每一个proposal的损失函数定义为文本/非文本分类损失,边框回归损失和边界点回归损失和停止/继续标签分类损失之和。在每一个proposal上的多任务损失函数定义为:
{
L
s
u
m
=
L
c
l
s
(
p
,
t
)
+
λ
1
t
∑
i
∈
{
x
,
y
,
w
,
h
}
L
r
e
g
(
v
i
,
v
i
∗
)
+
λ
2
t
∑
i
∈
{
x
1
,
y
1
,
x
2
,
y
2
,
.
.
.
,
x
n
,
y
n
}
L
r
e
g
(
u
i
,
u
i
∗
)
+
λ
3
t
∑
i
∈
{
l
1
,
l
2
,
.
.
.
,
x
n
/
2
L
c
l
s
(
l
i
,
l
i
∗
)
\begin{cases} L_{sum} & = L_{cls}(p,t) + \lambda_1 t \sum_{i \in \{x,y,w,h\}}L_{reg}(v_i, v_i^*) \\ & + \lambda_2 t \sum_{i \in \{x_1, y_1, x_2, y_2, ...,x_n, y_n\}}L_{reg}(u_i, u_i^*)\\ & + \lambda_3 t \sum_{i \in \{l_1, l_2, ..., x_{n/2}}L_{cls}(l_i, l_i^*) \end{cases}
⎩⎪⎨⎪⎧Lsum=Lcls(p,t)+λ1t∑i∈{x,y,w,h}Lreg(vi,vi∗)+λ2t∑i∈{x1,y1,x2,y2,...,xn,yn}Lreg(ui,ui∗)+λ3t∑i∈{l1,l2,...,xn/2Lcls(li,li∗)
λ
1
\lambda_1
λ1,
λ
2
\lambda_2
λ2 和
λ
3
\lambda_3
λ3 是这些项的平衡参数,在本文方法中它们设置为1。
对于文本/非文本损失项, t t t 是分类标签的标记。是文本时 t = 1 t=1 t=1,不是文本时 t = 0 t=0 t=0。参数 p = ( p 0 , p 1 ) p = (p_0, p_1) p=(p0,p1) 是softmax计算后的文本和非文本的置信度。 L c l s ( p , t ) = − log p t L_{cls}(p, t) = -\log p_t Lcls(p,t)=−logpt 是真值 t t t对数损失。
对于边框回归损失项, v = ( v x , v y , v w , v h ) v = (v_x, v_y, v_w, v_h) v=(vx,vy,vw,vh) 是边框回归的目标,包括中心点的坐标和宽和高, v ∗ = ( v x ∗ , v y ∗ , v w ∗ , v h ∗ ) v^* = (v_x^*, v_y^*, v_w^*, v_h^*) v∗=(vx∗,vy∗,vw∗,vh∗) 是每个 text proposal的预测值。我们使用 Faster R-CNN 中给出的 v v v 和 v ∗ v^* v∗ 参数化,其中 v v v 和 v ∗ v^* v∗ 指定了一个目标proposal的尺度不变性和对数空间高/宽偏移性。
对于边界点回归项,
u
=
(
u
x
1
,
u
y
1
,
.
.
.
,
u
x
n
,
u
y
n
)
u = (u_{x_1}, u_{y_1},...,u_{x_n},u_{y_n})
u=(ux1,uy1,...,uxn,uyn) 是边界点的真值坐标,
u
=
(
u
x
1
∗
,
u
y
1
∗
,
.
.
.
,
u
x
n
∗
,
u
y
n
∗
)
u = (u_{x_1}^*, u_{y_1}^*,...,u_{x_n}^*,u_{y_n}^*)
u=(ux1∗,uy1∗,...,uxn∗,uyn∗) 是文本的预测值。为了使学习的点适合与不同尺度的文本,还应该处理学习目标使它们成比例不变。参数
(
u
x
i
∗
,
u
y
i
∗
)
(u_{x_i}^*, u_{y_i}^*)
(uxi∗,uyi∗) 根据以下公式处理:
u
x
i
∗
=
(
x
i
∗
−
x
a
)
/
w
a
,
u
y
i
∗
=
(
y
i
∗
−
y
a
)
/
h
a
u_{x_i}^* = (x_i^* - x_a) / w_a, \quad u_{y_i}^* = (y_i^* - y_a) / h_a
uxi∗=(xi∗−xa)/wa,uyi∗=(yi∗−ya)/ha
其中
x
i
∗
x_i^*
xi∗ 和
y
i
∗
y_i^*
yi∗ 表示边框点的坐标,
x
a
x_a
xa 和
y
a
y_a
ya 表示相应text proposal中心点的坐标,
w
a
w_a
wa 和
h
a
h_a
ha 表示这个proposal的宽和高。
用
(
w
,
w
∗
)
(w, w^*)
(w,w∗) 表示
(
v
i
,
v
i
∗
)
(v_i, v_i^*)
(vi,vi∗) 或者
(
u
i
,
u
i
∗
)
(u_i, u_i^*)
(ui,ui∗) ,
L
r
e
g
(
w
,
w
∗
)
L_{reg}(w, w^*)
Lreg(w,w∗) 可以定义为Faster R-CNN中的L1平滑损失:
L
r
e
g
(
w
,
w
∗
)
=
s
m
o
o
t
h
L
1
(
w
−
w
∗
)
L_{reg}(w, w^*) = smooth_{L1}(w-w^*)
Lreg(w,w∗)=smoothL1(w−w∗)
s m o o t h L 1 ( x ) = { 0.5 x 2 if |x| < 1 ∣ x ∣ − 0.5 otherwise smooth_{L1}(x) = \begin{cases} 0.5x^2 & \text {if |x| < 1} \\ |x| - 0.5 & \text {otherwise} \end{cases} smoothL1(x)={0.5x2∣x∣−0.5if |x| < 1otherwise
对于停止/继续标签分类损失项,它也是一个二分类,它的损失格式类似于文本/非文本分类损失。
4. 实验
4.1 评价基准
在本文中使用了五个评价基准进行性能验证,介绍如下:
- CTW1500:CTW1500数据集包含500张测试图片和1000张训练图片,包含多方向文本,弯曲文本和不规则文本。在这个数据集中文本区域使用14个场景文本边框点以句子级别来标注。
- TotalText:TotalText数据集包含300张测试图片和1255张训练图片,超过三种不同的文本方向:水平,多向和弯曲。在这些图像中,文本是以单词级别标记,具有自适应角点数。
- ICDAR2013:ICDAR2013数据集包含ICDAR Robust Reading Competition的重点场景文本。包括233张测试图像和229张训练图像。场景文本是水平的,使用2个点的边界框以单词级别标注。
- ICDAR2015:ICDAR2015数据集侧重于ICDAR Robust Reading Competition中的非主要的场景文本。包括500张测试图像和1000张训练图像。它们有不同的方向,使用四个点组成的倾斜框以单词级别标注。
- MSRA-TD1500:MSRA-TD500数据集包含200张测试图像和300张训练图像,包含中英文任意方向的文本。通过四个点的倾斜框以句子级别标注。数据集中存在一些长直文本行。
文本检测的评估遵循ICDAR评估协议的 Recall, Precision和 Hmean。Recall 表示正确检测到的文本区域数与数据集中文本区域总数之比,Precision表示正确检测到的文本区域数与检测到的文本总数之比。Hmean通过结合recall和precision来衡量质量。如果检测到的文本区域与Ground Truth 文本区域的重叠面积大于给定的阈值则认为是正确的。这三个评估项在不同的数据集上计算的方式不同。在 ICDAR2013和 ICDAR2015 上的结果可以通过ICDAR robust reading competition平台来验证,其他三个的数据集可以按照它们相应的验证方法去验证。
4.2 实现细节
我们的场景文本检测网络是在ImageNet预训练的VGG16上初始化的。当在五个数据集上测试所提出的方法时,使用不同的模型,这些模型仅使用每个数据集的训练图像进行数据增强训练。全部的模型总共训练 10 × 1 0 4 10 × 10^4 10×104 迭代步数。学习率从 1 0 − 3 10^{-3} 10−3 开始,分别在 2 × 1 0 4 2 × 10^4 2×104, 6 × 1 0 4 6 × 10^4 6×104 和 8 × 1 0 4 8×10^4 8×104 迭代步数时乘以 1 / 10 1 / 10 1/10。使用 0.0005 0.0005 0.0005 的权重衰减和 0.9 0.9 0.9的动量。使用多尺度训练,设置训练图像的短边为 { 400 , 600 , 720 , 1000 , 1200 } \{400, 600, 720, 1000, 1200\} {400,600,720,1000,1200} ,保持长边 2000 2000 2000 不变。
因为在本文方法中使用了自适应文本区域表示,所以可以很简单的使用这些数据集中通过不同的点数标记的文本区域。在ICDAR 2013, ICDAR 2015 和 MSRA-TD500使用四边形框标注,很容易转换成对点。然而,对于 CTW1500数据集 和TotalText 数据集,需要一些操作把ground truth 转换为我们需要的形式。
在CTW1500中,使用14个点标记文本区域,需要转换成自适应成对点数。首先,14个点是由7对点组成的。然后,我们计算每个点的交叉角,就是从当前点到其附近两个点的矢量的角度。对于每对点角度是两个点中较小的一个。接下来,点对按照他们的角度降序排序,我们尝试删除排列中的每个点对。如果删除操作之后多边形区域与原始区域的面积比大于0.93,则删除该点对。否则,操作停止,剩余的点用于文本区域表示的训练。
在TotalText中的文本区域是通过自适应的点数来标记的,但是这些点不是对点。对于标有偶数个点的文本区域,可以很容易的将它们成对分组。但是对于标有奇数点数的文本区域,首先找到开始的两个点和最后的两个点,然后根据它们到边界七点的距离找到剩余点的对应点。
本文方法的结果是用一个训练模型在单尺度输入图像中获得的。因为测试图像的尺度对检测结果有很大影响,例如FOTS对不用的数据集使用不同的尺度,我们也对不同的测试集使用不同的尺度以获得最好的表现。在我们的试验中,ICDAR2013的尺度是 960 × 1400 960 × 1400 960×1400,ICDAR2015的尺度是 1200 × 2000 1200 × 2000 1200×2000,其他数据集的尺度都是 720 × 1280 720 × 1280 720×1280。
本文方法实在Caffe上实现的,在 Nvidai P40 GPU上完成实验。
4.3 消融研究
本文方法使用的主干网络是 SE-VGG16,其他先进的方法使用的是VGG16。为了验证主干网络的优点,我们用不同的主干网络(SE-VGG16和VGG16)在CTW1500数据集和ICDAR2015数据集上做了测试,如表2。结果显示SE-VGG16是比VGG16好的,在两个数据集上都有好的表现。
同时,本文对于不规则形状的文本还提出了自适应文本区域表示。为了验证它的优点,我们在数据集CTW1500上添加了一个文本区域表示的消融研究。作为对比,直接使用14个点固定文本区域表示作为实验的回归目标。表3显示了在数据集CTW1500上的不同区域表示方法的实验结果。使用自适应表示方法的Recall比固定表示的 Recall高出很多($80.2% ; vs ;76.4% $)。证明了,自适应文本区域表示更适合不规则形状的文本。
4.4 与最新技术的比较
为了显示所提出方法对不同形状文本的性能,我们在几个基准中进行测试。我们首先将其性能与数据集CTW1500和TotalText上的最新技术进行比较(包含具有挑战性的多向和弯曲文本)。然后我们比较两种最广泛使用的基准测试方法:ICDAR20113 和 ICDAR2015。最后我们在数据集MSRA-TD500上进行了比较,包含长直文本行和多语言文本(中英)。
表4和表5分别是在数据集 CTW 1500和TotalText上的本文方法和最新方法的比较。在CTW1500上,本文方法是比其他的方法(包括弯曲文本的方法CTD,CTD+TLOC和TextSnake)更好。同时,在数据集TotalText上,也实现了更好的性能(Hmean: 78.5%)。在两个包含挑战性的多向和弯取文本数据集上的表现说明了本文方法可以检测任意形状的场景文本。
表6显示了在数据集ICDAR2013上的实验结果。该方法实现了与Mask Textspotter相同的最佳性能,其中Hmean均为91.7%。由于所提出的方法是在单一模型的单一尺度输入图像上进行测试的,因此这里仅使用在这种情况下生成的结果。他的结果表明,所提出的方法也可以很好地处理水平文本。
表7显示了ICDAR 2015数据集的实验结果,所提出的方法达到了第二好的性能,仅略低于FOTS(Hmean:87.6%vs 88.0%)。虽然FOTS通过结合文本检测和识别进行端到端训练,但是所提出的方法仅针对文本检测进行训练,这比FOTS更容易训练。本文采用单模型单尺度输入图像获取测试结果。结果表明,该方法与现有技术具有可比性,可以很好地处理多向文本。
表8显示了在MSRA-TD500数据集的结果,表明我们的检测方法可以很好地支持长直文本行检测和中文+英文检测。 它实现了83.6%的Hmean并且优于所有其他方法。
4.5 速度
将所提出方法的速度与表9中所示的两种其他方法进行比较,这些方法都能够处理任意形状的场景文本。 从结果中我们可以看出,所提方法的速度比其他两种方法快得多。因为在Mask Textspotter和TextSnake中需要像素预测,但在所提出的方法中不需要它,所以本文方法会有较少的计算。
4.6 定性结果
图6显示了在CTW1500,TotalText,ICDAR2013,ICDAR2015和MSRA-TD500的定性结果。 它表明,所提出的方法可以处理任意定向或弯曲的各种文本,不同的语言,不均匀的照明和在单词级别或句子级别的不同文本长度。
5. 结论
在本文中,我们提出了一种具有自适应文本区域表示的鲁棒的任意形状场景文本检测方法。 在使用文本RPN的text proposal之后,使用RNN来验证和细化每个文本区域以预测边界点的自适应数量。 对五个基准测试的实验表明,该方法不仅可以检测水平和定向场景文本,而且可以很好地适用于任意形状的场景文本。特别是,它在CTW1500和MSRA-TD500上显著优于现有方法,分别是曲线文本和多向文本的典型。
将来,可以在几个方面改进所提出的方法。 首先,可以通过使用角点检测来改善任意形状场景文本检测。 这将需要更容易的标注来训练图像。 其次,为了实现文本识别的最终目标,将考虑对任意形状场景文本进行端到端文本识别。