stable diffusion实践操作-采样sample

news2024/11/16 15:47:18

系列文章目录

stable diffusion实践操作


`

文章目录

  • 系列文章目录
  • 前言
  • 一、采样是什么?
    • 1.1 SD原理图
    • 1.2 SD中采样工作流程
    • 1.3 SD重复预测采样结果
    • 1.4 SD中采样方法列表
    • 1.4 SD中采样方法功能总结
    • 1.5 SD中常用采样方法
  • 二、 SD中常用采样方法对比
    • 2.1 二次元-第一组
      • 2.1.1Euler a
      • 2.1.2Euler
      • 2.1.3 LMS
    • 2.2 二次元-第二组
      • 2.2.1Heum
      • 2.2.2 DMP2
      • 2.2.3 DMP2a
    • 2.3 二次元-第三组
      • 2.3.1DPM++ 2S a
      • 2.3.2 DMP++ 2M
      • 2.3.3 DMP++ SDE
    • 2.4 二次元-第四组
      • 2.4.1DPM fast
      • 2.4.2 DMP adaptive
      • 2.4.3 LMS Karras
    • 2.5 二次元-第五组
      • 2.5.1DPM2 Karras
      • 2.5.2 DMP2 a Karras
      • 2.5.3 DPM++ 2S Karras
    • 2.6 二次元-第六组
      • 2.6.1DPM++ 2M Karras
      • 2.6.2 DMP++ SDE Karras
      • 2.6.3 DDIM(元老级采样器)
    • 2.7 二次元-第七组
      • 2.7.1 PLMS(元老级采样器)
      • 2.7.2 UniPC(理论最快采样器)
  • 三、总结


前言

采样方式和迭代步数是相辅相成的,不能分开来谈,每个采样方式都有自己的收敛迭代最佳步数。

不同的采样方法相当于我们绘画的方式不同。具体选择哪种采样方法呢?首先,我们可以参考他人使用的好看照片中所用的采样方法。如果不确定该选择哪种,我经过测试,下面圈出来的几种采样方法生成的照片质量较高且速度较快。

本文主要是B站A Eye的视频整理而来。

观看链接:Stable diffusion喂饭级基础知识教程 第四期:什么是采样方法和采样迭代步数?


一、采样是什么?

1.1 SD原理图

1.2 SD中采样工作流程

SD在生成图片之前,大模型会先在一个潜在的空间LatentSPaced生成一个充满噪点的图像,然后噪声预测器开始工作,从图像中减去预测到的噪声,然后不断重复这个过程。重复次数受到采样步数限制,最终得到清晰的图像。

1.3 SD重复预测采样结果

最后得到清晰的图像,简而言之SD在制作图像的过程中,都会生成一张新的去噪后的图像,整个去噪的过程即为采样,使用的采样方式就是采样器或者采样方法。

1.4 SD中采样方法列表

在webUI中,展示的采样方法

采样方法有很多,下面是采样器对比:

1.4 SD中采样方法功能总结

1.5 SD中常用采样方法

我们常用的采样方式就下面的三个,你也可以 通过XYZ图标去做对比

二、 SD中常用采样方法对比

主要从速度和收敛性来分析。
速度就看从第几步开始出图,收敛性就是看随着迭代步数增加,图片是否有不可控方向发展,如果画质细节越来越好,说明收敛性很好,否则,画质突变就说明收敛性不好。
分别对比两种风格:二次元和真人

2.1 二次元-第一组

2.1.1Euler a

从上图可以看到Euler a 从第10步就可以正常出图,后面迭代画面略有扩展,文本和模型的收敛性一般。

2.1.2Euler

从上图可以看到Euler 和Euler a差不多,但是Euler 收敛性更加强,细节更加好。

2.1.3 LMS

从上图可以看到LMS在30步以后的人收敛性才开始变得很强

2.2 二次元-第二组

2.2.1Heum

从上图可以看到Heum,从20步以上开始正常出图,和LMS采样效果很像,速度略有提升。

2.2.2 DMP2

从上图可以看到DMP2,从10步以上开始正常出图,速度不错,整体收敛性很稳定,适合做逐帧动画

2.2.3 DMP2a

从上图可以看到DMP2a,从20步开始正常出图,但是后续迭代,细节略有扩展,类似Euler a,速度略慢Euler a.

2.3 二次元-第三组

2.3.1DPM++ 2S a

从上图可以看到DPM++ 2S a,从10步以上开始正常出图,但是在不同步数下,收敛性略差,细节变化略差。

2.3.2 DMP++ 2M

从上图可以看到DMP++ 2M,从20步以上开始正常出图,速度不错,整体收敛性很稳定,适合做逐帧动画,连续作图

2.3.3 DMP++ SDE

从上图可以看到DMP++ SDE,从10步开始正常出图,但收敛性很差,画面完全变了,不管整体还是细节,整体太随意了。

2.4 二次元-第四组

2.4.1DPM fast

从上图可以看到DPM fast,从40步以上开始正常出图,真正的收敛性在很高步数才有。

2.4.2 DMP adaptive

从上图可以看到DMP adaptive,从10步以上开始正常出图,速度不错,整体收敛性很稳定。

2.4.3 LMS Karras

从上图可以看到LMS Karras,从10步开始正常出图,收敛性也不错。

2.5 二次元-第五组

2.5.1DPM2 Karras

从上图可以看到DPM2 Karras,从10步以上开始正常出图,表现出极好的稳定性,表现和 LMS Karras很像,但是低步数光影略胜于 LMS Karras。

2.5.2 DMP2 a Karras

从上图可以看到DMP2 a Karras,从40步以上开始正常出图,不难看出,使用了原始采样方法的人采样器,收敛性比较差。

2.5.3 DPM++ 2S Karras

从上图可以看到DPM++ 2S Karras,从10步开始正常出图,收敛性很差,后面的人图和前面的区别很大。

2.6 二次元-第六组

2.6.1DPM++ 2M Karras

从上图可以看到DPM++ 2M Karras,从10步以上开始正常出图,表现出极好的稳定性,非常完美,这也是我们推荐使用的采样器。

2.6.2 DMP++ SDE Karras

从上图可以看到DMP++ SDE Karras,从10步以上开始正常出图,收敛性比较差。

2.6.3 DDIM(元老级采样器)

从上图可以看到DDIM,从10步开始正常出图,但是整体感觉怪怪的。

2.7 二次元-第七组

2.7.1 PLMS(元老级采样器)

从上图可以看到PLMS,从40步以上开始正常出图,出图效果比较差。

2.7.2 UniPC(理论最快采样器)

从上图可以看到UniPC,从10步以上开始正常出图,低步数收敛性一般,高步数收敛性比较好。


三、总结

采样器和迭代步数是相辅相成的。

采样器的效果会根据模型的不同表现略有差异,当选定某个模型的适合,可以使用xyz图表插件测试出图风格,最终再确定 适合自己的。

迭代步数,也要根据采样器来设置,根据不同步数,选择一个速度最高,效果最好的的步数。

所以最佳采样器和迭代步数是根据实际情况试出来的。

具体方式为xyz周,x轴为迭代步数,y轴为不同采样器。效果如下:

链接入口:xyz使用教程

以上就是今天要讲的内容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5训练自己的数据集并测试(以及踩坑记录)

YOLOv5是一个非常流行的图像识别框架,这里介绍一下使用YOLOv5给自己的数据集进行训练和测试 官方介绍文档:YOLOv5官方文档 基本流程: 下载必要的库和包,以及yolov5框架自制数据集:收集图像、视频数据,la…

从零开发JavaWeb入门项目--十天掌握

原文网址:从零开发JavaWeb入门项目--十天掌握_IT利刃出鞘的博客-CSDN博客 简介 这是一个靠谱的JavaWeb入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭…

Super Resolve Dynamic Scene from Continuous Spike Streams论文笔记

摘要 近期,脉冲相机在记录高动态场景中展示了其优越的潜力。不像传统相机将一个曝光时间内的视觉信息进行压缩成像,脉冲相机连续地输出二的脉冲流来记录动态场景,因此拥有极高的时间分辨率。而现有的脉冲相机重建方法主要集中在重建和脉冲相…

Windows 重新映射 CapsLock 大写锁定到 Ctrl

Windows 重新映射 CapsLock 大写锁定到 Ctrl 本要点中的这些方法适用于我的美国键盘布局。我不确定其他布局。如果出现问题,请恢复您的更改;删除您创建的注册表项(并重新启动)。 强烈推荐 方法5 ctrl2cap,因为不会影…

代码随想录第35天|860.柠檬水找零 , 406.根据身高重建队列(很多细节点注意一下),452. 用最少数量的箭引爆气球

860.柠檬水找零 思路比较简单 class Solution {public boolean lemonadeChange(int[] bills) {//然后向你付 5 美元、10 美元或 20 美元//如果收到5,直接收下//如果收到10,需要付回去5//如果收到20,需要付回去105或者555//开始时我手上拥有…

java基础-----第八篇

系列文章目录 文章目录 系列文章目录一、Java类加载器二、双亲委托模型 一、Java类加载器 JDK自带有三个类加载器:bootstrap ClassLoader、ExtClassLoader、AppClassLoader。 BootStrapClassLoader是ExtClassLoader的父类加载器,默认负责加载%JAVA_HOME…

Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...

各位看友,由于微信公众号推送机制改变,现在需要设置为星标才能收到的本公众号推送消息哟。关注回复【学习交流群】加入【安全开发运维】答疑交流群 请朋友们【多多点击文中的广告】,支持作者更新更多文章。 目录: 本文为作者原创文章&#xf…

c++数据结构之 队列

c数据结构 --- 队列 队列的特点队列的相关概念:队列的操作:队列的分类:演示例子简单的例子例子2、循环队列的C实现 队列的特点 队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点&#x…

学习振弦采集模块的开发基本原理

飞讯教学篇:学习振弦采集模块的开发基本原理 振弦采集模块是一种用于测量物体振动、形变、压力等物理量的电子设备。它通过测量物体的振动变化,可以得出物体在不同条件下的动态特性,对于工程设计、科学研究、医学检测等领域都有广泛应用。本…

代码随想录笔记--二叉树篇

1--递归遍历 1-1--前序遍历 前序遍历&#xff1a;根→左→右&#xff1b; #include <iostream> #include <vector>struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), le…

6400万美元:苹果与SpaceX达成合作协议,推进苹果 SOS 卫星服务

根据最新披露的文件&#xff0c;苹果卫星服务提供商Globalstar近期与马斯克旗下的SpaceX达成一项重要合作协议&#xff0c;向SpaceX支付了6400万美元&#xff0c;用于在2023-2025年期间发射卫星&#xff0c;以进一步扩展苹果iPhone系列的SOS卫星服务。 这项卫星服务的主要目的是…

Citespace、vosviewer、R语言的文献计量学 、SCI

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

中国太保首席数据库专家林春:先难后易,核心系统数据库升级复盘

P17 是中国太平洋保险&#xff08;以下简称太保&#xff09;关联关系最为复杂、商业数据库绑定程度最深、业务影响最多的核心系统之一。但就是这样一个对太保业务至关重要的系统却被选为数据库升级的“实验品”。当然&#xff0c;说是“实验品”只是因为这是太保第一次对关键的…

怎样来实现流量削峰方案

削峰从本质上来说就是更多地延缓用户请求&#xff0c;以及层层过滤用户的访问需求&#xff0c;遵从“最后落地到数据库的请求数要尽量少”的原则。 1.消息队列解决削峰 要对流量进行削峰&#xff0c;最容易想到的解决方案就是用消息队列来缓冲瞬时流量&#xff0c;把同步的直…

ArcGIS地块面积分割调整工具插件

地块分割调整工具可以实现将选定的图斑按照面积比例或者指定的面积&#xff0c;分割成多个图斑。 各个图斑的面积用逗号分隔&#xff0c;比例分割设置时&#xff0c;用整数表示。 面积分割时&#xff0c;最后一个图斑的面积可以不写&#xff0c;插件可以自动计算图斑的面积&a…

1448. 统计二叉树中好节点的数目(javascript)1448. Count Good Nodes in Binary Tree

给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,3,null,1,5] 输出&#xff1a;4 解释…

unity面试题(性能优化篇)

CPU 预处理、缓存数据 注释空的unity函数 运算cpu->gpu 减少昂贵计算(开方) 限制帧数 加载(预加载、分帧加载、异步加载、对象池) 慎用可空类型比较 避免频繁计算(分帧、隔帧) 算法优化 变体收集预热 使用clear操作代替容器的new操作 unity spine使用二进制格式…

mac有些软件卸载不了怎么办?正确的Mac软件卸载方法

很多用户Mac用户在整理磁盘空间时发现有很多不常用的软件想要卸载&#xff0c;一顿卸载操作之后发现有些第三方软件是无法完成卸载或成功卸载之后桌面仍保留该软件的图标&#xff0c;在使用Mac过程中遇到有些软件卸载不了怎么办&#xff1f;别着急&#xff0c;小编这就给你支招…

基于指数分布算法优化的BP神经网络(预测应用) - 附代码

基于指数分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于指数分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.指数分布优化BP神经网络2.1 BP神经网络参数设置2.2 指数分布算法应用 4.测试结果&#xff1a;5…

2023年淘宝商家成长层级与利好规则

淘宝店铺成长层级越高&#xff0c;对店铺的经营会越好&#xff0c;但有些小伙伴对成长层级和商家利好规则内容的更新变化不太清楚&#xff0c;下面我们就来一起了解一下吧。 一、店铺成长层级 1、入口&#xff1a;店铺层级与权益 2、晋升路径 V1-V2&#xff1a;基础运营&#…