之前的文章已经和大家介绍过字节开源的ID保持项目PuLID。随着FLUX模型的发布,PuLID也开源了 FLUX 版本的模型,不得不说FLUX的强大,两个月生态就赶上了SDXL。这次新发布PuLID-FLUX-v0.9.0模型,它为FLUX.1-dev提供了无需调整的ID定制解决方案。
视觉结果
相关链接
项目介绍:https://github.com/ToTheBeginning/PuLID
ComfyUI链接:https://github.com/cubiq/PuLID_ComfyUI
huggingface演示:https://huggingface.co/spaces/yanze/PuLID-FLUX
实用技巧
有两个参数至关重要,需要仔细设置:
-
timestep to start inserting ID:此参数控制ID插入的时间。如果设置为0,则从第一个时间步开始将ID插入DIT。插入得越早,ID的保真度就越高,但可编辑性可能会降低。插入得越晚,ID的保真度就越低,但可编辑性会增加,对原始模型行为的破坏也会更小。为了生成逼真的图像,我们建议将其设置为4。如果你发现ID相似度不够高,你可以尝试相应地降低此参数。为了生成风格化的图像,我们建议将其设置为0-1。
-
true CFG scale:FLUX.1-dev 是一个指导性提取模型,将原有的需要两倍推理步骤的 CFG 流程提取为指导性尺度,从而通过指导性尺度调制 DIT,以一半的推理步骤模拟真实的 CFG 流程。在下文中我们将此称为 fake CFG。我们的 PuLID-FLUX 模型可以在 fake CFG 设置下进行测试,指导性尺度可以设置为常用值,例如 4。但是该模型也支持使用真实的 CFG 进行推理。我们在下面对比了在照片级真实场景中使用 true CFG 和 fake CFG 的结果。
如上图所示,在 ID 保真度方面,使用 fake CFG 在大多数情况下与 true CFG 相似,只是在少数情况下,true CFG 实现了更高的 ID 相似度。在图像美观度和面部自然度方面,fake CFG 表现更佳。但是,通过仔细调整超参数,真正的 CFG 的性能可能会进一步提高,我们留给社区去探索。因此,我们建议在照片级真实场景中使用假 CFG。如果您对 ID 保真度不满意,可以尝试切换到真正的 CFG。此外,如下所示,我们发现在风格化场景中使用假 CFG 有时会导致 ID 相似度较低和风格响应较差,因此在风格化场景中遇到这两个问题,可以切换到真正的 CFG。
一些技术细节
-
PuLID-FLUX-v0.9.0将ID编码器从MLP结构切换到Transformer结构。感兴趣的小伙伴户、可以参考源代码:源码链接
-
受到Flamingo的启发,每隔几个 DIT 块插入额外的交叉注意力块,以将 ID 特征与 DIT 图像特征进行交互。
-
加速方法(如 SDXL-Lightning)是一种可选的加速技巧,但它对于训练 PuLID 来说并非不可或缺。未来会更新 arxiv 论文的相关细节。请继续关注。
局限性
该模型目前处于测试版本,部分男性输入的身份保真度可能不高,也许模型需要更多训练。