代码连接:https://gitlab.com/rex-yue-wu/ISI-PPT-Text-Detector算法
摘要
该论文由Yue Wu等人发表于ICCV 2017。针对文字检测中提取文字的行级候选区须要大量后处理、复杂且耗时的问题,提出了一种基于边界学习的场景文字检测方法(只须要极少后处理、能够区分任意形状的文本区)。网络
文章的主要贡献有: gitlab
(1)分析了将文字检测做为二分类问题(文字/非文字)的局限性; 学习
(2)首次将边界类别引入到文本检测问题中,验证了文本边界在很大程度上简化了解码过程; 测试
(3)创建了一个新的用于文本检测的ppt数据集(10692幅图像,非文本、边界和文本标注); url
(4)提出了一个轻量级FCN(0.28M参数,支持多分辨率分析)来有效地学习文本图像中的边界。spa
1 方法
为何文字检测须要繁杂的后处理过程呢?由于检测算法获得的候选区域不是指望的行级文字区域。为何不直接预测指望的行级文字区域呢?实际上,有一些文字检测算法使用行级标注,以期得到文本行级的候选区域,但效果不佳,由于几行文字行间距很小时很难将几行文字拆分开。.net
将文字检测做为二分类问题具备局限性,如图1所示:图1(a)代表当行间距较大时文字/非文字能够正确地实现文本行分割,而当文本行间距很小时(图1(b))就没法将其分离开。做者引入了边界类(图1(c)中的绿色区域)来辅助进行文字区域分割,能够看出分割效果很好。边界类能够有效地将紧邻的文字区域划分开,并且文字类和边界类具备共存关系(由于边界是文字的边界),因此引入边界类有助于进一步提高文字区域预测。 做者提出将文字检测的二分类问题(文字/非文字)转化为三分类问题(文字/非文字/边界),采用端到端训练避免学习和调整显式的后处理规则、分类器和其余参数,测试阶段直接从预测的几率图中得到文本候选区(边界有助于将每一个单独的文本区域与其余文本区域隔离开来)。设计
2 实验
做者创建了一个由PPT图像组成的文字检测数据集,该数据集包括10692幅PPT图像(77dpi,分辨率720*540,共93228个文字区),语言为英语和阿拉伯语。文中对边界类的定义为:假设原始文字区域的行高是ĥ,标记宽度为c∗ĥ的带状区域为文本边界(文中c取0.15)。下图是关于数据集的一些信息。
因为做者将文字检测问题重定义为分割问题,因此设计了一个轻量级的FCN网络来有效地学习文字边界从而实现文字检测。FCN的结构以下图所示(包括单分辨率和多分辨率):
为了验证方法的有效性,做者首先在本身创建的数据集上进行对比实验。将PPT数据集划分为训练集(0.9)、验证集(0.05)和测试集(0.05),数据扩增策略包括随机resize、随机颜色变换、随机旋转等等。训练得到单分辨率的baseline模型后直接将其植入多分辨率模型中继续训练至网络收敛。表2比较了Text-Block FCN和文中提出的FCN的效果,能够看出,文中提出的轻量级FCN在不引入边界类的状况下效果与Text-Block FCN至关,可是参数少得多(14.71M vs 0.27M)并且处理速度快。而引入了边界类以后,单分辨率的f值提高了27个点,而运行时间几乎没有增长;多分辨率的模型的f值更是达到了惊人的0.96。
从预测的几率map获得水平矩形bounding box的算法以下:
在公共数据集上的实验做者在ICDAR 2015和MSRA-TD 500数据集上进行实验,对每一个数据集进行微调,图像过大时缩小(维持宽高比),重复使用多分辨率baseline训练过程的全部设置。对标注进行修正:
实验结果:
可见,该方法不只在水平文字检测方面效果出色,并且对于倾斜文字的检测效果也达到了state of art水平。对于扭曲文字,该方法也有很好的效果。下面是一些图像上的检测结果,图中蓝色区域表示非文本区,红色表示文本区,绿色表示边界。
3 分析总结
该方法也有一些缺陷和不足,好比垂直文本错误划分、异形文字检测、光照强烈状况下的漏检状况等等,以下图所示:
总而言之,边界类的引入使得文字检测任务的后处理工做大大减小;边界和文字具备共存关系,能够利用边界来进一步提高文字检测的准确率;边界的形状与文字区域的轮廓紧密相关,能够用于文字区域的校订等工做。