了解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) | Windows | Recommended | 8f46453e68ef38e5544a76d84df3994c | 27.6 MB | SIG |
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动漫的画风。措辞越不抽象越好,尽可能避免留下解释空间的措辞。
相关文章:

了解AI绘图,Stable Diffusion的使用
AI绘图对GPU算力要求较高。 个人电脑配置可参考: CPU:14600kf 盒装 显卡:RTX 4080金属大师 OC,16G显存 主板:z790吹雪d4 内存:芝奇皇家戟4000c18,162G 硬盘:宏基gm7000 1T 散热:追风…...

idea整合deepseek实现AI辅助编程
1.File->Settings 2.安装插件codegpt 3.注册deepseek开发者账号,DeepSeek开放平台 4.按下图指示创建API KEY 5.回到idea配置api信息,File->Settings->Tools->CodeGPT->Providers->Custom OpenAI API key填写deepseek的api key Chat…...
llama_index
目录 安装 llama_index 搜索引擎 用 DeepSeek API 替换本地 Ollama 模型 源代码: 安装 pip install llama_index llama_index 搜索引擎 llama_index框架构建搜索引擎_llamaindex使用正则表达式拆分文档-CSDN博客 用 DeepSeek API 替换本地 Ollama 模型 https…...
Spring Boot统一异常拦截实践指南
Spring Boot统一异常拦截实践指南 一、为什么需要统一异常处理 在Web应用开发中,异常处理是保证系统健壮性和用户体验的重要环节。传统开发模式中常见的痛点包括: 异常处理逻辑分散在各个Controller中错误响应格式不统一敏感异常信息直接暴露给客户端…...

Games104——游戏引擎Gameplay玩法系统:基础AI
这里写目录标题 寻路/导航系统NavigationWalkable AreaWaypoint NetworkGridNavigation Mesh(寻路网格)Sparse Voxel Octree Path FindingDijkstra Algorithm迪杰斯特拉算法A Star(A*算法) Path Smoothing Steering系统Crowd Simu…...

stm32生成hex文件详解
1.产生的map文件干啥的? 2.组成情况??? 废话少说,直接上代码具体内容况: Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]Section Cross Referencesstartup_stm32f103xe.o(S…...

【Windows 开发NVIDIA相关组件】CUDA、cuDNN、TensorRT
目录 1. 安装 CUDA Toolkit 2. 安装 cuDNN 3. 安装 Zlib 4. 安装 TensorRT 5. 安装 TensorRT Python 包[c++项目不需要] 6. 安装 ONNX GraphSurgeon 包[c++项目不需要] 1. 安装 CUDA Toolkit 从 CUDA ToolkitArchive 下载对应版本的离线安装包,以 11.7 版本为例。 打开安…...

AI大模型(二)基于Deepseek搭建本地可视化交互UI
AI大模型(二)基于Deepseek搭建本地可视化交互UI DeepSeek开源大模型在榜单上以黑马之姿横扫多项评测,其社区热度指数暴涨、一跃成为近期内影响力最高的话题,这个来自中国团队的模型向世界证明:让每个普通人都能拥有媲…...
各种协议设计
这些设计问题背后的核心本质可以总结为以下几个关键原则,我将结合不同领域为您系统讲解: 一、核心设计原则(本质层面) 抽象与分层 本质:将复杂系统分解为不同层次的抽象(物理层/逻辑层/业务层)…...

DockerFile详细学习
目录 1.DockerFile介绍 2.DockerFile常用指令 3.指令详细讲解 4.实例 构建Node-Exporter 构建Alertmanager 构建Mariadb 1.DockerFile介绍 什么是 Dockerfile? Dockerfile 是一个文本文件,包含了构建 Docker 镜像的所有指令。 Dockerfile 是一…...
Windows Docker笔记-简介摘录
Docker是一个开源的容器化平台,可以帮助开发人员将应用程序与其依赖项打包在一个独立的容器中,然后在任何安装的Docker的环境中快速、可靠地运行。 几个基本概念和优势: 1. 容器 容器是一个轻量级、独立的运行环境,包含了应用程…...

TeamSpeak开黑频道加入 —— 点歌机器人 (细致讲解100%学会)
文章目录 前言:搭建Ubuntu云服务器选择服务器:打开防火墙(前置工作):下载Xshell 连接: 创建机器人工作路径创建新用户teamspeak:升级新用户teamspeak的访问权限:切换为teamspeak用户并为机器人创建文件夹: 下载机器人本体安装依赖库:下载TS3…...

2025简约的打赏系统PHP网站源码
源码介绍 2025简约的打赏系统PHP网站源码 源码上传服务器,访问域名/install.php安装 支持自定义金额打赏 集成支付宝当面付 后台管理系统 订单记录查询 效果预览 源码获取 2025简约的打赏系统PHP网站源码...

网络安全 | 零信任架构:重构安全防线的未来趋势
网络安全 | 零信任架构:重构安全防线的未来趋势 一、前言二、零信任架构的核心概念与原理2.1 核心概念2.2 原理 三、零信任架构的关键技术组件3.1 身份管理与认证系统3.2 授权与访问控制系统3.3 网络与安全监测系统3.4 加密与数据保护技术 四、零信任架构与传统安全…...
JavaScript系列(62)--实时通信系统实现详解
JavaScript实时通信系统实现详解 🔄 今天,让我们深入探讨JavaScript的实时通信系统实现。实时通信是现代Web应用中不可或缺的一部分,它能够提供即时的数据交互和更好的用户体验。 WebSocket通信基础 🌟 💡 小知识&am…...

【蓝桥杯嵌入式】2_LED
1、电路图 74HC573是八位锁存器,当控制端LE脚为高电平时,芯片“导通”,LE为低电平时芯片“截止”即将输出状态“锁存”,led此时不会改变状态,所以可通过led对应的八个引脚的电平来控制led的状态,原理图分析…...
代码随想录day06
242.有效的字母异位词 刚学哈希表想着使用unordered_set来实现,结果无法通过,原因是对字母异位词理解有问题,字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。对字母出现的次数有要求&am…...

Spring @PropertySource:让你的应用配置更加模块化和可维护
PropertySource注解在Spring中的作用,就像是给Spring应用配了一个“外部配置箱”。 想象一下,你在开发一个Spring应用时,有很多配置信息需要设置,比如数据库的连接信息、应用的某些功能开关等。如果这些信息都硬编码在代码中&…...
【Java】MyBatis动态SQL
在MyBatis中使用动态SQL语句。 动态SQL是指根据参数数据动态组织SQL的技术。 生活中的案例: 在京东上买东西时,用户搜索商品,可以选择筛选条件,比如品牌,价格,材质等,也可以不使用筛选条件。这时…...
旅行社项目展示微信小程序功能模块和开发流程
旅行社当前旅游线路的程序(微信小程序),旨在帮助旅行社更高效地管理线下活动预订,同时为客户提供便捷的报名和查看功能。适用于短途游、团队建设等活动,支持在线预订、缴费及订单管理,可根据用户需求定制更多个性化服务,为公司提升品牌知名度与客户体验。通过简洁明了的…...
[论文阅读] 人工智能+软件工程 | 结对编程中的知识转移新图景
当AI成为编程搭档:结对编程中的知识转移新图景 论文信息 论文标题:From Developer Pairs to AI Copilots: A Comparative Study on Knowledge Transfer(从开发者结对到AI副驾驶:知识转移的对比研究) 作者及机构&#…...
Redis 知识点一
参考 Redis - 常见缓存问题 - 知乎 Redis的缓存更新策略 - Sherlock先生 - 博客园 三种缓存策略:Cache Aside 策略、Read/Write Through 策略、Write Back 策略-CSDN博客 1.缓存问题 1.1.缓存穿透 大量请求未命中缓存,直接访问数据库。 解决办法&…...
网盘变硬盘挂载软件:百度 / 阿里 / OneDrive 秒变本地磁盘
各位网盘达人们!今天咱来聊聊超神奇的网盘挂载软件。你知道吗,这玩意儿就像个超级魔法棒,能把远程网盘,像百度网盘、阿里云盘、OneDrive这些,变成咱本地的虚拟磁盘。有了它,咱管理云端文件就跟操作自己家硬…...

6.Pandas 数据可视化图-1
第三章 数据可视化 文章目录 目录 第三章 数据可视化 文章目录 前言 一、数据可视化 二、使用步骤 1.pyplot 1.1引入库 1.2 设置汉字字体 1.3 数据准备 1.4 设置索引列 编辑 1.5 调用绘图函数 2.使用seaborn绘图 2.1 安装导入seaborn 2.2 设置背景风格 2.3 调用绘图方法 2.…...

微软重磅发布Magentic UI,交互式AI Agent助手实测!
微软重磅发布Magentic UI,交互式AI Agent助手实测! 何为Magentic UI? Magentic UI 是微软于5.19重磅发布的开源Agent助手,并于24日刚更新了第二个版本0.04版 从官方的介绍来看,目标是打造一款 以人为中心 的智能助手,其底层由多个不同的智能体系统驱动,能够实现网页浏览…...

音频剪辑软件少之又少好用
我们平时见到的图片以及视频编辑工具非常多,但是音频剪辑软件却是少之又少,更不用说有没有好用的,今天,给大家带来一款非常专业的音频剪辑软件,而且是会员喔。 软件简介 一款手机号登录即可以享受会员的超专业音频剪…...
一.设计模式的基本概念
一.核心概念 对软件设计中重复出现问题的成熟解决方案,提供代码可重用性、可维护性和扩展性保障。核心原则包括: 1.1. 单一职责原则 定义:一个类只承担一个职责,避免因职责过多导致的代码耦合。 1.2. 开闭原则 定义…...
split方法
在编程中,split 方法通常用于将字符串按照指定的分隔符拆分成多个部分,并返回一个包含拆分结果的列表(或数组)。不同编程语言中的 split 方法语法略有不同,但核心功能相似。以下是常见语言中的用法: 1. P…...

uniapp Vue2 获取电量的独家方法:绕过官方插件限制
在使用 uniapp 进行跨平台应用开发时,获取设备电量信息是一个常见的需求。然而,uniapp 官方提供的uni.getBatteryInfo方法存在一定的局限性,它不仅需要下载插件,而且目前仅支持 Vue3,这让使用 Vue2 进行开发的开发者陷…...

c++ 静态成员变量
Student.h头文件内容: #pragma once #include <string> using namespace std;class Student { public:string name;int score;static int totalScore; // 静态局部变量声明Student(string name, int score);~Student();void print() const; };Student.cpp源文…...