Stable Diffusion VAE:改善图像质量的原理、选型与使用指南

VAE Stable Diffusion(稳定扩散)是一种用于生成模型的算法,结合了变分自编码器(Variational Autoencoder,VAE)和扩散生成网络(Diffusion Generative Network)的思想。它通过对变分自编码器进行改进,提高了生成样本的质量和多样性。

VAE Stable Diffusion的核心思想是使用扩散生成网络来替代传统的解码器。扩散生成网络是一个逐步生成样本的过程,每一步都通过对噪声进行扩散来生成样本。这种逐步生成的过程可以提高生成样本的质量,并且可以控制生成样本的多样性。

这话太学术性了。说人话就是在Stable Diffusion中使用VAE能够得到颜色更鲜艳、细节更锋利的图像,同时也有助于改善脸和手等部位的图像质量。

VAE在生成图像过程中的作用可以通过下面的图简单了解下:

原始图像,比如高维度 512*512的,会经过encoder编码生成低维度的大小 比如 64*64,编码后的图像跟原始图像位于不同的空间中,前者在一个叫latent 空间中,后者是像素 pixel空间。在latent空间中生成后的图像再经解码还原到像素空间,即人类看见的图像,这个过程中,图像会有信息损失,而VAE就充当了上述编解码器的角色,好的VAE模型能够较好的保证图像质量。

PastelMix model:

Deliberate model

常见 VAE 模型类型

一般情况下,我们只需要重点关注 Stability AI 推出的 EMA (Exponential Moving Average)和 MSE (Mean Square Error )两个类型的 VAE 模型即可。

•stabilityai/sd-vae-ft-ema[1]

•stabilityai/sd-vae-ft-mse[2]

就使用经验而言,EMA 会更锐利、MSE 会更平滑。

除此之外,还有两个比较知名的 VAE 模型,主要用在动漫风格的图片生成中:

•WarriorMama777/OrangeMixs[3]

•hakurei/waifu-diffusion-v1-4[4]

除了上面的几种 VAE 模型之外,有一些模型会自带自己的 VAE 模型,比如最近发布的 SDXL 模型,在项目中,我们能够看到模型自己的 VAE 模型。

•stabilityai/stable-diffusion-xl-refiner-1.0/vae[5]

•stabilityai/stable-diffusion-xl-base-1.0/vae[6]

在 Stable Diffusion 的世界,修复人脸主要依赖的是下面两个项目的能力:

•TencentARC/GFPGAN[7]

•sczhou/CodeFormer[8]

前文提到的 Stability AI 推出的常用的 VAE 模型,是基于 LAION-Aesthetics[9]和 LAION-Humans,对 CompVis/latent-diffusion[10] 项目进行了模型微调而来的模型。而这两个数据集特别针对人对于图片的喜爱程度进行了整理,其中后者包含大量的人脸。

所以,在经过高质量的图片、大量人脸数据的训练后,VAE 模型对于改善图片色调,以及轻微修正图片中的人脸,也具备了一些能力。

Stable Diffusion 最好的VAE

  • kl-f8-anime (Anything V3) – for anime art (created by Hakurei by finetuning the SD 1.4 VAE on several anime-styled images).【11】
  • kl-f8-anime2 – for anime art, improved colors (use of red hue is dimmed down).【12】
  • vae-ft-mse-840000-ema-pruned – for realistic models or styles (created by StabilityAI).【13】
  • OrangeMixs – for anime art.【14】
  • Color101 – for improving colors and color depth.【15】

在Stable Diffusion中,不管是V1,V2,还是其他基础模型,如果本身对图像质量没有苛刻要求,其实是不需要额外部署VAE模型的,因为现在很多模型中都已经集成了VAE,比如  Anything VAE 已经集成到 Anything 模型了,再额外增加模型也没有效果。但是通过使用额外的VAE能够胜过默认提供的内置模型。当确实需要下载部署额外VAE时候,将下载的模型放置在目录(以AUTOMATIC1111’s WebUI为例):

*\stable-diffusion-webui\models\VAE

如果有多个VAE,你可以在UI Settings中选择你更喜欢的VAE:

Selecting VAE manually from AUTOMATIC1111 WebUI’s Settings. Settings -> Stable Diffusion -> SD VAE -> Choose your preferred VAE

资源链接:

[1] stabilityai/sd-vae-ft-ema: stabilityai/sd-vae-ft-ema · Hugging Face

[2] stabilityai/sd-vae-ft-mse: stabilityai/sd-vae-ft-mse · Hugging Face

[3] hakurei/waifu-diffusion-v1-4: hakurei/waifu-diffusion-v1-4 · Hugging Face

[4] stabilityai/stable-diffusion-xl-refiner-1.0/vae: stabilityai/stable-diffusion-xl-refiner-1.0 at main

[5] stabilityai/stable-diffusion-xl-base-1.0/vae: stabilityai/stable-diffusion-xl-base-1.0 at main

[6] stabilityai/sdxl-vae: stabilityai/sdxl-vae · Hugging Face

[7] TencentARC/GFPGAN: GitHub - TencentARC/GFPGAN: GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.

[8] sczhou/CodeFormer: GitHub - sczhou/CodeFormer: [NeurIPS 2022] Towards Robust Blind Face Restoration with Codebook Lookup Transformer

[9] LAION-Aesthetics: LAION-Aesthetics | LAION

[10] CompVis/latent-diffusion: GitHub - CompVis/latent-diffusion: High-Resolution Image Synthesis with Latent Diffusion Models

[11] vae/kl-f8-anime2.ckpt · hakurei/waifu-diffusion-v1-4 at main

[12] vae/kl-f8-anime2.ckpt · hakurei/waifu-diffusion-v1-4 at main

[13] vae-ft-mse-840000-ema-pruned.safetensors · stabilityai/sd-vae-ft-mse-original at main

[14] VAEs/orangemix.vae.pt · WarriorMama777/OrangeMixs at main

[15] https://civitai.com/models/70248/color101-vae

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

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

相关文章

vue2-v-show和v-if有什么区别,使用场景分别是什么?

1、v-show和v-if的共同点 在vue中,v-if和v-show的作用效果是相同的(不含v-else),都能控制元素在页面是否显示,在用法上也相同。 当表达式为true的时候,都会占据页面的位置 当表达式为false的时候&#xff…

如果网站用了CDN,我怎么找到它的真实IP?

0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://ping.aizhan.com/ http://ce.…

windows部署springboot项目 jar项目 (带日志监听和开机自起脚本)

windows部署springboot项目 jar项目 (带日志监听) 1.把项目打包成jar包,本例演示打包后的jar文件名为demo.jar ———————————————— 2.需要装好java环境,配置好JAVA_HOME,CLASSPATH,PATH等…

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型,专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…

海外应用商店优化实用指南之关键词

和SEO一样,关键词是ASO中的一个重要因素。就像应用程序标题一样,在Apple App Store和Google Play中处理应用程序关键字的方式也有所不同。 关键词研究。 对于Apple,我们的所有关键词只能获得100个字符,Google Play没有特定的关键…

CS 144 Lab Four -- the TCP connection

CS 144 Lab Four -- the TCP connection TCPConnection 简述TCP 状态图代码实现完整流程追踪 测试 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Four 对应的PDF: Lab Checkpoint 4: down the stack (the network interface) TCPConnection 简述 TCPConnection 需要…

abp vnext升级到指定版本并处理升级后的问题

在使用abp vnext时当版本更新后可能会跨越net的版本,如果我们想升级到指定版本该怎么做呢,升级之后又有一些问题需要处理,下面一起看一下: 当前我的项目是.net5 abp vnext4.2.1 当前的最新abp版本是7.* 对应的net版本是 net7,由于…

flutter:二维码生成与读取

前言 这csdn真的是服了,图片里有个二维码就直接变成违规图片了。至于效果的话,自己运行一下看看吧。 生成 flutter中生成二维码可以使用 qr_flutter。 官方文档 https://pub-web.flutter-io.cn/packages/qr_flutter 安装 flutter pub add qr_flutt…

Java项目乱码几种情况

1.前端界面问题 在head标签里看是否有编码设置 <meta http-equiv"Content-Type" content"text/html; charsetutf-8" />2.浏览器端Tomcat乱码 在该界面加入 -Dfile.encodingUTF-8

代码随想录算法训练营day24 | 回溯问题,77. 组合

目录 回溯问题 77. 组合 回溯问题 回溯模板 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的大小&#xff09;) {处理节点;backtracking(路径&#xff0c;选择列表); // 递归回溯…

支付宝蜻蜓设备abs调试

蜻蜓设备系统日志调试 1、蜻蜓设备进入开发者模式 长按关键键直到屏幕上出现设置按钮&#xff0c;点击设置按钮&#xff0c;选择关于本机&#xff0c;找到系统版本&#xff0c;连续点击8次&#xff0c;选择进入调试模式 2、找到小程序容器&#xff0c;连续点击8次&#xff0…

WebGL: 几个入门小例子

本文罗列几个WebGL入门例子&#xff0c;用于帮助WebGL学习。 一、概述 WebGL (Web Graphics Library)是一组基于Open ES、在Web内渲染3D图形的Javascript APIs。 Ref. from Khronos Group: WebGL WebGL™ is a cross-platform, royalty-free open web standard for a low-lev…

26 MFC序列号函数

文章目录 Serialize对于存储文件的序列化 Serialize Serialize 是一个在 MFC (Microsoft Foundation Classes) 中常用的函数或概念。它用于将对象的数据进行序列化和反序列化&#xff0c;便于在不同的场景中保存、传输和恢复对象的状态。 在 MFC 中&#xff0c;Serialize 函数…

【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Python二维数组的坑:vis = [[0]*m] * n

先来看&#xff0c;vis [[0]*m] * n&#xff0c; vis2 [[0]*m for _ in range(n)]有什么区别&#xff1f; 这两行代码都是用来创建二维列表&#xff08;或矩阵&#xff09;&#xff0c;但它们之间有一个关键的区别在于列表的复制方式。 vis [[0]*m] * n&#xff1a; 这种方…

SQL-每日一题【1193. 每月交易 I】

题目 Table: Transactions 编写一个 sql 查询来查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数及其总金额。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 1.题目要求我们查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数…

工作方法论—马斯克的任务分解法

总结&#xff1a;动手做一个工作之前&#xff0c;请先对它进行任务&#xff0c;然后高效执行每一个原子操作 德雷克公式&#xff1a; 如果大家对德雷克公式有些陌生&#xff0c;我们再来看一个 IT 人怎样用任务分解的思路解决问题。 我们都知道埃隆马斯克&#xff08;Elon Mu…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--搭建Vue 前端工程[一]

文章目录 SSM--搭建Vue 前端工程--项目基础界面实现功能01-搭建Vue 前端工程需求分析/图解代码实现搭建Vue 前端工程下载node.js LTS 并安装: node.js 的npm创建Vue 项目使用idea 打开ssm_vue 项目, 并配置项目启动 Vue3 项目目录结构梳理Vue3 项目结构介绍 配置Vue 服务端口El…

Python(六十六)字典生成式

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

CI/CD—Docker初入门学习

1 docker 了解 1 Docker 简介 Docker 是基于 Go 语言的开源应用容器虚拟化技术。Docker的主要目标是build、ship and run any app&#xff0c;anywhere&#xff0c;即通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;达到应用组件级别的一次封装、到处运…