Flux Redux 高级应用:换脸换背景换姿势,效果很自然
如果你曾尝试为一张人像照片更换背景,你一定了解让主体与新场景的光线和氛围完美契合有多么困难。这时候,黑森林实验室推出的 Flux Redux 模型便能派上用场。它擅长在主体与背景之间保持光线和谐,确保最终效果自然流畅。
Redux 在某些方面与 IP-Adapter 类似,但同时又具备独特的能力。下面我们将探讨如何利用 Redux 的两种工作流——基础版和高级版——来实现无缝的背景替换。
如果你喜欢通过视频深入了解 ComfyUI,不妨在B站观看本文的配套视频教程:
https://www.bilibili.com/video/BV1B5qSYTERh
基础工作流与高级工作流
这两种工作流的目标都是通过提示词(prompt)为图像更换背景。基础工作流使用整张原图作为参照来保持光照一致性,而高级工作流则仅聚焦主体,让背景独立生成,从而获得更自然的效果。
1. 参考方式的差异
- 基础工作流:
- 模型会使用原图(包括主体和背景)作为参考。
- 这种方法能将原图的光线条件带入新背景中,确保主体与新背景在光线方面保持一致。
- 高级工作流:
- 仅使用主体作为参考,背景完全根据提示词生成。
- 这种方法在光线统一性上表现更佳,整体效果更加自然。
2. 人脸的一致性与细节
- 基础工作流:
- 在不借助 PuLID 等工具的情况下,也能产生不错的人脸一致性。
- 但如果人脸在画面中比例较小,放大后可能会发现细节不足——这是文生图的固有限制。
- 高级工作流:
- 会单独处理人脸部分以保留精细细节。
- 即使人脸在整体画面中面积较小,也能获得更接近原图的精致面部细节。
3. 构图的灵活性
- 基础工作流:
- 对于特写肖像效果较好,但在全身照等大场景构图中会遇到困难。
- 在尝试生成全身照时,常常出现裁掉头部或脚部的情况。
- 高级工作流:
- 能处理不同构图,包括全身照、半身照和特写肖像。
- 提供对主体位置和整体构图更大的控制度。
4. 自然融合效果
- 基础工作流:
- 虽然 Redux 会对光线进行一定程度的调整,但当新背景与原图氛围不符时,结果可能显得不够自然。
- Redux 对原图的忠实程度限制了它打造无缝融合的能力。
- 高级工作流:
- 通过独立生成背景,此流程的结果在视觉上更加和谐。
- 光线和氛围会根据新背景更自然地进行调整。
5. 高级工作流更多示例
下面是一些对照示例:左侧为原始参考图像,右侧为高级工作流的生成结果。请注意高级流程中的人脸是如何更好地契合新背景的环境光线的。
理解基础工作流
现在我们已对比了两种流程的结果,接下来从基础流程开始,了解其具体步骤。尽管基础流程有一定局限性,但它简单有效,非常适合用来入门背景替换任务。
此外,该工作流和模型可以免费获取,下载链接在此:
1.加载模型与设置提示词
初始节点组会加载必要的模型,并为新背景设定提示词,从而打下基础。
2. 去除背景
“Image Remove Bg” 节点会将原背景移除,仅保留主体。
3. 生成轮廓图
Canny 模型(来自黑森林实验室)会为主体生成轮廓图。
4. 利用轮廓图生成图像
借助这个轮廓图,来自黑森林实验室的 Canny 模型会根据主体轮廓生成新的主体与背景图像。
在此任务中,使用量化后的模型版本已足够。我使用的是 Q8 版本,它更轻量且高效。如果资源有限,也可使用 Q4 版本。
5. 替换背景
此时主体会被暂时移除,仅保留新生成的背景。
随后将原有主体粘贴回新背景中,形成中间合成图像。
5. 使用合成图像作为参考
中间的合成图像会作为 Redux 模型的参考,以确保主体和新背景在光线上的一致性。
探索高级工作流
高级工作流在基础流程的基础上提供更大的灵活性和控制力。它非常适合对自然光线、逼真融合和主体细节有高要求的场景。让我们深入了解高级工作流的运作方式!
入门步骤
- 停用其他节点组
- 首先停用不必要的节点组。
- 初始步骤
- 加载必要的模型、设定提示词、去除背景。这些步骤与基础流程相似。
选择合适的 Checkpoint
选择合适的模型 checkpoint 对结果影响很大:
- PixelWave:能生成具有真实肤质和艺术感的自然效果,是非常好的选择。
- LoRA 兼容性:
- PixelWave 对 LoRA 的兼容性不高。如果需要通过 LoRA 实现特定人脸,请选择其他 checkpoint。
- 最佳策略是在后期人脸替换阶段再引入 LoRA,以获得理想结果。
专业提示:人脸替换的准确性取决于目标人脸与训练集的相似度。如果你想替换独特特征的人脸,考虑为该主体专门训练一个 LoRA。
分步过程
- 调整图像尺寸
- 使用 “Constrain Image” 节点优化图像尺寸。例如:
- 最大高度:2000 像素。
- 宽度则会自动调整以保持比例(如纵向图像可为 1333 像素)。
- 使用 “Constrain Image” 节点优化图像尺寸。例如:
- 预览主体轮廓
- 在去除背景后,使用 “Preview Bridge (Image)” 节点预览主体。
- 此阶段重点是最大程度保留主体的身体和服装特征。
- 为人脸替换做准备
- 在预览节点的右侧,相关节点会将主体的人脸单独裁切出来以进行精细化处理。
- 通过预览节点查看裁切出的人脸,为后续步骤做参考。
- 生成新背景
- 去除背景后的人像图作为创建新背景的基础。
- 这样可以让背景独立生成,更灵活地与主体结合,实现更加无缝的融合。
在高级工作流中生成背景
高级工作流的第三组节点专注于创建新背景。与基础流程相比,这一步为你提供了更多灵活性和定制空间,让你更好地实现理想中的最终图像效果。
背景设置
- 定义背景内容
- 背景是根据第一组节点中设定的提示词生成的。
- 控制图像尺寸
- 使用 “Empty Latent Size Picker” 节点从预设尺寸中进行选择。
- 如果需要更高自定义度,可选择允许手动输入宽高尺寸的节点。
ReduxAdvanced节点的强大功能
ReduxAdvanced 节点是此流程的核心,相当于 IP-Adapter 的高级版本。它可让你对最终输出进行精细控制,包括:
- 全身照片
- 半身肖像
- 特写头部镜头
自定义参考区域
ReduxAdvanced 节点的工作方式如下:
- 输入图像和遮罩(Mask)
- 节点会根据你提供的遮罩自动裁剪图像,并将裁剪结果作为参考区域。
- 你可在图像预览节点中查看参考区域是否与你期望的遮罩位置一致。
- 启用 “Autocrop with Mask”
- 激活此模式后,节点会聚焦于遮罩定义的区域。这对于定制输出效果尤其有用。
- 编辑参考区域
- 使用 “Preview Bridge (Image)” 节点对参考进行进一步自定义。
- 右键打开遮罩编辑器,可在参考区域内涂抹需要排除的部分。例如:
- 如想从全身照中制作半身照,可将小腿和脚部涂抹掉。
- 保存修改并重新运行流程。
微调输出结果
即使参考设置精准,生成的图像有时仍会有小问题(如手部不对称)。可通过重新运行流程或调整遮罩改善结果。
利用 downsampling_factor 参数
ReduxAdvanced 节点的 “downsampling_factor” 参数可进一步调控输出:
- 设为 1:保持最强的参考效果,让输出尽可能贴近原图主体。
- 增大数值:提高灵活度,可改变服装或发型等细节。
示例: 我通过将 downsampling_factor 设置为 3,将白色 T 恤替换为运动内衣,虽然也稍微改变了发型,但换来了所需的服装调整。
注意:downsampling_factor 数值越高,意料之外的变化越多,因此请谨慎使用。
以下为关于优化主体和处理人脸的重写说明:
优化主体与人脸处理
当你对基础图像满意后,可进入下一步修复画面中的小问题,如手部细节,然后再对人脸进行微调,确保整体画面完美融合。
修正构图问题
- 打开下一个节点组
- 利用该节点组修正构图中较小的瑕疵。例如,初次输出中手部可能有些扭曲。
- 优化主画面构图
- 修正可见问题后,主体与背景的主要构图已完成。接下来便可进入人脸处理环节。
人脸处理与替换
人脸部分通常需要额外关注,因为在参考图中人脸可能很小,或生成细节存在微小偏差。高级工作流专门设置了节点组来重绘和替换人脸。
- 裁切与准备人脸
- 流程会将人脸单独裁切成一个独立的图像。
- 在预览节点中查看裁切后的人脸和需要重绘的区域。
- 调整重绘区域
- 使用 “LayerMask: MaskGrow” 节点微调重绘区域的大小。通过调节 grow 参数,确保仅对需要的部分进行修正。
- 选择两种人脸替换方案
- 流程提供两种人脸处理选项:
- Redux 模型:注重与主体整体构图的一致性。
- PuLID 模型(现已升级至 v0.9.1):采用略有不同的方法进行人脸优化。
- 流程提供两种人脸处理选项:
- 将替换的人脸整合回图像
- 使用最后的节点组,将你选择的人脸无缝融合回整张图像中。
- “image switching” 节点允许在两种选项间切换:
- Input 1:来自 Redux 模型的人脸。
- Input 2:来自 PuLID 模型的人脸。
- 选择后重新运行流程,即可在最终成品中呈现所选的人脸效果。
如果你喜欢这个高级工作流,可以通过爱发电支持我并获取更多专属工作流和独家内容。