[ICCV-2019] Controllable Artistic Text Style Transfer via Shape-Matching GAN 基于形状匹配生成对抗网络的可控艺术文本风格迁移

  • 1. 概述
    • 1.1 背景
    • 1.2 目标
    • 1.3 挑战
  • 2. 方法
    • 2.1 反向结构迁移
    • 2.2 正向风格迁移
  • 3. 实验
    • 3.1 对比实验
      • 3.1.1 艺术文本风格迁移
      • 3.1.2 尺度可控的风格迁移
    • 3.2 消融实验
  • 4. 应用
  • 5. 总结

论文链接:https://arxiv.org/abs/1905.01354v1
代码链接:https://github.com/VITA-Group/ShapeMatchingGAN

1. 概述

1.1 背景

  • 艺术文本风格迁移是指将风格从源图像迁移到目标文本,目的是将文本以参考图像所指定的风格呈现出来。根据参考图像的不同,文本可以通过类比现有的精心设计的文本效果,或者通过模仿更一般的自由风格图像的视觉特征来进行风格化。

  • 以一般的风格图像作为参考,由于文本与自然图像有明显的区别,并且比自然图像更有结构化,因此在文本的风格化过程中应更多地注意其笔画形状。同时,需要保持字形的易读性,以便风格化的文本仍然是可识别的。这种微妙的平衡是主观的,很难自动达到。

1.2 目标

本文的目标是实时调整文字在形状变形方面的风格程度。它允许用户浏览不同形式的渲染文本,并选择最想要的一种。以火焰字为例,要使火焰在文字上燃烧起来,文字边缘势必要进行形状的调整,但过多的调整又会损害文字的可读性。所以,需要在文字的艺术性和可识别性上进行折衷。

1.3 挑战

要想实现艺术文本风格快速且可控地迁移,存在两方面的挑战:

  • 不存在包含源文本图像和不同程度风格化的相应结果的大规模成对训练集。通常,对于某种风格,只有一个参考图像可用;

  • 如何训练一个网络来快速处理不同的变形程度。


2. 方法

本文提出了Shape-Matching GAN。Shape-Matching GAN 的首要目的是学会文字的变形,不同于纹理尺度等可以用超参描述的特征,文字变形难以定义与建模,同时也没有对应的数据集支撑。为了解决这个问题,本文提出了一种双向形状匹配策略,通过向后和向前传输来建立源风格和目标字形之间的形状映射。整体分为两个阶段:

  • 反向结构迁移:提取风格图像的结构,反向将文字的形状风格迁移到结构图上,获得简化的结构图

  • 正向风格迁移:正向学习上述过程的逆过程,即学习将简化的结构映射到原始结构再进一步映射回风格图像

这样网络就学会了为文字边缘增添风格图像的形状特征和渲染纹理。

2.1 反向结构迁移

反向结构迁移的目的是生成风格图像的结构图与简化结构图,与风格图像构成成对的训练集。

针对第一个挑战,风格图像只有一张的问题,本文采用随机裁剪的方式,将风格图像、结构图和简化结构图,裁剪成大量的子图像,从而获得足够的训练数据。

为了将文字的形状特征迁移到风格图像的结构图上,本文提出了Sketch Module。它包含一个模糊模块和一个去模糊模块。


模糊模块使用高斯滤波模糊图像边缘,将文字图和结构图映射到同一个模糊领域,然后通过在文字图上训练去模糊模块恢复文字简洁的边缘,让网络在测试时能简化结构图的边缘。

2.2 正向风格迁移

正向结构迁移包括结构迁移和纹理迁移。


在结构迁移任务中,训练网络 G G GS 将不同简化程度的结构图映射回原始的结构图。这是一个多对一的映射问题,网络可能会仅仅记住输出的结果,而忽略输入的不同。

为了应对这个问题,本文提出了一个尺度可控的模块——Controllable ResBlock,从而解决第二个挑战,也就是快速处理不同的变形程度。

针对第二个挑战,为了学习不同的文字变形程度,对应的也需要生成不同简化程度的简化结构图。本文的解决方案是使用文字形变程度控制高斯滤波的核函数的标准差。 l l l 越大,边缘模糊程度越高,对应结构图简化程度也越高,反过来学到的文字变形程度也越大。


Controllable ResBlock 由两个 ResBlock 以 l l l 为权重线性加权组合得到。当 l l l = 0 或 1 时,其退化为单个 ResBlock,分别学习最大和最小的变形程度。而当 l l l 在 0 至 1 之间时,网络学会在两个极端下折衷。

最后,再训练一个网络 G G GT 将结构图映射为风格图,从而学会为文字增添纹理。


3. 实验

3.1 对比实验

3.1.1 艺术文本风格迁移

本文的第一个对比实验是与已有的风格迁移方法进行了定性比较。用来对比的有五种方法:Image Analogy、NST、Doodle、T-Effect、和UT-Effect,它们使用单一风格图像及其结构映射来迁移风格。结果如图所示:

  • Image Analogy 和T-Effect 直接将纹理补丁复制到文本区域,产生刚性和不自然的轮廓。

  • NST 和Doodle 是基于深度学习的方法,其中风格的形状特征由深度特征隐式表示。因此,这些方法可以修改字形轮廓,但通常会导致无法识别的文本。在纹理方面,它们受到颜色偏差和棋盘伪影的影响。

  • UT-Effect 在patch级别显式地将字形与风格匹配,但图像patch并不总是强大的。例如,在枫叶风格中,叶子形状没有完全迁移到垂直笔划上。此外,由于patch混合过程,纹理细节会丢失。

  • 与其他五种方法相比,本文的方法能够生成更自然的边缘和细节丰富的纹理。

为了定量评估比较方法的性能,作者在Amazon Mechanical Turk平台上进行了一项用户研究,在这个平台上,观察者获得了图像对,并要求在保持易读性的同时选择与参考风格图像具有最佳风格相似性的一个。实验总共使用了18种风格,每一种风格的15对图像被10个观察者评分,获得2700个选择结果。在主观打分上,Shape-Matching GAN 获得了0.802的用户倾向均值,而Image Analogy、NST、Doodle、T-Effect 和UT-Effect则分别为0.513、0.376、0.537、0.230、0.542。该用户研究也验证了本文方法的优越性。

3.1.2 尺度可控的风格迁移

本文的第二个对比实验是与其他尺度可控的风格迁移方法进行了定性比较。用来对比的有两种方法:SC-NST 和UT-Effect。结果如图所示:


第一列从上到下依次为:目标文本、风格图像、风格图像上放大的patch(右)及其对应的结构图(左)。其余列:(a)是SC-NST的结果,stroke size从256均匀增加到768;(b)是UT-Effect的结果,分辨率从1均匀增加到7;(c)是本文的方法, l l l 从0均匀增加到1。 对于UT-Effect 和本文的方法,有一个红色的方框区域在底部放大显示,并提供了相应的结构图,以便进行更好的视觉对比。

  • SC-NST 可以调整纹理大小,但在控制字形变形方面是无效的。

  • UT-Effect 在多分辨率下匹配边界patch进行结构迁移。但它存在几个缺点:首先,基于贪心的patch匹配不能全局一致地对字形进行风格化;其次,patch混合过程不可避免地消除了很多形状细节;第三,不支持连续转换。

  • 本文的方法实现了细节的连续变换,呈现了树叶越变越茂盛的平稳生长过程。

3.2 消融实验

不同网络配置


第一列从上到下依次为:目标文本、风格图像、未使用纹理网络和使用纹理网络的结果中放大的patch。(a)–(c)分别为 l l l = 0.0、0.5、1.0的结果。

  • baseline:只包含一个经过训练的纹理网络,它得到的文本轮廓是刚性的,与参考风格的形状一致性较差;

  • w/o CR:包含一个简单的字形网络和一个纹理网络,这个字形网络是由 l l l 通过常用的标签连接来控制的,而不是使用Controllable ResRlock;

  • w/o TN:只包含一个单一的字形网络,没有纹理网络;

  • full model:同时包含字形网络和纹理网络。

Sketch Module


Sketch Module旨在将文本的形状特征迁移到风格图像,以提供源和目标域之间的稳健映射。为了检验Sketch Module的效果,本文将 G G GB中的转换块(Transformation Block)替换为一个简单的 sigmoid层,由此产生的简单的Sketch Module仍然能够简化形状,但不能与字形匹配。如果没有稳健的映射,则风格化文本的形状无法正确调整,并且与输入文本一样僵硬,如图(c)所示。相比之下,本文的完整模型成功合成了图(d)中的圆形h型气球。

字形易读性损失


当将一缕飘烟以高变形度 l l l = 0.75迁移到一个汉字上时,该汉字的笔画表现出形状不规则、粗细不均、甚至断裂的现象,如图(c),虽然风格很相似,但这个字符难以辨认。通过设置 λ λ λSgly = 1,字形易读性损失有效地保留了笔画的主干,同时允许笔画的轮廓有很大的变形自由度,从而达到易读性和艺术性的平衡。


4. 应用

  • 动态排版设计


  • 结构和纹理的解缠使我们能够结合不同的风格来创建一些全新的文本风格。例如将枫叶、水和烟的纹理分别应用到具有枫叶形状特征的文本中。

  • 由于没有使用专门为文本定制的步骤,本文的方法可以很容易地扩展到更一般的形状上(如符号和图标)的风格迁移。图中展示了一个从用户提供的图标合成枫叶翅膀的例子。


5. 总结

  • 提出了一种新颖的双向形状匹配框架,可以在各种变形级别上建立有效的字形风格映射。

  • 开发了一个 Sketch Module 来匹配从风格到字形的形状,它将单个风格图像转换为不同比例的配对训练数据,从而能够学习稳健的字形风格映射。

  • 提出 Shape-Matching GAN 来迁移文本风格,并设计了一个可控的模块,使单个网络能够持续表征风格图像的多尺度形状特征,旨在允许以连续参数作为用户输入来调整字形的风格程度,并实时生成多样化的艺术文本。

学习笔记:Controllable Artistic Text Style Transfer via Shape-Matching GAN 基于形状匹配生成对抗网络的可控艺术文本风格迁移相关推荐

  1. 李宏毅nlp学习笔记06:Text Style Transfer

    1.Text Style Transfer 可以把消极的消息变成积极的消息: 进行的应该是无监督的学习. 以把消极的句子转为积极的句子为例. G:模型是消极的模型转化为积极的模型 D:则应该能够判断转 ...

  2. 深度学习 | GAN,什么是生成对抗网络

    文章目录 GAN学习笔记 前言 1. GAN原理 2. GAN实例 3. DCGAN原理 4. DCGAN实例 5. WGAN原理 GAN学习笔记 前言 2014年,arXiv上面刊载了一篇关于生成对 ...

  3. 深度学习框架PyTorch入门与实践:第七章 AI插画师:生成对抗网络

    生成对抗网络(Generative Adversarial Net,GAN)是近年来深度学习中一个十分热门的方向,卷积网络之父.深度学习元老级人物LeCun Yan就曾说过"GAN is t ...

  4. 李宏毅DLHLP.21.Text Style Transfer

    文章目录 介绍 Cycle GAN Generator Gumbel-softmax Continuous Input for Discriminator Reinforcement Learning ...

  5. 深度学习生成对抗网络(GAN)

    一.概述 生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由Ian J. Goodfellow等人于2014年提出.模型 ...

  6. 深度学习(三十一)——Style Transfer

    Style Transfer 上图是Style Transfer问题的效果图:将图片B的风格迁移到另一张图片A上. 上图是图像风格迁移所涉及的科技树. 在继续讨论之前,我们有必要指出Style Tra ...

  7. A Probabilistic Formulation of Unsupervised Text Style Transfer

    A Probabilistic Formulation of Unsupervised Text Style Transfer 无监督的问题转化 设X={x(1),x(2),-,x(m)}X=\{x^ ...

  8. 【论文笔记】An Unsupervised Style Transfer Framework for Profanity Redaction

    Towards A Friendly Online Community: An Unsupervised Style Transfer Framework for Profanity Redactio ...

  9. 精读A Hierarchical Reinforced Sequence Operation Method for Unsupervised Text Style Transfer

    在HRL(强化学习)框架中,提出一种基于序列操作PTO(Point-Then-Operate):高级agent提出操作位置,低级agent修改句子.用于无监督文本样式的传输. 转换过程被建模为对输入句 ...

最新文章

  1. zepto打造一款移动端划屏插件
  2. vb6 判断打印机是否有效_吊打面试官 | 算法之如何判断括号是否有效?
  3. Linux下打印调试管理
  4. Git Branch Mode(分支模式)
  5. fullcalendar next 不变化_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第3篇...
  6. php如何删除服务器图片,php如何删除服务器文件
  7. kruskal算法_大厂面试为什么总是考算法?
  8. sap权限激活_SAP产品的Field Extensibility
  9. 使用C语言进行面向对象的开发--GObject入门[4]
  10. 基于LMI的线性系统滑模鲁棒控制
  11. PS学习日记①初接触
  12. 一款简单好用的开源简繁转换类库
  13. 女人长点心就收藏它肯定会用到的
  14. crm管理系统是什么意思 crm系统全称是什么 - whale帷幄
  15. 【商业数据分析】—— 用户价值RFM模型详解(小仙女搬运工)
  16. [破解]天草初级笔记
  17. Linux内核中的Watchdog
  18. 中小企业管理信息化的一些事(一)
  19. column-count瀑布流导致元素被截断-解决方法
  20. Java 获取鼠标点击坐标

热门文章

  1. XP_SP3_专业汉化版__x86_cd_x14-80404
  2. AR中的图像识别算法
  3. 用其他账号登录插件 php,HYBBS QQ登录插件使用详解
  4. python实现 - 模拟贷款卡号生成规则
  5. 上海车展直击:中国哈弗打造“航母舰队”
  6. Django学习记录4——urls的简述
  7. iPhone 13 Pro最新外形,有望首次支持无线反向充电
  8. 算法——称重一次求出次品箱数
  9. 教你制作自己喜欢的Win7主题
  10. 迷你计算机主板,超级迷你,采用ARM处理器的电脑主板