首页 > 其他分享 >【SD插件】轻松一键修复脸部变形-After Detailer

【SD插件】轻松一键修复脸部变形-After Detailer

时间:2024-04-07 14:59:43浏览次数:24  
标签:蒙版 插件 检测 模型 After 脸部 Detailer ADetailer

相信很多小伙伴在使用SD绘制人物图像时,经常会出现脸部扭曲变形或没有生效等问题,但往往又不知道该如何解决。今天我给大家推荐一款非常好用的SD插件— After Detailer(后面简称ADetailer),它可以轻松修复我们上述的脸部问题,下面跟我一起来看看吧~

01

脸部扭曲的原因和常见做法

在正式介绍ADetailer插件前,先给大家科普下之所以出现脸部变形的原因,以及在没有插件时遇到变形问题时我们常见的修复方法。

首先我们要知道出现脸部扭曲的实际场景,大多是在绘制小尺寸图片或人物在画面中占比较小时出现。比如下面我们绘制一张最常见的512尺寸的图片,可以明显发现画面中的人物脸部不够精致,出现了一定程度的变形,看上去就很奇怪。

在之前的SD教程中,我给大家介绍了SD绘图是通过降噪的方式逐步将图像清晰化,基于这个特性,**当画面中想绘制的部分占比很小时,模型往往就很难处理好该部分细节画面。**由于人脸在画面中只占据了很小一部分区域,因此在降噪过程中模型用来展示面部细节的条件就不够充分,很难还原出具体的脸部五官,从而出现变形的情况。

再举个例子,同样是512小尺寸的图片,如果我们通过提示词增大脸部在画面中的占比,可以发现绘制结果也会稳定许多。归根结底,导致扭曲变形的原因是画面中人脸部分尺寸过小,模型没有足够的细节来理解并绘制脸部结构。

因此如果想保证画面中每个部分都能被完美呈现,最简单的方法就是直接增加绘制图像的尺寸,比如我们在不改变其他参数和关键词的情况下,只将图像尺寸放大2倍至1024再重新绘制,可以发现该尺寸下基本就不会再出现脸部变形等问题,而且画面精细度明显比512的提升了一个档次。

直出大图的方法虽然简单粗暴,但并非所有人的电脑硬件都能支持,一旦图像尺寸过大,显卡算力跟不上,很容易就会出现爆显存的情况。因此我们更常见的处理方式是将有问题的图像发送到SD的图生图模块中,通过局部重绘的方法来单独绘制脸部区域。

这里局部重绘的原理是当模型检测到脸部蒙版时,它会先使用更高分辨率来绘制脸部区域,再将其缩小到原始分辨率,通过这样的方法就能轻松修复画面中我们想调整的特定区域。

需要注意的是,在进行重绘时,重绘幅度参数要设置在0.6以下,否则重绘的结果将和原图产生较大的变形,融合结果会差许多。

以上就是我们平时遇到脸部扭曲的原因和常见的处理方式,但明显不够便捷,有没有一键解决脸部扭曲的方法呢?这时候就不得不提ADetailer插件了。

简单来说,ADetailer将脸部修复的过程进行了自动化处理:它会先用检测模型定位脸部区域并自动添加蒙版,在绘制过程中模型就会对脸部的蒙版区域自动进行重绘,从而轻松修复脸部变形问题。

02

插件安装

下面我们来看看如何安装这款插件,如果你是秋叶整合包,应该默认就已经安装好对应的插件,在文生图或图生图页面下方可以找到。

而如果你的WebUI没有对应插件,你也可以通过以下方法进行安装。

1、插件安装

方法一:官方市场安装

打开扩展-可下载-加载扩展列表,在其中搜索After Detailer即可找到对应插件点击下载即可。

方法二:URL 地址安装

将选项卡切换到从网址安装选项页,将下面的插件地址粘贴到输入框中,即可自动下载和安装好 After Detailer 插件。

GitHub 下载地址:https://github.com/Bing-su/adetailer

方法三:本地安装

在公众号后台回复【SD资源】,即可找到对应的插件安装包,只需下载解压后将其粘贴至【\extensions】文件夹,再重载 WebUI 界面即可正常使用。

2、模型安装

和我们在ControlNet中学习的Openpose模型类似,ADetailer也有针对不同类型脸部检测的模型可供选择,由于模型文件不大,通常插件中会为我们直接内置好。但ADetailer也支持下载其他检测模型来进行使用,模型安装也很简单:只需将下载好的模型(后缀为.pt或.pth )放置在WebUI根目录下的models/adetailer文件夹中并刷新WebUI即可。

下面是ADetailer模型下载地址,大家可以自行下载 。同样我也为大家提前整理好了对应的模型资源,在文章结尾同样可以获取SD资源下载链接。

ADetailer模型下载地址:https://huggingface.co/Bingsu/adetailer

03

基础操作

安装好ADetailer插件和相关模型后,我们来看看是如何使用的。

在文生图板块下方找到ADetailer插件栏,并勾选启用插件,在下方的模型框中选择face_yolo8n.pt模型。

接着保持之前的提示词和设置参数不变,在512尺寸下点击生成按钮,即可发现绘制的人物脸部都非常完美,不会再出现脸部扭曲或模型失效等问题。

如此便是ADetailer最基础的使用方法,平时使用时只需启用插件即可,是不是非常简单?强烈建议大家在绘制包含人脸的图像时都开启ADetailer插件,可以尽可能避免脸部扭曲的坏图情况。

当然如果想修复之前的坏图也很简单,将之前图像的种子值复用,并维持模型、提示词和绘图参数不变,在启用ADetailer插件情况下重新点击生成即可。

这时候可能大家会问:为什么不用WebUI原生自带的面部修复功能呢?具体原因大家看下面这张图就知道了,实际上大多数情况下开启面部修复的效果微乎其微,虽然有轻微的改善,但对整体脸部细节的刻画依旧没办法满足。

此外需要注意的是,默认设置下插件只会生成最终绘制的图像,如果大家想得到蒙版预览图需要在设置中勾选【保存蒙版预览】选项,接着在生成图像后到【无边图像浏览】页签中就能看到对应的检测图了。

ADetailer也同样支持一次开启多个检测模型,默认情况下只支持2个,大家可以在设置中修改【最大模型数量】。

04

模型及参数解析

下面我们来详细看下ADetailer插件提供的各项设置参数,首先是几种不同的检测模型。

检测模型

在插件里,一开始就提供了模型选择的选项。

这些模型经过训练后分别用于检测不同的人物结构 ,目前支持的模型大致可以分为以下几种类型:

简单介绍下各种模型之间的区别,名称中带yolo的表示由Ultralytics团队研发的YOLO模型,该模型可以实现对画面中物体检测跟踪、语义分割、姿势检测等不同功能。

v8表示目前是第8代模型,后面的n、s、m则表示不同的参数量级,具体数值大家无需了解,只需知道参数量级方面n<s<m,训练时参数量越大,说明检测效果越好,但与之对应的模型处理时间也会越长。

通常建议大家选择最基础的8n模型即可,如果效果不佳再切换尝试其他的模型。

虽然ADetailer可以检测手部区域进行重绘,但大家都知道目前市面上的模型还是无法完美理解手部变形的问题,所以这里hand类模型大家看看即可,即使检测出来也难以修复。当然还有person人物检测模型,可以检测并识别画面中的人物主体,但我实测使用起来检测效果很差,远远不如脸部是被精确。

ADetailer插件目前主要还是用于脸部检测,我个人平时使用最多的就是face系列模型

在插件下方还有很多丰富的设置参数。

提示词模块

ADetailer也支持输入提示词,不同的是这里只需输入需要修改部分的提示词即可,比如人物表情,并且也支持添加LoRA模型。默认情况下我们保持留空即可,如果需要修改提示词建议大家还是在原提示词输入框中进行调整,方便管理。

检测模块

检测模块用于设置模型在检测人脸时的区域范围,通常保持默认即可。这里需要注意的是检测模型置信阈值,如果你检测模型并没有很好的识别画面信息,可以将这里的数值调小以增强检测的精确度。官方文档里建议到,如果想减少检测区域对背景其他区域的影响,可以将蒙版区域最小比率设置为0.01.

蒙版处理模块

蒙版处理模块也很好理解,用于设置蒙版的覆盖范围,平时基本不用调整,保持默认即可。

蒙版偏移表示在横向或纵向方向上移动蒙版位置,而后面的腐蚀和膨胀则表示向内或向外扩展蒙版区域。

蒙版合并模式中,【无】表示针对每个蒙版单独绘制,而【融合】即将蒙版融合后进行绘制,【合并且反相】类似区域反选,选择对蒙版外的区域进行重绘。

重绘模块

重绘模块的功能大家都很熟悉了,这里可设置的参数都和图生图中的设置项基本相同,大家如果有不理解的可以返回去看看之前SD教程系列的图生图篇,里面有非常详细的参数解析,这里就不重复介绍了。

由于ADetailer省去了绘制蒙版的过程所以相比局部重绘操作更加便捷,通过修改重绘模型和参数可快速调整图像内容。下面抛砖引玉给大家举个例子,通过更换插件重绘时使用的主模型,可快速实现不同风格的脸部绘制,而且毫无违和感。

ControlNet模块

ADetailer插件也提供了ControlNet模型增加控图效果,仅支持 inpaint、scribble、lineart、openpose、tile五种模型。

当选择模型后对应的预处理器会自动启用,如果要使用的话通常会选择inpaint模型,因为启用ControlNet的情况下即使重绘幅度很高,设置为1,最终的绘图结果依旧不会产生太过夸张的变形。

标签:蒙版,插件,检测,模型,After,脸部,Detailer,ADetailer
From: https://blog.csdn.net/qq_41314882/article/details/137464051

相关文章

  • 工业组态 物联网组态 组态编辑器 web组态 组态插件 编辑器
     体验地址:by组态[web组态插件]BY组态是一款非常优秀的纯前端的【web组态插件工具】,可无缝嵌入到vue项目,react项目等,由于是原生js开发,对于前端的集成没有框架的限制。同时由于BY组态只是一个插件,不能独立运行,必须嵌入到你方软件平台才能使用,所以你方软件平台需要提供后台接......
  • 基于Chrome的Easy Scraper插件抓取网页
    背景     爬虫程序,又称为网络爬虫或爬虫(spider),是一种自动化程序,主要用于向网站或网络发起请求,获取资源后分析并提取有用数据。从技术层面来看,爬虫程序通过模拟浏览器请求站点的行为,把站点返回的HTML代码、JSON数据、二进制数据(如图片、视频)爬取到本地,进而提取并存储自己需要......
  • 中文GPTS详尽教程,字节扣子Coze插件使用全输出
    今天,斜杠君和大家分享如何在字节扣子Coze中创建插件,并在创建后如何使用这个插件。 一、新建插件首先,进入到插件页面,创建一个插件。https://www.coze.cn/home 点击左侧的个人空间。 在上面选择”插件“标签,来到插件的页面。点击”创建插件“按钮,开始创建。  在弹......
  • 提高效率的三个Edge浏览器插件
    大家喜欢使用哪种浏览器呢?这里推荐使用Edge浏览器,界面简约清爽,同时有丰富的插件支持,今天给大家分享3个好用的Edge浏览器插件,帮助你快速提高工作效率。一、AdGuard广告拦截器不仅可以拦截各种弹窗广告、网站自我推销广告、屏蔽恶意网站和钓鱼网站,还可以自定义过滤器,彻底告别......
  • ida数据提取技巧-利用LazyIDA插件实现一键提取无法识别的字符串
    首先具体介绍一下这个技巧的意思,因为标题可能没有说的很明白在使用ida逆向分析的过程中,会遇到某些密文、密钥之类的字符串,而这些字符串往往不全是由正常字符组成的,其中存在一些非常规字符,而一旦ida在识别字符串的过程识别到这种字符,就会认为该字符串到此已经结束(但我们知道,字......
  • Adobe After Effects 2024 v24.3 (macOS, Windows) - 后期特效
    AdobeAfterEffects2024v24.3(macOS,Windows)-后期特效Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请访......
  • 全能Office插件——不坑盒子,自动排版、阅读模式、Word中表格填充序号、发票读取、绿膜
    不坑盒子2024.0404版,带着21项变动,来了~本文可能略长,还有很多视频和动图,请一定要耐心看完;或许,真的能改变你的工作方式。自动排版2024(Word)自去年“新自动排版”上线后,一定饱受争议,有人骂它太卡、匹配不完美;有人夸它灵活、更自由。核心变化这个版本“自动排版”功能的核心已......
  • Mybatis plue(二) 扩展功能、插件功能
    扩展功能P12扩展功能-代码生成器方法一:mybatisplus官方文档中的代码生成配置方法二:插件mybatsx方法三:插件mybatisplusP13DB静态工具iservice中的方法是非静态的,db方法是静态的。静态方法无法读取到类的泛型的,也就无法知道实体类类型、表信息,可以看到方法中都需......
  • idea 安装了插件,显示已安装,实则没安装(重启后发现的)
    借用Plugininstalledbutnotavailable-Resolved看了上面的帖子,说是需要找到日志分析一下具体原因帖子里面安装了插件,实际上没安装是因为安装报错了,需要jdk1.6我安装jsonhelper这个插件一直没成功,是因为内存不足,更改了内存大小,重启安装即可。步骤打开"Helper"-......
  • UE5对话插件
           在想要触发对话的NPC那里添加事件 ......