在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion。DD 是通过 CLIP 来进行图文匹配,引导 AI 进行图像生成的技术,通过 Diffusion 持续去噪去生成图像的,而在整个过程中,CLIP 不断地评估图像和文本之间的距离,来为生成图像的整体方向进行指导,最终就体现为“输入文字-生成图画”,因此我们便可以通过文字来引导AI生成艺术风格图片。

启动矩池云快速使用Disco Diffusion

矩池云已经将 Disco Diffusion 镜像搭建在平台上,可以直接使用,无需再进行环境搭建,主机市场中多种 GPU 可供选择,具体流程为 主机市场-选择GPU-租用-搜索&点击Disco,点击“下单”即可。

机器显示为“运行中”之后,点击JupyterLab链接

进入后找到 disco-diffusion文件夹

双击 Disco_Diffusion 文件,即可打开项目

默认文字输入生成图像

更改图像输出路径 Tips

在开始训练前,可以将此处 outDirPath 处的 ‘{root_path}/out_images’ 代码进行调整,调整到矩池云网盘中即可,比如如下就改为了 /mnt/DD_result/out_images 这样,终止训练以后,图片会直接存在矩池云网盘中,管理起来更轻松~

点击菜单栏 Run ,选择 Run All Cells ,等待依次等待模型加载完成,即可默认的生成图像

默认状态生成图像如下

修改文字输入生成图像

3. Prompts 此处,可以对引号内容进行文字修改

图像输出文件夹

如果没有操作刚才的“更改图像输出路径 Tips”,最后状态的图像将自动保存在文件夹 images_out 中,双击 images_out 就可以看到训练好的图片。

当然如果训练结束后、关闭机器前,想把最终都输出结果保存到矩池云网盘,可以在 Jupyterlab 里新建一个Terminal

然后将下面指令复制粘贴,回车执行。

mv /disco-diffusion/images_out/TimeToDisco /mnt/DD_result/castle



这代表着将 DD 输出图像的文件夹 /disco-diffusion/images_out/TimeToDisco,保存到矩池云网盘 /mnt/DD_result/castle 路径下(这个是我自己创立的,如果是其他路径进行修改即可)。

那么我们就可以在网页端 “我的网盘” 中找到这个文件夹,展示如下

如果开通了 矩池云客户端网盘 (可以联系矩池云小助手开通),就可以轻松在本地计算机上进行访问,点击图片旁边的下载图标,即可存在本地。

如果需要更改默认下载到本地的文件夹,则可以点击左下角的设置图标,修改保存的路径。

以上是矩池云网盘 Mac版 界面,目前矩池云网盘客户端支持 Windows 和 Mac ,如果有需要可以联系矩池云微信小助手,仅需发送你的矩池云账号,即可申请开通。

进阶使用 Disco Diffusion : 输入文字

在修改描述语部分,我们在0后面的语句进行修改即可,100后面的内容可以维持原貌。

默认模式下的描述语如下:

["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."]

我们看到,句法结构可以总结为:图像种类 + 主题描述 + 艺术家描述 + 风格调整。

输入描述语(Prompts)的时候,图像种类、主题描述、艺术家描述和风格保持在同一个范畴中,AI 对于某位指定艺术家和该位艺术家之外的风格进行组合的情况,会产生迷惑。在实践中,我们发现使用艺术家风格对AI的构图、颜色的调整非常有效,当然这也尽显于那些纳入 DD 本身。

例如,在设置 Prompts 为 "A beautiful painting of castle on the cloud by Studio Ghibli, Trending on artstation." 出图情况为,云和城堡都为宫崎骏工作室出品的作品中常见的镜像,输入内容相对具有一致性,因此在图像的风格特色比较明显。

图像类型(Type/Subject)

"A beautiful painting of",是对图像进行描述,一定程度上,这一描述也会影响到图像的风格。譬如 sketch、pencil drawing, matte painting, watercolor painting, Oil painting, Portrait photography, Portrait,都是可以拓展尝试的关键词,其对应的绘画风格。

主题描述(Main idea)

"a singular lighthouse, shining its light across a tumultuous sea of blood",是对画面细节的描述。画面描述也是所有描述中需要费心思研究的部分,会因为在这一部分中,决定了画面中出现的形象。

在描述中,尽量使用确切的语句,比如确定的个数(比如写出具体的数字而不是 many)、形象的词而不是概述的词,同时不使用否定词,这一部分再在上手输入实践的时候,会有更深刻的体会。

艺术家(Artist)

"by greg rutkowski and thomas kinkade"是对艺术家的描述,可以包含一名或多名艺术家的风格。比如尝试奇幻的景色风格,可以用 Tyler Edlin, Mark Simonetti 的风格;科幻类,可以尝试Jim Burns, John Harris, Dean Ellis, H.R. Giger 的风格;动画类可以尝试 Studio Ghibli, Makoto Shinkai 的风格。

以下为社区中的尝试过的一些知名艺术家的风格,可以作为参考。

Hiroshi Yoshida, Max Ernst, Paul Signac, Salvador Dali, James Gurney, Thomas Kinkade, Ivan Aivazovsky, Italo Calvino, Norman Rockwell, Albert Bierstadt, Giorgio de Chirico, Rene Magritte, Ross Tran, Marc Simonetti, John Harris, Hilma af Klint, George Inness, Pablo Picasso, William Blake, Wassily i Kandinsky, Peter Mohrbacher, Greg Rutkowski, Paul Signac, Steven Belledin, Studio Ghibli, John Singer Sargent, Alfons Mucha, Gustav Klimt, John William Waterhouse, Zdzisław Beksiński, Edmund Dulac, Arthur Rackham, Ivan Bilibin, Gerald Brom

风格调整

"yellow color scheme" 是对画面颜色风格的描述;参考渲染方式为 Trending on artstation(专业CG艺术家社区,被称作A站)。参考的种类/渲染方式可以根据创作者的设想,进行设定。4k resolution, 8k resolution, Unsplash photo contest winner, Deviantart, pixelart 3d art, Digital art, Blender, Octane Render, Unreal engine, , Acrylic painting, Shot on film 35mm lens, Character design, Cgsociety, Mandelbulb 3D, Trending on Flickr, Vaporwave 等等。

值得注意的是,这里有提及到 4K resolution / 8K resolusion,这并不代表着图片将渲染为对应的尺寸,尺寸还需要在 Setting 中进行设置,这里指的是 AI 将吸取哪些 4K / 8K 分辨率的图像中所具备的特征。

输入方式对输出画面的影响

输入的结构和输出的图像有较大关系,在保持其他设置100% (包括随机变量)一致的情况下,用以下Prompts进行输入

"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape, vibrant, cinematic lighting"

其结果为:

保持同样 Prompts 内容,仅仅改变断句方式,输入

"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape", "vibrant cinematic lighting"

其结果为:

输入不同句式会对构图产生比较大的影响,这应当是 DD 模型的自主性比较强造成的。在语义方面,正如先前所说到,CLIP-Guided,意味着输入文字的含义如果存在误读的可能,那么 CLIP 也很有可能会对其进行误读,最终生成的图像也就有可能产生不一样的结果,这一过程可以在打磨图像的过程中持续体会。

图片生成来自于:https://www.matpool.com/

参考艺术家风格:https://weirdwonderfulai.art/resources/disco-diffusion-70-plus-artist-studies/

参考关键词: https://imgur.com/a/SnSIQRu

视频版:

在矩池云使用Disco Diffusion生成AI艺术图的更多相关文章

  1. 矩池云上安装ikatago及远程链接教程

    https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...

  2. 如何使用 VS Code 远程连接矩池云主机

    Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...

  3. 矩池云 | Tony老师解读Kaggle Twitter情感分析案例

    今天Tony老师给大家带来的案例是Kaggle上的Twitter的情感分析竞赛.在这个案例中,将使用预训练的模型BERT来完成对整个竞赛的数据分析. 导入需要的库 import numpy as np ...

  4. 矩池云 | 使用LightGBM来预测分子属性

    今天给大家介绍提升方法(Boosting), 提升算法是一种可以用来减小监督式学习中偏差的机器学习算法. 面对的问题是迈可·肯斯(Michael Kearns)提出的:一组"弱学习者&quo ...

  5. 矩池云 | 教你如何使用GAN为口袋妖怪上色

    在之前的Demo中,我们使用了条件GAN来生成了手写数字图像.那么除了生成数字图像以外我们还能用神经网络来干些什么呢? 在本案例中,我们用神经网络来给口袋妖怪的线框图上色. 第一步: 导入使用库 fr ...

  6. 矩池云 | 搭建浅层神经网络"Hello world"

    作为图像识别与机器视觉界的 "hello world!" ,MNIST ("Modified National Institute of Standards and Te ...

  7. 矩池云 | 神经网络图像分割:气胸X光片识别案例

    在上一次肺炎X光片的预测中,我们通过神经网络来识别患者胸部的X光片,用于检测患者是否患有肺炎.这是一个典型的神经网络图像分类在医学领域中的运用. 另外,神经网络的图像分割在医学领域中也有着很重要的用作 ...

  8. 矩池云上使用nvidia-smi命令教程

    简介 nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具, ...

  9. 矩池云里查看cuda版本

    可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...

随机推荐

  1. 基础学习:社会工程学---利用Kali下的setoolkit进行钓鱼网站制作

    利用Kali下的setoolkit进行钓鱼网站制作 1.打开kali2019,输入setoolkit,打开setoolkit模块 2.输入命令1,进入钓鱼攻击页面 3.输入命令2,进入web钓鱼攻击页 ...

  2. matplotlib画图工具/绘制散点图

    绘制散点图 import matplotlib.pyplot as plt fig=plt.figure() ax = fig.add_subplot(111) ax.scatter(x,y, s,c ...

  3. C++基础-6-继承

    6. 继承 1 #include<iostream> 2 using namespace std; 3 4 5 class Base { 6 public: 7 Base() { 8 m_ ...

  4. Nginx编译安装及常用命令

    一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...

  5. OAuth2.0之OLTU实现举例

    一.场景 三个角色:用户(user),web应用(client),资源服务器和授权服务器合为服务器(server) 用户登录登录后可查看自己的信息 二.准备 2.1 数据库 schema drop t ...

  6. CF1625D - Binary Spiders[trie树优化dp]

    官方题解 题意:给数列a[],选择尽量多的数满足任意两个异或起来<=k 1625D - Binary Spiders 思路:首先,将数列排序得到,然后升序取得的值的任意两个最小值为相邻两个异或的 ...

  7. TornadoFx实现侧边栏菜单效果

    原文地址:TornadoFx实现侧边栏菜单效果 - Stars-One的杂货小窝 之前年前研究的东西,给蓝奏批量下载器重构了页面,实现了侧边栏菜单的效果,稍微总结下把 效果 实现 首先,要说明的是,总 ...

  8. 史上最全Spring Cloud Alibaba--Nacos教程(涵盖负载均衡、配置管理、多环境切换、配置共享/刷新、灰度、集群)

    能够实现Nacos安装 基于Nacos能实现应用负载均衡 能基于Nacos实现配置管理 配置管理 负载均衡 多环境切换 配置共享 配置刷新 灰度发布 掌握Nacos集群部署 1 Nacos安装 Nac ...

  9. CabloyJS - GitHub Readme

    简体中文 | English CabloyJS CabloyJS是一款顶级NodeJS全栈业务开发框架, 基于KoaJS + EggJS + VueJS + Framework7 文档 官网 & ...

  10. Charles如何抓取https请求-移动端+PC端

    Charles安装完成,默认只能抓取到http请求,如果查看https请求,会显示unkonw或其它之类的响应.所以需要先进行一些配置,才能抓取到完整的https请求信息.下面针对PC端和手机端抓包的 ...