Stable Diffusion教程:如何实现人脸一致

在AI绘画中,一直都有一个比较困难的问题,就是如何保证每次出图都是同一个人。今天就这个问题分享一些个人实践,大家和我一起来看看吧。

一. 有哪些实现方式

方式1:固定Seed种子值。

固定Seed种子值出来的图片人物确实可以做到一致,但Seed种子值是相对整个画面的,导致这种方式生成的新图片效果差别太小,可能除了人物的脸保存了一致,人物的姿势也保持了一致,甚至画面的背景也保持了一致,出来的图片太过单调。

此时我们虽然可以通过ContolNet来控制人物的姿势,但是效果并不可控。

方式2:使用roop插件

roop插件是我们常见的换脸插件,将生成的图片中人物都使用一张人脸图片去替换,可以很好地做到图片中人脸一致。关于使用roop插件实现换脸可以参考我之前的文章

方式3:针对多张真人照片训练LORA模型

LORA模型可以固定人物特征、动作特征和照片风格。同一个人物的多张真人照片去炼丹训练LORA模型需要一定的技术基础,而且调优费事费力,对很多人来说也不太现实。

方式4:直接利用已有的人物LORA模型

直接使用C站提供的LORA模型,我们也可以生成人脸基本一致的图片。这里的基本一致,不能百分百一致。因为每个人物Lora的训练数据集不一定很全面,主要包括数量、质量、角度等因素不同,出的图很难保证人脸完全一致。

方式5:使用ControlNet预处理Reference only

下面我们重点看一下方式4和方式5,尤其是方式5,是目前实现人脸一致效果的最好方式,不仅适用于人,而且还适用于动物,二次元。

二. LORA模型实现人脸一致的效果

01、LORA模型cuteGirlMix4

我们先通过一个实例看看如何通过LORA实现人脸一致效果。

大模型:majicmixRealistic_v6.safetensors

正向提示词:a beautiful girl, very delicate features, very detailed eyes and mouth, long hair, delicate skin, big eyes,red sweater, necklace,standing in the classroom, upper body photos,best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper,lora:cuteGirlMix4\_v10:1

反向提示词:(worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), bad anatomy,DeepNegative, skin spots, acnes, skin blemishes,(fat:1.2),facing away, looking away,tilted head, lowres,bad anatomy,bad hands, missing fingers,extra digit, fewer digits,bad feet,poorly drawn hands,poorly drawn face,mutation,deformed,extra fingers,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,teethcroppe,signature, watermark, username,blurry,cropped,jpeg artifacts,text,error

LORA模型cuteGirlMix4权重设置为1。

在这里插入图片描述

我这里将LORA模型cuteGirlMix4调整到0.6,我们再看一下效果。

4张美女的脸差别有些明显了。

关于LORA模型cuteGirlMix4,官网推荐搭配的模型是Chilloutmix。它的训练集来自国外抖音(tiktok)网红,而不是任何特定的真人,权重建议值是0.4-0.7。我们看到当权重设置为1时,人物的效果还是比较好。

可见,将LORA模型cuteGirlMix4的权重设置为1,可以基本实现人脸的一致。

02、LORA模型chinese-girl

LORA模型chinese-girl是从微博/小红书等网站找到的100+张时尚/穿搭博主的图片制成的lora。建议LORA模型权重小于0.8,采样器为DPM++ SDE karras , 采样迭代步数为25。

我们仍然以上面大模型和提示词为例来看一下效果。

将LORA模型chinese-girl的权重设置成1,生成的图片效果明显不太好。并且将LORA的权重设置为1,美女的脸看起来还是不一样。从图中可以看到只是人脸的轮廓保持了一致。

将LORA模型chinese-girl的权重设置成0.6。

生成图片的效果好很多了,但是4张美女的人脸也不一致了。

从上面我们可以看到:

(1)针对某些人物的LORA,将权重设置为1,可以基本实现人脸一致的效果。

(2)某些人物的LORA建议值范围都小于1,将权重设置为1,生成的图片效果会失真。这样的LORA无法实现人脸一致的效果。

(3)将人物LORA的权重设置小于1,一般无法实现人脸一致的效果。

既然很多人物的LORA权重设置要求小于1,那么我们使用多个LORA,保证多个LORA的权重值之和为1,是否就可以实现人脸一致的效果呢?

例如你拥有60%的LORA A模型特征,20%的LORA B模型特征,20%的LORA C模型特征。这个时候使用如果要实现人脸一致的话,难度相当高。因为这涉及到3个不同的LORA模型的融合,需要大量的生成图片,抽签找到两张脸一样的照片。

大模型:majicmixRealistic_v6.safetensors

正向提示词:a beautiful girl, very delicate features, very detailed eyes and mouth, long hair, delicate skin, big eyes,red sweater, necklace,standing in the classroom, upper body photos,best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper, lora:cuteGirlMix4\_v10:0.6,lora:koreanDollLikeness\_v10:0.2 ,lora:chilloutmixss30\_v30:0.2

三. 使用ControlNet预处理Reference only实现人脸一致

Reference only是今年5月份ControlNet重大更新中推出的新功能。它不需要任何控制模型即可实现直接使用一张图片作为参考来引导扩散。

我们来使用看一下效果。

大模型:majicmixRealistic_v6.safetensors

正向提示词:a beautiful girl, very delicate features, very detailed eyes and mouth, long hair, delicate skin, big eyes,red sweater, necklace,standing in the classroom, upper body photos,best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper, lora:cuteGirlMix4\_v10:0.6

采样器:DPM++ SDE Karras

采样迭代步数:28

生成的图片效果如下:

我们使用这张图作为底图,使用ControlNet的预处理

我们修改一下正向提示词:将背景换为海边,衣服换为皮夹克。

a beautiful girl, very delicate features, very detailed eyes and mouth, long hair, delicate skin, big eyes**,leather jacket,necklace, standing by the sea, upper body photos,best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper,

生成图片的效果如下:

我们修改一下大模型,改变一下画面风格,例如换成anything-v4.5-pruned-fp16.ckpt,提示词和参数设置都保持不变。我们看一下生成图片的效果。

我们再看一个实例:一只奔跑的狗

大模型:majicmixRealistic_v6.safetensors

正向提示词:best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper,a running dog

采样器:DPM++ SDE Karras

采样迭代步数:28

生成的图片效果如下:

我们使用这张图作为底图,使用ControlNet的预处理。

重新生成效果如下:

通过上面的实例,可以看到通过使用ControlNet的预处理reference-only实现人物(动物)的一致效果还是相当不错的。然后我们再通过背景的改变,实现同一个人物在不同场景下的图片效果了。

好了,今天的分享就到这里了,实现人脸一致的效果一直都是非常困难的问题,不管是SD工具,在MD上面也是一样,对于这类问题大家可以多思考,多研究,多实践,对于我们能力的提升还是非常有帮助的。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
在这里插入图片描述

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

canal+mq将数据同步到redis中的一些类型转换问题

在将 Canal 捕获到的数据库变更同步到 RabbitMQ 时,通常需要将变更事件的数据从 Java 对象转换为一种通用的数据格式,如 JSON。这样可以确保数据在不同系统之间传递时的兼容性。以下是将 Canal 数据同步到 RabbitMQ 并进行数据类型转换的示例代码。 1. …

Cherno 游戏引擎笔记记录(33~45)

好久不见。 My Github REPO(GitHub - JJJJJJJustin/Nut: The game_engine which learned from Cherno) 源码笔记,希望帮到你 :-} -------------------相机&原理---------- 》》》》查看这两篇说明,一个是坐标系统,一个是摄像机 &#xf…

通过Spring Boot结合实时流媒体技术对考试过程进行实时监控

本章将深入探讨考试系统中常见的复杂技术问题,并提供基于Spring Boot 3.x的解决方案。涵盖屏幕切换检测与防护、接打电话识别处理、行为监控摄像头使用、网络不稳定应对等,每篇文章详细剖析问题并提供实际案例与代码示例,帮助开发者应对挑战&…

大语言模型系列-Transformer(二)

Transformer 模型的入门可以从以下几个方面开始: 1. 理解基本概念 序列到序列(Sequence-to-Sequence)任务:Transformer 模型主要用于这类任务,如机器翻译、文本摘要等。注意力机制(Attention Mechanism&a…

PyTorch基础(23)-- Tensor.scatter_()方法

一、前言 本次要介绍的函数为Tensor.scatter_函数,也是PyTorch中常用的函数之一,但遗憾的是,我想在网络上查询该函数的用法时,大部分的文章都是直接给出一个示例,看完之后,其中的原理我还是无法理解&#…

python生成器在读取接口用例中应用解析

Python生成器Generator Python生成器(Generator)是一种特殊类型的函数,它可以通过yield语句逐步生成值。 生成器提供了一种延迟计算的方式,可以逐步产生结果,而不是一次性生成所有的值。 1、生成器原理: …

Java中的AOP编程详解

Java中的AOP编程详解 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 什么是AOP? AOP(Aspect-Oriented Programming,面…

2024年【A特种设备相关管理(A4电梯)】试题及解析及A特种设备相关管理(A4电梯)模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 A特种设备相关管理(A4电梯)试题及解析根据新A特种设备相关管理(A4电梯)考试大纲要求,安全生产模拟考试一点通将A特种设备相关管理(A4电梯&#x…

Mac密室逃脱游戏推荐:Escape Simulator for mac安装包

Escape Simulator 是一款逃生模拟游戏,玩家在游戏中需要寻找线索、解决谜题,以逃离各种房间或环境。这种类型的游戏通常设计有多个关卡或场景,每个场景都有不同的设计和难度。 在 Escape Simulator 中,玩家的目标通常是找到出口或…

算法力扣刷题——总结篇【四】和string类详解

前言 字符串章节部分跟随学习结束&#xff0c;作出总结。 一、题目及方法总结 &#xff08;1&#xff09;反转字符串&#xff1a;双指针法。 反转全部字符串&#xff0c;i在开头&#xff0c;j在结尾&#xff1b;判断条件i < j ;每隔2k反转前k个字符&#xff0c;i改成i 2…

PermissionError: [Errno 13] Permission denied: ‘/tmp/gradio...‘

无管理员权限修改 Gradio 默认路径遇到的 PermissionError 问题 在使用 Gradio 进行开发和部署时&#xff0c;可能会遇到如下报错&#xff1a; PermissionError: [Errno 13] Permission denied: /tmp/gradio/tmpzo5r9g_k.png报错分析 上述报错是由于在没有权限访问指定路径时…

东方韵味:红酒与茶道的很好邂逅

在古老的东方&#xff0c;茶道与红酒各自承载着深厚的文化底蕴和历史传承。当这两大传统文化碰撞、交融&#xff0c;仿佛展开了一幅绚烂多姿的画卷&#xff0c;既展现了东方的神秘韵味&#xff0c;又融入了红酒的异国风情。今天&#xff0c;就让我们一同探索这场红酒与茶道的很…

详解微服务应用灰度发布最佳实践

作者&#xff1a;子丑 本次分享是站在 DevOps 视角的灰度发布实践概述&#xff0c;主要内容包括以下四个方面&#xff1a; 第一&#xff0c;灰度发布要解决的问题&#xff1b; 第二&#xff0c;灰度发布的四种典型场景&#xff1b; 第三&#xff0c;如何把灰度发布融入到应…

关于std::memory_order_consume

原文&#xff1a;https://preshing.com/20140709/the-purpose-of-memory_order_consume-in-cpp11/ 翻译&#xff1a;C11中memory_order_consume的目的 https://blog.csdn.net/netyeaxi/article/details/80718781 文章中有这样一个例子&#xff1a; g Guard.load(memory_ord…

terminals database is inaccessible

在复制虚拟环境后&#xff0c;执行clean操作经常报以上错误 解决方案如下&#xff1a; vim ~/.bashrc alias clear"TERMxterm /usr/bin/clear" source ~/.bashrc

2024-07-03_外语学习

文章目录 1. SSCC&#xff08;Serial Shipping Container Code&#xff09;2. Serial读音词源ser-01ser-02 3. routing instruction在计算领域在物流领域Routing Instruction 的词源分析RoutingInstruction 1. SSCC&#xff08;Serial Shipping Container Code&#xff09; 在…

2024年07月03日 Redis部署方式和持久化

Redis持久化方式&#xff1a;RDB和AOF&#xff0c;和混合式 RDB&#xff1a;周期备份模式&#xff0c;每隔一段时间备份一份快照文件&#xff0c;从主线程Fork一个备份线程出来备份&#xff0c;缺点是会造成数据的丢失。 AOF&#xff1a;日志模式&#xff0c;每条命令都以操作…

Java8环境安装(jdk1.8安装)详细教程

Java 8环境安装&#xff08;jdk1.8安装&#xff09;详细教程 Java 8&#xff08;也称为JDK 1.8&#xff09;&#xff0c;是Oracle公司于2014年3月发布的一个重要的Java语言版本。这个版本自发布以来&#xff0c;因其众多的新特性和改进&#xff0c;被认为是Java语言发展历程中…

itk::ShapedNeighborhoodIterator类C2516问题

错误问题&#xff1a; 1>C:\itk\src-5.3.0\Modules\Core\Common\include\itkShapedNeighborhoodIterator.h(183,1): error C2516: itk::ShapedNeighborhoodIterator<TImage,TBoundaryCondition>::ConstIterator: is not a legal base class 1>C:\itk\src-5.3.0\Mo…

0基础学C++ | 第11天 | 基础知识 | 引用

目录 引用的基本使用 引用的注意事项 引用做函数参数 引用做函数的返回值 引用的本质 引用的基本使用 作用&#xff1a;引用就是给变量起别名&#xff0c;它不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#…