当前位置: 首页 > 科技 > 人工智能 > 厌倦了大众字体?你可以用这个项目自创一款手写体_腾讯新

厌倦了大众字体?你可以用这个项目自创一款手写体_腾讯新

天乐
2020-05-12 20:57:33 第一视角

机器之心报道

参与:Racoon X、Jamin

这个酷炫的手写体生成项目,网页版使用 TensorFlow.js 实现,模型仅 10M。

本文主要介绍用 Tensorflow 编写的 RNN 手写笔迹合成项目,该模型主要基于 2013 年一篇关于手写笔迹合成的论文。从项目作者的 Github 进程来看,该项目实现已于 2018 年就完成,近日新推出的 Demo 所演示的交互模式下的网页版本为最新版,基于 TensorFlow.js 实现。

项目作者也表示在基于 2013 的手写笔迹合成的论文下,新增了一个推理模型进行优化。(Demo 如下图所示)

不同字体的手写笔迹合成。

项目地址:https://github.com/sjvasquez/handwriting-synthesis

网页版 Demo:https://seanvasquez.com/handwriting-generation/

上图这个权游里瑟曦的经典台词就是使用该项目创建的。

效果展示

让我们先来看一看这个项目的实际效果如何。

示例一为使用固定风格与偏置生成的样本(Smash Mouth – All Star 歌词):

示例二为使用变化的风格与固定偏置生成的样本,每一句诗词使用不同的风格生成(Vanessa Carlton – A Thousand Miles 歌词):

示例三为使用变化偏置与固定风格生成的样本,每一句诗词的偏置要比上一句小,最后一句无偏置(Leonard Cohen – Hallelujah 歌词):

使用方法

该项目的创建时间虽然有点早,不过从上一节的效果展示上来看依然很酷炫。值得一提的是该实现已经非常接近原论文,只有一些非常细微的偏差,生成的样本的质量也非常接近论文中的效果。

接下来让我们来看看如何使用:

lines = [

"Now this is a story all about how",

"My life got flipped turned upside down",

"And I'd like to take a minute, just sit right there",

"I'll tell you how I became the prince of a town called Bel-Air",

]

biases = [.75 for i in lines]

styles = [9 for i in lines]

stroke_colors = ['red', 'green', 'black', 'blue']

stroke_widths = [1, 2, 1, 2]

hand = Hand()

hand.write(

filename='img/usage_demo.svg',

lines=lines,

biases=biases,

styles=styles,

stroke_colors=stroke_colors,

stroke_widths=stroke_widths

)

效果展示图。

简单来说有些细节需要注意,如上述代码所示,目前 Hand 类必须从 demo.py. 中导入。同时,其中也包含预训练模型,当然你也完全可以训练你自己的模型。

项目作者表示,该项目发起之初主要是为了研究论文而做的参考实验。但最终复现效果质量非常不错,因此该项目是可以更为广泛的进行使用。

比如可以将其进行打包,让整个项目项目看起来更像是一个可用的软件类项目,而不仅像研究类代码。同时,作者也提出可增添更多复杂的绘图、动画或是此方向的任意内容,而不仅仅限制至于当下的手写笔迹转换。感兴趣的读者可以参考项目原链接进行浏览。

本文为机器之心报道,转载请联系本公众号获得授权。

------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部