Stable Diffusion 使用详解(2)---- 图生图原理,操作,参数

news2024/9/21 16:45:35

目录

背景

图生图原理

基本原理

1. 扩散模型基础

2. 图生图的具体流程

3. 关键技术点

4. 应用实例

CLIP 原理

1.基本概念

2. 核心特点

使用及参数

随机种子

重绘幅度

图像宽高

采样方法

1. DPM(扩散概率模型)

2. SDE(随机微分方程)

3. Karras等人的优化策略

4. DPM + SDE Karas的特点

5. 应用场景

prompt的书写

小结

正向提示词

反向提示词

其他设置

底模


背景

图生图,应该说应用非常广泛。因为文生图,AI绘画只能根据你描述的语言进行绘制,可能执行100次,100次的结果都不同。但是图生图的机制不太一样。当使用图生图机制时,AI首先会分析原画的一些特征,有一些语言很难表达,比较晦涩的特征会被AI 通过原画的方式进行捕捉。因为如果说你大脑中所想,经过人类语言描述AI可能不大能很好的把握,通过提示词的技巧可以使得你想表达的东西距离AI越近(如果你还不会提示词技巧,看下上一篇文章 Stable Diffusion 详解(1)---- 提示词及相关参数-CSDN博客),那么直接用图的方式让AI自己图提取特征就更为直接。如果熟悉神经网络和卷积的朋友都应该清楚,AI 正是通过无数个卷积神经网络提取不同图片的特征,当然著名的model 也很多,比如ResNet-50 等,当然这不是这次讲的重点,重点是你需要知道通过原图提取图片特征是一种更为直接的手段,不要让AI作画范围跑的太偏了。他与prompt 结合,可能会产生一些更好的结果。比如将你的头像转为二次元头像等。

图生图原理

基本原理

其实第一次介绍stable diffusion,大致说了下VAE的基本原理。这次仔细阐述下。实际上图生图的原理所用到的基本模型思想和在另一个专栏里写的 Milvus 实践(1) --- 文本-图片交互式search搭建及原理-CSDN博客有异曲同工之处,AI在输入上接受两个维度的输入信息,一个维度是图片本身的,你可以用诸如ResNet-50 提取。只不过对于stable diffusion 来说,采用了一种称之为 diffusion的encoder方式完成隐空间特征。另一维度,来自文本,一般可以采用诸多LLM embedding coding 中的一种就行,stable diffusion也不例外,只不过采用了一种与图片diffusion encoder相匹配的 embedding coding的方式完成。就像在文本搜索中,CLIP的做法总是将图片与文本的两个维度信息转换为相同向量的维度进行合成一样。

图生图原理主要基于扩散模型(Diffusion Model)的框架,该模型通过模仿物理过程中的分子扩散现象,将图像从纯噪声逐渐演化为清晰图像。在图生图场景中,Stable Diffusion不仅接受文字提示,还接受一张源图片作为额外条件,从而生成与源图相关联且符合提示要求的新图像。以下是Stable Diffusion图生图原理的详细解释:

1. 扩散模型基础

  • 定义:扩散模型是一种深度学习模型,它通过逐步添加噪声来“扩散”图像,然后将图像从完全噪声中逐步恢复出原始图像或生成新图像。
  • 过程:扩散过程分为两个相反的阶段:扩散(增加噪声)和逆扩散(去除噪声并恢复结构)。在图生图场景中,逆扩散阶段被用来根据用户提供的输入图片和提示词,逐步生成目标图像。

2. 图生图的具体流程

  • 输入:用户需要提供一张源图片和相应的提示词。源图片的信息被编码为隐空间中的向量表示,与文字提示共同作为逆扩散过程的起点。
  • 编码:源图片通过图像编码器(如VAE Encoder)生成隐空间特征(Latent Feature),同时提示词通过CLIP Text Encoder编码为文本特征。
  • 逆扩散:在逆扩散过程中,模型使用噪声预测器(如U-Net结构)来逐步去除隐空间中的噪声,同时根据提示词的语义信息指导生成过程。这个过程中,模型会同时参考源图片的结构特征和提示词的语义信息,从而生成新的图像。
  • 解码:经过逆扩散过程后,得到的隐空间特征通过图像解码器(如VAE Decoder)转换回像素空间,生成最终的图像。

3. 关键技术点

  • 隐空间表示:源图片的信息被编码为隐空间中的向量表示,这使得模型能够处理高维的图像数据并降低计算复杂性。
  • 噪声预测器:U-Net结构的噪声预测器负责预测并去除隐空间中的噪声,同时注入文本语义信息以指导生成过程。
  • 语义信息融合:通过CLIP Text Encoder将提示词转换为文本特征,并以Cross Attention的形式与U-Net结构耦合,实现文本和图像的语义信息融合。
  • 采样器和重绘幅度:采样器负责协调整个去噪过程,并根据设计模式在动态调整U-Net去噪强度。重绘幅度决定了新生成的图片在多大程度上改变参考图片。

4. 应用实例

在图生图任务中,Stable Diffusion可以应用于多种场景,如将真人照片转换为二次元风格、对图片进行局部修改(如修改颜色、添加元素等)等。用户可以通过调整提示词、重绘幅度等参数来控制生成结果的效果。

综上所述,Stable Diffusion的图生图原理是基于扩散模型的框架,通过编码源图片和提示词、逆扩散过程以及解码过程来生成新的图像。这一过程中涉及了隐空间表示、噪声预测器、语义信息融合等关键技术点,使得Stable Diffusion能够生成出与源图相关联且符合提示要求的新图像。

CLIP 原理

如果你已经是AI 高手了,CLIP 不用我多解释,如果你不是很明白,我还是解释下CLIP的前世今生。

“Contrastive Language-Image Pre-training”,是由OpenAI开发的一种能够同时理解文本和图像的人工智能模型。以下是对CLIP的详细解释:

1.基本概念

  • 定义:CLIP是一个基于对比学习的多模态学习模型,旨在通过同时学习图像和文本特征,使得模型能够理解并关联不同模态的信息。不得不提一下,最初这个概念是OpenAI 提出的,虽然我们被禁止调用了,但是这个思想还是很不错的。

2. 核心特点

  1. 多模态能力
    • CLIP能够同时处理文本和图像两种不同类型的输入,这是其最显著的特点之一。传统的AI模型通常只处理单一类型的输入,如只理解文字(如GPT-3)或只理解图像(如ResNet)。
    • 这种多模态能力使得CLIP特别适合于需要将文字和图像关联起来的任务,如图像搜索、图像生成等。
  2. 对比学习方法
    • CLIP的名字中的“Contrastive”指的是一种学习方法,即对比学习。在这种学习方法中,模型通过比较不同样本之间的相似性和差异性来学习数据特征。
    • 在CLIP中,对比学习被用来训练模型理解图像和文本之间的对应关系。具体来说,模型会学习将相关的图像和文本对映射到相似的特征空间中,而将不相关的图像和文本对映射到不同的特征空间中。
  3. 强大的关联能力
    • 通过学习图像和文本之间的映射关系,CLIP能够准确地生成符合文本描述的图像,或者根据图像内容找到合适的文本标签。
    • 这种关联能力使得CLIP在图像生成、图像识别、内容创建等任务中具有巨大的潜力。

使用及参数

随机种子

这个参数要说一下,在上一节中,有人问,根据相同提示词,AI绘制出的东西总是不同的,确实是这样,因为AI 绘画有随机性,他只需要满足你描述的prompt即可。但是我们有时候只是想改变背景,保留住主元素,比如上一节的哪个快艇,我们想保留住,只是想改变背景蓝色的大海怎么办?

那这时,就需要看下当时的随机数是多少,用当时的随机数即可。比如上一节的例子中,最后绘制出来的图片是这样的:

我们想保留之前的那个快艇:

将随机种子找到,hold 住。再生成图:

就回来了。

重绘幅度

就是希望AI重新绘制的力度是多少,太大容易走样,太小没有什么新意。根据我的经验,设置在6-8之间比较合适。

图像宽高

建议是生成的图片与原图片等比例,不然容易出问题,哪怕是以后重新扩图也行。今天绘制一个stable diffusion 生成的美女,看看把她变为 二次元风格会是怎样。

原图信息

 

采样方法

其实采用方法很多,主要用来描述怎么解析原图和怎么与之生成配对的新图的方案。我比较喜欢采用DPM + Karas 的方式,但是我还是解释下原理,没听明白,可以跳过,其实数学的东西比较多。先泛泛解释下。

采样方法DPM + SDE Karas(或DPM++ SDE Karras)是Stable Diffusion等图像生成模型中的一种采样策略,它结合了DPM(Diffusion Probabilistic Models,扩散概率模型)和SDE(Stochastic Differential Equation,随机微分方程)以及Karras等人的优化策略。以下是对该采样方法的详细解析:

1. DPM(扩散概率模型)

DPM是一种通过逐步添加噪声到数据中,然后学习如何逐步去除噪声以恢复原始数据的生成模型。这种方法在图像生成领域取得了显著成果,因为它能够生成高质量的图像,并且具有较好的可解释性和可控性。

2. SDE(随机微分方程)

SDE是一种描述系统随时间变化的随机过程的数学工具。在图像生成中,SDE被用来模拟图像数据的扩散过程,即图像数据逐渐添加噪声的过程。通过求解SDE的逆过程,可以生成去噪后的图像,即原始图像。

3. Karras等人的优化策略

Karras等人提出了一种高效的随机数生成方法和优化策略,这些策略被应用于DPM + SDE Karas中,以减少计算量和内存消耗,同时提高生成图像的质量和效率。

4. DPM + SDE Karas的特点

  1. 高效性:结合了DPM和SDE的优点,能够在较少的采样步数下生成高质量的图像。
  2. 可控性:通过调整SDE的参数和Karras等人的优化策略,可以实现对生成图像过程的精细控制。
  3. 多样性:由于SDE的随机性,DPM + SDE Karas能够生成具有多样性的图像样本。

5. 应用场景

DPM + SDE Karas适用于需要高质量、高效率图像生成的场景,如艺术创作、游戏开发、虚拟现实等。此外,它还可以用于图像编辑、图像超分辨率等图像处理任务。

prompt的书写

上一篇已经解释过了,就是 内容prompt + 通用prompt。内容很简单,我就写 1 girl。 通用 prompt 基本就是那些套路,这个需要多练,直接上那些固定讨论写法就好。 

小结

看下最终的设置如下:

正向提示词

a girl,
(masterpiece:1,2),best quality,masterpiece,highres,original,extremely detailed wallpaper,

反向提示词

NSFW,(worst quality:2),(low quality:2),(normal quality:2),lowres,normal quality,((monochrome)),((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many fingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs))),

其他设置

底模

其实已经有很多人上传了各种你你可能需要的底膜,所谓底膜,如果你懂AI原理,其实就是 以前的checkpoint,说直白点就是AI 绘画大模型针对当下你需要的这个场景提前训练好的模型参数。不过现在用safetensor 的方式比较流行,以前是 kpt 文件的方式存储,有安全问题,可能引入其他可执行代码。相对来说 safetensor 就是存储的模型layer 张量数据,很单纯,安全性高。不扯远了,你可以选择一个已经有的成熟底膜。我这里选择的是

好了,设置完成,看看出图效果。

第一幅是原图,后面三张是二次元生成的动漫效果。

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

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

相关文章

大语言模型-检索测评指标

1. MRR (Mean Reciprocal Rank)平均倒数排名: 衡量检索结果排序质量的指标。 计算方式: 对于每个查询,计算被正确检索的文档的最高排名的倒数的平均值,再对所有查询的平均值取均值。 意义: 衡量…

ChatTTS超强的真人AI语音助手下载使用教程

简介 ChatTTS是专门为对话场景设计的文本转语音模型,支持多人同时对话,适用的场景非常丰富,比如LLM助手对话任务,视频配音、声音克隆等。同时支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练&#xf…

【Android】 dp与sp,加冕为王

目录 重要概念 屏幕尺寸 屏幕分辨率 屏幕像素密度 基础知识: ppi pt DPI 的定义和重要性 Android 中的 DPI 级别 px dp(Density Independent Pixels) sp(Scale-independent Pixels) 安卓的dp/dip、sp 虚拟…

设置浏览器网页全屏

在日常笔记本上办公时,由于屏幕较小,为了尽可能多和方便的显示浏览器网页上的内容,可以设置网页全屏的方式,去掉屏幕顶端的网址栏和底端栏,具体设置如下: 以Edge浏览器和Google Chrome浏览器为例&#xff…

如何免费用java c#实现手机在网状态查询

今天分享手机在网状态查询接口,该接口适用的场景非常广泛!首先我们先讲下什么是手机在网状态?简单来说,就是你得手机号是否还在正常使用中,是否能够及时接收和回复信息,是否能够随时接听和拨打电话。如果你…

通过libx246 libfaac转换推送RTMP音视频直播流

一、RTMP简介及rtmplib库: RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing…

C++ :友元类

友元类的概念和使用 (1)将类A声明为B中的friend class后,则A中所有成员函数都成为类B的友元函数了 (2)代码实战:友元类的定义和使用友元类是单向的 (3)友元类是单向的,代码实战验证 互为友元类 (1)2个类可以互为友元类,代码实战…

相同IP地址仿真测试

相同IP地址仿真测试 背景与挑战解决方案技术优势功能特点 背景与挑战 在汽车电子领域,电子控制单元(ECU)的测试是确保其功能性和可靠性的关键步骤。然而,当测试场景涉及多个配置相同IP地址的ECU时,传统的测试方法面临…

GooglePlay 金融品类政策更新(7月17号)

距离上次政策大更新(4月5号)才过去了3个月,Google Play又迎来了一次大更新,不得不说Google Play的要求越来越高了。 我们来梳理一下这次GooglePlay针对金融品类更新了哪些政策: 1.要求提供金融产品和服务的开发者必须注册为组织…

IDEA的常见代码模板的使用

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

STM32使用SPI向W25Q64存储信息(HAL库)

SPI全双工通信:全双工在时钟脉冲周期的每一个周期内,每当主设备同时发送一个字节的同时,会接受从设备接受一个字节数据,SPI全双工最大的特点就是发送和接受数据同步进行,发送多少数据就要接受多少数据。使用全双工通信…

vst 算法R语言手工实现 | Seurat4 筛选高变基因的算法

1. vst算法描述 (1)为什么需要矫正 image source: https://ouyanglab.com/singlecell/basic.html In this panel, we observe that there is a very strong positive relationship between a gene’s average expression and its observed variance. I…

【iOS】static、extern、const、auto关键字以及联合使用

目录 前言extern关键字static关键字const关键字 联合使用static和externstatic和constextern和const auto关键字 先了解一下静态变量所在的全局/静态区的特点:【iOS】内存五大分区 前言 上面提到的全局/静态区中存放的是全局变量或静态变量: 全局变量…

逻辑回归(Logistic Regression,LR)

分类和回归是机器学习的两个主要问题。 分类处理的是离散数据回归处理的是连续数据 线性回归:回归 拟合一条线预测函数: 逻辑回归:分类——找到一条线可以将不同类别区分开 虽然称为逻辑回归,但是实际是一种分…

Chromium CI/CD 之Jenkins实用指南2024-在Windows节点上创建任务(九)

1. 引言 在现代软件开发流程中,持续集成(CI)和持续交付(CD)已成为确保代码质量和加速发布周期的关键实践。Jenkins作为一款广泛应用的开源自动化服务器,通过其强大的插件生态系统和灵活的配置选项&#xf…

【第4章】Spring Cloud之Nacos单机模式支持mysql

文章目录 前言一、初始化1. 初始化数据库2. 修改配置文件 二、效果1. 重新启动2. 新增用户 总结 前言 在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具…

数据如光,科技助航丨泰迪智能科技2024年暑期数据分析学徒班正式开班

7月16日,泰迪智能科技2024年暑期数据分析学徒班在泰迪智能科技天河培训中心正式开班,泰迪智能科技培训业务部孙学镂、教学代表周津、授课讲师巫兴港、就业指导老师赵欣欣、孟宪同、教学班主任黄晨华出席此次开班仪式。 仪式伊始,孙学镂代表广…

达梦数据库的系统视图v$arch_status

达梦数据库的系统视图v$arch_status 在达梦数据库(DM Database)中,V$ARCH_STATUS 是一个动态性能视图(Dynamic Performance View),用于显示归档日志的状态信息。这个视图可以帮助数据库管理员监控和管理数…

【Linux服务器Java环境搭建】010在linux中安装Redis,以及对Redis的配置与远程连接

系列文章目录 【Linux服务器Java环境搭建】 前言 好久没有更新博客了,今天下了班回到家,看到电脑桌上尘封已久的《Spring Boot应用开发实战》,翻开目录想起来之前写的系列【Linux服务器Java环境搭建】还未完结,那就继续吧&#…

通义千问AI模型对接飞书机器人-模型配置(2-1)

一 背景 根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。 二 模型研究 参考阿里云帮助文档&#xf…