机器学习可以生成任何线条图片的 ASCII 码绘画

本文为 AI 研习社编译的技术博客,原文 This Machine learning Algorithms Can Turn Any Line Drawing into ASCII Art,作者 Daniel Oberhaus 。 翻译 | 张硕玺 校对 | 余杭 整理 | 余杭

人类使用计算机创造的艺术形式已被计算机学会

回顾 1960 年代,贝尔实验室的天才们想出了用计算机语言来绘画的方法。这种绘画形式叫做 ASCII 绘画,尽管这种绘画需要使用计算机,但很难让计算机自动生成图片。尽管 ASCII 绘图生成器已经存在了很多年,但他们始终不能很好的转换复杂的手工图片。

现在,就读于大阪大学的医学院研究生 Osamu Akiyama,同时也是名 ASCII 画家,创造出了通过模拟人脑运作机制的一种机器学习架构——神经网络,相比手工,这可以生成任何线条图片的 ASCII 码绘画。

ASCII 码绘画是通过使用美国信息交换标准代码(一种用来将机器语言翻译成人类语言的编码系统)中所定义的数字与字母创造出来的。

有趣的是,秋山构建的神经网络使用日本字来生成图片,而非使用 ASCII 码来生成图片。

秋山选取日本流行的留言板 5channel 与 Shitaraba 上的 500 个 ASCII 码绘画来训练神经网络模型。秋山在邮件跟我吐槽,说目前遇到的主要问题在于训练的手工 ASCII 码绘画由于来自于网络,所以并没有引用相关原始图片。这意味着这样的算法很难学习线条图片是如何转换成文字图片的。

为了解决这样的问题,秋山使用了其他研究者的神经网络去清洗图像,这样就可以将 ASCII 码绘画转换成原始线条图片。通过这种方式估计出的原图,就可以用来作输入来训练神经网络学习用哪些字符来生成相应 ASCII 码图像。

通过这样的训练,神经网络就可以生成与手工相媲美的 ASCII 码图片。秋山基于图片相似度算法,将这种图片和其他生成器以及手工生成的图片作比较,发现机器学习生成的 ASCII 码图片与原图更具相似性。

ASCII 码图片的对比:第一行为原图。第二、三行为使用免费提供的 ASCII 生成器生成的图片。第四、行为通过秋山的神经网络生成的图片,而第五行是一位 ASCII 码画家所画。

秋山的论文表明:「确实,对比人工 ASCII 绘画,由算法自动生成的 ASCII 码图像与原图更具相似性。」因此,我们可能需要在未来要求人类评论家重新评估艺术的质量。

秋山并非首个将神经网络引入 ASCII 艺术的。之前也有少数几个相关项目,比如 ASCII NET 和 DEEPASCII 同样探究如何将深度学习引入这一特殊的艺术形式。

尽管这种算法可以将原图生成最具可信度的 ASCII 效果图,秋山依然倾向人类在 ASCII 绘画的作用。

他电邮我说:「相比其他现存工具,我可以通过这种方式生成最像人工图片的 ASCII 图像,但始终还是手工完成的图片更美。」

想了解更多秋山算法生成图片的例子,你可以点击这里的 Github 链接(https://github.com/OsciiArt/DeepAA)。

原文链接:

https://motherboard.vice.com/en_us/article/zmymwx/machine-learning-ascii-art-neural-net

本文分享自微信公众号 - AI研习社(okweiwu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏帮你学MatLab

《Experiment with MATLAB》读书笔记(十六)

读书笔记(十六) 这是第十六部分微分方程求解 %% 指数型增长和Logistic型增长 % Logistic曲线是一种常见的S形函数 % 是皮埃尔·弗朗索瓦...

32670
来自专栏懒人开发

(4.9)James Stewart Calculus 5th Edition:Newton’s Method

Newton’s Method 牛顿法则, 又叫 Newton-Raphson method 牛顿迭代法则

13540
来自专栏语言、知识与人工智能

游戏文本关键词提取工作的尝试和探索

如何将合适的游戏文本打上正确的关键词标签,并将内容推送给恰当的用户成为一个重要的课题。

1.7K50
来自专栏潇涧技术专栏

Things of Math

因为近期换了博客主题,对Latex的支持较弱,而且以后可能会很少写和数学有关的内容,所以下线了之前数学专题下的所有文章,但竟然有网友评论希望重新上线,我还以为那...

7910
来自专栏深度学习自然语言处理

pyTorch基础入门练习

import导入 import torch#基本的torch函数 import torch.autograd as autograd#自动求导 import t...

424100
来自专栏AI研习社

神经机器翻译的编码 - 解码架构有了新进展, 具体要怎么配置?

用于循环神经网络的编码 - 解码架构,在标准机器翻译基准上取得了最新的成果,并被用于工业翻译服务的核心。 该模型很简单,但是考虑到训练所需的大量数据,以及调整模...

28340
来自专栏人工智能LeadAI

机器学习实战 | 数据探索(变量变换、生成)

1.1、什么是变量变换? 在数据建模中,变换是指通过函数替换变量。 例如,通过平方/立方根或对数x替换变量x是一个变换。 换句话说,变换是一个改变变量与其他变量...

44260
来自专栏懒人开发

(4.10)James Stewart Calculus 5th Edition:Antiderivatives

如果在一个区间内 F'(x) = f(x), 则 这里 F 函数,叫做 不定积分(反导数 , anti 可以理解为 反的意思,也就是 反函数的意思)

11920
来自专栏小石不识月

如何为神经机器翻译配置一个编码器 - 解码器模型

循环神经网络(RNN,Recurrent Neural Networks)中的编码器 - 解码器(Encoder-Decoder)架构在标准机器翻译基准上取得了...

39790
来自专栏机器之心

学界 | CMU论文:神经机器翻译和Seq2seq模型导论

选自arXiv 作者:Graham Neubig 机器之心编译 参与:李泽南、蒋思源 本文是一篇有关机器翻译的详细教程,适用于计算机科学本科背景的读者。据 Pa...

401170

扫码关注云+社区

领取腾讯云代金券