查看原文
其他

打三个表情就能画出世界名画?大家都在玩的Disco Diffusion是什么

阿文 果壳 2022-05-12

四月初,我看到 CG 大佬 @疯景CrazyJN 展示了一组科幻插画,它们构图巧妙,画面精美,乍一看像某位概念设计大师的作品。



有意思的是,这些都是 AI 画出来的。他用的工具是 Disco Diffusion,一个仅靠文字就能生成画作的 AI。


我带着疑问和期待,直奔电脑,随手搜了一个快速入门教程。简单来说,我只要打开浏览器,在网页上写好描述目标画作的关键词,然后就等着云端算力(对计算机硬件无要求)帮我渲染、生成,接着就能收图了。而这些图,往往还都是杰作。


对着教程,我开始想描述语句。我想象力有限,那时只能想到梵高的《星空》《向日葵》这两幅名画,“如果它们融合成一幅画,会是什么样?”于是,我在描述框里输入:星空下的向日葵花海。


之后,渲染框一帧一帧地变清晰,画面一帧一帧地逐渐“离谱”。



成品并非是《星空》和《向日葵》的生硬拼接:巨大的向日葵就开在山后,背后是万星璀璨的星空。


我意识到:一个新的时代已经悄然而至。夸张点说,这个工具出现后,人们“用嘴就能画画”。


我忙着在设计师圈里奔走相告,而 Disco Diffusion 这位 AI 画师又勤勤恳恳地给我画了好几张图。



我很感动,于是一口气又让它帮我画了大半个月……


我几乎每天都在测试描述词、调教机器人,踩了很多坑,翻了不少车,现在想以新手视角写一篇入门教程。放心,即使你没有代码基础也能看懂。


  准备篇  

  没什么好准备的,有浏览器就行  


Disco Diffusion 是一个直接运行在谷歌云端电脑(Google Colab)的程序,所以对你的电脑配置没有任何要求,有浏览器就能运行。对了,前提是你已经有一个谷歌账号。


接下来,复制https://colab.research.google.com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion.ipynb到浏览器,开始 AI 绘画之旅。



先别慌,我一开始也差点被这满屏的英文和代码劝退,但咬牙刷了几个入门教程后我就膨胀了:原来设置参数也就几分钟的事儿。


下面,我继续教你,手把手,保姆级。


  入门篇  

  不骗你,五分钟就能上路  


第一步:保存一份副本


由于原程序是公开给所有人使用的,没有开放编辑权限,因此需要先保存一份副本到你的谷歌硬盘,操作如下:文件 → 在云端硬盘中保存一份副本



第二步:设置参数


初次使用的话,建议大部分参数保持默认,你可以等操作熟练了再继续摸索。到这里,你先修改下面六个参数。


首先,直接滑到【3. Settings】,修改这三个基础参数:



  • batch_name:文件夹的名称,所有生成结果都在这文件夹里。

  • steps:迭代步数,一般情况下数值越大越精细,但耗时也越长,初次使用建议保持在 250,熟练之后再考虑 500,甚至 800。

  • width_height:图片的尺寸,数值必须是 64 的倍数。初次使用非常不建议设置大尺寸,不仅更耗时,还会因为内存不足,导致出错。我目前用得最多的尺寸是 [1024, 512]。


然后,到【Extra Settings】修改这个参数:



  • intermediate_saves:保存次数,这决定生成多少张过程图,我一般设置为 5。


最后,到【4. Diffuse!】里修改这两个参数:



  • display rate:刷新频率,用来预览生成结果。我一般设置 25,每 25 帧刷新一次进度。

  • n_batches:这个数值决定了 AI 最终出多少张图,由于我经常用来发微博九宫格,这里设置了 9。你也可以设置大一点的数字,让 AI 通宵加班。


至此,六个基本参数设置完毕。接下来,就是最重要的描述词环节了。


第三步:撰写描述词


描述词(Prompts)写对了,Disco Diffusion 才能输出越接近你预期的画作。所以,撰写描述词这一步非常关键。



如果你是初次使用,我建议你先在官方示例描述词的基础上修改,先别着急照抄网上现成的描述词。


举个例子,官方示例描述词是“A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and Thomas kinkade, Trending on artstation.”, “yellow color scheme


官方示例描述词生成图丨Disco Diffusion


简单分析一下,你会发现这段在描述一个灯塔的画面时,还附加了很多特殊的关键词:


  • 艺术家的名称:by greg rutkowski and Thomas kinkade

  • 画风:Trending on artstation (知名艺术社区 Artstation 上的流行画风)

  • 颜色主题:yellow color scheme


这些关键词都会直接影响生成结果的画风。于是,我有样学样地修改了一些字眼:把“灯塔”替换成“星夜”,把“动荡的血海”改成“向日葵花海”,艺术家替换成“James Gurney”。


“A beautiful painting of a starry night, shining its light across a sunflower sea by James Gurney, Trending on artstation.”


开篇提到的向日葵花海,就是由这段描述词生成。


关于描述词的更多注意事项,我会在后面的进阶篇细讲,这里先把流程跑通再说。


第四步:点击运行


你已经完成了所有配置,直接运行吧!依次点击:代码执行程序 → 全部运行



在程序运行过程中,会询问你是否允许访问谷歌硬盘,点击【连接】。然后,就等着收图吧!


最终生成结果以及过程图,都会存放在谷歌硬盘的【images_out】文件夹里:



以上,就是使用 Disco Diffusion 的整个流程。


进阶篇 

  如何写好描述词  


为了让 AI 能听懂我的话,过去的大半个月我都在跟 Disco Diffusion“吵架”,积累了不少经验,下面分享 8 个小窍门:


1. 英文不好没关系,机翻可能更对机器人的口味。


2. 不建议生成生物,尤其是人类。同理,也不建议加入常画人物的艺术家为关键词。否则你会得到一堆扭曲的肉,为了保住大家的“san 值”,我就不放图了。


3. 酌情加入 Unreal Engine, C4D, 3dMax, Maya, V-Ray 等关键词,它们都可以让 AI 模仿主流 3D 引擎的渲染效果。


以这个异形场景为例,加入“Unreal Engine“前,画面有点平,像作者的手稿


加入“Unreal Engine“后,我能清楚地感受到辉光、景深以及金属光泽,这让画面更有电影质感


4. 加入能让画面更高清的关键词,比如:high detailed, detailed, 8k, intricate, elaborate 等。


我在生成达芬奇手稿时做了对比测试,能感受到明显的精细度变化。


“animal skull sketch, by Leonardo davinci journal”


detailed animal skull sketch, by Leonardo davinci journal”


5. 加入可以帮 AI 去掉作者本人照片的关键词:human:-2。


有时候,AI 会把艺术家本人照片当成是艺术风格之一融入到生成图中,尤其是一些有自画像的作者。此时,你可以在描述词中强行把人类权重降低。还是以达芬奇手稿为例:


“a time machine blueprint, by Leonardo da vinci journal”


“a time machine blueprint, by Leonardo da vinci journal”, “human:-2


6. 加入可以去掉烦人景深的关键词:blur:-2, depth of field:-2。


AI 给画面加入的景深是随机的,有时候甚至会反噬画面,如果你不想被随机景深影响,也可以强行把景深的权重降低,看下面这组对比:


“Mount Fuji, Sakura, by Phil Greenwood”


“Mount Fuji, Sakura, by Phil Greenwood”, “depth of field:-2


7. 给 AI 多点提示,用上关键词组合:名画名字 + 作者名字。


比如很多非英语地区的名画,其英文译名都是后加的,AI 并不能很好地识别出来,不能被准确识别的关键词,也就是无效的关键词。


举例,日本的《神奈川冲浪里》的英文名是“the Great Wave”,如果你只在描述词中写这个英文名,AI 可能只会帮你画一个普通的大浪,请看下面这组对比:


“the Great Wave, rendered in high resolution by Greg Rutkowski, trending on artstation”,不加原作者,AI 就按他的理解给我画了一个惊涛骇浪


“the Great Wave by Hokusai, rendered in high resolution by Greg Rutkowski, trending on artstation”,加上名画作者葛饰北斋的名字后,AI 就能精准还原原作的一些特征了


8. 巧用一些特殊画风关键词。


Disco Diffusion 能模仿的远不止 Artstation 上的流行艺术家,它还能画水墨画和异形主题画。我列举一些用过的特殊画风关键词:


水墨风关键词:Chinese ink painting, Chinese Shanshui



莫比斯风格关键词:moebius, mœbius, Jean Giraud(莫比斯本名)



异形主题关键词:Alien, H. R. Giger(异形之父)



更多有趣的关键词,可以关注这份由网友 proximasan 和 sureailabs 整理出来的画风词典:https://weirdwonderfulai.art/resources/disco-diffusion-70-plus-artist-studies/。他们用同一组描述词,测试了 70 多位艺术家的画风在 Disco Diffusion 上的表现,并制作了非常直观的对比图。



如果你还不满足,强烈建议到 Disco Diffusion 的 Discord 社区逛一逛:discord.gg/QFjmfjXE。在那里,来自全世界的高级玩家不间断地讨论着同一个话题:如何生成出更好的效果?信息量大到即使你偶尔瞄一眼,都能获得很多实用小技巧。


如你所见,关于“如何写好描述词”,是没有天花板的。总有你没见过的风格,总有你学不完的参数设置。


在用 AI 生成画作的这大半个月,我越发惊叹人类艺术家的造诣。那些拥有自己成熟画风的艺术家是多么的伟大,试想,这每个名字背后得浓缩多少才华和心血才能达到影响 AI 画风的程度呢?


人类还没输。


“AI 超越人类”的新闻没有停过,人们担心自己会因此失业。但我想,面对一项新技术,消除焦虑最好的方法就是先学会它。


AI 不会让我失业,它大概率能让我早点下班。它有着更“脱缰”的想象力,能毫不费力地产出大量天马行空的画面,规则之外的构图,想都不敢想的混搭。有一些艺术家开始尝试在 Disco Diffusion 生成图的基础上再加工,再创作。


我用 Disco Diffusion 生成了一段视频


还有人担心它存在版权风险。Disco Diffusion 生成图理论上可以商用,其程序基于 MIT 开源协议,所有互联网用户可以免费使用、复制、修改甚至出售生成图。但我觉得还是存有风险。风险主要来源于你的描述词会引来画风抄袭的争议。


当你使用了风格鲜明的艺术家(尤其是在世的艺术家),以及某部商业作品作为关键词时,都请不要直接拿来商用。


作者:阿文_Simon

编辑:biu

注:以上所有理论知识和操作技巧均来自 YouTuber  Quick-Eyed Sky 的入门教程。文中配图如无特殊说明,均为作者提供。


 一个AI 

我只是输入了 🦋🤖⛅️

Disco Diffusion 就给了我这个:


更多“有极客”故事


本文来自果壳,未经授权不得转载.

如有需要请联系 sns@guokr.com

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存