AI 绘画Stable Diffusion 研究(九)sd图生图功能详解-老照片高清修复放大

news2024/9/29 7:22:55

大家好,我是风雨无阻。


通过前面几篇文章的介绍,相信各位小伙伴,对 Stable Diffusion 这款强大的AI 绘图系统有了全新的认知。我们见识到了借助 Stable Diffusion的文生图功能,利用简单的几个单词,就可以生成完美的图片。本期我们一起来研究 Stable Diffusion图生图功能这个宝藏。


对于新朋友,想详细了解Stable Diffusion 的话,请查看往期文章:

AI 绘画Stable Diffusion 研究(一)sd整合包v4.2 版本安装说明
AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装
AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解
AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)
AI 绘画Stable Diffusion 研究(五)sd文生图功能详解(下)
AI 绘画Stable Diffusion 研究(六)sd提示词插件
AI 绘画Stable Diffusion 研究(七) 一文读懂 Stable Diffusion 工作原理
AI 绘画Stable Diffusion 研究(八)sd采样方法详解


为了让大家更直观的了解图生图功能,这里以几个实用价值比较高的案例来介绍图生图功能到底是干嘛的,能做什么事情?


  • 第一个案例 老照片高清修复放大

  • 第二个案例 精美二维码的制作

  • 第三个案例 美女换装


这里以案例穿插知识点说明的方式进行讲解。

各位朋友,可以根据我的步骤一边进行实操,一边进行理论知识的学习,这样能提高学习效率。


老照片高清修复放大案例


第一步,我们在修复照片之前,需要先进行设置


设置->面部修复

  • 勾选FGPGAN 选项
  • codeFromer 权重设置为1
  • 勾选处理完成后,将面部修复模型从显存卸载到内存
  • 保存设置
  • 重载前端

在这里插入图片描述


第二步,切换到图生图界面

在这里插入图片描述


第三步,选择需要修复的照片

  • 切换到局部重绘标签页面

  • 将需要修复的图片拖入图片上传区域


在这里插入图片描述


第四步,选择缩放模式


在选择缩放模式前,我们现来看看缩放模式的知识点,四个缩放模式有什么区别:


  • 仅调整大小

    图片会直接缩放拉伸,例如,尺寸从512x512 调整为768x512 , 如图

在这里插入图片描述


  • 裁剪后缩放

    例如,尺寸从512x512 调整为400x512 , 选择此模式后,图片宽度内容会被裁剪掉,如图:


在这里插入图片描述


  • 缩放后填充空白

    例如,尺寸从512x512 调整为768x512 , 选择此模式后,图片宽度方向会以相近的内容自动填充,如图:

在这里插入图片描述


  • 调整大小(潜空间放大)

这种模式和第一种模式比较相似,但是也有区别。

第一种模式,是在图片生成后被缩放。

而这种模式,是图片生成前,在潜空间内先进行缩放,这种缩放,每次出图的效果不太一样,有微小的差别。


例如,尺寸从512x512 调整为768x512:

在这里插入图片描述


所以,可根据自己的需求进行缩放模式的选择。

这里,我们之间选择第一种缩放模式。

在这里插入图片描述


第五步,选择采样方法和迭代步数

采样方法,在前面也有详细介绍,感兴趣的朋友可以前往查看:

AI 绘画Stable Diffusion 研究(八)sd采样方法详解


这里贴一下我的选择建议:

  • 如果想快速生成质量不错的图片,建议选择 DPM++ 2M Karras (20 -30步) 、UNIPC (15-25步)
  • 如果想要高质量的图,不关心重现性,建议选择 DPM++ SDE Karras (10-15步 较慢) ,DDIM(10-15步 较快)
  • 如果想要简单的图,建议选择 Euler,Heun(可以减少步骤以节省时间)
  • 如果想要稳定可重现的图像,请避免选择任何祖先采样器(名字里面带a或SDE)
  • 相反,如果想要每次生成不一样的图像,可以选择不收敛的祖先采样器(名字里面带a或SDE)

这里我们选择 DPM++ 2M Karras (28步)

在这里插入图片描述


第六步、面部修复选择

在选择面部修复相关设置之前,我们先来介绍一下面部修复相关的知识点。

面部修复有两种方式,一种重绘尺寸倍数,一种是重绘尺寸。


  • 重绘尺寸

我们可以点击“三角形”按钮 , 将自动获取到原图的尺寸

在这里插入图片描述


  • 重绘尺寸倍数

按照倍数来,可根据自己的需求,进行选择,例如: 1倍、2倍 、3倍

在这里插入图片描述


在这个案例中,我们直接选择按原图的重绘尺寸,倍数选择1。

  • 重绘幅度

    假如把重绘幅度设置为0,则表示AI 什么都不会做,保持原图。

    假如把重绘幅度设置为1,则表示AI 完全自由发挥,产生的图片跟原图关联性就很小。

因为这里我们要做照片的高清修复,所以这里不需要AI 去重绘 ,设置为0 。


第七步、点击生成


效果如下:

在这里插入图片描述


可以看到效果并不明显,并没有达到预期。这是因为在上述步骤中,只处理了面部细节,对其他部分并未进行处理,那么此时我们还需要进行后期处理。


第八步、后期处理

我们将生成好的图像,点击“发送到后期处理”按钮,切换到后期处理页面。

在这里插入图片描述


缩放比例,选择:1

放大算法选择:SwinIR_4x

在这里插入图片描述


生成效果如下:


在这里插入图片描述


根据对比图,我们可以看到,面部细节以及发色、背景都做了高清处理。


如果你对生成的图像还不满意,那么我再告诉你一个图像高清终极大法,相信高清修复后的图像你绝对没话说。


请继续往下看。


第九步、图像高清终极大法

图像高清终极大法究竟是什么呢?那就是使用ConctrolNet title 进行控制图像效果。


相信阅读过 AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装 这篇文章的朋友应该有印象。


这里在介绍 ConctrolNet 新增的 Tile 模型时,曾经说到过:Tile 模型对于图片高清修复、提升细节、根据画面自动推断内容有着很好效果,大家还记得吗?


好,废话不多说,直接上操作步骤:


(1)、首先切换到图生图界面,并上传需要修复的图片


在这里插入图片描述


(2)、选择缩放模式、采样方法 、开启面部修复


在这里插入图片描述


(3)、启用ControlNet ,并选择需要控制的图片


在这里插入图片描述


(4)、重点来了

  • 控制类型: 选择title 分块
  • 预处理器选择:title_resample
  • 模型选择:control_v11fle_sd15_title

在这里插入图片描述


(5)、点击生成

对比效果如下:

在这里插入图片描述


对这个高清和细节修复效果,你是否还满意?

当然做老照片高清修复的方法网络上也有很多,这里还是着重介绍图生图的功能。

好了,我们的第一个图生图的功能案例就到此结束。

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

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

相关文章

Java多线程实战

Java多线程实战 java多线程(超详细) java自定义线程池总结 Java创建线程方式 方法1,继承Thread类 方法2,实现Runable接口 方法2-2,匿名内部类形式lambda表达式 方法3,实现Callable接口,允许…

【Django】Task2 了解models和使用admin后台

文章目录 【Django】Task2 了解models和使用admin后台1.什么是models1.1常用字段类型说明1.2常用配置参数1.3models示例 2.使用Django的admin管理模块2.1admin管理模块介绍2.2创建管理员用户2.3定义models实体对象2.4注册对象2.5合并数据库2.6启动项目并进入管理后台 3.springb…

计算机视觉:从图像识别到目标检测的技术进展

随着人工智能领域的快速发展,计算机视觉技术在过去几年中取得了令人瞩目的进步。从最初的图像识别到如今的目标检测,技术的不断创新和突破让计算机在理解和解释图像中变得越来越强大。本文将带您走进这一令人兴奋的领域,探索计算机视觉从图像…

ssh远程连接服务器

一、远程连接服务器简介 二、连接加密技术简介 三、ssh服务配置 四、用户登录ssh服务 Enforcing会强制限制,如端口为22,可以访问,如果是2000端口,不能使用 Permissive是宽容的模式,不限制使用端口 Enforcing会重启失败…

C++ 用st协程库解决 一个客户端同时连接多个服务端的问题 State Thread st协程库 在程序中的运用

继之前的一篇文章 业务需求是这样 程序中配置了很多个网络设备 这些设备作为server端 每隔1分钟要通过socket去和设备通信 以此来实现 设备是否在线 默认最传统的方法 一个线程中 遍历这些设备 假设有30个设备 每个设备超时时间5秒 那么 遍历一遍需要30*5 150秒 如…

uniapp 小兔鲜儿 - 首页模块(2)

目录 热门推荐 首页 – 热门推荐组件 首页 – 获取热门推荐数据 首页 – 热门推荐数据类型并渲染 猜你喜欢 首页 – 猜你喜欢组件 首页 – 获取猜你喜欢数据 首页 – 猜你喜欢数据类型和渲染 首页 – 猜你喜欢分页准备 首页 – 猜你喜欢分页加载 首页 – 猜你喜欢分…

RabbitMQ启动服务报错1067解决方案

首先: 你的 Erlang正确下载安装,且配置完成环境变量,可在命令行键入erl,若显示erlang版本则说明环境变量配置成功。如下: 原因分析: 1. 电脑名称为中文 2. erlang和rabbitmq版本不匹配 3. 安装目录有空格…

211、仿真-基于51单片机土壤湿度智能盆栽灌溉报警Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&am…

诚迈科技荣膺小米“最佳供应商奖”

近日,诚迈科技受邀参加小米战略合作伙伴HBR总结会。诚迈科技以尽职尽责的合作态度、精益求精的交付质量荣膺小米公司颁发的最佳供应商奖,其性能测试团队荣获优秀团队奖。 诚迈科技与小米在手机终端方向一直保持着密切的合作关系,涉及系统框架…

机械臂-五次多项式与三次多项式对比

##1、三次多项式算法 代码如下: L(1) Link( d, 0.081, a ,-0.01 , alpha, pi/2 ,offset,0); L(2) Link( d, 0 , a , 0.099 , alpha, 0 ,offset,pi/2); L(3) Link( d, 0 , a , -0.01 , alpha,pi/2,offset,pi/2); L(4) Link( d, 0.1170.123,…

JVM中分代回收机制

为什么要分为新生代和老年代? 分为新生代(Young Generation)和老年代(Old Generation)是为了更有效地管理和优化内存的使用。 新生代主要存放生命周期较短的对象,例如方法的局部变量、临时变量等。由于这…

奥威BI财务数据分析方案:借BI之利,成就智能财务分析

随着智能技术的发展,各行各业都走上借助智能技术高效运作道路,财务数据分析也不例外。借助BI商业智能技术能够让财务数据分析更高效、便捷、直观立体,也更有助于发挥财务数据分析作为企业经营管理健康晴雨表的作用。随着BI财务数据分析经验的…

数据结构介绍

1、什么是数据结构呢? 计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。数据结构是为了更方便的管理和使用数据,需要结合具体的业务来进行选择。一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率。…

STM32单片机并口通信编程实例:代码详解与应用案例

引言: 单片机并口通信是一种传统而常用的通信方式,通过并行方式进行数据传输。尽管串口通信在现代应用中更加普遍,但并口通信在一些特定领域的应用仍然具有重要意义。本文将介绍单片机并口通信的原理、配置和实践方法,并给出STM32…

中电金信通过KCSP认证 云原生能力获权威认可

中电金信通过KCSP(Kubernetes Certified Service Provider)认证,正式成为CNCF(云原生计算基金会)官方认证的 Kubernetes 服务提供商。 Kubernetes是容器管理编排引擎,底层实现为容器技术,是云原…

【数据结构与算法】普里姆算法

普里姆算法 最小生成树 最小生成树,简称MST。 给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这就叫最小生成树。N 个顶点,一定有 N - 1 条边半酣全部顶点N - 1 条边都在图中举例说明…

爬虫逆向实战(五)--猿人学第三题

一、数据接口分析 主页地址:猿人学第三题 1、抓包 通过抓包可以发现数据接口是api/match/3 2、判断是否有加密参数 请求参数是否加密? 无请求头是否加密? 无响应是否加密? 无cookie是否加密? 无 二、发送请求 …

【Java】智慧工地SaaS平台源码:AI/云计算/物联网/智慧监管

智慧工地是指运用信息化手段,围绕施工过程管理,建立互联协同、智能生产、科学管理的施工项目信息化生态圈,并将此数据在虚拟现实环境下与物联网采集到的工程信息进行数据挖掘分析,提供过程趋势预测及专家预案,实现工程…

Redis对象和五种常用数据类型

Redisobject 对象 对象分为键对象和值对象 键对象一般是string类型 值对象可以是string,list,set,zset,hash q:redisobj的结构 typedef struct redisObject { //类型 unsigned type:4; //编码 unsigned encoding:4; //指向底层实现…

ArcGIS Pro如何制作不规则形状图例

在默认的情况下,ArcGIS Pro生成的图例是标准的点、直线和矩形的,对于湖泊等要素而言,这样的表示方式不够直观,我们可以将其优化一下,制作不规则的线和面来代替原有图例,这里为大家介绍一下制作方法&#xf…