Stable Diffusion - 采样器 DPM++ 3M SDE Karras 与 SDXL Refiner 测试

2023-09-18 15:28:35

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132978866

DPM

Paper: DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models

扩散概率模型(DPMs)在高分辨率图像合成方面,取得了令人印象深刻的成功,尤其是在最近的大规模文本到图像生成应用中。提高 DPMs 样本质量的一个重要技术是引导采样,通常需要一个较大的引导尺度来获得最佳的样本质量。引导采样常用的快速采样器是 DDIM,即一阶扩散 ODE 求解器,通常需要 100 到 250 步才能生成高质量的样本。
尽管最近的工作提出了专用的高阶求解器,并且在无引导采样方面实现了进一步的加速,但是对于引导采样的有效性还没有经过充分的测试。在这项工作中,证明之前的高阶快速采样器存在不稳定性问题,当引导尺度变大时,甚至比 DDIM 还要慢。
为了进一步加速引导采样,本文提出了 DPM-Solver++ ,用于 DPMs 引导采样的高阶求解器。DPM-Solver++ 使用数据预测模型来求解扩散 ODE,并且采用阈值方法来保证解与训练数据分布相匹配。因而,进一步提出多步变体的 DPM-Solver++,通过减小有效步长来解决不稳定性问题。实验表明,DPM-Solver++ 可以在只有15到20步的情况下,为像素空间和潜在空间的DPMs生成高质量的引导采样。

采样器 DPM++ 3M SDE Karras 是一种用于稳定扩散(Stable Diffusion)的采样方法,基于 DPM++ 2M Karras 的改进版本,具有以下特点:

  • DPM++ 是一种动态采样器,可以根据每一步的梯度信息自适应地调整采样步长和方向。
  • 3M 表示采样器使用了三种不同的扩散模式(Diffusion Modes),分别是标准扩散(Standard Diffusion)、反向扩散(Reverse Diffusion)和交替扩散(Alternating Diffusion)。
  • SDE 表示采样器使用了随机微分方程(Stochastic Differential Equation)来模拟扩散过程。
  • Karras 表示采样器使用 Karras 等人提出的一种高效的随机数生成方法,可以减少计算量和内存消耗。

采样器 DPM++ 3M SDE Karras 的优点是可以在较低的步数和CFG值下生成高质量的图像,并且可以适应不同的模型和VAE。缺点是可能会出现一些噪声和伪影,并且需要较高的显卡性能。

测试参数:

  • 模型:DreamShaper_XL1.0_alpha2.safetensors
  • Sampling steps:30
  • CFG:7

测试效果(左侧是 DPM++ 2M SDE Karras,右侧是 DPM++ 3M SDE Karras):
Sampler

整体差别较小,建议使用 DPM++ 2M SDE Karras 即可。

SDXL 的 Refiner 的作用就是,使用精修模型(Refiner)对于基础模型(Base)的输出进行细化和优化,从而生成更接近真实的图像,与基础模型(Base)串联使用,也可以单独用于图像到图像的转换。

注意:对于现有的混合模型,如 DreamShaper 等,已包括精修,不需要额外使用 Refiner 操作,同时,两者的细节没有差别。

测试效果(左侧是 未使用 Refiner,右侧是 使用 Refiner):
SDXL
DreamShaper 使用 Refiner 导致部分细节颜色异常,注意右侧图像(Refiner),即:

IMG
Stable Diffusion WebUI 已支持 Refiner 功能,不需要额外插件,同时配置 切换时机,即:

Refiner

测试:

cinematic photo full body shot,(head-to-toe shot:1.2),1girl,a beatiful woman in a dress and jacket standing,(office lady high heels),
pantyhose,black leggings,outdoors,
people in the center,soft light,natural and comfortable pose,face to camera,
<lora:neg4all_xl_v6:1>,<lora:pantyhose_widget_xl_v10:1.2>, . 35mm photograph, film, bokeh, professional, 4k, highly detailed
Negative prompt: nsfw,breast,(ng_deepnegative_v1_75t:1.2),badhandv4, drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly
Steps: 30, Sampler: DPM++ 3M SDE Exponential, CFG scale: 7, Seed: 3098710835, Size: 768x1152, Model hash: 0f1b80cfe8, Model: DreamShaper_XL1.0_alpha2, Denoising strength: 0.3, Clip skip: 2, ADetailer model: face_yolov8n.pt, ADetailer confidence: 0.3, ADetailer dilate/erode: 4, ADetailer mask blur: 4, ADetailer denoising strength: 0.4, ADetailer inpaint only masked: True, ADetailer inpaint padding: 32, ADetailer version: 23.9.2, Hires upscale: 2, Hires steps: 10, Hires upscaler: 4x-UltraSharp, Lora hashes: “neg4all_xl_v6: 9a735be26f5e, pantyhose_widget_xl_v10: 90b94c2a1974”, Version: v1.6.0

参考:Stable Diffusion - SDXL 模型测试与全身图像参数配置

更多推荐

html网页制作期末大作业-网上花店商城html+css+javascript

一、简介html网页制作期末大作业-网上花店商城html+css+javascript8个页面适用学生作业课程设计花店、期末作业花店、毕业设计花店​二、部分网页截图三、部分网页源码1.首页代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>花

前后端分离毕设项目之springboot同城上门喂遛宠物系统(内含文档+源码+教程)

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌🍅由于篇幅限制,想要获取完整文章或者源码,或者代做,拉到文章底部即可看到个人VX。🍅2023年-2024年最新计算机毕业设计本科选题大全汇总感兴趣的可以先收藏

如何做好测试?(一)不就是功能测试和性能测试?

测试是软件开发过程中的一项重要活动,旨在评估系统或应用程序的质量、功能、性能、安全性等方面。测试通过执行预定义的测试用例、场景或操作,以发现潜在的错误、缺陷、异常行为或性能问题,并提供有关系统是否满足预期要求的信息。测试的目的是验证软件是否满足规格说明书、需求文档或用户期望的功能和性能要求。它有助于提高软件的可靠性、稳

Clock Domain Crossing Design & Verification Techniques Using System Verilog 学习

重要的设计考虑因素要求仔细构建多时钟设计时钟域交叉(CDC)边界。本文详细介绍了一些最新策略和解决跨CDC边界传递一个或多个信号的最佳已知方法。论文中包含与CDC验证相关的技术和一个有趣的2深FIFO用于在时钟域之间传递多个控制信号的设计。虽然设计方法论文中描述的一般可以使用任何HDL来实现,示例如下使用高效的Syst

前端提交规范 ESLint + Prettier + husky + lint-staged

如何统一代码风格,规范提交呢?推荐使用前端规范全家桶ESLint+Prettier+husky+lint-staged。eslint(github.com/eslint/esli…)JavaScript代码检测工具,检测并提示错误或警告信息prettier(github.com/prettier/pr…)代码自动化格式

Linux_9_网络协议和管理

目录1网络基础1.1网络概念1.2常见的网络物理组件1.3网络应用程序1.3.1各种网络应用1.3.2应用程序对网络的要求1.4网络的特征1.4.1速度(带宽)1.4.2网络拓扑1.5网络1.5.1网络准和分层1.5.2开放系统互联`OSI`1.5.3网络的通信过程1.5.3.1数据封装和数据解封1.5.3.2协议数据

基于知识蒸馏的两阶段去雨去雪去雾模型学习记录(一)

前面完成了基于知识蒸馏的去雨去雪去雾模型大的部署与训练,下面则进行代码的学习。使用debug的方式进行代码的学习。首先是网络结构展示:轻易不要打开,这个模型太复杂了。说到底倒不是多复杂,就是层数太多了Net((conv_input):ConvLayer((reflection_pad):ReflectionPad2d(

【数据结构】&&【C++】封装红黑树模拟实现map和set容器

【数据结构】&&【C++】封装红黑树模拟实现map和set容器一.红黑树的完成二.改造红黑树(泛型适配)三.封装map和set的接口四.实现红黑树迭代器(泛型适配)五.封装map和set的迭代器六.解决key不能修改问题七.实现map[]运算符重载一.红黑树的完成在上一篇红黑树的模拟实现中,已经将红黑树实现完毕,这里不

C语言每日一题(8):有序序列合并

文章主题:有序序列合并🔥🔥🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页🏄🌊目录前言编程起因项目介绍项目名项目描述输入描述设计思路1.整体逻辑2.具体逻辑代码展示方法一:集中于一数列的冒泡排序法(速度慢,两行数排列顺序可随机

微生物学检验试剂——博迈伦

微生物学检验试剂是用于微生物学实验室中进行微生物检测和分析的特定化学试剂。这些试剂通常用于培养、鉴定和检测微生物,以确定其类型、数量和特性。以下是关于微生物学检验试剂的一些重要信息:1.分类:-培养基:微生物培养基是用于滋养和培育微生物的基础介质。不同类型的微生物需要不同的培养基,如富集培养基、选择培养基、差异培养基等

【网络层】IP协议

文章目录IP协议1.前提认识(1)IP的定位和作用(2)IP地址的构成(3)基本概念2.协议头格式(1)两个核心问题3.网段划分(重要)(1)为什么要网段划分(2)概念(3)子网划分方案(4)模拟子网划分4.特殊的IP地址5.IP地址的数量限制6.私有IP地址和公网IP地址7.路由及路由表(0)感性理解(1)路由(2)

热文推荐