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

AI 绘画 | Stable Diffusion 图生图

图生图简介

Stable Diffusion 不仅可以文生图,还可以图生图。文生图就是完全用提示词文本去生成我们想要图片,但是很多时候会有词不达意的感觉。就像我们房子装修一样,我们只是通过文字描述很难表达出准确的想要的装修效果,如果能给到一张设计图或者效果图,那么就能更加直白的表达我们的想要的意思了。

图生图原理

在这里插入图片描述
文生图很难描述出我们对画面一些细节的控制,比如设计场景,我们要对图片中出现的所有事物进行细致的描述,物体的尺寸比例等,这样的提示词非常难写,即使能写出来,AI生图的过程就像在卡牌中抽卡一样,也许很久也抽不到我们想要的那张。于是就有了图生图的功能,我们可在sd web ui里上传一张图片,通过图片文件的方式告诉Ai一些信息,但是仅仅只上传一张图片是不够的。就像你工作的时候,领导给你发了一张图片,然后一句话不说,你也不清楚,领导的意图。还有一点就是,Ai对图片的理解也不是完全没有偏差,所有还要搭配提示词一起使用,才能有更好的效果。

图生图基本步骤

在这里插入图片描述

导入图片

选择图图生图,在中间面板中,点击上传或者拖放图片到这里。即可完成图片的导入。
在这里插入图片描述

参数设置

在这里插入图片描述

图生图和文生图一样,也有迭代步数、采样算法、提示词引导系数、宽高、随机种子等参数设置,不同的是多个一个缩放模式和重绘幅度(尺寸)、还有原来文生图宽高设置的地方改成了重绘幅度和尺幅。感觉文生图的过程更像是在我们上传图片的基础上做的重绘,事实好像确实如此,当我们不写任何提示词,重绘尺寸和原图保持一直,迭代步数设置为2,重绘幅度设置为0时,会得到和原图一模一样的图片
在这里插入图片描述
当我们将迭代步数调大设置为20,重绘幅度也调大设置为0.5时,因为我选择的底模是真人大模型,所以生成的图像会趋近于真人。

  • 当迭代步数越大,图像就越趋近于真人且有更多细节变化。
  • 当重绘幅度越大,生成的图像就和原图的相似度越小。

在这里插入图片描述
值得说明的是

  • 当我设置重绘尺寸的宽高和原图不一样的时候,画面就被拉伸或者缩短。
  • 图生图不仅可以设置重绘后图片的尺寸(宽高),也可通过重绘倍数去设置,生成的图片是原图等比放大或者缩小的多少倍数。
  • 当我们切换到重绘倍数面板,重绘尺寸失效,就会按照重绘倍数生成。反之当我切换到重绘尺寸,之前设置的重绘倍数就会失效,会按照我们设置重绘的宽高生成。

书写提示词

如果我们像对图片的内容做一些修改,比如让美女的表情发生一些变化,比如让美女微笑,我们只需要在正向提示词输入框里输入smlie提示词,设置迭代步数是20,重回幅度为0.45,点击生成。
在这里插入图片描述
在这里插入图片描述

随机种子应用

Stable Diffusion的随机种子(seed)是一个用于生成图像的随机数字,它与其他参数一起被用于驱动扩散过程。**这个随机种子可以确保每次运行模型时,只要输入相同的参数(包括提示词和随机种子),就能得到相同的图像。**换句话说,随机种子可以看作是每个图画的唯一编码。

当随机种子设置为-1时,图画会随机生成。如果用户对生成的图片满意,他们可以复制下面的种子数值,填入随机种子框内,后续生成的图画将与之前的图画相似。

因为Stable Diffusion生成图片每次都是随机的过程,即使相同的提示词和参数设置也会得到不一样的图片,如果我们想要上一次生成的图片上加入一些元素的话,就需要用到随机种子了。

在这里插入图片描述
首先点击下这个按钮锁定下上次出图的随机种子,然后在正向提示词输入框内加入,necklace(项链)的提示词,在点击生成就能再上次的图片上将人物带上项链了,前提还要保证除了提示词以外其他参数,包括checkpoint模型保持不变。
在这里插入图片描述

图生图扩展应用

图生图还有 涂鸦、局部重绘、涂鸦重绘,蒙版重绘的功能,利用这些功能我们可以将一张原始图片发生很多变化。比如动漫人物变为真人人物、真人变化动漫人物,2d动漫人物变3d动漫人物,3d动漫变2d动漫人物,模特换装,产品场景图等,后面都会讲到,感兴趣的朋友,记得一键三连,你的支持是我更新的动力!!!
在这里插入图片描述

相关文章:

AI 绘画 | Stable Diffusion 图生图

图生图简介 Stable Diffusion 不仅可以文生图,还可以图生图。文生图就是完全用提示词文本去生成我们想要图片,但是很多时候会有词不达意的感觉。就像我们房子装修一样,我们只是通过文字描述很难表达出准确的想要的装修效果,如果能…...

Nat. Med. | 基于遗传学原发部位未知癌症的分类和治疗反应预测

今天为大家介绍的是来自Alexander Gusev团队的一篇论文。原发部位未知癌症(Cancer of unknown primary,CUP)是一种无法追溯到其原发部位的癌症,占所有癌症的3-5%。CUP缺乏已建立的靶向治疗方法,导致普遍预后…...

RocketMQ如何安全的批量发送消息❓

优点: 批量发送消息可以提高rocketmq的生产者性能和吞吐量。 使用场景: 发送大量小型消息时;需要降低消息发送延迟时;需要提高生产者性能时; 注意事项: 消息列表的大小不能超过broker设置的最大消息大小;消息列表…...

计算机视觉与深度学习 | 基于视觉惯性紧耦合的SLAM后端优化算法

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 基于视觉惯性紧耦合的SLAM后端优化算法 引言视觉惯性联合初始化非线性优…...

GDI+ 绘制透明图

目录 一、GDI+ 准备工作 1、线程中添加GDI+支持 2、Gdiplus::Bitmap 1)、从文件创建位图...

【Java】IntelliJ IDEA使用JDBC连接MySQL数据库并写入数据

目录 0 准备工作1 创建Java项目2 添加JDBC 驱动程序3 创建数据库连接配置文件4 创建一个 Java 类来连接和操作数据库5 运行应用程序 在 IntelliJ IDEA 中连接 MySQL 数据库并将数据存储在数据表中,使用 Java 和 JDBC(Java Database Connectivity&#xf…...

Linux Hadoop平台伪分布式安装

Linux Hadoop 伪分布式安装 1. JDK2. Hadoop3. MysqlHive3.1 Mysql8安装3.2 Hive安装 4. Spark4.1 Maven安装4.2 Scala安装4.3 Spark编译并安装 5. Zookeeper6. HBase 版本概要: jdk: jdk-8u391-linux-x64.tar.gzhadoop:hadoop-3.3.1.tar.gzh…...

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX 手动添加、库添加方式

STM32-DSP库的使用 一.CMSIS-DSP1.1 DSP库简介1.2 支持的函数类别1.3 宏定义 二、操作2.1 STM32CubeMX 配置基本工程2.2 Lib库的方式实现(推荐)2.3 手动添加DSP文件(可以下载官方最新库,功能齐全) 三、MFCC测试DSP加速效果 为验证语音识别MFC…...

createElement的用法

目录 一:介绍 二:语法与例子 1、语法 2、一些例子 例1: 例2: 例3: 3、第二种写法 一:介绍 document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法…...

Mabitys总结

一、ORM ORM(Object/Relation Mapping),中文名称:对象/关系 映射。是一种解决数据库发展和面向对象编程语言发展不匹配问题而出现的技术。 使用JDBC技术时,手动实现ORM映射: 使用ORM时,自动关系映射: &am…...

JAVA安全之Log4j-Jndi注入原理以及利用方式

什么是JNDI? JDNI(Java Naming and Directory Interface)是Java命名和目录接口,它提供了统一的访问命名和目录服务的API。 JDNI主要通过JNDI SPI(Service Provider Interface)规范来实现,该规…...

Spring源码系列-框架中的设计模式

简单工厂 实现方式: BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。 实质: 由一个工厂…...

数据的读取和保存-MATLAB

1 序言 在进行数据处理时,经常需要写代码对保存在文件中的数据进行读取→处理→保存的操作,流程图如下: 笔者每次在进行上述操作时,都需要百度如何“选中目标文件”以及如何“将处理好的数据保存到目标文件中”,对这一…...

C++ 输入、输出和整数运算

【问题描述】 编写一个程序,读入两个整数,计算并输出他们的和、积、商和余数。 【输入形式】 程序运行到输入时,不要显示输入提示信息。 输入为两个整数(在问题描述中记作A和B,程序中请自定变量名),A和B使…...

Element Plus 解决组件显示英文问题

要解决Element Plus日历组件显示英文的问题,可以使用Element Plus提供的国际化功能,切换成中文语言。下面是一个简单的示例: 首先,在main.ts或者你的入口文件中引入Element Plus的中文语言包和Vue I18n: import { cr…...

sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

问题描述 sqlite3.NotSupportedError: deterministicTrue requires SQLite 3.8.3 or higher 解决方法 A kind of solution is changing the database from sqlite3 to pysqlite3. After acticate the virtualenv, install pysqlite. pip3 install pysqlite3 pip3 install …...

单线程介绍、ECMAScript介绍、操作系统Windows、Linux 和 macOS

目录 单线程介绍ECMAScript介绍操作系统Windows、Linux 和 macOS 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 单线程介绍 单线…...

【Docker】iptables基本原理

在当今数字化时代,网络安全问题变得越来越重要。为了保护我们的网络免受恶意攻击和未经授权的访问,我们需要使用一些工具来加强网络的安全性。其中,iptables是一个强大而受欢迎的防火墙工具,它可以帮助我们控制网络流量并保护网络…...

微服务架构——笔记(3)Eureka

微服务架构——笔记(3) 基于分布式的微服务架构 本次笔记为 此次项目的记录,便于整理思路,仅供参考,笔者也将会让程序更加完善 内容包括:1.支付模块、2.消费者订单模块、支付微服务入驻Eureka、Eureka集群…...

网络编程套接字(2)——简单的TCP网络程序

文章目录 一.简单的TCP网络程序1.服务端创建套接字2.服务端绑定3.服务端监听4.服务端获取连接5.服务端处理请求6.客户端创建套接字7.客户端连接服务器8.客户端发起请求9.服务器测试10.单执行流服务器的弊端 二.多进程版的TCP网络程序1.捕捉SIGCHLD信号2.让孙子进程提供服务 三.…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...