ICCV 2019 开源论文 | ShapeMatchingGAN:打造炫酷动态的艺术字
作者丨杨帅
学校丨北京大学博士生
研究方向丨图像风格化
论文引入
当你制作 PPT 时想要打造与背景图片风格一致的标题,当你设计宣传海报时想要一个引人注意的标题,当你发朋友圈时想要更生动地展示文字所传达的信息,你现在可能需要的是文字风格化算法。
文字风格化是一种为文字设计特效,将之渲染为独一无二的艺术字的过程。艺术字往往需要设计师依靠技术和经验花费几个小时去创作。这种耗时的工作当然可以交给计算机来做,ShapeMatchingGAN 应运而生,只需要提供一张风格图片,就能打造自己的火焰字、水滴字、闪电字、花瓣字等等。
▲ 将不同程度的火焰风格渲染到文字上
在文字风格化中,有一点需要注意,以火焰字为例,要使火焰在文字上烧起来,文字边缘势必要进行形状的调整,而过多的调整又会损害文字的可读性。因此,需要在文字的艺术性和可识别性上进行折衷。ShapeMatchingGAN 贴心地考虑到了这一点,提供了文字形变程度 l 这一参数。通过调整 l,就能实时获得不同变形程度的艺术字。想更硬朗一点,还是更飘逸一点,轻松选择。
▲ 选择最合适的艺术字效果
本篇的目的是解读在文字风格化任务中,如何让网络在一张用户指定的风格图像上实现训练,以及如何做到对文字不同变形程度的支持。
本篇的主角 ShapeMatchingGAN,是 ICCV 2019 Oral,实现了变形程度可控的文字风格化。作者还开源了 PyTorch 实现:https://github.com/TAMU-VITA/ShapeMatchingGAN,喜欢设计的小伙伴可以去尝试渲染一下自己的艺术字。
双向形状匹配策略
ShapeMatchingGAN 的首要目的是学会文字的变形。不同于纹理尺度、风格强度等可用超参描述的特征,文字变形难以定义与建模,同时也没有对应的数据集支撑。为了解决这个问题,文章提出了双向形状匹配策略:
整体思路是比较直观理解的。分为两个阶段,第一个阶段(反向结构迁移),提取风格图的结构,反向将文字的形状风格迁移到结构图上,获得简化的结构图。第二个阶段(正向风格迁移),正向学习该上述过程的逆过程,即学习将简化的结构映射到原始结构再进一步映射回风格图。这样网络就学会了为文字边缘增添风格图的形状特征和渲染纹理。
但是我们还面临两个挑战,首先,如何在风格图只有一张的条件下,训练网络;其次,如何训练一个网络来快速处理不同的变形程度。
接下来,我们对各个部分详细的进行梳理,展示文章是如何应对这两个挑战的。
反向结构迁移
反向结构迁移的目的是生成风格图的结构图与简化结构图,与风格图构成成对的训练集。针对第一个挑战,文章采用随机裁剪的方式,将风格图,结构图和简化结构图,裁剪为大量的子图像,从而获得足够的训练数据。
为了将文字的形状特征迁移到风格图的结构图上,文章提出了 Sketch Module,它包含一个模糊模块和一个去模糊模块。模糊模块使用高斯滤波模糊图像边缘,将文字图和结构图映射到同一个模糊领域,然后通过在文字图上训练去模糊模块恢复文字简洁的边缘,让网络在测试时能简化结构图的边缘。
针对第二个挑战,为了学习不同的文字变形程度,对应的,也需要生成不同简化程度的简化结构图。文章的解决方案是使用文字形变程度控制高斯滤波的核函数的标准差。l 越大,边缘模糊程度越高,对应结构图简化程度也越高,反过来学到的文字变形程度也越大。
正向风格迁移
正向结构迁移包含结构迁移和纹理迁移。在结构迁移任务中,文章训练网络 GS 将不同简化程度的结构图映射回原始的结构图。这是一个多对一的映射问题,网络可能会仅仅记住输出的结果,而忽略输入的不同。
为了应对这个问题,文章提出了可控的 ResBlock,由两个 ResBlock 以 l 为权重线性加权组合得到。当 l = 0 或 1 时,其退化为单个 ResBlock,分别学习最大和最小的变形程度。而当 l 在 0 至 1 之间时,网络学会在两个极端下折衷,从而应对第二个挑战。
最后,文章训练一个网络 GT 将结构图映射为风格图,从而学会为文字增添纹理。文章同时还考虑了非边缘部分字形的保持和使用 style loss 增强纹理的细节。
实验
实验对比
和已有的方法,ShapeMatchingGAN 进行了定性和定量上的对比。与这些方法相比,ShapeMatchingGAN 能够生成更自然的边缘和细节丰富的纹理。在主观打分上,ShapeMatchingGAN 获得了 0.802 的用户倾向均值, 而 Image Analogy [1], NST [2], Doodle [3], T-Effect [4] 和 UT-Effect [5] 分别为 0.513,0.376,0.537,0.230 和 0.542,ShapeMatchingGAN 取得最好的结果。
消融对比
文章定性上做了消融对比实验,包括直接使用 GT 不使用 GS (baseline),使用串联 l 的方式代替可控的ResBlock (w/o CR),直接使用 GS 不使用 GT (w/o TN),以及完整的网络。
可控的变形程度
下图展示了文字边缘的叶片和文字边缘的冰晶逐渐生长得愈发丰茂的过程。我们的方法能快速且连续地逐步增加文字的变形程度。
动态艺术字
通过对输入图像添加噪声,能得到同一风格下不同形态的艺术字,组合起来就能让艺术字动起来。
总结
文章提出了 ShapeMatchingGAN,一种用于将风格图片的形状和纹理风格渲染到目标文字上的文字风格化模型。通过提出的双向结构匹配策略,ShapeMatchingGAN 能构建文字与风格在形状之间不同尺度上的对应关系,而可控的 ResBlock 的加入支持网络鲁棒地学会这样的对应关系。从实验结果上可以成功地实现文字风格化,并控制文字的形变程度,较其他方法取得了一定的优势。
更多文字风格化的工作
如果你对文字风格化感兴趣,欢迎关注作者其他几篇相关的工作:
基于块匹配的字效迁移:http://www.icst.pku.edu.cn/struct/Projects/TET.html
艺术字生成与图文结合:http://www.icst.pku.edu.cn/struct/Projects/UTS.html
基于特征解耦的字效迁移:http://39.96.165.147/Projects/ys_aaai19/TETGAN.html
关注小配饰的字效迁移:https://daooshee.github.io/Typography2019/TE141K
字效数据库:https://daooshee.github.io/TE141K/
参考文献
#活 动 推 荐#
10.31-11.1 北京智源大会
?
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
▽ 点击 | 阅读原文 | 下载论文 & 源码
ICCV 2019 开源论文 | ShapeMatchingGAN:打造炫酷动态的艺术字相关推荐
- ICCV 2019开源论文 | 捕捉图像DNA——单幅图像下可实现任意尺度自然变换
作者丨武广 学校丨合肥工业大学硕士生 研究方向丨图像生成 图像翻译这个领域的应用是相当的多,图像风格迁移.图像修复.图像属性变换.图像分割.图像模态的转换等都可以统称为图像翻译的任务.本文将介绍一个图 ...
- ICCV 2019 开源论文 | 基于元学习和AutoML的模型压缩新方法
这篇文章来自于旷视.旷视内部有一个基础模型组,孙剑老师也是很看好 NAS 相关的技术,相信这篇文章无论从学术上还是工程落地上都有可以让人借鉴的地方.回到文章本身,模型剪枝算法能够减少模型计算量,实现模 ...
- CVPR 2019开源论文 | 基于“解构-重构”的图像分类学习框架
作者丨白亚龙 单位丨京东AI研究院研究员 研究方向丨表示学习.图像识别 基于深度卷积图像识别的相关技术主要专注于高层次图像特征的理解,而对于相似物体之间的细节差异和具有判别意义的区域(discrimi ...
- ICCV 2019接收论文提前看,旷视11篇入选文章放出 | 资源
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI ICCV 2019最终论文接收结果终于全部公布,这一次,一共有1077篇论文被接收,接受率为25%. ICCV的全称是 IEEE Inte ...
- c++语言表白超炫图形_教你用C语言加图形库打造炫酷表白连连看
图1 今天小编用简单的C语言知识写一个连连看的游戏,但是是有含义的哈,游戏玩完之后又是属于一个表白程序,也感觉不错的哦. 下面小编把全部的代码发出来一下,以及效果图发一下,最终的话把涉及的知识点也讲解 ...
- 打造炫酷通用的ViewPager指示器 Adapter模式适配所有 1
###1.概述 上一期我们已经写了一篇 打造炫酷通用的ViewPager指示器 - 玩转字体变色 可是这种效果虽然绚烂可以装装A和C之间,但是在实际的大多数效果中并不常见,只是在内涵段子中有这个效果而 ...
- 用devc++表白_教你用C语言加图形库打造炫酷表白连连看
图1 今天小编用简单的C语言知识写一个连连看的游戏,但是是有含义的哈,游戏玩完之后又是属于一个表白程序,也感觉不错的哦. 下面小编把全部的代码发出来一下,以及效果图发一下,最终的话把涉及的知识点也讲解 ...
- ICCV 2019 最佳论文和最佳学生论文下载
ICCV 2019最佳论文和最佳学生论文已出炉! 最佳论文 SinGAN:LearningaGenerativeModelfromaSingleNaturalImage 用一张自然图片,学出一个生成模 ...
- 图注意力网络_EMNLP 2019开源论文:针对短文本分类的异质图注意力网络
本文同步发表在 PaperWeekly EMNLP 2019开源论文:针对短文本分类的异质图注意力网络mp.weixin.qq.com 本文由北邮和南洋理工联合发表在自然语言处理顶会 EMNLP 2 ...
最新文章
- android mmkv使用_MMKV解读
- 通过容器编排和服务网格来改进Java微服务的可测性
- 博士申请 | 北京理工大学宋承天老师组招收目标感知与识别方向博士生
- php strstr 效率,PHP中的stristr(),strstr(),strpos()速度比较
- 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm站点和MVC站点执行机制对照
- Binary String Matching
- tomcat相关实验
- 1094:零起点学算法01——第一个程序Hello World!
- MVVM架构之自动增删改的极简RecycleView的实现
- 1,2,2,3,3,4,4,4,......
- 摆脱设备操作桎梏 汉锐股份教育录播系统解密
- php无缝滚动文字,使用JS如何实现文字无缝滚动
- java fake,FakeScript-Java 轻量级嵌入式脚本语言
- 2018我读过的那些书
- [Python从零到壹] 五十三.图像增强及运算篇之直方图均衡化处理
- 移动网优大神VoLTE学习笔记(五):被叫信令流程
- javascript/js替换内容
- UiPath调用超级鹰识别验证码
- 用netty实现zcool_Netty 系列一(核心组件和实例).
- `inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.
热门文章
- python交互窗口怎么才能不连着上一个程序_python实现启动一个外部程序,并且不阻塞当前进程...
- [文章备份]源代码制图工具Understand最新可用注册码
- java----java工具包
- linux 下 php 扩展
- 关于script的放置位置
- Fiddler学习之——对Android应用进行抓包
- python中readlines,在Python中连续两次使用readlines
- 汉仪尚巍手书_汉仪尚巍手书免费版
- 世界三大顶级音响_世界三大汽车赛事是什么?一起来了解一下
- 华为云设计语言_《好设计,有方法:我们在搜狐做产品体验设计》 —2.2 设计语言带来的好处...