SynthText:用于文本定位的自然场景文本合成

SynthText

论文地址:Synthetic Data for Text Localisation in Natural Images

image.png

本文介绍了一种新的自然图像文本检测方法。该方法主要包括两个方面:首先,一个用于生成文本合成图片(synthetic images of text)的引擎。该引擎结合局部的三维场景几何形状,将合成文本以自然的方式叠加到现有的背景图像上。然后利用图像图像训练一个全卷积回归网络(FCRN),在图像的任意位置多尺度地执行文本检测和边框回归。

在这里我们仅关注其生成合成图像的部分,过程如下:

  1. 选择合适的文本和图像样本,根据图像局部的颜色和纹理将图像分割成连续的区域,并使用CNN进行像素级的映射;
  2. 对于每一个连续的区域,建立一个表面法线(surface normal)
  3. 根据区域的颜色来选择文本及其轮廓的颜色;
  4. 使用随机字体渲染文本样本,并根据局部表层方向进行转换;使用泊松图像编辑(Poisson image editing)将文本混合到场景中。

该生成一个场景文本图像大约需要半秒钟。项目作者建立了一个80w张生成图像的数据库:http://www.robots.ox.ac.uk/~vgg/data/scenetext/

image.png

1 Text and Image Sources

文本数据来源于Newsgroup20数据集,使用了三种提取方式:单词、句子(最多3行)和段落(最多7行)。该数据集中包含了丰富的英文语料。

为了增加多样性,作者从谷歌图像搜索中提取了8000幅背景图像。通过查询不同的物体/场景、室内/室外和自然/人造场所,这些图片自身不能包含文本。因此,搜索的时候会尽量避免携带大量文本的关键词,比如“路牌”、“菜单”等。包含文本的图像会在人工检查后丢弃。

2 Segmentation and Geometry Estimation

在真实场景中,文本往往包含在明确定义的区域中(比如一个指示牌)。本文提出的方法将文本约束在统一颜色和纹理的区域,可以防止文本跨越强图像不连续点。将gPb-UCM轮廓分层的阈值设定在0.11,通过图切割(graph-cut)获得区域。下图显示了对图像颜色和纹理敏感(左图)和直接将文本置于图像(右图)的区别。

image.png

在自然图像中,文本往往在物体表层的顶部(例如一个路牌或一个杯子)。为了使合成数据中也有类似的效果,作者根据局部表面法线对文本进行了详细的变换:

  1. 首先通过特定的CNN对上面分割的区域预测一个深度图,然后使用RANSAC拟合一个平面来自动估算出一条法线;
  2. 利用估算出的平面法线将图像区域轮廓弯曲成平行面视图,将矩形拟合到额平行(fronto-parallel)区域
  3. 文本与矩形的宽对齐。当在同一区域放置多个文本实例时,检查文本mask是否相互冲突,避免叠加。

并不是所有的分割区域都适合放置文本,比如区域太小、极端高宽比、或表面法向正交于视角方向的区域,这些区域都在这个阶段被过滤。此外,纹理过多的区域也被过滤,其中纹理的复杂度是由RGB图像的三阶导数的强度来衡量的。

3 Text Rendering and Image Composition

确定了文本的位置和方向之后,下一步是给文本上色。文本的调色板是从 IIIT5K单词数据集裁剪的单词图像中学习的。使用K-means将裁剪后的词图像的像素分割成两个集合,分别为前景(文本)和背景。在渲染新文本时,背景颜色选择与目标图像区域最匹配的颜色对(在Lab颜色空间中使用L2-norm),并使用相应的前景色渲染文本。

随机选择大约20%的文本实例加上边框,边框颜色与前景颜色接近,或者被设为前景和背景颜色的平均值。

为了保持合成文本图像中的光照梯度(illumination gradient),使用Poisson图像编辑将文本混合到基础图像上。

顺带再提两个比较新的文本合项目:UnrealText和SynthText3D。

SynthText3D

论文地址:SynthText3D: Synthesizing Scene Text Images from 3D Virtual Worlds

image.png

本文提出从三维虚拟世界中合成场景文本图像,该方法提供了精确的场景描述、可编辑的亮度/能见度和真实的物理现象。与之前的方法不同的是,该方法可以将三维虚拟场景和文本实例作为一个整体进行渲染。该方法合成场景文本图像中能够呈现真实世界的变化,包括复杂的透视变换、光照、遮挡。此外,通过对虚拟摄像机进行随机移动和旋转,可以对同一个文本生成不同视点的实例。

UnrealText

论文地址:UnrealText: Synthesizing Realistic Scene Text Images from the Unreal World

image.png

UnrealText同样是通过三维图形引擎生成逼近真实的图像。

image.png

-------------本文结束感谢您的阅读-------------