当前位置: 首页 > article >正文

AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!

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

一. 有哪些实现方式

方式1:固定Seed种子值。

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

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

方式2:使用Reactor换脸插件

Reactor插件是我们常见的换脸插件,将生成的图片中人物都使用一张人脸图片去替换,可以很好地做到图片中人脸一致。

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

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

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

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

教程实操演示

1、LORA模型实现人脸一致的效果

在本期教程开始之前,我们需要安装好AI绘画工具StableDiffusion
请添加图片描述

本期教程中所使用到的AI绘画大模型、Lora模型、插件等可以看下方或文末扫描免费获取哦

我们先通过一个实例看看如何通过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,可以实现最简单的人脸一致。

2、使用ControlNet预处理Reference only实现人脸一致

使用Reference Only时,需要安装好ControlNet插件,如果你还没有安装过,那么可以看下方扫描免费获取ControlNet插件安装包,包含内置的各种组件和模型文件!
请添加图片描述

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实现人物(动物)的一致效果还是相当不错的。然后我们再通过背景的改变,实现同一个人物在不同场景下的图片效果了。

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

请添加图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

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

三、最新AIGC学习笔记

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

四、AIGC视频教程合集

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

在这里插入图片描述

五、实战案例

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

请添加图片描述

相关文章:

AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!

在AI绘画StableDiffusion中,一直都有一个比较困难的问题,就是如何保证每次出图都是同一个人。今天就这个问题分享一些个人实践,大家和我一起来看看吧。 一. 有哪些实现方式 方式1:固定Seed种子值。 固定Seed种子值出来的图片人…...

java 设计模式 策略模式

简介 策略模式(Strategy Pattern)是一种行为设计模式,旨在定义一系列算法,并将每一个算法封装起来,使它们可以互相替换。策略模式让算法的变化独立于使用算法的客户端。换句话说,策略模式通过将不同的算法…...

std::set (C++)

std::set 1. 概述定义特点 2. 内部实现3. 性能特征4. 常用 API5. 使用示例6. 自定义比较器7. 注意事项与优化8. 使用建议 1. 概述 定义 template<class Key,class Compare std::less<Key>,class Allocator std::allocator<Key> > class std::set;特点 有…...

STM32 HAL 通用定时器延时函数

使用通用定时器TIM3&#xff0c;实现ms、us延时。 delay.c #include "delay.h" #include "stm32f1xx_hal.h"TIM_HandleTypeDef htim3;/*** brief 初始化定时器3用于延时* param 无* retval 无*/ void Delay_Init(void) {TIM_ClockConfigTypeDef sClock…...

RK3588S开发板将SPI1接口改成GPIO

参考官方教程&#xff1a;ROC-RK3588S-PC 一.基本知识&#xff1a; 1.GPIO引脚计算&#xff1a; ROC-RK3588S-PC 有 5 组 GPIO bank&#xff1a;GPIO0~GPIO4&#xff0c;每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分&#xff0c;常用以下公式计算引脚&#xff1a;GPIO…...

PLOS ONE:VR 游戏扫描揭示了 ADHD 儿童独特的大脑活动

在孩子的成长过程中&#xff0c;总有那么一些“与众不同”的孩子。他们似乎总是坐不住&#xff0c;课堂上小动作不断&#xff0c;注意力难以集中&#xff0c;作业总是拖拖拉拉……这些行为常常被家长和老师简单地归结为“淘气”“不听话”。然而&#xff0c;他们可能并不只是“…...

DemoGen:用于数据高效视觉运动策略学习的合成演示生成

25年2月来自清华、上海姚期智研究院和上海AI实验室的论文“DemoGen: Synthetic Demonstration Generation for Data-Efficient Visuomotor Policy Learning”。 视觉运动策略在机器人操控中展现出巨大潜力&#xff0c;但通常需要大量人工采集的数据才能有效执行。驱动高数据需…...

极狐GitLab 账号限制有哪些?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 账户和限制设置 (BASIC SELF) 默认项目限制 您可以配置新用户能在其个人命名空间中创建的默认最大项目数。此限制仅影响更改…...

@JsonView + 单一 DTO:如何实现多场景 JSON 字段动态渲染

JsonView 单一 DTO&#xff1a;如何实现多场景 JSON 字段动态渲染 JsonView 单一 DTO&#xff1a;如何实现多场景 JSON 字段动态渲染1、JsonView 注解产生的背景2、为了满足不同场景下返回对应的属性的做法有哪些&#xff1f;2.1 最快速的实现则是针对不同场景新建不同的 DTO…...

JVM之经典垃圾回收器

一、垃圾回收算法 1. 标记-清除&#xff08;Mark-Sweep&#xff09; 步骤&#xff1a; 标记&#xff1a;遍历对象图&#xff0c;标记所有存活对象。清除&#xff1a;回收未被标记的垃圾对象。 特点&#xff1a;简单&#xff0c;但会产生内存碎片。 2. 标记-复制&#xff08;…...

15 nginx 中默认的 proxy_buffering 导致基于 http 的流式响应存在 buffer, 以 4kb 一批次返回

前言 这也是最近碰到的一个问题 直连 流式 http 服务, 发现 流式响应正常, 0.1 秒接收到一个响应 但是 经过 nginx 代理一层之后, 就发现了 类似于缓冲的效果, 1秒接收到 10个响应 最终 调试 发现是 nginx 的 proxy_buffering 配置引起的 然后 更新 proxy_buffering 为…...

人工智能学习框架完全指南(2025年更新版)

一、核心框架分类与适用场景 人工智能框架根据功能可分为深度学习框架、机器学习框架、强化学习框架和传统工具库,以下是主流工具及选型建议: 1. 深度学习框架 (1)PyTorch 核心优势:动态计算图、灵活性强,适合科研与快速原型开发,支持多模态任务(如NLP、CV) 。技术生…...

安卓手机万能遥控器APP推荐

软件介绍 安卓手机也能当“家电总控台”&#xff1f;这款小米旗下的万能遥控器APP&#xff0c;直接把遥控器做成“傻瓜式操作”——不用配对&#xff0c;不连蓝牙&#xff0c;点开就能操控电视、空调、机顶盒&#xff0c;甚至其他品牌的电器&#xff01;雷总这波操作直接封神&…...

颚式破碎机的设计

一、引言 颚式破碎机作为矿山、建材等行业的重要破碎设备&#xff0c;其性能优劣直接影响物料破碎效率与质量。随着工业生产规模的扩大和对破碎效率要求的提高&#xff0c;设计一款高效、稳定、节能的颚式破碎机具有重要意义。 二、设计需求分析 处理能力&#xff1a;根据目…...

PH热榜 | 2025-04-18

1. Wiza Monitor 标语&#xff1a;跟踪工作变动&#xff0c;接收Slack和电子邮件的提醒。 介绍&#xff1a;Wiza Monitor是一款用于追踪职位变动的工具&#xff0c;可以实时跟踪客户和潜在客户的工作变动&#xff0c;还可以通过电子邮件和Slack发送提醒&#xff0c;让你的客户…...

Android平台 Hal AIDL 系列文章目录

目录 1. Android Hal AIDL 简介2. AIDL 语言简介3. Android 接口定义语言 (AIDL)4. 定义AIDL 接口5. AIDL 中如何传递 Parcelable 对象6. 如何使用AIDL 定义的远程接口进行跨进程通信7. 适用于 HAL 的 AIDL8. Android Hal AIDL 编译调试9. 高版本Android (AIDL HAL) 沿用HIDL方…...

十、数据库day02--SQL语句01

文章目录 一、新建查询1.查询窗口的开启方法2. 单语句运行方法 二、数据库操作1.创建数据库2. 使用数据库3. 修改数据库4. 删除数据库和查看所有数据库5. 重点&#xff1a;数据库备份5.1 应用场景5.2 利用工具备份备份操作还原操作 5.3 扩展&#xff1a;使用命令备份 三、数据表…...

基于Atlas 800I A2 + Ubuntu 22.04 LTS 离线部署神州鲲泰问学一体机平台

一.环境信息 1.1.硬件信息 Atlas 800I A2 1.2.操作系统 版本&#xff1a; cat /etc/os-release PRETTY_NAME"Ubuntu 22.04 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04 (Jammy Jellyfish)" VERSION_CODENAMEjammy IDubun…...

Shell脚本-变量是什么

在Shell脚本编程中&#xff0c;变量是一个非常基础且重要的概念。它们用于存储数据&#xff0c;并可以在整个脚本中引用这些数据来执行各种操作。理解如何定义、使用和管理变量是编写有效Shell脚本的关键。本文将详细介绍Shell脚本中的变量&#xff0c;包括其基本概念、类型以及…...

MCP 协议:AI 世界的 “USB-C 接口”,开启智能交互新时代

MCP协议&#xff1a;AI世界的“USB-C接口”&#xff0c;开启智能交互新时代 在AI技术飞速发展的今天&#xff0c;不同AI模型、应用与设备之间的交互和协同需求愈发迫切。就像USB-C接口统一了电子设备的数据传输与充电标准一样&#xff0c;**MCP协议&#xff08;Model Communic…...

服务器的算力已经被被人占用了,我如何能“无缝衔接”?

今天遇到一个问题&#xff0c;服务器已经被别人占用了&#xff0c;我又不知道什么时候他能结束&#xff0c;因此很难去训练自己的模型&#xff0c;隔一会去看看别人是否结束又太麻烦&#xff0c;于是便可以写这个脚本文件来自动检测服务器是否空闲&#xff0c;一有空闲就可以自…...

大数据面试问答-批处理性能优化

1. 数据存储角度 1.1 存储优化 列式存储格式&#xff1a;使用Parquet/ORC代替CSV/JSON&#xff0c;减少I/O并提升压缩率。 df.write.parquet("hdfs://path/output.parquet")列式存储减少I/O的核心机制&#xff1a; 列裁剪&#xff08;Column Pruning&#xff09; …...

浅析数据库面试问题

以下是关于数据库的一些常见面试问题: 一、基础问题 什么是数据库? 数据库是按照数据结构来组织、存储和管理数据的仓库。SQL 和 NoSQL 的区别是什么? SQL 是关系型数据库,使用表结构存储数据;NoSQL 是非关系型数据库,支持多种数据模型(如文档型、键值对型等)。什么是…...

Android 12.0 framework实现对系统语言切换的功能实现

1.前言 在12.0的系统rom定制化开发过程中,在定制某些接口的过程中,需要通过系统提供接口,然后实现对系统语言的切换 功能实现,接下来分析下系统中关于系统语言切换的相关功能 2.framework实现对系统语言切换的功能实现的核心类 frameworks/base/core/java/android/app/IA…...

实时直播弹幕系统设计

整个服务读多写少&#xff0c;读写比例大概几百比1. 如果实时性要求高的话&#xff0c;可以采用长连接模式&#xff08;轮询的话&#xff0c;时效性不好&#xff0c;同时对于评论少的直播间可能空转&#xff09; websocket 和 SSE架构 只要求服务端推送的话&#xff0c;可以…...

[Java · 初窥门径] Java 语言初识

&#x1f31f; 想系统化学习 Java 编程&#xff1f;看看这个&#xff1a;[编程基础] Java 学习手册 0x01&#xff1a;Java 编程语言简介 Java 是一种高级计算机编程语言&#xff0c;它是由 Sun Microsystems 公司&#xff08;已被 Oracle 公司收购&#xff09;于 1995 年 5 …...

【SQL Server】数据探查工具1.0研发可行性方案

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 想抢先解锁数据自由的宝子&#xff0c;速速戳我&#xff01;评论区蹲一波 “蹲蹲”&#xff0c;揪人唠唠你的超实用需求&#xff01; 【SQL Server】数据探查工具1.0研发可行性方案…...

谓词——C++

1.一元谓词 1.定义 2.案例 查找容器有没有大于五的数字 #include<stdio.h> using namespace std; #include<string> #include<vector> #include<set> #include <iostream> class myfind { public:bool operator()(int a){return a > 5;} …...

『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)

目录 预览效果分析要点响应式网格布局卡片样式&#xff1a;阴影和过渡效果 代码优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)总结 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中…...

Python PDF 转 Markdown 工具库对比与推荐

根据最新评测及开源社区实践&#xff0c;以下为综合性能与适用场景的推荐方案&#xff1a; 1. ‌Marker‌ ‌特点‌&#xff1a; 转换速度快&#xff0c;支持表格、公式&#xff08;转为 LaTeX&#xff09;、图片提取&#xff0c;适配复杂排版文档‌。依赖 PyTorch&#xff0c…...