[人物一致性]全套工作流详细指南(第一篇)数据集生成
前言:
人物一致性一直是难以解决的难题,最近从Mick大佬处获得灵感,我们可以使用Lora模型去进行人物特征的控制,从而完成一致人物的创作,但在这之前我们需要经过数据集生成,数据集处理以及Lora训练等过程,所以接下来我会用几篇文章将整个过程进行完整的复刻,并且会将中间产生的各种对比进行展示。
我基于这个方法训练的Lora模型:https://civitai.com/models/922842/a-character-named-ssx
全部内容整合包百度网盘: https://pan.baidu.com/s/1kMWahSx3_5Ht0m95yrl_XA?pwd=728c
全部内容整合包夸克网盘:https://pan.quark.cn/s/f0aeb1899a47
第一篇文章主要解决人物一致性数据集的生成,在__Mick的工作中他预先准备了openpose骨骼图,并选择Flux+union的方式去生成一致性人物__,但是经过我个人的测试该效果没有在我的电脑上表现很好,一方面是时间消耗过长,一方面是出图质量并不好。
- 下方为Flux+union的生图工作流,使用到了union-pro的Controlnet模型。
下图为控制强度为1时,生成的图片似乎调取了union模型的canny效果,最终出图根本不成型,没有办法作为初始数据集使用。
当我__降低控制强度到0.5__的时候,生成的图像并不会根据openpose而产生影响,该数据集也没有办法提供使用。
当__控制强度给到0.58__,发现出图效果并不好,而且控制强度有明显的减弱,出图并不会根据骨骼图进行严格控制,导致最终的数据集不能够使用。
所以针对以上的测评结果我放弃了对Flux+union的选择。
在选择其他方式生成数据集之前,先做理论分析,因为我们要生成严格按照姿势图进行扩散的图像,所以我们__要尽可能地保证模型可操作的像素点较多__,假如使用SD1.5的模型进行出图,那么__512*512的尺寸很难保证一张图像可以产生19个面部特征__,并且1.5的模型语义理解能力较差,综上所示,我选择在SDXL的模型中进行选择去完成初始数据集的生成。
- 传统的SDXL模型+controlnet结果测试
如下图所示,当我使用SDXL的模型+openpose进行出图时,为了保证SDXL模型较高的出图性能,所以我们选择使用__短词__的形式进行提示词的书写。
能够明显的感觉到SDXL模型在色域的控制上不如Flux模型,比如生成的图像难以理解“纯白色的背景”,并且图像中包含较多噪点(可能可以通过调整提示词修改这一情况),而且生成的人物并不能保证统一的着装,或者说保证人物的统一发型,发色等一致性的内容。
但是这些也不是不能使用,假如经过多次抽卡也是有较大可能输出较好的数据集图像,所以大家可以自行尝试选择自己喜欢的工作流去进行数据集的生成。
- Kolors模型+Controlnet进行出图
在我的测试当中,kolors模型展现了非常好的语义理解能力以及较好的姿势控制能力,并且可以通过中文提示词的输入进行图像的控制,并且对人物一致性的保持较好,所以我最终选择使用kolors进行图像处理,但是相较于其他的SDXL模型的控制方式,其实相差不大,所以数据集的生成大家可以按照自己的需求进行选择。
__
__
综上所示,在人物一致性的数据集生成阶段,我推荐大家优先选择kolors+cn的方式去进行数据集的生成,重点是在提示词中一定要出现“人物设计稿”这个词语,这样能够尽最大的可能去保证你出图的一致性。
在这个阶段不要太纠结出图的质量(比如人物的面部细节,衣服的细节),这些内容可以在下一步的图像修复以及分割完成,后续通过修复可以提升图像的质量并且进一步保证一致性的控制。