当前位置: 首页 > article >正文

AIGC-文生图与图生图

在之前的文章中,我们知道了如何通过Web UI和Confy UI两种SD工具来进行图片生成,今天进一步地讲解其中的参数用处及如何调节。

文生图

参数详解

所谓文生图,就是通过文字描述我们想要图片包含的内容。初学的话,还是以Web UI为例来看看,在整个过程中,涉及到了哪些参数,以及我们可以做哪些事情来调整最后的效果。
请添加图片描述
我们先来看看上面标记的5个位置:
1、Stable Diffusion模型:这是生成图片的基石,目前该模型也有很多版本,比如SD1.0、SD1.5、SD2.0、SDXL、SD3.0、SD3.5等,可以根据我们自己的需要选择。不过目前基本不会用最原始的版本,而是使用在该模型上经过微调后的模型,图中的anything-v5模型就是在SD1.5原始模型上微调过。
2、外挂VAE模型:可以将原始图片空间映射到低维空间,减少显存占用率。使用VAE模型,可以让生成的图像颜色更鲜艳、细节更锐利,在一定程度上改善局部细节的生成质量。目前很多大模型已经自带VAE了,不需要我们手动选择,除非作者在模型发布页面着重提到需要外挂的VAE模型。
3、文生图:这是核心功能区域,可以看到其后面还有各种各样的功能模块,比如图生图、后期处理等,我们需要用到哪一部分,就点击该选项即可。
4、正向提示词:用来描述我们想要生成的图像呈现的效果,提示词框下面是已经内置的一些提示词,方便我们快速设置。
5、负向提示词:用来描述我们不想要图像呈现的效果,和正向提示词一样,也有一些内置的提示词。
请添加图片描述

然后再看看剩下标记的10个位置(均处于生成选项栏,其余的后续会介绍):
1、采样方法:决定如何从噪声图像估计无噪声的图像,直接影响生成图像的速度、质量及风格,目前内置了数十种采样方法,需要依据我们想要实现的效果进行选择。
2、调度类型:控制扩散模型中去噪的时间步和噪声的分布,和采样方法共同决定了最后呈现的图像效果。
3、迭代步数:步数越少,生成速度越快,但是细节可能不足,步数越多,细节更丰富,但是计算量更大。
4、高分辨率修复:默认不开启,开启后会在文生图之后,先对生成的图像放大相应的倍数,然后对放大后的图像重绘以添加更多的细节。
5、Refiner:默认不开启,开启后会在文生图之后,借助refiner模型提升分辨率,进一步优化和改进生成的图像质量。
6、宽度和高度:控制最后生成的图像大小。
7、总批次数:控制同参数下进行文生图的批次数。
8、单批数量:控制同参数下单批次生成的图像数目。
9、提示词引导系数:控制我们的正向、负向提示词对于图像的影响程度,数值越大越会限制模型的创意。
10、随机数种子:决定了生成图像时的随机性,默认为-1,表示每次生成图像都是随机状态,也可以直接填写一个数值,那么后续生成图像时都会参考这个种子,以便最大限度地保证结果一致。
了解了基本功能后,我们再着重讲讲模型选择、提示词书写、采样方法与调度类型的选择这三个方面,其他设置大家可以多尝试一下。

如何选择模型

目前大家用的比较多的模型可以分为三类:

  • 二次元类模型:Anything V5、Counterfeit V2.5、Dreamlike Diffusion。
  • 真实性模型:Deliberate、Realistic Vision、LOFI。
  • 2.5D模型:Never Ending Dream、Protogen、国风3。

假如我们的正向提示词为:a girl, cute,负向提示词不写,生成的选项如下所示:
请添加图片描述

分别采用Anything V5、Deliberate、国风3模型得到的效果如下。
Anything V5效果图
Deliberate效果图
国风3模型

如何书写提示词

模型选择好之后,我们再来看看如何书写好的提示词(参考了B站Nenly同学教学),在实际使用中,可以将其分为两大类:

  • 内容型提示词
  • 标准化提示词

所谓内容型提示词,就是指我们想要呈现的画面内容,可以从四个角度书写:

  • 人物及主体特征:服饰穿搭(white dress)、发型发色(long hair)、五官特点(small eyes)、面部表情(smilling)、肢体动作(stretchinig arms)。
  • 场景特征:室内室外(indoor、outdoor)、大场景(forest、city、street)、小细节(tree、bush、white flower)。
  • 环境光照:白天黑夜(day、night)、特定时段(morning、sunset)、光环境(sunlight、bright)、天空(blue sky)。
  • 画幅视角:距离(close-up)、人物比例(full body、upper body)、观察视角(from above)、镜头类型(wide angle)。
    而标准化提示词,则可从两个角度书写:
  • 画质提示词:通用高画质(best quality、masterpiece、8k)、特定高分辨率类型(unreel engine rendered)。
  • 画风提示词:插画风(illustration、painting)、二次元(anime、comic)、写实系(realistic)。

另外提示词还有一些特殊的写法:

  • 权重分配
    • 括号加数字: ( w h i t e f l o w e r : 1.5 ) (white flower:1.5) (whiteflower:1.5)代表权重调整为以前的1.5倍。
    • 套括号
      • 圆括号:每套一层,权重调整为之前的1.1倍, ( ( ( w h i t e f l o w e r ) ) ) (((white flower))) (((whiteflower)))为以前的1.331倍。
      • 大括号:每套一层,权重调整为之前的1.05倍, w h i t e f l o w e r {{{white flower}}} whiteflower为以前的1.15倍。
      • 方括号:每套一层,权重调整为之前的0.9倍, [ [ [ w h i t e f l o w e r ] ] ] [[[white flower]]] [[[whiteflower]]]为以前的0.729倍。
  • 混合:混合两个描述同一对象的提示词要素, w h i t e ∣ y e l l o w f l o w e r white | yellow flower whiteyellowflower生成黄白相混合的花。
  • 迁移:连续生成具有多个不同特征的对象, [ w h i t e ∣ r e d ∣ y e l l o w ] f l o w e r [white|red|yellow] flower [whiteredyellow]flower先生成白花,再生成红花,最后生成黄花。
  • 迭代:与采样过程关联,一定阶段以后再生成特定对象, ( w h i t e f l o w e r : b u s h : 0.8 ) (white flower:bush:0.8) (whiteflower:bush:0.8)进程达到80%以前生成黄色的花,之后再生成灌木。

如何选择采样方法和调度类型

除了模型和提示词之外,采样方法和调度类型也极大地影响了生成图像的质量,SD提供了多种采样器,不同采样器生成图像的细节、风格和速度各有特点。以下是常见的采样器及其特点:
请添加图片描述

当我们选择采样方法的时候,可以先依据下面的技巧:

  • 快速测试:选择 DDIMEuler,可以快速生成图像,便于调整参数。
  • 写实风格图像:选择 LMSDPM++ 2M Karras,能生成细节丰富、清晰的图像。
  • 艺术风格图像:选择 Euler aPLMS,可以生成带有艺术风格的多样化图像。
  • 高分辨率图像:选择 DPM++ 系列UniPC,可以更好地处理细节和边缘。

同样地,不同的调度类型也有自己的特点,下面是几种常见的调度器对比:
请添加图片描述
当我们选择调度器的时候,也可以先依据下面的技巧:

  • 高分辨率图像生成:选择 Karras 调度器,能更好地优化细节。
  • 快速生成任务:选择 Linear 调度器,简单高效。
  • 平滑细腻图像:选择 Cosine 调度器,能提升艺术风格图像的质量。

不过大多数情况下,我们将调度类型设置为Automatic即可。

图生图

上面已经介绍完了文生图,我们再看看图生图,实际上它俩最大的区别有两个地方:

  • 图生图需要事先上传一个图片,作为后续生成的参照。
  • 除了提示词引导系数外,还有个重绘幅度,用于控制参照图片的影响程度。
    请添加图片描述
    请添加图片描述
    我们使用Anything V5模型,正向提示词和之前保持不变,仍然是a girl, cute,生成选项也与之前保持不变,上传一张照片:

请添加图片描述

然后点击生成,可以看到与原图相比,保留的元素不多,更多是模型自由发挥:
请添加图片描述

但如果我们把重绘幅度调到0.5,生成出来的图则保持了原图更多的元素:
请添加图片描述

总结

本篇文章介绍了SD中文生图和图生图的基本用法,相信阅读后大家对于SD都有个基本的了解,剩下的就是多去实操,在这个去中心化时代,每个人都可以成为不可忽略的重要节点。

相关文章:

AIGC-文生图与图生图

在之前的文章中,我们知道了如何通过Web UI和Confy UI两种SD工具来进行图片生成,今天进一步地讲解其中的参数用处及如何调节。 文生图 参数详解 所谓文生图,就是通过文字描述我们想要图片包含的内容。初学的话,还是以Web UI为例…...

量化交易 - 聚宽joinquant - 多因子入门研究 - 源码开源

先看一下我们的收益: JoinQuant直达这里看看 下面讲解原理和代码。 目录 一、是否为st 二、是否停牌 三、市值小、roe大 四、编写回测代码 今天来研究一下多因子回测模型,这里以‘市值’、‘roe’作为例子。 几个标准:沪深300里选股&am…...

本地缓存方案Guava Cache

Guava Cache 是 Google 的 Guava 库提供的一个高效内存缓存解决方案&#xff0c;适用于需要快速访问且不频繁变更的数据。 // 普通缓存 Cache<Key, Value> cache CacheBuilder.newBuilder().maximumSize(1000) // 最大条目数.expireAfterWrite(10, TimeUnit.MINUTES) /…...

虚拟列表react-virtualized使用(npm install react-virtualized)

1. 虚拟化列表 (List) // 1. 虚拟化列表 (List)import { List } from react-virtualized; import react-virtualized/styles.css; // 只导入一次样式// 示例数据 const list Array(1000).fill().map((_, index) > ({id: index,name: Item ${index},description: This is i…...

解释型语言和编译型语言的区别

Python 的执行过程通常涉及字节码&#xff0c;而不是直接将代码编译为机器码。以下是详细的解释&#xff1a; ### **Python 的执行过程** 1. **源代码到字节码**&#xff1a; - Python 源代码&#xff08;.py 文件&#xff09;首先被编译为字节码&#xff08;.pyc 文件&…...

猫咪如厕检测与分类识别系统系列【三】融合yolov11目标检测

✅ 前情提要 家里养了三只猫咪&#xff0c;其中一只布偶猫经常出入厕所。但因为平时忙于学业&#xff0c;没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关&#xff0c;频繁如厕可能是泌尿问题&#xff0c;停留过久也可能是便秘或不适。为了更科学地了解牠…...

sql server 字段逗号分割取后面的值

在 SQL Server 中&#xff0c;如果你有一个字段&#xff08;字段类型通常是字符串&#xff09;&#xff0c;其中包含用逗号分隔的值&#xff0c;并且你想提取这些值中逗号后面的特定部分&#xff0c;你可以使用多种方法来实现这一点。这里我将介绍几种常见的方法&#xff1a; …...

FPGA 37 ,FPGA千兆以太网设计实战:RGMII接口时序实现全解析( RGMII接口时序设计,RGMII~GMII,GMII~RGMII 接口转换 )

目录 前言 一、设计流程 1.1 需求理解 1.2 模块划分 1.3 测试验证 二、模块分工 2.1 RGMII→GMII&#xff08;接收方向&#xff0c;rgmii_rx 模块&#xff09; 2.2 GMII→RGMII&#xff08;发送方向&#xff0c;rgmii_tx 模块&#xff09; 三、代码实现 3.1 顶层模块 …...

上篇:《排序算法的奇妙世界:如何让数据井然有序?》

个人主页&#xff1a;strive-debug 排序算法精讲&#xff1a;从理论到实践 一、排序概念及应用 1.1 基本概念 **排序**&#xff1a;将一组记录按照特定关键字&#xff08;如数值大小&#xff09;进行递增或递减排列的操作。 1.2 常见排序算法分类 - **简单低效型**&#xff…...

红宝书第三十四讲:零基础学会单元测试框架:Jest、Mocha、QUnit

红宝书第三十四讲&#xff1a;零基础学会单元测试框架&#xff1a;Jest、Mocha、QUnit 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、单元测试是什么&#xff1f; 就像给代码做“体检”&#xff0c;帮你检查…...

【JDBC-54.1】MySQL JDBC连接字符串常用参数详解

在Java应用程序中连接MySQL数据库时&#xff0c;JDBC连接字符串是建立连接的关键。一个配置得当的连接字符串不仅能确保连接成功&#xff0c;还能优化性能、增强安全性并处理各种连接场景。本文将深入探讨MySQL JDBC连接字符串的常用参数及其最佳实践。 1. 基本连接字符串格式…...

swagger 注释说明

一、接口注释核心字段 在 Go 的路由处理函数&#xff08;Handler&#xff09;上方添加注释&#xff0c;支持以下常用注解&#xff1a; 注解名称用途说明示例格式Summary接口简要描述Summary 创建用户Description接口详细说明Description 通过用户名和邮箱创建新用户Tags接口分…...

CST1019.基于Spring Boot+Vue智能洗车管理系统

计算机/JAVA毕业设计 【CST1019.基于Spring BootVue智能洗车管理系统】 【项目介绍】 智能洗车管理系统&#xff0c;基于 Spring Boot Vue 实现&#xff0c;功能丰富、界面精美 【业务模块】 系统共有三类用户&#xff0c;分别是&#xff1a;管理员用户、普通用户、工人用户&…...

【前端网络请求】XHR封装,支持文件上传、进度监控、混合字段传输

网络请求介绍 XMLHttpRequest(XHR)是前端开发中用于发起网络请求的基础技术。虽然现代开发中常用fetch或axios,但掌握XHR的封装技巧仍能让你更灵活地应对复杂需求。本文将通过一个可复用、功能全面的XHR封装工具,教你实现以下功能: 📤 文件上传(单个/多个文件)📊 实…...

# Shell脚本参数设计规范(DeepSeek指导)

Shell脚本参数设计规范&#xff08;DeepSeek指导&#xff09; 文章目录 Shell脚本参数设计规范&#xff08;DeepSeek指导&#xff09;A 我问&#xff1a;Q DeepSeek回答&#xff1a;**命令行参数表示规范****标准化表示示例**情况1&#xff1a;必选选项参数值情况2&#xff1a;…...

学习SqlSugar的跨库查询基本用法

使用SqlSugar操作数据库通常都是单库操作&#xff0c;跨库查询的情况要么是单个系统数据不完整&#xff0c;需要其它系统的关联业务数据支撑&#xff0c;要么就是需要整合汇总多个系统的数据进行数据数据分析、处理、展示。遇到上述情况&#xff0c;可以要求另外的系统提供查询…...

HTTP:五.WEB服务器

web服务器 定义:实现提供资源或应答的提供者都可以谓之为服务器!web服务器工作内容 接受建立连接请求 接受请求 处理请求 访问报文中指定的资源 构建响应 发送响应 记录事务处理过程 Web应用开发用到的一般技术元素 静态元素:html, img,js,Css,SWF,MP4 动态元素:PHP,…...

5.3 GitHub订阅系统核心架构解密:高并发设计与SQLite优化实战

GitHub Sentinel 分析报告功能实现:订阅管理核心逻辑解析 关键词:GitHub API 订阅管理, SQLite 数据库设计, RESTful API 开发, 原子操作封装, 异常处理机制 1. 订阅管理功能架构设计 订阅管理模块采用分层架构设计,通过清晰的接口隔离实现高内聚低耦合: #mermaid-svg-bW…...

CSI-PVController-volumeWorker

volumeWorker() 与claim worker流程一样&#xff0c;从volumeQueue中取数据&#xff0c;也就是取出的都是PV&#xff0c;如果informer中有这个pv&#xff0c;就进入update流程。 定义workFunc&#xff1a;首先&#xff0c;定义了一个匿名函数workFunc&#xff0c;这个函数是实…...

0基础 | 硬件滤波 C、RC、LC、π型

一、滤波概念 &#xff08;一&#xff09;滤波定义 滤波是将信号中特定波段频率滤除的操作&#xff0c;是抑制和防止干扰的重要措施。通过滤波器实现对特定频率成分的筛选&#xff0c;确保目标信号的纯净度&#xff0c;提升系统稳定性。 &#xff08;二&#xff09;滤波器分…...

图论基础理论

在我看来&#xff0c;想要掌握图的基础应用&#xff0c;仅需要三步走。 什么是图&#xff08;基本概念&#xff09;、图的构造&#xff08;打地基&#xff09;、图的遍历方式&#xff08;应用的基础&#xff09; 只要能OK的掌握这三步、就算图论入门了&#xff01;&#xff0…...

leaflet 之 获取中国某个行政区的经纬度边界(latLngBounds)

思路 在json文件中获取下面的四个点 组成东北,西南两组 { “southwest”: { “lat”: 35.950, “lng”: 120.000 },//西南方 “northeast”: { “lat”: 36.200, “lng”: 120.300 }//东北方 } 最西点经度&#xff08;minLng&#xff09; 最东点经度&#xff08;maxLng&#x…...

企业级低代码平台的架构范式转型研究

在快速迭代的数字时代&#xff0c;低代码平台如同一股清流&#xff0c;悄然成为开发者们的新宠。 它利用直观易用的拖拽式界面和丰富的预制组件&#xff0c;将应用程序的开发过程简化到了前所未有的程度。通过封装复杂的编程逻辑和提供强大的集成能力&#xff0c;低代码平台让…...

怎么免费下载GLTF/GLB格式模型文件,还可以在线编辑修改

​ 现在非常流行glb格式模型&#xff0c;和gltf格式文件&#xff0c;可是之类模型网站非常非常少 1&#xff0c;咱们先直接打开http://glbxz.com 官方glb下载网站 glbxz.com 2 可以搜索&#xff0c;自己想要的模型关键词 3&#xff0c;到自己想下载素材页面 4&#xff0c;…...

MyBatis 中 Mapper 传递参数的多种方法

# MyBatis Mapper 传递参数的多种方法及其优势 在使用 MyBatis 进行数据库操作时&#xff0c;Mapper 接口的参数传递是一个非常基础但又十分重要的部分。不同的参数传递方式适用于不同的场景&#xff0c;合理选择可以大大提高代码的可读性和维护性。本文将详细介绍几种常见的 …...

大模型到底是怎么产生的?一文揭秘大模型诞生全过程

前言 大模型到底是怎么产生的呢? 本文将从最基础的概念开始,逐步深入,用通俗易懂的语言为大家揭开大模型的神秘面纱。 大家好,我是大 F,深耕AI算法十余年,互联网大厂核心技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 【专栏介绍】: 欢迎关注《…...

2025年3月 Scratch图形化三级 真题解析 中国电子学会全国青少年软件编程等级考试

2025年3月Scratch图形化编程等级考试三级真题试卷 一、选择题 第 1 题 默认小猫角色&#xff0c;scratch运行程序后&#xff0c;下列说法正确的是&#xff1f;&#xff08; &#xff09; A.小猫的颜色、位置在一直变化 B.小猫在舞台中的位置在一直变化&#xff0c;颜色…...

判断两个 IP 地址是否在同一子网 C

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> // 将点分十进制的 IP 地址转换为 32 位无符号整数 unsigned int ip_to_uint(const char *ip) { struct in_addr addr; if (inet_pton(AF_INET, ip, &am…...

DHCP中继

前言&#xff1a; DHCP Relay即DHCP中继&#xff0c;它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的 DHCP中继 DHCP协议依赖广播通信&#xff08;如客户端发送DHCP Discover报文&#xff09;&#xff0c;但广播报文无法跨越子网&#xff0c;因为&#xff1a; 路由…...

02 - spring security基于配置文件及内存的账号密码

spring security基于配置的账号密码 文档 00 - spring security框架使用01 - spring security自定义登录页面 yml文件中配置账号密码 spring:security:user:name: adminpassword: 123456yml文件中配置账号密码后&#xff0c;控制台将不再输出临时密码 基于内存的账号密码 …...