论文原文:原文连接
PS:代码没有开源呢。
摘要
提出了一种文本检测器,即LOMO(Look More Than Once),它可以逐步地调整文本(或者换句话说,不止看一次)。
LOMO由直接回归器(DR),迭代细化模块(IRM)和形状表达模块(SEM)组成。
首先,DR分支生成四边形的文本proposals。接下来,IRM基于提取的初步proposals的特征块,通过迭代细化逐步感知整个长文本。最后,通过考虑文本实例的几何属性,包括文本区域,文本中心线和边界偏移,引入SEM来得到更精确的不规则的多边形的文本表示
创新点
(1)提出了一个迭代细化模块IRM,它改善了长场景文本检测的性能;
(2)引入实例级形状表达模块SEM,解决了检测任意形状场景文本的问题;
模型
概述
网络架构如图2所示。架构可分为四个部分。
(1)将图像输入到骨干网络提取特征图。对ResNet50中的阶段2,阶段3,阶段4和阶段5的特征图进行特征融合,得到大小是输入图像的1/4,通道是128的特征图。并由之后的DR,IRM和SEM三个分支共享该特征图。
(2)DR采用类似于EAST的直接回归网络,以每像素的方式预测单词或文本的矩形。通常,由于感受野的限制,DR分支很难检测到长文本。如图2(2)所示的蓝色四边形。
(3)IRM可以从DR或其自身的输出迭代地细化输入proposals,以使初步文本proposals被完善,以更完整地覆盖文本实例,更接近真实边界框。如图2(3)所示的绿色四边形。
(4)SEM学习几何属性,包括文本区域,文本中心线和边界偏移(中心线和上/下边界线之间的距离),以此来重建文本实例的形状表达。如图2(4)所示的红色四边形。
直接回归DR----文本/非文本分类and位置回归
采用全卷积子网作为文本直接回归。 基于共享特征图,计算文本/非文本置信度,和包含该正样本像素的矩形的4个角点的偏移量。
DR分支的损失函数由两个部分组成:文本/非文本分类和位置回归。
将文本/非文本分类视为在1/4下采样分数图上的二值分割。 对dice系数损失进行改进,尺度不变的dice系数损失定义为:
其中y是0/1标签图,y^是预测分数图,sum是2D空间上的累积函数。 此外,w是二维权重图。 正位置的值通过将它们所属的四边形的短边分开的归一化常数l来计算,而负位置的值被设定为1.0。 我们在实验中将常数l设置为64。
之前分类损失函数多采用交叉熵损失函数,这篇文章将文本/非文本分类视为二值分割,采用dice系数损失。交叉熵损失函数的梯度性质更好,dice系数损失的梯度在标签和预测值很小时,训练会更不稳定。但是dice系数损失(以及类似的IOU损失)更贴近与真实的训练目的,且对不平衡数据集更友好。
此外,我们采用Smooth_L1损失来位置回归。 DR的整体损失函数为:
其中超参数λ平衡两个损失项,在我们的实验中设置为0.01。
迭代细化模块IRM
IRM的设计参考基于区域的物体检测,但只有边界框回归任务。使用RoI变换层来提取输入文本四边形的特征块,而不是RoI pooling层或RoI align层。与后两者相比,前者可以在保持纵横比不变的情况下提取四边形建议的特征块。
此外,靠近角点的位置可以在同一感受野内感知到更准确的边界信息。因此,引入角落注意机制来回归每个角落的坐标偏移。
对于一个DR生成的文本四边形,我们将其与共享特征图一起输入到RoI变换层,获得1×8×64×128特征块。然后,三个3×3卷积层以进一步提取丰富的上下文信息fr。接下来,我们使用1×1卷积层和sigmoid层来学习4个角落注意力图ma。每个角落注意力图上的值表示支持相应角落的偏移回归的贡献权重。
使用fr和ma,可以通过组点生成和reduce_sum操作来提取4个角回归特征(图3中绿色的4X{1X1X1X128}特征图):
其中fci表示形状为1×1×1×128的第i个角落回归特征,mia是第i个角落注意力特征图。
最后,预测输入四边形和地面实况文本框之间的4个角的偏移。
在训练阶段,我们保留K个来自DR的初步检测到的四边形,角落回归损失可以通过以下方式代表:
形状表达模块SEM
SEM是完全卷积网络,随后是RoI变换层。学习文本的几何属性,包括文本区域,文本中心线和边界偏移(文本中心线和上/下文本边界线之间的偏移),以重建文本实例的精确形状表达。
文本区域是二进制mask,其中前景像素(即多边形中的符号)标记为1,背景像素为0。
文本中心线也是二进制mask。对文本多边形标签进行收缩。
边界偏移是4个通道图,只在中心线特征图的正响应对应位置有值。当中心线样本(红点)如图4(a)所示,我们绘制一条垂直于其切线的法线,该法线与上下边界线相交,得到两个边界点(即粉色和橙色)。对于每个红点,通过计算从其自身到其两个相关边界点的距离来获得4个边界偏移。
SEM的结构如图4所示,RoI变换层提取的共享特征图上的特征块,之后是两个卷积阶段(每个阶段由一个上采样层和两个3×3卷积层组成),然后我们使用一个带有6个输出通道的1×1卷积层,用于回归所有文本属性映射。 SEM的目标函数定义如下:
其中K表示保留IRM的文本四边形的数量,Ltr和Ltcl分别是文本区域和文本中心线的dice系数损失,Lborder是通过Smooth_L1损失计算。 在我们的实验中,权重λ1,λ2和λ3设定为0.01,0.01和1.0。
文本多边形生成
通过文本多边形生成策略来重建任意形状的文本实例表达,如图4所示。该策略包括三个步骤:文本中心线采样,边界点生成和多边形评分。
首先,在预测的文本中心线图上从左到右以等距间隔采样n个点。
根据SCUT-CTW1500 [39]中的标签定义,我们在弯曲文本检测实验中设置n为7,在进行四边形标记的文本检测时设置n为2。
之后,我们可以根据采样的中心线点确定相应的边界点。结合由同一位置的4个边界偏移图提供的信息,可以获得7个上边界点(粉红色)和7个下边界点(橙色)。通过顺时针来连接所有边界点,我们可以获得完整的文本多边形表示。
最后,我们计算多边形内文本区域响应的平均值作为新的置信度得分。
训练和推理
我们使用以下损失函数以端到端的方式训练建议的网络:
其中Ldr,Lirm和Lsem分别代表DR,IRM和SEM的损失。权重γ1,γ2和γ3在三个模块之间折衷,并且在我们的实验中都设置为1.0。
培训分为两个阶段:预热和微调。
预热步骤:在合成数据集中,我们仅使用10个epoch训练DR分支。通过这种方式,DR可以生成高召回的proposals,以涵盖实际数据中的大部分文本实例。
微调步骤:我们微调真实数据集上的所有三个分支,包括ICDAR2015 [12],ICDAR2017-RCTW [31],SCUT-CTW1500 [39],Total-Text [2]和ICDAR2017-MLT [26]。另外10个时代。 IRM和SEM分支都使用由DR分支生成的相同提议。非最大抑制(NMS)用于保持前K个提案。由于DR首先表现不佳,这将影响IRM和SEM分支的融合,我们在实践中用随机扰乱的GT文本四边形替换50%的前K个proposals。请注意,IRM仅在训练期间执行一次细化。
在推理阶段,DR首先生成四边形的得分图和几何图,然后按照NMS生成初步proposals。接下来,将proposals和共享特征图提供给IRM以进行多次重新xi。精确的四边形和共享特征图被输入SEM以生成精确的文本多边形和置信度分数。最后,阈值s用于去除低置信度多边形。我们在实验中将s设置为0.1。
实验
见原文,这里就不贴图了。