论文笔记-Synthetic Data for Text Localisation in Natural Images

来源:互联网 发布:逆光源网络剧第2集 编辑:程序博客网 时间:2024/05/18 03:30

训练一个CNN模型,需要大量的标注数据,如图像分类,因为有 ImageNet 这样级别的数据才能完成训练。
而诸如 ICDAR 这类数据集,其训练数据量很小,统计如下: 

这样小的样本集,不仅不能训练 CNN,也不合适用来代表文字在自然场景下的所有变化情况:字体、颜色、大小、位置。因此,如果能够自然的人工合成标注数据,那么我们便可以得到大量的自然场景文本标注数据。

摘要

论文提出的理论由两个贡献组成:
1.生成带有文本的合成图片(synthText)
2.使用合成图片去训练Fully-Convolutional RegressionNetwork (FCRN) 对图片进行文本检测并在所有位置进行多尺度bounding-box回归。
论文讨论了FCRN和YOLO以及其他基于深度学习的End to end的物体检测算法之间的关系。
最终的检测网络在自然场景文本检测上比现有的方法都要好,在ICDAR 2013上取得了84.2%的F-measure,并且可以在一个GPU上一秒处理15张图片。

1.简介

两个关键的贡献点:
提出了一种用于生成文本合成图像的新方法,将文本和现有自然场景自然的融合在一起。使深度学习和分割技术将文本与背景图像的几何结构对齐,并且遵守场景边界。
提出了一个准确高效的文本检测深度架构。称之为全卷积回归网络,类似于图像分割的全卷积网络(FCN),在图像的每个位置进行密集预测。但是不同于FCN的是,预测的不仅仅是一个类别标签(文本or非文本),还有包围词的边界框的参数。这个灵感来自于You Look Only Once (YOLO),但是使用了卷积回归显著提升了表现。
同时证明了数据集中真实性的重要性:使用没有进行场景布局的单词插入合成的图像训练检测器,检测器表现将显着降低。

1.1相关工作

  • 使用CNN进行目标检测
  • Synthetic Data
  • 增强单张图片

2.合成文本in the Wild



我们的合成引擎有三个优点(1)真实。(2)全自动。(3)快速。
整个文本生成的流程总结如下(如图3):
1.选取合适的文本和图片。
2.基于局部颜色和纹理分割图像为连续的区域,使用CNN获取密集的像素级的深度图。
3.对每个连续区域估计局部表面法向量。
4.文本颜色选择,基于区域颜色。(可选)
5.文本样本使用随机选择的字体渲染,并根据局部表面方向进行变换。使用泊松图像编辑将文本渲染到场景中。 我们的引擎需要大约半秒钟才能生成一个新的场景文本图像。

2.1文本和图像资源

2.2分割和几何估计

真实图片中,文本倾向于约束在一个特定的区域内。我们约束文本在一致的颜色和纹理区域内。通过限制gPb-UCM轮廓层级到0.11来获得区域。

自然场景中的文字一般都是在背景图像的表面上的。为了得到相同的效果,文字要根据 local surface normal 去放置文本,具体为:先通过 Deep convolutional neural fields for depth estimation from a single image 提出的 CNN 模型,获取像素级别的深度图像。再用 RANSAC 去拟合出垂直于法向量的平面。然后就可以将文本安置在平面上,这样文本就较为自然的融入背景图像中了。

过程如下:

(1)首先,使用估计出的平面法线(estimated plane normal),将图像区域轮廓弯曲成 frontal-parallel view,形成一个 fronto-parallel region。

(2)然后,用一个矩形去拟合这个 fronto-parallel region。

(3)最后,文本与上面矩形的较大边(width)对齐。

2.3.文本渲染和图像组合

一旦需要被嵌入的文本的位置、方向定下来之后,就需要将文本赋予一种颜色。怎么赋予颜色,本文是从IIIT5K Word Dataset中裁剪下来的文字图像中学习得到的。每一张裁剪的文字图像中的像素,用 K-means 将其分为两个集合,形成一个颜色对,一个集合是文字的颜色,一个集合是背景的颜色。每当要去渲染要嵌入的文字的颜色时,与当前背景颜色最接近的文本颜色,即是我们需要渲染的颜色。思想很简单,最后用Lab colour space中用 L2-norm 来度量颜色的相似度。
在渲染中,大约 20% 的文本需要加边框,边框的颜色选择,要么与前景的颜色相同,只不过颜色值增加了,或者减小了;要么选择前景背景颜色的均值。
为了保证人造数据的 illumination gradient,我们在文本上使用Poisson 图像处理 ,代码文本使用了 Raskar 的实现:Fast Poisson Image Editing Code。

3.快速文本检测网络

本节介绍一个自然场景文本检测的CNN框架。现有的文本检测流水线组合了几个专门的步骤,速度较慢,我们提出了一种高精度、快速、可端对端训练的检测器。
用 x 代表一张图像。最常见的基于 CNN 的检测方法就是先提出一些图像区域R,这些区域可能包含有待检测的目标,用一个 CNN 模型 c=ϕ(cropR(x))∈{0,1},来评判区域是不是待检测的目标。这种方法就是有名的R-CNN,效果不错,但因为每张图像都要评判数以千计次,速度很慢。(所以针对这些重复计算,作者提出了 Fast R-CNN 以及后续的 Faster R-CNN,这是后话。
一个更快的检测方法,构建一个固定域的 predictors (c,p)=ϕuv(x),其中每一个专门用于在特定图像位置 (u,v)周围预测一个object的c∈ℝ,以及pose:p=(x−u,y−v,w,h)。这里的 pose parameter 有两个:(x,y)、(w,h)。 (x,y) 代表了 bounding box 的 location,(w,h) 代表了 bounding box 的大小。每一个predictor ϕuv 都在预测期位置的(x,y)∈Bρ(u,v)球形范围内预测目标。 
上面的构造听起来很抽象,但以Implicit Shape Model ( ISM ),以及Hough voting的实现为例,就很平常了。

3.1. 架构

单尺度特征

分类和包围盒预测

(未完结)







阅读全文
0 0
原创粉丝点击