自然场景文本处理论文整理 (4)PixelLink
paper:https://arxiv.org/abs/1801.01315v1
github:https://github.com/ZJULearning/pixel_link
摘要
大多数最先进的场景文本检测算法是基于深度学习的方法,其依赖于边界框回归并且执行至少两种预测:文本/非文本分类和位置回归。回归在这些方法中获取边界框中起着关键作用,但它不是必不可少的,因为文本/非文本预测也可以被视为一种包含完整位置信息的语义分割。然而,场景图像中的文本实例通常彼此非常接近,使得它们很难通过语义分割来分离。因此,需要实例分割来解决此问题。本文提出了一种基于实例分割的新型场景文本检测算法PixelLink。首先通过将同一实例中的像素链接在一起来分割出文本实例。然后直接从分割结果中提取文本边界框而不进行位置回归。实验表明,与基于回归的方法相比,PixelLink可以在几个基准测试中实现更好或相当的性能,同时需要更少的训练迭代次数和更少的训练数据。
PixelLink的架构
训练CNN模型以执行两种像素预测:文本/非文本预测和链接预测。 在被阈值化之后,正像素通过正链接连接在一起,实现实例分割。 然后应用minAreaRect直接从分割结果中提取边界框。 使用后置滤波可以有效地消除噪声预测。 显示输入样本以便更好地说明。 中的八个热图虚线框代表八个方向的链接预测。 尽管在文本/非文本预测中难以分离某些单词,但它们可通过链接预测分离,如下图所示:
算法思路
1、将像素链接在一起
给定像素和链接的预测,可以分别对它们应用两个不同的阈值。 然后使用正链接将正像素分组在一起,产生CC的集合,每个CC表示检测到的文本实例。因此实现了实例分割。 值得注意的是,给定两个相邻的正像素,它们的链接由它们两者预测,并且当两个链接预测中的一个或两个为正时它们应该连接。 可以使用不相交集数据结构来实现该链接过程。
2、提取边界框
实际上,检测任务在实例分割后完成。 然而,需要边界框作为检测结果,如IC13(Karatzas等人2013),IC15(Karatzas等人2015)和COCO-Text(Veit等人2016)。 因此,然后通过OpenCV中的minAreaRect(2014年)等方法提取CC的边界框.minAreaRect的输出是一个定向矩形,可以很容易地转换为IC15的四边形或IC13的矩形。 值得一提的是,在PixelLink中,对场景文本的方向没有限制。
该步骤导致PixelLink和基于回归的方法之间的关键差异,即,边界框直接从除位置回归之外的实例分割获得。
3、进行分割之后的过滤
由于PixelLink尝试通过链接将像素组合在一起,因此不可避免地要进行一些噪声预测,因此需要进行后置过滤步骤。 一种简单而有效的解决方案是通过检测盒的简单几何特征进行过滤,例如宽度,高度,面积和纵横比等。例如,在第二部分的IC15实验中。 5.3,如果检测到的盒子的短边小于10矩形框或者其面积小于300,则放弃检测到的矩形框.10和300是IC15训练数据的统计结果。 具体地,对于选择的过滤标准,选择在TRAINING集合上计算的相应的第99百分位数作为阈值。 例如,再次选择10作为较短边长度的阈值,因为IC15列中约99%的文本实例具有短边≥10像素。
优化
1、地面实况计算(其实就是怎么计算链接像素)
在TextBlocks(Zhang等人,2016)中的公式之后,文本边界框内的像素被标记为正。 如果存在重叠,则只有未重叠的像素为正。 否则为负。对于给定像素及其八个邻居中的一个,如果它们属于同一个实例,则它们之间的链接为正。
否则为负。注意,对调整大小为预测层形状的输入图像执行地面实况计算,即,对于4s的conv3_3和对于2s的conv2_2。
2、损失函数
培训损失是像素损失和链路损失的加权总和:
L =λL像素+ L链接。
由于L链接仅在正像素上计算,因此像素的分类任务比链接更重要,并且在所有实验中λ都设置为2.0。
实验效果
在各数据集上表现很好,主要针对解决倾斜文本,对旋转文本效果不好。