阿里AI设计师一秒出图,小撒连连惊呼,真相是...

代码银月使
• 阅读 4706

近期,央视《机智过人》的舞台上来了位“三超设计师”——设计能力超强;出图能力超快;抗压能力超强,成功迷惑嘉宾和现场观众,更让撒贝宁出错三连。

节目一开场,这位“设计师”就为现场嘉宾:主持人撒贝宁、演员韩雪、神经科学家鲁白生成了三张独具特色的海报。几乎是说话的瞬间,海报立即生成,出图速度之快让撒贝宁惊呼“秒完”。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

这位设计师正是阿里巴巴研制的AI设计师——鹿班。鹿班是为解放人类平面设计师而生,它学习了五百万张人类设计作品,现在它每秒能做八千次设计。自从2016年上线至今,鹿班已经完成了十亿次海报制作,是全球首位大规模投入使用的人工智能平面设计师。

节目中,鹿班将接受设计领域的两轮检验,如果鹿班的作品被现场观众成功找出,则认为鹿班通过检验。究竟AI能否在设计领域达到人类水平?接下来,我们一起走进检验场。

第一轮挑战中,鹿班与一次成稿率在80%以上的设计师、从业十二年的资深设计师等三位同台竞技,各自设计一张以“汽车卓越加速性能”为主题的商业海报。下图即四位设计师的设计成图,大家不妨来猜一猜哪幅是鹿班的作品。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

根据现场观众投票,多数观众认为4号作品出自鹿班之手。让观众出乎意料的是2号才是鹿班的创作,这个结果让神经学家鲁白大呼“不服气”。

不信?眼见为实!

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

接下来,战况升级。中央美术学院院长范迪安教授带来画家与服装设计师来和鹿班同台创作,为《孙子兵法》这本书设计封面。

面对设计难度升级,鹿班能否成功应对?我们马上揭晓鹿班和两位人类设计师为《孙子兵法》设计的封面的作品:

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

以上图片中有三幅作品,其中哪一张是鹿班的设计?到底观众们有没有猜对?不急,我们先请阿里巴巴资深技术专家星瞳为我们揭秘鹿班背后的技术。

使用场景

视觉生成引擎的使用场景大致可抽象成下图。以显式输入而言,用户可以输入标签需要的风格、色彩、构图等,或者输入一个例子,或者进行一些交互的输入。除显式输入之外还可以有隐式输入,比如人群信息、场景信息、上下文信息等。总的来说,输入可以是千变万化的,但通过规范化之后就会减少变化,使得生成过程可控,输出质量可控。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

对视觉生成引擎来说,它要求输入是规范化的。但在输入前,可以加入各种交互方式,如自然语言处理,语音识别等,将其转化成规范化输入。最后输出结构化信息或可视成图。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

技术框架和生产流程

其技术框架如下图左侧。首先对视觉内容进行结构化理解,如分类、量化、特征化。其次通过一系列学习、决策变成满足用户需求的结构化信息即数据,最后将数据转化成可视的图像或视频。这一框架依赖于大量的现有数据。其核心是一个设计内核。同时,引入效用循环,利用使用后的反馈来不断迭代和改进系统。

其生产流程分成六个步骤,如下图右侧所示。首先用户提出需求,将需求特征化转变成系统可以理解的结构化信息。其次将信息进行规划得到草图。有了粗略的草图后再将其转变成相对更精确的图,然后调整细节,最后通过数据可视化形成最终的图。当然其中还有很多的trick,以及各部分的优化。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

关键算法

下面介绍一些关键算法。我们希望基于下图最左的耐克鞋生成最右的图。先通过规划器得到草图,再通过强化学习获得相对细致的结果,再通过对抗学习及渲染算法得到图片,再通过评估器进行评估,最后形成业务闭环,其中还会有一些基础的能力,包含更强的联合特征(非普通 CNN特征)及多维度检索算法等。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

基本上,处理的第一步是将图片中的信息结构化,这也是与现有的识别理解技术结合最紧密的地方。其中的难点和重点包括,对图像中多目标的识别、遮挡和互包含情况如何得到分割的信息等,下图只是个简单的示例。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

有了结构化信息之后,需要对信息进行量化。可以量化成特征或量化图。量化过程中会包含很多信息,比如主题风格、布局配色、元素种类、量化空间等。有了这些信息后可以在主题、种类、风格、视觉特征大小位置上,量化成各种码,用相对有限的特征来表达无限的图。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

下一步是通过用户的输入,得到一个相对粗略的结果即草图。目前主要使用的是深度序列学习。从图像角度,首先选定一个点的像素颜色再选择位置,再迭代进行操作,最后形成一张图。规划器模拟的就是这个过程。本质上预测过程是一棵树,当然也可以拆成一条条路径。为了简化,可以分成几步进行,比如空间序列,视觉序列。最后形成量化特征模型,主要应用的是LSTM模型。它把设计的过程转化成基于递归、循环的过程。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

得到草图后,利用行动器将草图细化。如果将图中的每个元素看作一个Agent,那么它将有若干个可选的行动空间。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

假设一张图中有20个元素,每个元素在视觉上有多种可选的行动空间,由其组合成的可选行动空间非常庞大。我们有很多trick可以解决这一问题,比如在空间上,只允许在有限范围内进行变动,且行动方向有序,即状态有序,行动有限。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

下一步是如何衡量结果的好坏。图像的评估相对比较主观,主要可以从美学和效果两方面来评估。美学角度可以包括是否对齐、色系搭配是否合理、有无遮挡这些较低级别的判断标准,以及较高级的,比如风格是否一致,是否切合主题。从效果上,产品投放后是否会在点击率等方面实现提升。最后将多个指标形成对应权重并形成多个DeepLR联合模型。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

但在衡量结果之前,需要形成像素级别可见的图。这里有以下几种构造器分类,包括临摹、迁移、创造、搭配与生成。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

前面介绍了,如何通过用户的需求形成可见的图。后续还需要进行投放和反馈并进行优化,形成效用外循环。这样才能使得系统效用不断得到提升,形成一个在线闭环,这也是智能设计相对设计师的一大优势。

阿里AI设计师一秒出图,小撒连连惊呼,真相是...

从技术角度来说,鹿班可以满足海量无选择客户的需求。相信在未来,可以做到“所想,即所见”。节目的最后,撒贝宁、韩雪、鲁白纷纷为鹿班站台,鹿班也因此成功入选 “2018智能先锋”。


本文作者:厉害了!

阅读原文

本文来自云栖社区合作伙伴“阿里技术”,如需转载请联系原作者。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这