博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
阅读量:4092 次
发布时间:2019-05-25

本文共 1985 字,大约阅读时间需要 6 分钟。

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!

转自机器之心

大家好,我是小 G。

如果你想用程序来快速生成一款属于自己的手写字体,不妨试下这个开源项目:Handwriting Synthesis。

该项目创意始于 Alex Graves 在 2013 年发布的一篇论文:《Generating Sequences With Recurrent Neural Networks》,而后经 MIT 的一名学生 Sean Vasquez 参照实现,并于前不久正式推出了基于 TensorFlow.js 开发的 Web 版 Demo 页面。

下方视频为该项目的具体演示视频,对此感兴趣的同学,也可以亲自上手试一下。更进一步的,还可以尝试训练自己的模型,打造一款只属于你个人的手写字体。

此外,项目作者也表示在基于 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. 中导入。同时,其中也包含预训练模型,当然你也完全可以训练你自己的模型。

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

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

最后,总结下该项目的相关链接,供各位水友参考。

论文地址:https://arxiv.org/abs/1308.0850

Demo 地址:https://seanvasquez.com/handwriting-generation/

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

---另外,由 GitHubDaily 原班人马打造的公众号:GitCube,现已正式上线!接下来我们将会在该公众号上,为大家分享优质的计算机学习资源与开发者工具,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!

转载地址:http://sfvii.baihongyu.com/

你可能感兴趣的文章
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>
Java编程基础:了解面向对象
查看>>
新一代Java模板引擎Thymeleaf
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
Spring Boot构建简单的微博应用
查看>>
Spring处理表单提交
查看>>
Spring MVC异常处理
查看>>
Leetcode 1180. Count Substrings with Only One Distinct Letter [Python]
查看>>
PHP 7 的五大新特性
查看>>
php使用 memcache 来存储 session
查看>>
php实现socket(转)
查看>>
PHP底层的运行机制与原理
查看>>