了解AI绘图,Stable Diffusion的使用

AI绘图对GPU算力要求较高。

个人电脑配置可参考:
CPU:14600kf 盒装
显卡:RTX 4080金属大师 OC,16G显存
主板:z790吹雪d4
内存:芝奇皇家戟4000c18,16×2G
硬盘:宏基gm7000 1T
散热:追风者冰灵
电源:酷冷至尊850w sfx
机箱:包豪斯mini
风扇:联力积木一代 两把140 七把120

文章参考链接:https://blog.csdn.net/libaiup/article/details/136478141


一.Stable Diffusion的安装

前置条件,需安装python3.10.6和Git版本管理工具:

1.安装 Python 3.10.6 ,链接:Python Release Python 3.10.6 | Python.org

Windows installer (64-bit)WindowsRecommended8f46453e68ef38e5544a76d84df3994c27.6 MBSIG

2.安装Git,链接:Git - Downloading Package

64-bit Git for Windows Setup.


GitHub开源地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui 这个由于墙的问题,下载非常慢。可以了解一下原仓库。

秋叶整合包教程:https://www.bilibili.com/video/BV1ne4y1V7QU 

启动前需要注意:AMD的显卡,HIP SDK需下载并安装5.7.1版本,高版本可能不兼容。

HIP SDK官网链接:AMD HIP SDK for Windows

安装后重启电脑。APP启动器一键启动后,会直接拉起本地浏览器,进入http://127.0.0.1:7860/页面。第一次启动过程可能会继续下载启动需要的依赖库,下载好后可进入。


二.Stable Diffusion用户界面

汉化

1.方式一,插件单独下载,并放入extensions文件夹下:https://github.com/VinsonLaro/stable-diffusion-webui-chinese

2.方式二,WebUi界面下载安装(推荐),"Extensions"、"Install from URL"、输入框https://github.com/VinsonLaro/stable-diffusion-webui-chinese、"Install"、"Apply and restart UI"

双语配置(中英合用)"Settings"、"User interface"、"Localization (requires restart)“,选择"Chinese-All"或者"Chinese-English”"Apply settings"、"Reload UI"


界面功能

文生图:文本提示生成图像
图生图:图像作为范本、结合文本提示生成图像
更多:优化图像
图片信息:显示图像的提示词及模型信息
模型合并:将已有的模型,通过修改后合并生成新模型
训练:将提供的图片,训练出具有某种图像风格的模型

AI绘图原理:根据不同的提示词及参数的约束,给到大模型算法训练,出图的过程由模糊到清晰。提示词分2种:正面提示词(Prompt)、负面提示词(Negative Prompt),提示词直接使用英文逗号隔开,最后一个提示词需注意也用英文逗号
正面提示词(Prompt):期望描述生成的内容,通常在75个英文词汇以内,描述少就给AI更多自由发挥空间。
负面提示词(Negative Prompt):不想让SD生成的内容。
正面提示词,常规使用:masterpiece, best quality, 表示杰作、高质量。
负面提示词,常规使用:nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, 表示不适用于公开场合的描述,以及一些低质量的通用诟病内容统一限制。

常用图标,从左到右

1.复原上次生成图片的提示词

2.清空当前所有提示词

3.打开模型选择界面

4.应用选择的风格模板,自动生成提示词

5.存档当前的正反向提示词

采样方法,大模型算法分类

不考虑渲染速度,从图片输出品质的角度,可将采样算法分为:收敛不收敛2类。收敛可理解为生成图像较保守、大众化的,不收敛可理解为多样性、创造性更强,质量或好或坏,不稳定,像开盲盒。

采样方法的选择

通过选择合适的采样方法,可以显著提升Stable Diffusion在写实或二次元渲染方面的表现。

采样方法很多都已过时,下面提供最新的几个常用且高效的采样方法:

1.写实图,最推荐的采样算法:DPM++ SDE Karras,特点:不收敛、高品质、速度快。

2.二次元图,最推荐的采样算法:DPM++ 2M Karras,特点:收敛、速度快、质量OK。

DPM++ 2M SDE Karras: 2M于SDE算法的折中算法,不收敛、速度有所提升。

DPM++ 2M SDE Exponential(同DPM++ 2M SDE Karras):指数算法不收敛、细节少一些、画面更柔和、干净

DPM++ 3M SDE Karras、DPM++ 3M SDE Exponential:速度和2M一样,需要更多的采样步数,调低CFG,采样步数>30效果更好

UniPC:2023新算法,统一预测矫正器、兼容性很好、收敛、10步左右就能生成可用画面。

Restart:每步渲染时间长一些,但只需要很少的采样步数,就能生成质量相当不错的图片。

Euler:经典ODE采样器,简单直接、不容易出错、中规中矩、收敛。

Euler a:Euler祖先采样器,收敛。

多样性

eta和sigma都是多样性相关的,但是它们的多样性来自步数的变化,追求更大多样性的话应该关注seed的变化,这两项参数应该是在图片框架被选定后,再在此基础上做微调时使用的参数。

采样步数
稳定扩散通过从充满噪音的画布开始创建图像,并逐渐去噪以达到最终输出。此参数控制这些去噪步骤的数量。通常越高越好,但在一定程度上,我们使用的默认值是25个步骤。下面有几个使用场景的采样步数值。

1.测试快速输出,采样步数10-15

2.确定当前的提示词,采样步数25

3.如果是有毛皮的动物或有纹理的主题,生成的图像缺少一些细节,采样步数40

面部修复:修复人物面部,注:非写实类的人物开启时可能导致面部变形。
平铺:生成一张可以平铺的图像
高分辨率重绘:小分辨率创建图像,不改变构图情况下进行细节改进,这里需要用到放大算法、放大倍数以及重回幅度。
放大算法:Latent 在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x、SwinR 4x 对 0.5 以下的重绘幅度有较好支持。
放大倍数: 通常2倍即可
重绘幅度:

阈值推荐:0.3~0.7。决定算法对图像内容的保留程度。该值越高,放大后图像就比放大前图像差别越大。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些,0什么都不会改变,1会得到一个完全不同的图像。具体的执行步骤为 重绘强度 * 重绘步数。

长宽尺寸(分辨率)
最佳的范围应在512至768像素之间。正方形图:512*512和768*768,人像肖像: 512x768,风景画 768×512,可按比例加大或减小,这个值必须是 8 的倍数。如果不希望主题对象出现重复,应在此范围内选择适当的尺寸。如果需要更高分辨率的图片,建议先使用SD模型生成图片,然后再使用合适的模型进行upscale。

生成批次:每次生成图像的组数。一次运行生成图像的数量为生成批次 * 每批数量。
每批数量:同时生成多少个图像。增加这个值可以提高性能,但你也需要更多的 VRAM。图像总数是这个值乘以批次数。

提示词相关性CFG:较高的数值将提高生成结果与提示的匹配度。
OpenArt上使用的默认CFG是7,这在创造力和生成你想要的东西之间提供了最佳平衡。通常不建议低于5。
CFG量表可以分为不同的范围,每个范围都适合不同的提示类型和目标
CFG 2 – 6:有创意,但可能太扭曲,没有遵循提示。对于简短的提示来说,可以很有趣和有用
CFG 710:推荐用于大多数提示。创造力和引导一代之间的良好平衡
CFG 10-15:当您确定您的提示是详细且非常清晰的,您希望图像是什么样子时
CFG 16-20:除非提示非常详细,否则通常不推荐。可能影响一致性和质量
CFG >20:几乎无法使用

随机种子(Seed):生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的基础。

提示词生成

Prompt格式优化

第一段:画质tag,画风tag
第二段:画面主体,主体强调,主体细节概括(主体可以是人、事、物、景)画面核心内容。一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等
第三段:画面场景细节,或人物细节,embedding tag。画面细节内容

举个例子
(具体场景还是要灵活应用,多尝试,找到合适自己的节奏和风格)
第一段:masterpiece, best quality, 4k, ( Pixar - style :1.4)
第二段:1boy,(Cute,handsome,wearing outdoor sportswear :0.7), 3D,(Face close-up :1.2), (at night, surrounded by glowing plants, flowers, flying fireflies, bonfires), (Ultra detailed, aesthetic, beautiful composition, rich bright colors, volumetric soft light).
第三段:Inspired by Alice in Wonderland, magic, fairy tales. unreal Engine, octane render, cuteness render, awe inspiring, beautiful, lora:blindbox\_V1Mix:1

Prompt规则细节

1. 越靠前的Tag权重越大。
2. 生成图片的大小会影响Prompt的效果,图片越大需要的Prompt越多,不然Prompt会相互污染。
3.Stable-diffusion中,可以使用括号人工修改提示词的权重,方法如下:
(word) - 将权重提高 1.1 倍
((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1)
[word] - 将权重降低至原先的 90.91%
(word:1.5) - 将权重提高 1.5 倍
(word:0.25) - 将权重减少为原先的 25%
请注意,权重值最好不要超过 1.5

4. Prompt支持使用emoji,可通过添加emoji达到表现效果。如 形容表情, 可修手。
5.“+” , “ AND” , “|” 用法:“+”和“ AND ”都是用于连接短Tag,但AND两端要加空格。"+“约等于” and ";“|” 为循环绘制符号(融合符号)(Prompt A: w1)|(Prompt B: w2)
以上表达适用于WebUI,w1、w2为权重。AI会对A、 B两Prompt进行循环绘制。可往后无限加入Prompt。
6.tag不一定是多么充满细节,只要模型稳定。小图+高分辨率重绘。800*400的图变成1600*800,初识小图减少崩坏概率。
7.关键词最好具有特异性,譬如 Anime(动漫)一词就相对泛化,而Jojo一词就能清晰地指向 Jojo动漫的画风。措辞越不抽象越好,尽可能避免留下解释空间的措辞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967182.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux环境自动化golang项目启动脚本解析

一.场景介绍 当在本地创建了golang项目,修改了代码功能,怎么在远程测试服务器上更新该功能呢,可以使用下面的步骤来解决该问题(这只是其中一种方法): (1).推送最新代码到远程仓库 (2).在测试服务器上创建该项目并拉取最新代码 (3).创建deploy.sh脚本 (4).运行deploy.sh脚本 二.…

归一化与伪彩:LabVIEW图像处理的区别

在LabVIEW的图像处理领域,归一化(Normalization)和伪彩(Pseudo-coloring)是两个不同的概念,虽然它们都涉及图像像素值的调整,但目的和实现方式截然不同。归一化用于调整像素值的范围&#xff0c…

基于DeepSeek API和VSCode的自动化网页生成流程

1.创建API key 访问官网DeepSeek ,点击API开放平台。 在开放平台界面左侧点击API keys,进入API keys管理界面,点击创建API key按钮创建API key,名称自定义。 2.下载并安装配置编辑器VSCode 官网Visual Studio Code - Code Editing…

Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)

感谢您点开这篇文章:D,鼠鼠我是一个代码小白,下文是学习开源项目Open WebUI过程中的一点笔记记录,希望能帮助到你~ 本人菜鸟,持续成长,能力不足有疏漏的地方欢迎一起探讨指正,比心心&#xff5e…

SSM仓库物品管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.用户登录代码:2.保存物品信息代码:3.删除仓库信息代码: 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SSM框架开发的仓库…

Python微博动态爬虫

本文是刘金路的《语言数据获取与分析基础》第十章的扩展,详细解释了如何利用Python进行微博爬虫,爬虫内容包括微博指定帖子的一级评论、评论时间、用户名、id、地区、点赞数。 整个过程十分明了,就是用户利用代码模拟Ajax请求,发…

时序数据库:Influxdb详解

文章目录 一、简介1、简介2、官网 二、部署1、安装2、配置(1)用户初始化 三、入门(Web UI)1、加载数据(1)上传数据文件(2)代码接入模板 2、管理存储桶(1)创建…

unity学习32:角色相关1,基础移动控制

目录 0 应用商店 1 角色上新增CharacterController 组件 1.1 角色上新增CharacterController 组件 1.2 如果没有这个则会报错 2 速度 2.1 默认速度,按帧率计算 2.2 修改速度为按时间计算 2.3 movespeed,基础是1米/秒,这个就是每 move…

Centos Ollama + Deepseek-r1+Chatbox运行环境搭建

Centos Ollama Deepseek-r1Chatbox运行环境搭建 内容介绍下载ollama在Ollama运行DeepSeek-r1模型使用chatbox连接ollama api 内容介绍 你好! 这篇文章简单讲述一下如何在linux环境搭建 Ollama Deepseek-r1。并在本地安装的Chatbox中进行远程调用 下载ollama 登…

mysql8.0使用pxc实现高可用

环境准备 准备三台虚拟机,其对应的主机名和IP地址为 pxc-1192.168.190.129pxc-2192.168.190.133pxc-3192.168.190.134 解析,都要做解析 测试 下载pxc的安装包, 官网:https://www.percona.com/downloads 选择8.0的版本并下载,…

LabVIEW污水生化处理在线监测

污水处理是环保领域的重要工作,传统污水处理方法在监测方面存在实时性差、操作不便等问题。为解决这些问题,本项目设计并实现了一套基于LabVIEW的污水生化处理在线监测平台,能够实时监测污水处理过程中的关键参数,如温度、pH值、溶…

【AI学习】关于 DeepSeek-R1的几个流程图

遇见关于DeepSeek-R1的几个流程图,清晰易懂形象直观,记录于此。 流程图一 来自文章《Understanding Reasoning LLMs》, 文章链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms?continueFlagaf07b1a0…

vs封装dll 给C#使用

一,vs创建控制台应用 创建控制台应用得好处时,我们可以自己测试接口,如果接口没有问题,改成dll重新编译一遍就可以。 二, 创建一个c 类,将所需提供得功能 封装到类中。 这样可以将 所有功能,进…

ubuntu20使用tigervnc远程桌面配置记录

一、安装tigervnc sudo apt install tigervnc-common sudo apt install tigervnc-standalone-server二、增加配置文件 安装完后新增配置文件:vim ~/.vnc/xstartup #!/bin/sh #Uncomment the following two lines for normal desktop: #unset SESSION_MANAGER #ex…

DeepSeek使用技巧大全(含本地部署教程)

在人工智能技术日新月异的今天,DeepSeek 作为一款极具创新性和实用性的 AI,在众多同类产品中崭露头角,凭借其卓越的性能和丰富的功能,吸引了大量用户的关注。 DeepSeek 是一款由国内顶尖团队研发的人工智能,它基于先进…

网络原理之HTTPS(如果想知道网络原理中有关HTTPS的知识,那么只看这一篇就足够了!)

前言:随着互联网安全问题日益严重,HTTPS已成为保障数据传输安全的标准协议,通过加密技术和身份验证,HTTPS有效防止数据窃取、篡改和中间人攻击,确保通信双方的安全和信任。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要…

MySQL 8.0.41 终端修改root密码

1.在 MySQL 命令行中,运行以下命令修改密码 ALTER USER rootlocalhost IDENTIFIED BY new_password; 其中,new_password替换为你想要设置的新密码 2.退出 MySQL终端,重新打开,使用新密码进入,修改成功

TCP服务器与客户端搭建

一、思维导图 二、给代码添加链表 【server.c】 #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <fcntl.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.…

JVM春招快速学习指南

1.说在前面 在Java相关岗位的春/秋招面试过程中&#xff0c;JVM的学习是必不可少的。本文主要是通过《深入理解Java虚拟机》第三版来介绍JVM的学习路线和方法&#xff0c;并对没有过JVM基础的给出阅读和学习建议&#xff0c;尽可能更加快速高效的进行JVM的学习与秋招面试的备战…

kafka服务端之副本

文章目录 概述副本剖析失效副本ISR的伸缩LWLEO与HW的关联LeaderEpoch的介入数据丢失的问题数据不一致问题Leader Epoch数据丢失数据不一致 kafka为何不支持读写分离 日志同步机制可靠性分析 概述 Kafka中采用了多副本的机制&#xff0c;这是大多数分布式系统中惯用的手法&…