AI绘图软件Stable Diffusion 安装和使用之二controlnet插件

2023-09-06 14:17:15

本期说一下Stable Diffusion非常有名的插件controlnet。同上一篇一样,我们安装b站大佬秋葉aaaki(有的网友戏称他/她是赛博佛祖)的stable diffusion4.2整合包。解压缩以后,打开启动器,见下图,界面比早期版本更好看了。

​编辑​

启动器打开以后,安装controlnet插件

填写网址:https://jihulab.com/hanamizuki/sd-webui-controlnet

点击查看原图

ControlNet还需要一些预处理器和模型,它们和整合包一起下载就可以了,然后拷贝到Stable Diffusion对应文件夹。

预处理器\downloads拷贝至D:\StableDiffusion\sd-webui-aki-v4.2\extensions\sd-webui-controlnet\annotator

\模型下面的文件拷贝至D:\StableDiffusion\sd-webui-aki-v4.2\models\ControlNet

在上一篇中,生成图片需要提示词,现在一些网站提供图片和提示词。我们也可以利用图生图中的反推提示功能。

在网络上随便找一张好看的图片,比如下图,点击“DeepBooru反推”按钮,本图的提示词就会生成在左边文本框中。

点击查看原图

因为孩子平时喜欢买线稿人物图上色,我们以给线稿上色为例说明ControlNet插件的功能。启用Controlnet,预处理使用invert,模型使用lineart—_anime。

点击查看原图

将刚才生成的提示词放在文生图的提示词框中,点击“生成”按钮,生成的成果图见下图。

点击查看原图

再找一张别的风格照片,比如下张雨中打伞的姑娘,反向生成提示词。

点击查看原图

将生成的提示词放在文生图的提示词框中,点击“生成”按钮,重新生成的成果图见下图。

点击查看原图

下图是诛仙中的陆雪琪。

点击查看原图

将其提示词放在文生图中的提示框内,重新生成的效果图如下。

点击查看原图

我们也可以将原图生成线稿图,比如下图,预处理器选择lineart_realistic,模型不变。

点击查看原图

点击“生成”按钮,生成线稿图如下。

无标题13.jpg

Controlnet还可以将低分辨率图像进行高清修复。比如说,自己的头像是很多年前拍摄的,当时像素低,现在利用Controlnet的tile模型进行修复。

首先,找一张明星照片,比如金城武,生成反向提示词。

点击查看原图

然后,拷贝生成的提示词至文本框,预处理选择tile_resample,模型tile。

点击查看原图

点击“生成”按钮,生成的效果如下图,仿佛一颗冉冉升起的新星,帅呆了。

00020-1933293375-solo, realistic, black_hair, jacket, shirt, looking_at_viewer.png

小结

最近人工智能发展非常快,特别是机器学习方面,比如AI绘图就是通过机器学习训练生成模型,然后在模型的基础生成同模型的风格化照片。随后,AI绘图进一步演化为换衣服、换脸,半身生成全身,扩充场景等。AI绘图会让一些画师失业,但是拥抱新技术的画师则会极大地提高工作效率,收益更胜从前。

参考文献

https://zhuanlan.zhihu.com/p/643744230

https://www.bilibili.com/video/BV1fa4y1G71W/?spm_id_from=333.999.0.0

https://www.bilibili.com/video/BV1AL411q7Ub/?spm_id_from=333.999.0.0&vd_source=6f9f0ad1eef623c5a58999f0093952a1

https://www.bilibili.com/video/BV1f14y197rx/?spm_id_from=333.337.search-card.all.click&vd_source=6f9f0ad1eef623c5a58999f0093952a1

https://www.bilibili.com/video/BV1Xv4y1E7kZ/?spm_id_from=333.337.search-card.all.click&vd_source=6f9f0ad1eef623c5a58999f0093952a1

更多推荐

Promise的链式调用

catch方法.catch(onRejected)=.then(null,onRejected)链式调用then方法必定会返回一个新的Promise可理解为后续处理也是一个任务新任务的状态取决于后续处理:若没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据若有后续处理但还未执行,新任务挂起。若后续处理执行

C++笔记之文档术语——将可调用对象作为函数参数

C++笔记之文档术语——将可调用对象作为函数参数相关博文:C++笔记之函数对象functors与可调用对象文章目录C++笔记之文档术语——将可调用对象作为函数参数1.在函数参数中传递可调用对象2.‘在参数中传入可调用对象’和‘将可调用对象作为函数参数’哪个描述更加专业官方?3."将可调用对象作为函数参数"是不是和‘回调

【Java 基础篇】Java网络编程基础知识详解

网络编程是现代软件开发中不可或缺的一部分,它使我们能够在不同的计算机之间实现数据传输和通信。Java作为一种强大的编程语言,提供了丰富的网络编程库,使开发者能够轻松地创建网络应用程序。本文将介绍Java网络编程的基础知识,面向初学者,详细讨论网络通信的概念、Socket编程、服务器和客户端编程等内容。1.网络通信的基本

二刷力扣--栈和队列

栈和队列栈和队列基础(Python)栈一种先进后出,队列先进后出。Python中可以用list实现栈,用append()模拟入栈,用pop()模拟出栈。也可以用list实现队列,但是效率较低,一般用collections.deque模拟(双端)队列。5.数据结构—Python3.11.5文档使用list进行栈的操作st

git 命令总结

git初始化gitinit添加文件gitadd<file>添加注释gitcommit-m"注释"重新提交覆盖上一次提交内容gitcommit--amend查看当前所处状态gitstatus克隆仓库gitclone<remoteURL>关联远程仓库gitremoteadd<remote><remoteURL>查看git对

【Java 基础篇】Java TCP通信详解

TCP(TransmissionControlProtocol)是一种面向连接的、可靠的网络传输协议,它提供了端到端的数据传输和可靠性保证。TCP通信适用于对数据传输的可靠性和完整性要求较高的场景,如文件传输、网页浏览等。本文将详细介绍Java中如何使用TCP协议进行网络通信,包括TCP套接字、服务器和客户端的创建、数

麒麟信安的2023世界计算大会时刻

9月15至16日,由工业和信息化部、湖南省人民政府主办的2023世界计算大会在长沙隆重举行。麒麟信安连续五年亮相世界计算大会,本届大会麒麟信安作为计算产业的重要建设者、国家新一代自主安全计算系统产业集群内核心企业,在展览展示、主题演讲、工控操作系统创新研究院揭牌仪式等多环节中深度参与。大会以“计算万物湘约未来——计算产

Leetcode算法入门与数组丨3. 数组基础

文章目录前言1数组简介2数组的基本操作2.1访问元素2.2查找元素2.3插入元素2.4改变元素2.5删除元素3总结task03task04前言Datawhale组队学习丨9月Leetcode算法入门与数组丨打卡笔记这篇博客是一个入门型的文章,主要是自己学习的一个记录。内容会参考这篇笔记(很详细):LeetCode算法笔

Python中的3D矩阵操作

迷途小书童读完需要6分钟速读仅需2分钟3D矩阵又称为立体矩阵,是指一个具有三个维度的矩阵结构。相比二维矩阵,它增加了一个深度维度。在3D矩阵中,第一个维度表示行数,第二个维度表示列数,第三个维度表示层数或深度,可以想象成一个多层的立方体结构。三维矩阵通常也称为NxNxN矩阵,在计算机视觉、医学成像、深度学习、增强现实等

Unity使用Mirror制作局域网的同步

1.脚本布置.参考tank那个demo制作1.新建空物体,为管理脚本的物体:manager,挂载NetworkManager,kcpTransport,NetworkManagerHud.2.设置玩家出生点,spawnPoint,设置好初始化的position的位置(*),挂载NetworkStartPosition的

Cortex-M3/M4基础

一、Cortex-M3/M4通用寄存器1、我们首先来了解一下M3/M4的寄存器,M4比M3多了一个浮点单元FPU。其他的部分基本和M3是一样的。2、Cortex-M3/M4系列处理器拥有通用寄存器R0-R15以及一些特殊功能的寄存器。3、R0‐R12是最“通用目的”的。4、但是绝大多数的16位指令只能使用R0‐R7(低

热文推荐