当前位置: 首页 > news >正文

零基础光速入门AI绘画,SD保姆攻略

前言

大家好,我是AI绘画咪酱。一名AIGC狂热爱好者,目前正在AI绘画领域进行深入的探索。

我花了一个月时间把SD研究了一遍,秉持着用有趣、易懂的文字让小白也可以零基础光速使用SD(stable diffusion)入门AI绘画,一步步从零开始写出本系列的文章。今天也是本系列AI绘画SD攻略的最后一篇。

通过前面七篇文章,我详细的说明了SD各种模型的功能、参数设置的以及运用,相信大家已经对SD有了一个清晰的理解。肯定有很多朋友已经用SD画出了自己想要的图片。

但肯定也有一部分小伙伴还是对SD的综合运用有些疑问,只会对着步骤进行,离开了步骤很难自由发挥SD的强大功能。

今天的文章,我就会带大家从头梳理一遍SD,让大家对于SD绘画有更深的认知。

一、diffusion

diffusion的含义是扩散。这也是AI绘画最重要的一个算法。那究竟什么扩散呢?

先把一张图片模糊,也就是增加噪声,扩散的过程,然后再降噪,逆向扩散,清晰化的过程。

这就是整个扩散的过程。

在图片变得极为模糊之后,我们就可以从原本的画面中抽离,然后想象新的画面。

AI就是通过把投喂给它的无数图片,通过这样不断增加增加噪声的方式进行扩散,AI就可以不断学习这些抽象的内容,并不断理解了这个过程。AI每学习一张图,就吸取了一张图的图像特征,且与原图进行关联。

当AI学习了各种不同的风格和内容之后,这个时候的它就相当于成为了一个绘画的专家,走入公司,这时候我们作为领导给它输入提示词,它就可以进行理解并画出相应的图片。

当然,这个过程中,由于它掌握了太多的知识,所以当提示词不明确的时候,或者提示词之间有冲突时,它就会发挥失常,画出错误的图案。

关于AI绘画的更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 一

二、大模型

我们作为甲方,我们要寻找的必须是符合我们要求的乙方。比如我们要真实系的图片,自然不能找一个二次元的乙方。

所以用AI作图,首先我们要选择合适的大模型checkpoint。

根据AI学习的图片的不同类型,SD中的大模型目前也大致分为三种:真实系、二次元、2.5D(介于真实和二次元之间,类似于3D动漫效果)。

三、提示词

当我们选择了大模型之后,我们就已经可以给Ai输入提示词了。

但问题在于我们要如何去给AI一个明确的提示词,让它能理解我们的意思呢?

首先,我们要明白我们想要图片中什么,同时不要出现什么。

这也就是SD的正向和反向提示词,我们需要通过这些提示词对图片的内容进行约束。

同时,这里面涉及到提示词的规则(英文、词组、短句、分隔),提示词的内容(内容型提示词、标准化提示词)、权重、进阶的语法等。

提示词等相关内容可以看这一篇文章零基础光速入门AI绘画,SD保姆攻略 三

四、Lora模型

提示词的控制很多时候是比较宽泛的,比如一个美丽的女孩。

AI也会疑惑,有多美丽,哪里美丽,眼睛还是脸还是鼻子。

如果我们还要详细描述五官之类的,那工程量就太大了。

这就产生了人物的Lora。我们把一些好的元素融合在一起,然后打包扔给AI。

告诉它,我要用这里面的人物。AI就能很好的理解了。

当然,在这个基础上,还有服装的Lora,风格的Lora,灯光的Lora等等。不过人物Lora还是占据了Lora的半边天。

关于更多大模型和Lora的内容看这篇零基础光速入门AI绘画,SD保姆攻略 二

五、图生图

但是Lora有时候还是不能很好的达到我们的要求。我们想要让AI更好的理解我们的意思,我们就可以借助图生图加大对AI的约束。

就如同甲方拿着一张海报给乙方,并说,我想要这种图片的风格,或者线条,或者颜色等等。

这样AI在提示词,Lora的基础上,又多了一个参照物,对于我们的意思就更能理解了。

关于图生图更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 四

六、局部重绘

虽然我们给了AI上述的一步又一步的约束,但是AI还是会出错,或者某些细节不能达到我们的要求,但是其中一大部分是我们觉得还满意的。

这个时候我们就可以选中这张图的一部分,然后告诉它,这一部分重画一下。

这就需要用到SD绘画中的局部重绘功能。

关于局部重绘的更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 五

七、ControINet

其实通过上面约束,我们已经能对AI绘画的生成做出很多的约束。

但随着ControINet的诞生,对以上所有的约束直接造成了降维打击。

ControINet(控制网)让我们对于AI绘画的控制达到了目前的顶峰。

ControINet可以通过对图片的检测,去识别它的线条(canny、lineart、soft edge、mlsd/仅直线、scribble)、人物姿势(open pose)、空间深度(depth)、物品类型(seg)、风格颜色(shuffle、reference、normal、t2ia)、重绘(Inpaint、tile/加入细节)、特效(ip2p)。相信之后也可能出现更多的ControINet模型。

通过这些检测,对于新的图片的生成可以达成强有力的约束。

但我们使用ControINet,也要注意一个度的把控。

对于ControINet模型,我们可以这样理解。

AI做图本身就是一个随机的过程,当我们使用ControINet时,就是对AI的随机性进行了控制,当这个控制过强时,就相当于复制了一张图片,消减了AI的随机性。

我们要做的就是在随机性和控制性中取得一个平衡,当我们觉得控制过多,就减少控制,给AI更多的发挥,当过于随机时,我们就施加控制,给与AI适当的引导。

比如以线条为例,canny的控制就高于soft edge,soft edge又高于scribble。

我们可以根据自己的需求去选择合适的模型,从而对图片生成的控制达成一种平衡,生成我们脑海中的场景。

关于ControINet的更多内容可以看这两篇文章零基础光速入门AI绘画,SD保姆攻略 六 和零基础光速入门AI绘画,SD保姆攻略 七 。

八、生成图片

以上的所有内容,本质上就是给AI输入提示词给与引导,同时,对AI提出要求进行约束,这样一个过程。

当我们的提示和约束,与AI的理解达成一个平衡时,我们就可以看到一个由我们和AI共同创造,且独一无二的图片生成了。

这里直接将该软件分享出来给大家吧~
在这里插入图片描述

1.stable diffusion安装包

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本

在这里插入图片描述

2.stable diffusion视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入坑stable diffusion,科学有趣才能更方便的学习下去。

在这里插入图片描述

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

在这里插入图片描述

5.SD从0到落地实战演练

在这里插入图片描述

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名SD大神的正确特征了。

这份完整版的stable diffusion资料我已经打包好,需要的点击下方插件,即可前往免费领取!

在这里插入图片描述

相关文章:

零基础光速入门AI绘画,SD保姆攻略

前言 大家好,我是AI绘画咪酱。一名AIGC狂热爱好者,目前正在AI绘画领域进行深入的探索。 我花了一个月时间把SD研究了一遍,秉持着用有趣、易懂的文字让小白也可以零基础光速使用SD(stable diffusion)入门AI绘画&#…...

详细配置SQL Server的链接服务器(图文操作Mysql数据库)

目录 前言1. MySQL ODBC 驱动2. 配置 SQL Server 链接服务器3. 彩蛋前言 此处配置以及安装没有什么理论知识 所以直奔主题,跟着以下步骤配置安装即可 需求:准备在10.197.0.110中链接外部的10.197.0.96的mysql数据源 已默认在10.197.0.96中安装了MySQL数据库并且知道其连接信…...

DDD学习笔记五

模型引力场:聚合 强作用力体现: 某个领域模型是另一些模型存在的前提,没有前者,后者就失去了生存的意义。 一组领域模型之间存在关联的领域逻辑,任何时候都不能违反。 一组领域模型必须以一个完整的、一致的状态呈现给…...

CAN报文的发送类型-OnChange、OnWrite、IfActive、Repetition

CAN报文的发送类型分为基本发送类型和混合发送类型两大类 CAN基本发送类型包括Cyclic周期发送、OnChange变化时发送、OnWrite写入时发送和IfActive有效时发送。基本发送类型中的Cyclic称为周期型,而其他3个类型称为事件型(Event)。发送次数是通过定义Repetition重复次数来实…...

神经网络在机器学习中的应用:手写数字识别

机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数…...

QT拖放事件之四:自定义拖放操作-利用QDrag来拖动完成数据的传输-案例demo

1、核心代码 #include "Widget.h" #include "ui_Widget.h" #include "MyButton.h"Widget::Widget(QWidget *parent): QWidget...

Spring Boot应用的部署与扩展

Spring Boot应用的部署与扩展 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 引言 Spring Boot作为现代化Java应用的首选框架之一,以其简化的配置…...

Spring底层原理之bean的加载方式八 BeanDefinitionRegistryPostProcessor注解

BeanDefinitionRegistryPostProcessor注解 这种方式和第七种比较像 要实现两个方法 第一个方法是实现工厂 第二个方法叫后处理bean注册 package com.bigdata1421.bean;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.…...

大数据面试题之Spark(5)

Spark SQL与DataFrame的使用? Sparksql自定义函数?怎么创建DataFrame? HashPartitioner和RangePartitioner的实现 Spark的水塘抽样 DAGScheduler、TaskScheduler、SchedulerBackend实现原理 介绍下Sparkclient提交application后,接下来的流程? Spark的几种…...

springboot笔记示例六:fastjson2集成

springboot笔记示例六:fastjson2集成 本文md下载 https://download.csdn.net/download/a254939392/89491102本文md文档下载地址 #springboot json官方说明 https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-json.htmlsprin…...

VLOOKUP函数在表格的简单运用-两个表匹配

1.什么是VLOOKUP? VLOOKUP是Excel中的一个内置函数,主要用于在区域或表格的首列查找指定的值,并返回该行中其他列的值。它特别适用于跨表格数据匹配 2.函数运用 2.1.这边两个表取名a表和b表,做为我们的实例表。 表格a包含&…...

http.cookiejar.LoadError: Cookies file must be Netscape formatted,not JSON.解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

逻辑操作符

目录 && --- 逻辑与操作符 || --- 逻辑或操作符 && --- 逻辑与操作符 逻辑与操作符有并且的意思,一般用于判断语句中 逻辑与操作符运行规则是都要为真,才会继续执行或计算 360笔试题: 有关前置(--),后置(-…...

Java调用第三方接口的秘籍:技巧、案例与最佳实践

Java调用第三方接口的秘籍:技巧、案例与最佳实践 在Java开发中,调用第三方接口是一项常见的任务。无论是与外部系统交互、集成其他服务,还是调用远程API获取数据,掌握有效的第三方接口调用技巧都是至关重要的。本文将深入剖析Jav…...

【机器学习】机器学习重要方法——深度学习:理论、算法与实践

文章目录 引言第一章 深度学习的基本概念1.1 什么是深度学习1.2 深度学习的历史发展1.3 深度学习的关键组成部分 第二章 深度学习的核心算法2.1 反向传播算法2.2 卷积神经网络(CNN)2.3 循环神经网络(RNN) 第三章 深度学习的应用实…...

计网之IP

IP IP基本认识 不使用NAT时,源IP地址和目的IP地址不变,只要源MAC和目的MAC地址在变化 IP地址 D类是组播地址,E类是保留地址 无分类地址CIDR 解决直接分类的B类65536太多,C类256太少a.b.c.d/x的前x位属于网路号,剩…...

mybatis延迟加载

mybatis延迟加载 1、延迟加载概述 应用场景 ​ 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载的好处 ​ 先从单表查询、需要时再从关联表去关联查…...

危险!属性拷贝工具的坑!

1. 背景​ 之前在专栏中讲过“不推荐使用属性拷贝工具”,推荐直接定义转换类和方法使用 IDEA 插件自动填充 get / set 函数。 不推荐的主要理由是: 有些属性拷贝工具性能有点差有些属性拷贝工具有“BUG”使用属性拷贝工具容易存在一些隐患&#xff08…...

qt实现打开pdf(阅读器)功能用什么库比较合适

关于这个问题,网上搜一下,可以看到非常多的相关博客和例子,可以先看看这个总结性的博客(https://zhuanlan.zhihu.com/p/480973072) 该博客讲得比较清楚了,这里我再补充一下吧(qt官方也给出了一些…...

在node.js环境中使用web服务器http-server运行html静态文件

http-server http-server是一个超轻量级web服务器,它可以将任何一个文件夹当作服务器的目录供自己使用。 当我们想要在服务器运行一些代码,但是又不会配置服务器的时候,就可以使用http-server就可以搞定了。 使用方法 因为http-server需要…...

解锁GitHub极速体验:智能加速插件深度解析

解锁GitHub极速体验:智能加速插件深度解析 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub GitHub加速插件(…...

QMCFLAC2MP3终极指南:免费快速解锁QQ音乐格式限制

QMCFLAC2MP3终极指南:免费快速解锁QQ音乐格式限制 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 你是否曾经在QQ音乐下载了心爱的歌曲&#xff0…...

Godot卡牌游戏框架终极指南:3小时从零构建专业级卡牌游戏

Godot卡牌游戏框架终极指南:3小时从零构建专业级卡牌游戏 【免费下载链接】godot-card-game-framework A framework which comes with prepared scenes and classes to kickstart your card game, as well as a powerful scripting engine to use to provide full r…...

UEFITool终极指南:轻松解析和编辑UEFI固件的开源利器

UEFITool终极指南:轻松解析和编辑UEFI固件的开源利器 【免费下载链接】UEFITool UEFI firmware image viewer and editor 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITool 你是否曾好奇计算机启动时底层发生了什么?想要深入了解UEFI固件的…...

DeepSeek LeetCode 2421. 好路径的数目 Python3实现

给你 Python3 版本的代码,思路和之前的 Java 实现一致: 完整代码 python class Solution: def numberOfGoodPaths(self, vals: List[int], edges: List[List[int]]) -> int: n len(vals) # 1. 构建邻接表 gr…...

终极显卡调校指南:如何用NVIDIA Profile Inspector释放游戏性能

终极显卡调校指南:如何用NVIDIA Profile Inspector释放游戏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款专为NVIDIA显卡用户设计的免费优化工具&…...

告别时间混乱:一份超全的Hive日期函数使用手册与常见错误排查

告别时间混乱:一份超全的Hive日期函数使用手册与常见错误排查 在数据开发领域,时间数据处理一直是高频且易错的环节。无论是日志分析、用户行为追踪还是财务报表生成,准确的时间计算都是确保数据质量的基础。Hive作为大数据生态中广泛使用的数…...

基于Kubernetes Lease构建分布式部署锁:解决CI/CD环境下的资源竞争

1. 项目概述:从“clawfight”看一场被遗忘的社区技术博弈看到“2019-02-18/clawfight”这个标题,很多人的第一反应可能是困惑。它不像一个标准的软件项目名,没有清晰的版本号,也没有指明具体的技术栈。但恰恰是这种看似随意的命名…...

如何在Windows上无缝安装安卓应用:APK安装器终极指南

如何在Windows上无缝安装安卓应用:APK安装器终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾在电脑上羡慕安卓应用的便利,却苦…...

面向开发者的轻量级计划管理工具:配置驱动与命令行优先

1. 项目概述:一个为开发者而生的计划管理工具在软件开发的世界里,我们每天都在与各种“计划”打交道:版本迭代计划、个人学习计划、项目里程碑、甚至是每日的待办清单。然而,一个尴尬的现实是,市面上大多数项目管理工具…...