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


大家好,我是风雨无阻。


通过前面几篇文章的介绍,相信各位小伙伴,对 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.hqwc.cn/news/70614.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统编程:通过System V共享内存实现进程间通信

目录 一. 共享内存实现进程间通信的原理 二. 共享内存相关函数 2.1 共享内存的获取 shmget / ftok 2.2 共享内存与进程地址空间相关联 shmat 2.3 取消共享内存与进程地址空间的关联 shmdt 2.4 删除共享内存 shmctl 2.5 通信双方创建共享内存代码 三. 共享内存实现进程间…

NLP——操作步骤讲义与实践链接

数据集与语料 语料是NLP的生命之源,所有NLP问题都是从语料中学到数据分布的规律语料的分类:单语料,平行语料,复杂结构 语料的例子:Penn Treebank, Daily Dialog, WMT-1x翻译数据集,中文闲聊数据集&#xf…

网络通信TCP/IP协议逐层分析数据链路层(第四十课)

Ethernet Ⅱ帧,也称为Ethernet V2帧,是如今局域网里最常见的以太帧,是以太网事实标准。如今大多数的TCP/IP应用(如HTTP、FTP、SMTP、POP3等)都是采用Ethernet II帧承载。 1、MAC地址概述 -MAC地址,即以太网地址,用来标识一个以太网上的某个单独设备或一组设备 -长度…

用递归与迭代完成二叉树的三种遍历

目录 二叉树的前序遍历 题目 前序遍历题目链接 递归代码 1.利用方法返回值的代码 2.返回值为void的代码 非递归实现前序遍历(利用栈stack) 1.利用方法返回值的代码 2.返回值为void的代码 二叉树的中序遍历 题目 :给定一个二叉树的根节点 root ,返回 它…

windows pip安装出现 error: Microsoft Visual C++ 14.0 is required

可参考:如何解决 Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools“_不吃香菜的小趴菜的博客-CSDN博客 一、安装Visual Studio2022 1、下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 我这使…

Linux 终端命令之文件浏览(1) cat

Linux 文件浏览命令 cat, more, less, head, tail,此五个文件浏览类的命令皆为外部命令。 hannHannYang:~$ which cat /usr/bin/cat hannHannYang:~$ which more /usr/bin/more hannHannYang:~$ which less /usr/bin/less hannHannYang:~$ which head /usr/bin/he…

24近3年内蒙古大学自动化考研院校分析

今天给大家带来的是内蒙古大学控制考研分析 满满干货~还不快快点赞收藏 一、内蒙古大学 学校简介 内蒙古大学位于内蒙古自治区首府、历史文化名城呼和浩特市,距北京400余公里,是中华人民共和国成立后党和国家在民族地区创办的第一所综合大…

【【verilog典型电路设计之FIR滤波器的设计】】

verilog典型电路设计之FIR滤波器的设计 我们常用的FIR滤波器称为有限冲激响应 是一种常用的数字滤波器 ,采用对已输入样值的加权和来形成它的输出。 对于输入序列X[n] 的FIR滤波器可用下图所示的结构示意图来表示,其中X[n] 是输入数据流。各级的输入连…

java八股文面试[java基础]——String StringBuilder StringBuffer

String类型定义: final String 不可以继承 final char [] 不可以修改 String不可变的好处: hash值只需要算一次,当String作为map的key时, 不需要考虑hash改变 天然的线程安全 知识来源: 【基础】String、StringB…

【云原生】Docker 详解(二):Docker 架构及工作原理

Docker 详解(二):Docker 架构及工作原理 Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互。…

【Kafka】2.在SpringBoot中使用官方原生java版Kafka客户端

目 录 1. 新建一个消息生产者2. 新建一个消息消费者3. 测 试 在开始之前,需要先做点准备工作,用 IDEA 新建一个 Maven 项目,取名 kafka-study,然后删掉它的 src 目录,接着在 pom.xml 里面引入下面的依赖。这个项目的作…

[oneAPI] 手写数字识别-LSTM

[oneAPI] 手写数字识别-LSTM 手写数字识别参数与包加载数据模型训练过程结果 oneAPI 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI:https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolk…