Editing Text in the wild

Abstract

对自然图像中的文本进行编辑,其目的是在保持原始图像的真实感的同时,将源图像中的一个词替换或修改为另一个词。这项任务具有挑战性,因为背景和文本的样式都需要保留,以便编辑后的图像在视觉上与源图像难以区分。具体来说,我们提出了一个端到端可训练风格保持网络(SRNet),它由三个模块组成:文本转换模块、背景涂装模块、融合模块。

文本转换模块将源图像的文本内容更改为目标文本,同时保持原始文本样式。
背景inpainting模块擦除原始文本,并用适当的纹理填充文本区域。
融合模块将前两个模块的信息结合起来,生成经过编辑的文本图像。

据我们所知,这部作品是第一次尝试在文字层面上编辑自然图像中的文本。在合成数据集和真实数据集(ICDAR 2013)上的视觉效果和定量结果都充分证实了模块化分解的重要性和必要性。我们还进行了大量的实验,以验证我们的方法在各种现实应用中的有效性,如文本图像合成、增强现实(AR)翻译、信息隐藏等。

Introduction

本文主要研究一种与场景文本相关的新任务:场景文本编辑。给定一个文本图像,我们的目标是替换其中的文本实例,而不损害其逼真的外观。本文提出的场景文本编辑器通过编辑源图像中的每个单词,生成真实的文本图像,同时保留文本和背景的风格。在文本图像合成[33]、广告图片编辑、文本图像校正、增强现实等实际应用的推动下,场景文本的编辑越来越受到学术界和业界的关注。

如图1 (b)所示,场景文本编辑面临两大挑战:文本样式转换和背景纹理保留。特别是文本风格由语言、字体、颜色、方向、笔画大小、空间透视等多种因素构成,很难准确地捕捉源图像中完整的文本风格,并将其传递给目标文本。同时,编辑后的背景也很难保持一致性,尤其是在一些复杂的场景中出现文本时,如菜单、街道商店招牌等。此外,如果目标文本比原始文本短,则应删除字符的超出区域,并用适当的纹理填充。

SRNet的核心思想是将复杂的任务分解为几个简单的、模块化的、联合训练的子网络:文本转换模块、背景涂装模块和融合模块。

文本转换模块将源图像的文本样式转换为目标文本,包括字体、颜色、位置和比例。为了保持目标文本的语义,我们在TCM中引入了骨架导向的学习机制,其有效性在Exp. 4.4中得到了验证。

背景涂装模块(BIM)按照“U-Net”[23]的总体架构,采用自下而上的特征融合方式,将原有的文本笔画像素擦除,并用合适的纹理填充。

最后,融合模块自动学习如何有效融合前景信息和背景纹理信息,从而合成经过编辑的文本图像。

生成式对抗网络(Generative Adversarial Networks, GAN)模型[7,11,40]在一些任务中取得了很大的进展,如图像到图像的转换、风格转换等,这些方法通常采用的是解码器架构,将输入内容嵌入到子空间中,然后对其进行解码,生成所需的图像。

SRNet不采用单一的分支结构,而是将网络分解成模块化的子网络,将复杂的任务分解成几个易于学习的任务。此外,SRNet的实验结果优于pix2pix[11],这是一种用于图像到图像平移的成功方法,进一步证实了SRNet的有效性和鲁棒性。

本文的主要贡献是提出了用于编辑场景文本图像的风格保持网络(style retention network, SRNet)。SRNet在以下几个方面比现有的方法具有明显的优势:
(1)据我们所知,这项工作是第一个通过端到端可训练网络解决文字或文本级场景文本编辑的问题;
(2)我们将SRNet分解为几个简单的、模块化的、可学习的模块,包括文本转换模块、背景绘制模块和最终融合模块,这使得SRNet能够生成比大多数图像到图像转换GAN模型更真实的结果;
(3)在笔画骨架的指导下,该网络能够尽可能地保留语义信息;
(4)该方法在语言内文本图像编辑、AR翻译(跨语言)、信息隐藏等场景文本编辑任务中表现出了较好的性能(例如文字级的文本删除)等。

Related Work

2.1 GAN

近年来,GANs[7]在噪声生成图像[19]、图像到图像转换[11]、风格转换[40]、姿态转换[41]等方面得到了越来越多的关注和发展。gan的框架由两个模块组成:generator和discriminator, generator的目的是生成更接近真实分布的数据,而discriminator的目的是学习如何区分真实数据和虚假数据。

DCGAN[22]首先采用卷积神经网络(CNN)作为生成器和鉴别器的结构,提高了GAN的训练稳定性。
条件gan[19]在给定条件的约束下生成所需图像,在像素级对齐图像生成任务中取得了显著的效果。
Pix2pix[11]实现了从图像到图像的映射任务,能够学习输入域和输出域之间的映射关系。
Cycle-GAN[40]完成了未配对风格图像下的跨域转换任务,同时取得了良好的性能。

然而,现有的gan很难直接应用于文本编辑任务中,因为文本内容会发生变化,而文本的形状需要发生很大的变化,而且在编辑场景文本图像时还需要很好地保留复杂的背景纹理信息。

2.2 文本样式转移

在编辑之前和之后保持场景文本样式的一致性是极具挑战性的。有人尝试从给定的图像或样式文本示例中迁移或复制文本样式信息。

一些方法侧重于字符级风格转换,如Lyu等人[17]提出了一种自动编码器引导的GAN,从标准中合成具有指定风格的书法图像中国字体图像。
Sun et al.[29]使用VAE结构实现了一个程式化的汉字生成器。
Zhang等人[37]试图在笔画水平上学习汉字之间的风格转移能力。

其他的方法侧重于文本效果传输,它可以从任何给定的场景图像中学习视觉效果,在生成特效排版库等特定应用中带来巨大的商业价值。

Yang等[31,33]提出了一种基于patch的纹理合成算法,该算法可以将子图案映射到文本骨架的相应位置,生成图像块。值得注意的是,该方法基于统计信息分析,对字形差异比较敏感,计算量大。

最近,TET-GAN[32]使用GAN设计了一个轻量级框架,可以同时支持各种文本效果的风格化和去风格化。同时MC-GAN[2]使用两个子网络分别解决英文字母字形迁移和效果迁移,完成了少镜头字体样式迁移任务。

与这些现有的方法不同,本文提出的框架试图解决任意文本样式和特效的迁移问题,在一个词或文本行级别,而不是在字符级别。在实践中,词级注释比字级注释更容易获得,编辑单词比编辑字符更有效。此外,词级编辑喜欢词级布局的一致性。在处理不同长度的单词时,我们的词级编辑器可以自适应地调整前景字符的位置,而字符级方法则忽略。

2.3 文本删除和编辑

背景纹理需要与场景文本编辑前的纹理一致。还有一些文字擦除的相关作品,尝试在完成图像在相应位置上的补绘的同时,将场景的文字描边像素擦除。

Nakamura等人[21]提出了一种基于图像补丁的文本擦除框架,但由于基于滑动窗口的处理机制,造成了很大的计算成本。
EnsNet[35]首先将生成式对抗网络引入到文本擦除中,它可以端到端的擦除整个图像上的场景文本。在细化损失的帮助下,可视化结果看起来比pix2pix[11]更好。

我们的背景inpainting模块也受到生成式对抗网络的启发。在文本编辑的过程中,我们只关注文字层面的背景擦除,因此,SRNet中的背景inpainting模块可以设计得更轻量化,但仍然具有较好的擦除性能,如图8所示。

我们注意到最近的一篇论文[24]试图研究场景文本编辑的问题,但它只能在一个过程中转换单个字符的颜色和字体,而忽略了背景纹理的一致性。我们的方法综合了文本样式转换和文本删除方法的优点。我们提出了一种风格保留网络,它不仅能有效地传递文本风格(词或文本行级处理机制),还能保留或填充完整的背景区域,使场景文本编辑结果更加真实。

Methodology

我们提出了一个用于场景文本编辑的风格保持网络(SRNet)。

在训练过程中,SRNet以一对图像(Is,It)(I_s, I_t)(Is​,It​)作为输入,其中IsI_sIs​为源样式图像,ItI_tIt​为目标文本图像。输出((Tsk,Tt),Tb,Tf)((T_{sk},T_t),T_b,T_f)((Tsk​,Tt​),Tb​,Tf​),其中TskT_{sk}Tsk​是目标文本骨架,TtT_tTt​是与IsI_sIs​具有相同文本样式的前景图像。TbT_bTb​是IsI_sIs​的背景,TfT_fTf​是最终的目标文本图像。

为了有效地解决上文提到的两大挑战,我们将SRNet分解为三个简单的、可学习的子网络:1)文本转换模块,2)背景着色模块和3)融合模块,如图2所示。

具体来说,来自源图像IsI_sIs​的文本样式在框架引导学习机制的帮助下转移到目标文本,旨在保留文本语义(Sec 3.1)。同时,通过学习擦除或印涂任务来填充背景信息(Sec 3.2)。最后,通过文本融合网络将传输的目标图像与完成的背景进行融合,生成编辑后的图像(Sec 3.3)。

3.1 文本转换模块

我们将目标文本渲染为固定字体、背景像素值设置为127的标准图像,将渲染后的图像表示为目标文本图像ItI_tIt​。文本转换模块(图2中蓝色部分)以源图像IsI_sIs​和目标文本图像ItI_tIt​为输入,目的是从源图像IsI_sIs​提取前景样式并将其传输到目标文本图像ItI_tIt​。前景样式包含文本样式,包括字体、颜色、几何变形等等。因此,文本转换模块输出的图像OtO_tOt​具有目标文本的语义和源图像的文本样式。

本工作中采用了一个encoder-decoder FCN网络。编码时,源图像IsI_sIs​采用3个下采样卷积层和4个残差块[9]进行编码,输入文本图像ItI_tIt​也采用相同的结构进行编码,然后沿深度轴连接两个特征。

解码时,使用3个上采样转置卷积层和1个卷积-归一-LeakyReLU模块来生成输出OtO_tOt​
。此外,我们引入了骨架导向的学习机制来生成更健壮的文本。我们用GTG_TGT​表示文本转换模块,输出可以表示为:Ot=GT(It,Is)O_t = G_T(I_t,I_s)Ot​=GT​(It​,Is​)

骨架引导学习机制

不同于其他自然物,人类对不同文本的区分主要是根据文本的骨架或象形文字。在从源样式图像IsI_sIs​传输文本样式之后,有必要在ItI_tIt​中维护文本骨架。为了达到这个目的,我们引入了骨架引导的学习机制。

具体地说,我们添加一个由3个上采样层和1个卷积层组成的骨架响应块,再加上一个sigmoid激活函数来预测单通道骨架图,然后沿着深度轴将骨架热图和解码器输出连接起来。我们使用dice loss[18]代替交叉熵损失来衡量骨架响应图的重建质量,因为它被发现产生更准确的结果。数学上,骨架损耗定义为:
Lsk=1−2∑iN(Tsk)i(Osk)i∑iN(Tsk)i+∑iN(Osk)iL_{sk}=1-\frac{2\sum_{i}^{N}(T_{sk})_i(O_{sk})_i}{\sum_i^N(T_{sk})_i+\sum_i^N(O_{sk})_i}Lsk​=1−∑iN​(Tsk​)i​+∑iN​(Osk​)i​2∑iN​(Tsk​)i​(Osk​)i​​

其中,NNN是像素的数量;TskT_{sk}Tsk​是骨架的标签图;OskO_{sk}Osk​是骨架模块的输出图。

进一步地,我们采用L1L_1L1​ losslossloss来监督文本转换模块的输出。结合骨架损失,文本转换损失为:LT=∣∣Tt−Ot∣∣1+αLskL_T=||T_t-O_t||_1+\alpha L_{sk}LT​=∣∣Tt​−Ot​∣∣1​+αLsk​

3.2 背景涂装模块

这个模块中主要目标是通过一个词级的擦除任务来获取背景图像。该模块仅将源图像IsI_sIs​作为输入,输出背景图像ObO_bOb​,其中所有文本描边元素被擦除,并使用适当的纹理填充。

输入图像通过3个下采样卷积层进行编码,步长为2,之后使用4个残差模块,解码器通过3个上采样卷积层生成原始图像大小的输出图像。

我们在每一层之后使用leaky ReLU激活函数,在输出层则使用tanh函数。为了使视觉效果更加逼真,需要尽可能还原背景的纹理。

U-Net[23]提出了在镜像层之间增加跳过连接的方法,在解决目标分割和图像到图像的转换问题上具有显著的有效性和鲁棒性。这里我们在上采样过程中采用了这种机制,将之前相同大小的编码特征映射连接起来以保留更丰富的纹理,有助于恢复降采样过程中丢失的背景信息。

不同于其他全文图像擦除方法,我们的方法针对的是词级图像的inpainting任务。词级图像中出现的文本在尺寸上比较规范,因此我们的网络结构具有简单整洁的设计。受Zhang等人[35]的启发,加入对抗式学习以学习更真实的外观。

背景图像鉴别器DBD_BDB​的详细结构在3.4节中描述,背景涂装模块的整体损耗函数表达式为:

LB=E(Tb,Is)[logDB(Tb,Is)]+EIslog[1−DB(Ob,Is)]+β∣∣Tb−Ob∣∣1L_B = E_{(T_b, I_s)}[logD_B(T_b,I_s)]+E_{I_s}log[1-D_B(O_b,I_s)]+\beta ||T_b-O_b||_1LB​=E(Tb​,Is​)​[logDB​(Tb​,Is​)]+EIs​​log[1−DB​(Ob​,Is​)]+β∣∣Tb​−Ob​∣∣1​

其中TbT_bTb​是背景图像的真实区域,该公式由对抗损失和L1L_1L1​损失组成,实验中β\betaβ设为10。

融合模块

融合模块的设计是将目标文本图像与背景纹理信息和谐融合,从而合成经过编辑的场景文本图像。融合模型同样遵循编解码器FCN框架,将文本转换模块生成的前景图像输入编码器,编码器由3个降采样卷积层和残差块组成。

接下来,再通过一个带有3个上采样转置卷积层和卷积-归一-leaky ReLU块的解码器生成最终编辑的图像。值得注意的是,在融合解码器的上采样阶段,将背景涂装模块的解码特征图与相应的具有相同分辨率的特征图相连接。这样一来,融合图像输出的背景细节基本得到恢复;文本、对象和背景能够很好地融合在一起,实现外观上的综合真实感。

这里分别用GFG_FGF​和OfO_fOf​表示融合生成器和输出。此外,这里还加入了对抗损失,对应的鉴别器DFD_FDF​的详细结构将在3.4节中介绍。综上所述,我们可以将融合模块的优化目标制定为:

LF′=E(Tf,It)[logDF(Tf,It)]+EItlog[1−DF(Of,It)]+θ1∣∣Tf−Of∣∣1L_F^{'}=E_{(T_f,I_t)}[logD_F(T_f,I_t)]+E_{I_t}log[1-D_F(O_f,I_t)]+\theta_1||T_f-O_f||_1LF′​=E(Tf​,It​)​[logDF​(Tf​,It​)]+EIt​​log[1−DF​(Of​,It​)]+θ1​∣∣Tf​−Of​∣∣1​

其中TfT_fTf​是编辑后的场景图像的ground truth,我们选择了θ1=10\theta_1=10θ1​=10来平衡对抗损失和L1L_1L1​loss。

VGG-Loss

为了减少失真,使图像更加真实,我们在融合模块中引入了VGG-Loss,包括感知损失[13]和风格损失[6]。

知觉损失LperL_{per}Lper​用于惩罚那些感知上与标签不相似的结果,通过定义预训练网络激活图之间的距离度量。

同时,style loss LstyleL_{style}Lstyle​计算风格上的差异,而VGG-loss LvggL_{vgg}Lvgg​可以被表述为:

Lvgg=θ2Lper+θ3LstyleL_{vgg}=\theta_2 L_{per}+\theta_3 L_{style}Lvgg​=θ2​Lper​+θ3​Lstyle​Lper=E[∑i1Mi∥ϕi(Tf)−ϕi(Of)∥1]L_{per}=E[\sum_{i}\frac{1}{M_i}\left \| \phi _i(T_f)-\phi _i(O_f) \right \|_1]Lper​=E[i∑​Mi​1​∥ϕi​(Tf​)−ϕi​(Of​)∥1​]Lstyle=Ej[∥Gjϕ(Tf)−Gjϕ(Of)∥1]L_{style}=E_j[\left \| G_j^{\phi}(T_f)-G_j^{\phi}(O_f) \right \|_1]Lstyle​=Ej​[∥∥∥​Gjϕ​(Tf​)−Gjϕ​(Of​)∥∥∥​1​]

其中KaTeX parse error: Undefined control sequence: \fai at position 1: \̲f̲a̲i̲_i是VGG19模型的relu1_1,relu2_1,relu3_1,relu4_1和relu5_1层中得到的激活图;MiM_iMi​是第iii层得到的特征图的元素大小;GGG是格拉姆矩阵G(F)=FFT∈Rn×nG(F)=FF^T\in R^{n \times n}G(F)=FFT∈Rn×n;θ2\theta_2θ2​和θ3\theta_3θ3​分别设定为1和500;整个融合模型的损失函数设计为:
LF=Lf′+LvggL_F=L_f^{'}+L_{vgg}LF​=Lf′​+Lvgg​

3.4 鉴别器

SR-Net使用了两个与PatchGAN[11]结构相同的鉴别器,由5个卷积层组成,将尺寸缩小到原图的1/16。背景涂装模块的鉴别器DBD_BDB​将源图像IsI_sIs​与ObO_bOb​或TbT_bTb​作为输入来比较,确认擦除结果ObO_bOb​和目标获取的背景图像TbT_bTb​是否相似。而融合模块的鉴别器DFD_FDF​将目标图像ItI_tIt​与OfO_fOf​或TfT_fTf​作为输入,来确认最终输出OfO_fOf​与目标图像TfT_fTf​的一致性。

3.5 训练与推理

在训练阶段,对整个网络进行端到端训练,模型的整体损失为:
LG=argminGmaxDB,DF(LT+LB+LF)L_G=arg \underset{G}{min}\underset{D_B,D_F}{max}(L_T+L_B+L_F)LG​=argGmin​DB​,DF​max​(LT​+LB​+LF​)

按照GAN的训练流程,我们交替训练生成器和鉴别器。首先,合成除文本外风格相似的图像对作为训练数据,此外,通过文本笔画分割蒙版可以获得前景、文本骨架和背景图像。

生成器将It,IsI_t,I_sIt​,Is​作为输入,Tsk,Tt,Tb,TfT_{sk},T_t,T_b,T_fTsk​,Tt​,Tb​,Tf​作为监督,输出则是文本替换后的图像OtO_tOt​。对于对抗性训练,(Is,Ob)(I_s,O_b)(Is​,Ob​)和(Is,Tb)(I_s,T_b)(Is​,Tb​)输入给DBD_BDB​来保持背景一致性,(It,Of)(I_t,O_f)(It​,Of​)和(It,Tf)(I_t,T_f)(It​,Tf​)输入给DFD_FDF​来确保结果的准确性。

在推理阶段,给定标准文本图像和样式图像,生成器可以输出样式图像与编辑图像的擦除结果。对于整张图片,我们根据边界框标注裁剪出目标patch并将其输入到我们的网络中,然后将结果粘贴到原始位置,得到整幅图像的可视化结果。

Experiments

4.1 数据集

论文实验中使用的数据集如下:

合成数据

我们改进了文本合成技术,合成相同样式但不同的文本,核心想法是选取字体、颜色、变形采纳数来随机生成样式文本,然后渲染背景图像。同时,我们可以得到相应的背景、前景文本和文本骨架作为ground truth。

在实验中,我们将文本图像的高度调整为64,并保持相同的宽高比,训练集由50000张图像组成,测试集由500张图像组成。

实际数据集

ICDAR 2013数据集专注于自然场景中水平英语文本的检测与识别,包含229张训练图片和233张测试图片。每个图像中的文本都有一个详细的标签,所有文本由水平矩形标注。

每个图像都有一个或多个文本框,我们根据包围框范围裁剪文本区域,并将裁剪后的图像输入到我们的网络,然后将结果粘贴回它们原来的位置。注意,我们只在合成数据上训练我们的模型,所有真实世界的数据仅用于测试。

4.2 实施细节

网络结构基于pix2pix[11]实现,采用Adam[15]优化器对模型进行训练,β1=0.5,β2=0.999\beta_1=0.5,\beta_2=0.999β1​=0.5,β2​=0.999,直到训练阶段输出趋于稳定。

学习率最初设定为2×10−42\times10^{-4}2×10−4,迭代30代后逐渐衰减到2×10−62\times10^{-6}2×10−6。选取α=θ2=1,β=θ1=10,θ3=500\alpha=\theta_2=1,\beta=\theta_1=10,\theta_3=500α=θ2​=1,β=θ1​=10,θ3​=500来使得反向传播中各部分的损失梯度正则化接近。

将光谱归一化应用于生成器和鉴别器,只在生成器应用批处理归一化。

批处理大小设置为8,输入图像被调整为w×64w\times 64w×64,纵横比不变。训练时,随机获取批处理数据,并将图像宽度调整为平均宽度,在测试时,可以输入可变宽度的图像来获得预期的结果。

该模型在单个NVIDIA TITAN Xp图像卡上训练需要约8小时。

评价标准

我们采用图像生成中常用的度量标准来评价SR-Net,包括(1)MSE,也称为l2l_2l2​ errorerrorerror;(2)PSNR,计算峰值信噪比;(3)SSIM[30],计算两幅图像之间的平均结构相似度指数。

l2l_2l2​ errorerrorerror越低,SSIM和PSNR越高,意味着结果与ground truth更接近。

实验中只对合成测试数据计算上面的度量指数,因为真实数据集没有配对的数据。在实际数据上计算识别精度,以评价生成结果的质量。由于网络输入是裁剪后的图像,只计算裁剪后区域的度量。

此外,在真实数据集中还使用了视觉评价,定性地比较了各种方法的性能。

实验中采用的文本识别模型是一个基于注意力机制的文本识别器[27],其主干部分被替换为一个类似VGG的模型,在Jaderberg-8M合成数据[12]和[ICDAR2013训练集上训练,通过随机旋转与X轴随机调整进行数据增强。

每个文本编辑模型基于ICDAR2013测试集渲染1000个单词图片分别作为训练集。识别精度定义为Equ.11Equ.11Equ.11,其中yyy指的是第nnn个样本的ground truth,y′y'y′指的是其相应的预测结果;NNN指的是整个训练集的样本数量。

seqacc=∑n∈Ntest(I(y==y′))Ntestseq\, acc=\frac{\sum _{n\in N_{test}}(I(y==y'))}{N_{test}}seqacc=Ntest​∑n∈Ntest​​(I(y==y′))​

4.4 消融实验

在本节中,我们研究了所提出的网络的各个组成部分的影响,并得到了定性和定量的结果。图5显示了不同设置的结果,如:删除骨架引导模块,不需要分解策略,删除vgg loss LvggL_{vgg}Lvgg​(感知损失和风格损失)。

骨架引导模块

去除骨架模块后,由于训练时缺少文本骨架的监督信息,传递后的文本结构容易产生局部弯曲甚至断裂,容易影响生成的图像质量。全模块方法较好地维护了迁移文本的结构,并能正确地学习原始文本的变形。

从表1可以看出,在所有指标上,结果都不如完整模型,尤其是SSIM出现了明显的下降。这表明骨架导向模块对整体结构有积极的影响。

分解背景与前景的优势

我们工作的一个主要贡献是将前台文本和背景分解为不同的模块。我们还对不从背景分解前景文本的模型进行了实验。

简而言之,我们去掉了背景inpainting分支,使得前景文本特征和背景特征同时由前景模块处理。从图5可以看出,结果并不令人满意。合成图像中仍然保留着原始文本,文本和背景非常模糊。由表1可以看出,不分解的指标一般是最差的,这验证了分解机制有助于学习清晰的笔画,降低学习复杂度。

VGG Loss的讨论

从图5的这些例子可以看出,如果没有VGG损失,结果看起来不现实。在这种设置中,我们可以发现一些细节,如同一个单词的字符有不同的比例,文本的结构没有很好地保持等。所有指标的结果都比完整模型差,这也说明了该组件的重要性。

与之前的工作对比

之前没有针对单词级文本编辑任务的工作,所以选用pixel2pixel[11]网络,它可以完成图像转换工作,与我们的方法进行比较。为了使pix2pix网络实现多样式转换,我们将样式图像与目标文本进行深度连接,作为网络的输入,两种方法在训练时保持相同的配置。

从图6可以看出,我们的方法
(1)正确地完成了前景文本的传输和背景纹理的保留;
(2)编辑文本的结构是有规则的;
(3)字体与之前一致,背景纹理更加合理,整体效果与真实图片相似。
与pix2pix的定量比较见表1。这表明我们的方法在所有指标上都优于pix2pix方法。

跨语言编辑

在本节中,我们进行了一个跨语言文本编辑任务的实验,以检验我们的模型的泛化能力。该应用可用于视觉翻译和AR翻译,以提高视觉体验。考虑到拉丁字体和非拉丁字体的关系没有很好的映射,为了方便,我们只完成英文到中文的翻译任务。

在训练阶段,我们采用与第4.1节相同的文本图像合成方法,生成大量的训练数据。值得注意的是,我们将所有的英语字体映射到几个共同的字体,从大小、粗细、倾斜度等方面分析汉字字体的笔画相似度。

我们在ICDAR2013测试集上对其进行评估,并使用翻译结果作为输入文本来检验我们的模型的泛化性。

文本信息隐藏

提取背景信息的子任务也可以输出擦除后的图像。与两种文本擦除方法[21,35]不同的是,在很多情况下,不需要整个图像去删除所有的文本,擦掉图像中的部分文本更实用。我们的目标是字级的文本擦除,它可以在需要擦除的图片中自由选择文本区域。

如图8所示的擦除示例,我们可以看到原始文本的位置被适当的纹理填充。表2为删除后图像的检测结果。由于我们方法的特殊性,我们将裁剪后的图像擦除粘贴回来,与其他方法进行比较。

失败案例

虽然我们的方法可以适用于大多数场景图像,但仍然存在一些局限性。我们的方法可能会失败,当文本具有非常复杂的结构或罕见的字体形状时,会出现问题。

图9显示了我们方法的一些失败案例。在顶部一行,虽然前景文本已经成功转移,但可以发现原始文本的阴影仍然保留在输出图像中。在图像的中间行,我们的模型无法提取空间结构如此复杂的文本的风格,背景擦除的结果也是次优的。在图像的底部,文本周围的边界不会随文本一起转移。

我们将这些失败案例归因于这些样本在训练数据中的不足,所以我们假设可以通过增加训练集的字体效果来缓解。

结论与未来工作

本文提出了一种端到端的文本编辑任务网络,该网络可以在保持原有风格的同时替换场景文本图像中的文本。实现该功能主要分为三个步骤:
(1)提取前景文本样式,借助骨架将其转换为输入文本;
(2)将具有适当纹理的样式图像擦除,得到背景图像;
(3)将转移的文本与删除的背景合并。

据我们所知,本文是第一个在文字层面上对文本图像进行编辑的作品。该方法在ICDAR13数据集上的主观视觉真实度和客观定量评分均取得了显著的效果。同时,网络还具有跨语言情况下的文本删除和编辑功能,通过对跨语言情况下文本删除和编辑的全面研究,验证了网络的有效性。

在未来,我们希望解决更复杂的场景下的文本编辑,同时使模型更容易使用。我们将编辑更多语言对之间的文本,以充分利用提出的模型的能力。我们将尝试提出新的评价指标来正确评价文本编辑的质量。

《Editing Text in the wild》学习笔记相关推荐

  1. 第二行代码学习笔记——第六章:数据储存全方案——详解持久化技术

    本章要点 任何一个应用程序,总是不停的和数据打交道. 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因导致内存被回收而丢失的数据. 数据持久化技术,为了解决关键性数据的丢失. 6.1 持久化技 ...

  2. 第一行代码学习笔记第二章——探究活动

    知识点目录 2.1 活动是什么 2.2 活动的基本用法 2.2.1 手动创建活动 2.2.2 创建和加载布局 2.2.3 在AndroidManifest文件中注册 2.2.4 在活动中使用Toast ...

  3. 第一行代码学习笔记第八章——运用手机多媒体

    知识点目录 8.1 将程序运行到手机上 8.2 使用通知 * 8.2.1 通知的基本使用 * 8.2.2 通知的进阶技巧 * 8.2.3 通知的高级功能 8.3 调用摄像头和相册 * 8.3.1 调用 ...

  4. 第一行代码学习笔记第六章——详解持久化技术

    知识点目录 6.1 持久化技术简介 6.2 文件存储 * 6.2.1 将数据存储到文件中 * 6.2.2 从文件中读取数据 6.3 SharedPreferences存储 * 6.3.1 将数据存储到 ...

  5. 第一行代码学习笔记第三章——UI开发的点点滴滴

    知识点目录 3.1 如何编写程序界面 3.2 常用控件的使用方法 * 3.2.1 TextView * 3.2.2 Button * 3.2.3 EditText * 3.2.4 ImageView ...

  6. 第一行代码学习笔记第十章——探究服务

    知识点目录 10.1 服务是什么 10.2 Android多线程编程 * 10.2.1 线程的基本用法 * 10.2.2 在子线程中更新UI * 10.2.3 解析异步消息处理机制 * 10.2.4 ...

  7. 第一行代码学习笔记第七章——探究内容提供器

    知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...

  8. 第一行代码学习笔记第五章——详解广播机制

    知识点目录 5.1 广播机制 5.2 接收系统广播 * 5.2.1 动态注册监听网络变化 * 5.2.2 静态注册实现开机广播 5.3 发送自定义广播 * 5.3.1 发送标准广播 * 5.3.2 发 ...

  9. 第一行代码学习笔记第九章——使用网络技术

    知识点目录 9.1 WebView的用法 9.2 使用HTTP协议访问网络 * 9.2.1 使用HttpURLConnection * 9.2.2 使用OkHttp 9.3 解析XML格式数据 * 9 ...

  10. 安卓教程----第一行代码学习笔记

    安卓概述 系统架构 Linux内核层,还包括各种底层驱动,如相机驱动.电源驱动等 系统运行库层,包含一些c/c++的库,如浏览器内核webkit.SQLlite.3D绘图openGL.用于java运行 ...

最新文章

  1. 用Python来分析5天破10亿的哪吒,为啥这么火?
  2. html工具类,一些小工具
  3. 吴恩达:企业如何实现人工智能转型?
  4. idea配置jfinal_intellij idea安装与配置(Java开发配置篇)
  5. search Paths $(SRCROOT)和$(PROJECT_DIR)区别
  6. oracle分页查询数据(收藏)
  7. .NET6使用DOCFX根据注释自动生成开发文档
  8. java职业教育考试题_Java认证考试中Java构造方法题目解答
  9. java 获取ip地址_老杜带你学Java【第二课】
  10. docker添加新的环境变量_Docker环境变量
  11. swagger的使用方式
  12. java大文件排序_java对大文件进行归并排序(利用胜者树)
  13. java 错误声音播放器_JavaME 声音播放器的使用
  14. Asp.NET Excel导入数据返回JSON字符
  15. word中插入的图片会覆盖文字
  16. 使用动态规划弹性扩容机器。使用拉链法O(N)求所有集合
  17. NAS:Windows10 连 Nas 映射网络驱动器,开机时显示红叉解决方法
  18. Google创始人佩奇和布林简介
  19. OneNote键盘流-个人整理的一些快捷键
  20. 项目后台管理系统小结

热门文章

  1. 华为k662c的虚拟服务器,华为k662c光猫怎么样? 华为K662c拆机技巧
  2. 李宏毅老师《机器学习》课程笔记-3卷积神经网络
  3. github nginx实战_GitHub - Lovening/MyNginx: Nginx实战
  4. 新手如何利用电脑本地环境搭建网站(超详细)
  5. 阿里巴巴矢量图的使用方法详细教程
  6. Severance:BoD[官方英文版][资源收集分享]
  7. yolov5笔记(2)——训练自己的数据模型(随6.0更新)
  8. 100天精通Andriod逆向——第3天:真机环境配置
  9. 基于皮肤分割的磨皮算法
  10. FPGA 中的有符号数乘法