写点什么

机器学习让电脑也能画世界名画

  • 2015-09-29
  • 本文字数:1344 字

    阅读完需:约 4 分钟

近日,德国图宾根大学的 Leon A. Gatys 等人研发出了一种基于深度神经网络的人工系统。该系统可以制作非常具有艺术气息的电脑图片,完成了电脑作画方面的一大突破。

画家一般通过非常高超的技巧把现实中的东西按照一定的风格进行抽象,来创造非凡的艺术品。以往,这种创造过程总是神秘而不可预知的。因而,机器无法自动完成图画,尤其是抽象画派作品的创作。然而,在目标或者人脸识别等领域,机器已经能够根据深度神经网络(Deep Neural Network,DNN)理论,很好的完成识别工作。Leon 等人所研发的系统试图解决这一难题。该系统使用了神经表示来分离和重新合并图画的内容和风格。它可以把一副图画的内容和另一副图画的风格结合在一起,创造出一个新的图片。以斯坦福校园的一张照片为例,该系统把著名画家梵高的《星空》的风格抽象出来,合并为了一张新的图片。

把该风格应用到不同的图片中,系统还可以给出很多有意思的结果。而且,算法还支持用户调整风格和内容分别占据的权重。这样,图片就可以在偏重原始内容和风格化之间进行变化。此外,用户还可以利用 -style_scale在提取风格特征之前调整风格图片的大小。由此,最终合成图片的风格化粒度也会不同。

该系统基本原理可以划分为内容提取和风格提取两个部分。在内容提取中,算法使用了深度神经网络中的卷积神经网络(Convolutional Neural Network,CNN)。卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。输入图像通过和若干滤波器进行卷积后产生相应的特征映射图。这些特征映射图中每组的几个像素再进行求和、加权值以及加偏置(bias),通过一个Sigmoid 函数得到下一层特征映射图。该过程依次进行,直到通过神经网络的所有层后,得到输出。在Leon 等人的研究中提到,随着图像通过CNN 中的多个层,图像内容越来越多的反应到特征映射图中。而网络中高层的特征响应就可以记为内容表示( content representation)。

在风格提取中,算法使用了原本用于获得纹理信息的特征空间。该特征空间基于神经网络中每一层的滤波响应,由这些响应之间的相关度所组成。通过包含多层网络的特征相关,算法获得了一个输入图像的多层表示——风格表示(style representation)然后,系统通过寻找同时符合内容表示和风格表示的图片,即可合并两张图画,制作出新的图画。

目前,该算法的 torch 实现已经共享到 GitHub 。用户在安装 torch7 loadcaffe 之后,需要运行sh models/download_models.sh脚本来下载 VGG 模型。然后,用户按照安装指导中的指示即可完成Ubuntu 系统中的安装。然后,用户输入 th neural_style.lua -style_image <image.jpg> -content_image <image.jpg>
命令,开始使用该算法来生成图像。此外,该实现还提供了-image_size(所产生图像的最大边像素数)、-gpu(所使用 GPU 从 0 开始编号的 ID)、-content_weight(内容重建部分的权重,默认为 5)等选项。这些选项可以优化转换过程、确定输出文件名以及 CNN 中的层名等,为用户提供更多的灵活性。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-29 19:003294
用户头像

发布了 268 篇内容, 共 128.1 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

【墨菲安全实验室】企业微信私有化2.5-2.6.93版本后台API未授权访问漏洞

墨菲安全

网络安全 安全 企业微信 漏洞分析

极光笔记 | 如何为您的业务开发和训练一个AI-BOT

极光JIGUANG

人工智能 AI技术 AI工具

软件测试/测试开发丨Python 常用第三方库 urllib3

测试人

Python 程序员 软件测试 测试开发 urllib

什么文件传输协议才能保障跨国文件传输安全又稳定

镭速

文件传输协议 跨国文件传输

腾讯云原生数据库TDSQL-C Serverless架构全新升级,助力业务存储成本降低80%

极客天地

解锁数据潜力:信息抽取、数据增强与UIE的完美融合

汀丶人工智能

人工智能 自然语言处理 信息抽取

【墨菲安全实验室】jeecg-boot/积木报表基于SSTI的任意代码执行漏洞

墨菲安全

漏洞 jeecg-boot MPS-4hzd-mb73

TDengine 全新打造数据接入功能,让 MQTT 无缝数据接入变得很简单

TDengine

时序数据库 mqtt #TDengine

在 React 中获取数据的6种方法

互联网工科生

JavaScript React Promise

龙举云兴|顶级项目 Apache InLong 核心技术探秘

腾讯云大数据

Apache

糟了糟了,总部被SD画完都Q了,这篇深入浅出贴助你早日实现Stable Diffusion自由 | 京东云技术团队

京东科技开发者

AI绘画 Stable Diffusion 企业号 8 月 PK 榜

成本翻倍,部署复杂?那是你用错了kubernetes!

鼎道智联

Kubernetes CI/CD

攀枝花是哪个省的?当地有等级保护测评机构吗?

行云管家

等保 等级保护 等保测评 攀枝花

带你快速上手HetuEngine

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

StoneData 2.0 正式上线阿里云市场,高性能、低成本一站式实时数仓,满足用户全场景分析需求

StoneDB

MySQL 数据库 HTAP StoneDB

跨国视频传输速度太慢?那是因为没有好的跨国文件传输工具

镭速

跨国传输大文件 跨国传输

苹果mac版 Photoshop 2023 v25.0beta「ps」

胖墩儿不胖y

ps 2023 PS 2023破解 ps ai beta

华为云零代码新手教学-体验通过Astro Zero快速搭建微信小程序

华为云PaaS服务小智

开发者 低代码 华为云

JVM关闭前做点什么

FunTester

嵌入式开发场景下的代码管理方案(上)

极狐GitLab

git svn gitlab 嵌入式 源代码管理

聊聊自动化测试的分层实践

老张

自动化测试

智能仓储管理系统(自动化仓库管理解决方案)

万界星空科技

MES系统 仓储执行系统 WMS仓库管理

【墨菲安全实验室】jeecg-boot/积木报表基于H2驱动的任意代码执行漏洞

墨菲安全

网络安全 安全 漏洞 JeecgBoot MPS-bjs4-n6dm

从 1 杯咖啡到 1 首歌的时间,炎凰数据如何实现 Pipeline 执行提速 6 倍?

极狐GitLab

DevOps gitlab cicd pipeline 炎凰数据

使用NineData实现数据量亿级别MySQL大表迁移

NineData

数据库 NineData MySQL大表迁移 迁移方案 迁移复制

搭载KaihongOS的工业平板、机器人、无人机等产品通过3.2版本兼容性测评,持续繁荣OpenHarmony生态

OpenHarmony开发者

OpenHarmony

文心一言 VS 讯飞星火 VS chatgpt (77)-- 算法导论7.3 2题

福大大架构师每日一题

福大大架构师每日一题

医疗机构过等保选择哪款堡垒机好?为什么?

行云管家

网络安全 等保 等级保护 IT运维 医疗机构

机器学习让电脑也能画世界名画_语言 & 开发_张天雷_InfoQ精选文章