After Detailer让图像自动修复

After Detailer(简称adetailer)是一个Stable Diffusion的自动Web-UI扩展,它能够自动化修复图像中的不完整部分,例如模糊的人脸等常见问题。在这篇文章中,你将了解它的工作原理、如何使用它,以及一些常见的使用场景。

软件

当然前提是你需要一个SD的软件,你可以用本地的SD webUI或者云端的SD环境,全都是可以的。

安装After Detailer扩展

  1. 正常启动AUTOMATIC1111 Web-UI。

  2. 导航到扩展页面。

  3. 点击从URL安装标签。

  4. 扩展的git仓库URL字段中输入以下URL。

https://github.com/Bing-su/adetailer

  1. 等待安装完成的确认消息。

  2. 重启Web-UI。

image-20240702151334743

怎么修复人脸

After Detailer的主要作用是做人脸修复,那么在没有After Detailer之前,我们是怎么做人脸修复的呢?

生成小尺寸人脸的问题

假设你生成了一个人的全身像。这里假设你使用的是v1模型,不应该设置过高的分辨率(超过512像素太多)。否则,你会得到重复的人像。

模型:majicmixRealistic_v7

提示:

anime style, 2d, fantasy anime detailed illustration, Grindhouse,  1girl, she is very Ghostly and Macho, with copper skin, she is dressed in Sweatpants, she has [Croatian|Punks] hair, at Sunset, 

尺寸:512×768

你会得到下面的图片:

image-20240702183001873

由于人脸小且分辨率低,覆盖人脸的像素不多。VAE没有足够的像素生成一个好的人脸。所以人脸是模糊的。

你通常会使用Send to inpaint按钮将图像发送到Inpainting。

image-20240702183119840

Inpaint标签中,围绕模糊的人脸画一个遮罩。

使用以下设置:

  • 遮罩模式:Inpaint masked

  • 遮罩内容:Original

  • Inpaint区域:Only masked

  • 去噪强度:0.5

点击Generate

image-20240702183344778

你会看到人脸被很好地修复了。inpaint area选择 only masked选项特别重要,因为它使用整个分辨率(512×768)重新生成遮罩区域。实际上,它以更高的分辨率重新生成了人脸,然后将其缩放回原始分辨率。这就是为什么人脸现在看起来好多了。

使用After Detailer自动Inpaint

After Detailer自动化了这个过程以及更多。它使用面部识别模型检测人脸自动创建Inpaint遮罩

然后扩展执行Inpaint,只处理遮罩区域,就像你手动处理一样。

所以它本质上是一个节省时间的扩展。

使用After Detailer

在Txt2img中使用

要在txt2img中使用After Detailer,请展开ADetailer。

选择Enable ADetailer

ADetailer model下拉菜单中选择face_yolo8n.pt模型。

image-20240702201412632

现在你就可以使用aDetailer的基本功能了。

点击Generate。你会得到以下图像。

image-20240702201612675

可能你得到的人脸图片和手动Inpaint不完全一样,那是因为绘制的遮罩区域是不同的。

在img2img中使用

你还可以在使用图像到图像转换时使用After Detailer。这样做的好处是你可以同时恢复人脸并为整个图像添加细节

在txt2img页面上,把之前的图片使用Send to img2img按钮将图像发送到img2img页面。

将img2img的去噪强度设置为一个较低的值,这样我们可以保持一个较低的重绘幅度。

ADetailer部分启用After Detailer。

点击Generate。生成图片。

我们可以对比一下两张图片的效果,可以看到重绘后的图片添加了更多的细节。

image-20240702202812881

当然,你也可以通过调整去噪强度来控制添加的细节级别。

同样的,你还可以在inpaint标签中使用ADetailer。

ADetailer参数解释

现在你知道了aDetailer的基本功能,现在让我们看一下,Adetailer的一些额外参数。

检测模型

在ADetailer模型下拉菜单中选择检测模型。可以看到下面几个模型,模型分为几个不同的组:

image-20240702203123933

Face_xxxx:检测并重绘人脸

Hand_xxxx:检测并重绘手

Person_xxxx:检测并重绘整个人

Mediapipe_face_xxxxx:检测并重绘人脸

最有用的模型是face_yolo和person_yolo模型

YOLO的全称是(You Only Look Once)模型擅长检测人脸和物体,在Inpaint中工作得很好。

然而,因为需要更多的像素来Inpaint整个人,所以使用人脸模型时人脸的细节并没有那么多。

通常不建议Inpaint一个大区域。如果你有像这样的图像,你最好手动一个接一个地Inpaint脚、裙子等。

Mediapipe_face有时有效有时无效。所以不太建议使用他们。

手模型用于重绘手。但不要对此抱太大希望,因为Stable Diffusion仍然不擅长绘制手,无论它重绘多少次。

最后,你可能会想知道YOLO 8n和8s模型之间的区别。8n模型更快,但比8s模型小约3倍(因此功能较弱)。8n模型的效果不错。但是如果After Detailer难以检测到人脸,请切换到8s模型。

最后,每次你可以使用多达两个检测模型。只需切换到2nd标签并选择一个额外的模型。

image-20240702205550611

因为我们同时选择了人脸和手部模型,所以现在它会检测到人脸,然后是手。然后它依次修复两者。

使用Inpaint提示

在inpaint中使用prompt可以通过prompt来改变检测到的人脸部分。具体的提示部分如下所示:

image-20240702210226366

这里我们使用了之前讲到的prompt的技巧,我们想让脸呈现的是Joe biden和川建国同志的混合面孔,所以我们的prompt可以这样写:

[Joe biden: donald trump: 0.5]

通过调整Inpaint去噪强度来调整效果。现在你得到了新的混合外观!

image-20240702210421795

要注意的是,这里的提示词还可以包含LoRA。如果你想要某些特定的face,那么可以尝试使用lora来实现。

Detection

一般来说,我们不需要改变detection的值。因为默认的值已经工作的很好了。

image-20240702210734923

检测模型置信度阈值:如果你注意的话,在检测人脸的过程中,会呈现一个数字。这个数字叫做置信度分数

0.8意味着模型有80%的信心认为这是一个人脸。阈值是所需的最低置信度分数。如果你设置为0.9,置信度分数为0.8的人脸将不被视为人脸。保持在0.3的低值。如果你有检测人脸的问题,请降低它。如果检测到太多,请增加它。

遮罩最小/最大区域比率:允许的检测遮罩的最小和最大区域。例如,如果你将最小区域比率设置为0.1,Adetailer将拒绝遮罩小于图像大小10%的检测。如果你检测到不需要的小物体,请增加最小值。

遮罩预处理

image-20240702210933969

这些值通常不需要更改。

这些是在Inpaint之前移动和调整遮罩大小的。为了获得最佳结果,你可以在设置 > ADetailer中启用“保存遮罩预览”,每个检测都会保存一个遮罩预览图像。这样我们可以通过保存下来的遮罩预览图像来了解遮罩是如何改变的。

遮罩x/y偏移:以像素为单位在x/y方向上移动遮罩。

遮罩腐蚀(-) / 膨胀(+):减小/扩大遮罩。

遮罩合并模式:分别Inpaint每个遮罩。合并:合并遮罩然后Inpaint。合并并反转:Inpaint未遮罩的区域。

Inpainting

image-20240702211254397

Inpainting部分中最重要的设置是Inpaint去噪强度。它控制自动Inpaint中使用的去噪强度。增加以进行更多更改。减少以进行较小的更改。

Inpaint only masked 表示是否只inpaint mask部分。

你可以修改Inpaint中的图像宽度高度CFG比例和采样步数。但默认值就可以了。

使用ControlNet与ADetailer

ControlNet是一个不可或缺的工具,可以精确控制图像生成。如果你不熟悉controlNet,请参考我之前写的controlnet的文章。要在ADetailer中使用ControlNet,你必须首先在AUTOMATIC1111上安装ControlNet。

然后,你可以在最后一部分中选择ControlNet模型。

image-20240702213232926

ControlNet Openpose

使用ControlNet Openpose模型可以用相同的姿势Inpaint人物。

例如,如果没有启用任何ControlNet并且去噪强度很高的时候,姿势可能会以与整体图像不一致的方式改变。

启用ControlNet Openpose后,女孩的姿势在Inpaint后保持不变。

ControlNet Tile

启用ControlNet Tile可以使Inpaint更好地遵循原始图像。

如果你想让Inpaint更好的贴合原始图像,请启用ControlNet Tile。

ControlNet inpaint

ControlNet inpaint模型(control_xxxx_inpaint)与global_inpaint_harmonious预处理器可以提高Inpaint区域与图像其余部分之间的一致性

当你想将Inpaint去噪强度设置得很高时,请使用global_inpaint_harmonious。稍微调整值或更改种子以获得不同的生成。

ControlNet Line art

ControlNet line art让Inpaint过程遵循原始图像的一般轮廓。

如果你想让Inpaint的图像遵循原始内容的轮廓,请使用ControlNet line art。

何时使用ADetailer

ADetailer中没有什么是你不能手动完成的。ADetailer只是下面一些步骤的自动化:

  • 将图像发送到Inpaint

  • 创建Inpaint遮罩

  • 设置ControlNet(可选)

  • 生成Inpaint

使用此扩展的最有价值的方面是自动化,以便你可以使用相同的设置创建多个图像。这在手动工作流程中是繁琐的。

技巧

当使用ADetailer与img2img时,有两个去噪强度需要设置。

img2img的去噪强度为整个图像设置值。

ADetailer中的Inpaint去噪强度为Inpaint设置去噪强度。

你还可以在设置> ADetailer中选择保存检测模型的结果。它将保存一个额外的图像,其中包含检测区域和置信度分数。

点我查看更多精彩内容:www.flydean.com

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

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

相关文章

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟 💖The Begin💖点点关注,收藏不迷路💖 前言 时光荏苒,岁月如梭。转眼间,从我在CSDN上写下第一篇技术博客《2-6 带头结点的链式表操作集…

无线网的ip地址固定吗

在数字化日益普及的今天,无线网络已成为我们生活与工作中不可或缺的一部分。然而,对于许多非专业用户来说,无线网络背后的技术细节仍然充满了神秘感。其中,一个常见的问题是:无线网的IP地址是固定的吗?本文…

WebKit简介及其神秘的工作流程

在信息时代的巨浪中,互联网已经深深地渗透到了我们生活的每一个角落。作为连接我们与这个庞大网络世界的桥梁,网页浏览器无疑成为了我们生活中不可或缺的一部分。而在这些浏览器的背后,往往隐藏着一些强大而神秘的引擎,它们为浏览…

【源码+文档+调试讲解】沙县小吃点餐系统

摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 沙县小吃点餐系统,主要的模块包括实现管理员;个人中心、用户管理、小吃信息管理、门店信息管理、预约信息管理、系统管…

Windows 网络重置及重置网络可能出现的问题( WIFI 没有了 / WLAN 图标消失)

netsh int ip reset 命令是用于重置 Windows 操作系统中的网络设置和配置的命令。 在网络故障排除、修复网络连接问题以及清除可能存在的网络配置冲突时非常有用。 命令详解: netsh: 用于配置各种网络设置 int: 用于管理网络接口 ip: 用于管理网络接口的 IP 配…

酒库温度看板软件设计

摘要 随着酒类行业的发展,酒库的管理变得越来越重要。酒库是存放酒类产品的地方,其温度对酒类产品的质量和口感有着至关重要的影响。因此,监控和控制酒库温度是酒库管理的重要环节。 本论文针对酒库温度监测与管理的需求,设计了一…

GeoServer property 表达式注入代码执行漏洞(CVE-2024-36401)

GeoServer property 表达式注入代码执行漏洞(CVE-2024-36401) 1.漏洞描述 GeoServer 是一个开源的服务器软件,使用 Java 编写,主要功能是允许用户共享和编辑地理空间数据。它在设计时就考虑到了互操作性,支持使用开放标准来发布多种主流格式…

从数据仓库到数据湖(下):热门的数据湖开源框架

文章目录 一、前言二、Delta Lake三、Apache Hudi四、Apache Iceberg五、Apache Paimon六、对比七、笔者观点八、总结八、参考资料 一、前言 在上一篇从数据仓库到数据湖(上):数据湖导论文章中,我们简单讲述了数据湖的起源、使用原因及其本质。本篇文章…

强化学习总结(有具体代码实现)

文章目录 第一部分 强化学习基础第1章 强化学习概述1.1 强化学习概念1.2 强化学习的环境1.3 强化学习的目标1.4 强化学习的数据 第2章 多臂老虎机问题(MAB问题)2.1 问题描述2.1.1 问题定义2.1.2 形式化描述2.1.3 累积懊悔2.1.4 估计期望奖励 2.2 解决方法…

Java泛型的定义与运用

泛型 泛型的作用从使用层面上来说是统一数据类型,防止将来的数据转换异常。从定义层面上来说,定义带泛型的类,方法等,将来使用的时候给泛型确定什么类型,泛型就会变成什么类型,凡是涉及到泛型的都会变成确…

【Mark笔记】基于Centos7.7更改SSH端口重启服务报错

0x0 场景描述 RT,更改默认端口22为2276后直接重启服务报错: 查看报错内容,如下: 0x1 相关操作 关闭selinux (未重启)本地防火墙端口放行tcp 2276端口更改回22端口服务可以正常启动sshd -t 检查配置并未…

【086】基于Springboot+vue实现的图书商城购物系统

系统介绍 视频演示 基于Springbootvue实现的图书商城购物系统采用前后端分离的架构方式,系统分为管理员、用户两个角色,实现了用户注册与登录、用户管理、书籍分类管理、书籍管理、轮播图管理、资讯管理、订单及发货管理等功能。 技术选型 开发工具&…

增强现实(AR)与虚拟现实(VR)的区别?

随着科技的飞速发展,增强现实(AR)与虚拟现实(VR)技术在各个领域展现出巨大的潜力和应用前景。这两种技术虽然在体验和实现方式上有所不同,但都为用户提供了全新的感知体验。本文将详细解析AR和VR的概念、区…

房地产销售管理能力提升之资产复用、优化管理

提升房地产销售管理能力,从哪些场景入手?惟客数据认为可以从放大流量、提升优化、资产复用、优化管理四方面入手。 本篇继续拆解如何做好“资产复用、优化管理”: 一、资产复用 首先,通过全渠道客户数据的整合与挖掘,…

雷池WAF动态防护功能初体验

一、 介绍 大名鼎鼎的雷池WAF最近新上了个名为 动态防护 的功能 所谓动态防护,是在用户浏览到的网页内容不变的情况下,将网页赋予动态特性,即使是静态页面,也会具有动态的随机性。 说白了就是给你网站的 html 和 js 代码加上加密…

LeetCode—和为K的子数组(前缀和)

题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums …

NodeJS校园快递智能互助平台-计算机毕业设计源码58554

摘 要 随着校园人口的增加和生活节奏的加快,校园快递成为一个重要的服务需求。然而,传统的校园快递方式存在一些问题,例如无法满足快速和高效的需求,易发生丢失或损坏的情况,同时也给快递人员和用户带来不便。因此&am…

SpringMVC(2)——controller方法参数与html表单对应(请求参数的绑定)

controller方法参数与html表单对应 规则 1. 绑定机制 表单提交的数据都是kv格式的 usernamehaha&password123SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的,要求:提交表单的name和参数的名称是相同…

使用“nvm use 版本号“命令无效

使用"nvm use 版本号"命令无效 为什么无效?解决 为什么无效? 解决 将这个nodejs文件夹删除,然后在运行nvm use 版本号,则 node生效.

HIVE启动报错HiveException java.lang.RuntimeException:

启动hive以后 我们输入SQL语句 会产生以下错误 FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient搜索解决办法发现是要开启元数据: hive --service metastore