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)、点击生成

对比效果如下:

在这里插入图片描述


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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

运行软件mfc140u.dll丢失怎么办?mfc140u.dll的三个修复方法

最近我在使用一款软件时遇到了一个问题,提示缺少mfc140u.dll文件。。这个文件是我在使用某个应用程序时所需要的,但是由于某种原因,它变得无法正常使用了。经过一番搜索和了解,我了解到mfc140u.dll是Microsoft Visual Studio 2015…

【JVM】JVM中的分代回收

文章目录 分代收集算法什么是分代分代收集算法-工作机制MinorGC、 Mixed GC 、 FullGC的区别是什么 分代收集算法 什么是分代 在java8时,堆被分为了两份: 新生代和老年代【1:2】 其中: 对于新生代,内部又被分为了三…

拒绝摆烂!C语言练习打卡第三天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 &#x1f4…

Docker:Windows container和Linux container

点击"Switch to Windows containers"菜单时: 提示 然后 实际上是运行:com.docker.admin.exe start-service

【广州华锐视点】帆船航行VR模拟实操系统

帆船航行VR模拟实操系统由广州华锐视点开发,是一种创新的教学工具,它利用虚拟现实技术,为学生提供了一个沉浸式的学习环境。通过这种系统,学生可以在虚拟的环境中进行帆船航行的实训,从而更好地理解和掌握帆船航行的技…

【Linux】DNS协议——应用层

目录 DNS协议 DNS背景 域名简介 域名解析过程 使用dig工具分析DNS过程 DNS(Domain Name System,域名系统)协议,是一个用来将域名转化为IP地址的应用层协议。 DNS背景 TCP/IP中通过IP地址和端口号的方式,来确定网…

Airbnb开源数据可视化工具Visx

一、什么是visx visx 是用于 React 的富有表现力的底层可视化组件集合,结合了 d3 的强大功能来生成可视化,以及 React 更新 DOM 的诸多优势。 在 Airbnb 内部,visx 的目标是统一整个公司的可视化堆栈,在此过程中,创建了 visx 项目,从而有效的将 D3 的强大功能与 React …

TCP/IP 下的计算机网络江湖

〇、引言 在当今数字化时代,计算机网络宛如广袤江湖,涵盖着五大门派:物理层、数据链路层、网络层、传输层和应用层。每个门派独具技能,共同构筑着现代网络的框架。物理层宛如江湖基石,将比特流传输;数据链路层如武林传承,组织数据帧传递;网络层则像导航大师,寻找传送路…

urllib.request.urlretrieve()下载资源到本地

urllib.request.urlretrieve()下载资源到本地 代码示例: 本实例已下载Cifair10数据集为例,下载完毕后进行加压缩包 import urllib.request as ur import os import sys import tarfile import glob import pickle import numpy a…

手撕单链表

目录 链表的概念和结构 单链表的实现 申请新结点 打印 尾插 头插 尾删 头删 ​编辑 查找 在pos位置前插入元素 在pos位置后插入元素 删除pos位置的元素 删除pos位置之后的位置的元素​编辑 完整代码 SListNode.h SListNode.c 链表的概念和结构 链表是一种物理存储…

在 SwiftUI 中创建一个环形 Slider

文章目录 前言初始化环形轮廓将进度值和拇指位置绑定添加触摸手势为不同的坐标值设置滑块位置总结 前言 Slider 控件是一种允许用户从一系列值中选择一个值的 UI 控件。在 SwiftUI 中,它通常呈现为直线上的拇指选择器。有时将这种类型的选择器呈现为一个圆圈&#…

git Authentication failed

情况是这样的,之前看代码只是clone了一份,但随着分支越来越多,有时候切换分支时必须先把修改的代码 stash 一下,觉得很麻烦,于是又clone了一份代码。然后pull代码是正常的,当push 代码的时候,去…

软件压力测试对软件产品起到什么作用?

一、软件压力测试是什么? 软件压力测试是一种通过模拟正常使用环境中可能出现的大量用户和大数据量的情况,来评估软件系统在压力下的稳定性和性能表现的测试方法。在软件开发过程中,经常会遇到一些性能瓶颈和稳定性问题,而软件压力测试的作…

uni-app弹窗列表滚动, 弹框下面的内容也跟随滚动解决方案

滑动弹窗里的列表,弹框下面的内容也会跟着滑动,导致弹窗中的列表不能正常滚动 1.弹窗组件代码,需要在最外层的view中加入touchmove.stop.prevent"moveHandle",且弹窗中需要滚动的列表要使用scroll-view标签包裹起来&…

虚拟拍摄,如何用stable diffusion制作自己的形象照?

最近收到了某活动的嘉宾邀请,我将分享: 主题:生成式人工智能的创新实践 简要描述:从品牌营销、智能体、数字内容创作、下一代社区范式等方面,分享LLM与图像等生成式模型的落地应用与实践经验。 领域/研究方向&#xff…

【JavaScript】使用js实现滑块验证码功能与浏览器打印

滑块验证码 效果图&#xff1a; 实现思路&#xff1a; 根据滑块的最左侧点跟最右侧点&#xff0c; 是否在规定的距离内【页面最左侧为原点】&#xff0c;来判断是否通过 html代码&#xff1a; <!DOCTYPE html> <html><head><title>滑动图片验证码&…

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)

pytest搭建自动化测试环境&#xff08;dockerpytestjenkinsallure&#xff09; 这里我以ubuntu18为例 如果有docker环境&#xff0c;可以直接拉取我打包好的镜像docker pull ziyigun/jenkins:v1.0 1 搭建Docker 1.1 安装docker # 配置docker安装环境 sudo apt-get install ap…

【C语言】深度剖析数据在内存中的存储

一、数据类型详细介绍 1、数据类型介绍 &#xff08;1&#xff09;基本的内置类型 //内置类型就是C语言自带的类型char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double …

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的固定帧率(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…

图解算法--排序算法

目录 1.冒泡排序算法 2.选择排序算法 3.插入排序算法 4.希尔排序算法 5.归并排序算法 6.快速排序算法 1.冒泡排序算法 原理讲解&#xff1a; 从待排序的数组中的第一个元素开始&#xff0c;依次比较当前元素和它相邻的下一个元素的大小。如果当前元素大于相邻元素&#x…