PuLID
定义
PuLID 是一种用于文本到图像扩散模型的免调优(tuning-free)身份定制技术。使用者提供一张或数张人脸参考图,模型提取其身份特征并注入生成过程,使输出的新图像在改变服装、姿态、背景和画风的同时,仍能被辨认为参考图中的同一人。[1][2]
名称中的 Pure 指尽量不污染原模型的行为,Lightning 指借助快速采样实现免调优。论文把目标概括为三点:免训练、高身份保真度、对原模型干扰小。[3] 与之相近的思路包括 IP-Adapter 与 InstantID 等同样基于适配器的身份定制方案。[1]
原理
身份特征提取由两个骨干网络共同完成:一个训练于人脸识别的网络(论文使用 antelopev2)和一个图像-文本对比学习视觉编码器(论文使用 EVA-CLIP)。两者末层特征拼接后经多层感知机映射为全局身份 token,CLIP 的多层特征另被映射为局部 token,随后注入扩散模型。[1] 后续发布的 v1.1 与 FLUX 版本改用 IDFormer 结构,把参考图压缩为固定数量的身份 token。[5]
注入方式沿用 IP-Adapter 提出的并行交叉注意力层:在原有注意力旁并联可学习线性层,将身份特征投影为键和值,与原图像的查询做注意力计算。训练时只更新新增的多层感知机与这些线性层,主干权重保持冻结。[1]
论文指出的核心问题是:传统训练中身份条件图直接从目标图裁剪,与提示词完全一致,训练退化为重建任务,模型倾向于搬用身份特征中的无关信息,导致测试时难以改风格、改属性,身份保真度越高干扰往往越大。[3][1] 为此 PuLID 增加一条基于 SDXL-Lightning 的快速采样分支,可在 4 步内从纯噪声生成图像,使身份损失能在接近真实测试条件的清晰图像上计算;同时构造对比样本对,对语义注意力图与布局注意力图施加对齐约束,总目标可写作 $L = L_{diff} + L_{align} + \lambda_{id} L_{id}$。[1]
在 FLUX 版本中,身份嵌入以交叉注意力残差形式加到图像流上,注入位置为每第 2 个双流块与每第 4 个单流块之后,通过前向钩子实现,基础权重不被修改。[5] 推理时通常还暴露身份强度、开始注入的时间步等参数,用于在相似度与可编辑性之间调节。[6]
发展历程
2024 年 4 月 25 日,PuLID 论文在预印本平台发布,随后于同年 5 月 1 日公开 v1 版本的代码与模型权重,并提供在线演示。[7] 论文以 SDXL 为基础模型,对比实验显示其在人脸相似度与提示词跟随指标上优于 PhotoMaker、IP-Adapter 与 InstantID 等同期方法。[3]
2024 年 5 月 23 日,研究团队放出 v1.1 版本预览,同年 10 月 31 日正式发布 PuLID-v1.1 与 PuLID-FLUX-v0.9.1 两款模型。v1.1 面向 SDXL 生态,在兼容性、可编辑性、面部自然度和相似度上有所改进;FLUX 版本较 v0.9.0 的身份相似度指标提升约 5 个百分点,可编辑性基本持平。[2]
FLUX 版本最早于 2024 年 9 月 12 日发布,即 PuLID-FLUX-v0.9.0,其提示词跟随与画质优于 SDXL 版本,但对部分男性输入的身份保真度不足。[2] 官方代码经过优化后,PuLID-FLUX 可在 16 GB 显存的消费级显卡上运行。[8] 论文亦被神经信息处理系统大会 2024 收录。[4]
应用
PuLID 主要面向需要保持人物面部一致性的图像生成场景。论文演示的用途包括风格变换、配件修改、场景重构、属性编辑、非写实图像写实化以及多个身份的混合等。[9] 常见下游用途包括头像与角色设计、创意人像、广告素材中人物形象的一致性维护等。[10]
在工程落地方面,PuLID 已被 ComfyUI、Stable Diffusion WebUI 等前端与多个推理服务集成,也有第三方以 Apache-2.0 许可发布面向 FLUX 与 SDXL 的适配实现。[2][5] 由于身份提取涉及人脸检测、识别与视觉编码等多个模型,部分实现将提取与注入拆开,先离线计算身份嵌入再供 C++ 等轻量运行时使用。[11]
局限
身份保真与可编辑性之间存在此消彼长的关系。论文本身即把这两项视为相互制约的目标,实验中身份相似度更高的配置往往对提示词的响应更弱。[3] 官方也提示,PuLID-FLUX-v0.9.0 对部分男性参考图的身份保真度不足。[2]
身份注入是全局的,身份信号在所有空间位置都有非零幅度,可能波及非人脸区域。第三方研究观察到,SDXL 版 PuLID 在生成金属盔甲、宇航服等材质时会出现肤色渗透,背景与道具也可能受身份特征影响;该研究同时指出这是全局注入方式的共性问题。[12]
对参考图质量有要求,通常需要单人、面部清晰、基本正对镜头的照片;多人物同图时身份特征可能在主体间串扰,服装、体型等非面部特征也不会被自动保持。[13] 此外,v1.1 在 SDXL-Lightning 四步模型上的表现不如 v1,官方建议该基础模型仍搭配 v1 使用。[14]
参见
-
IP-Adapter —— PuLID 采用的并行交叉注意力注入方式源自该方法。
-
InstantID —— 同期基于人脸识别特征的身份定制方案,是论文的主要对比对象之一。
-
PhotoMaker —— 另一类免调优身份定制方法,论文在实验中与之比较。
-
扩散模型 —— PuLID 所依附的文生图生成框架。
-
FLUX —— PuLID 后续版本所适配的生成模型之一。
参考资料
- arxiv.org 上的网页 [引用日期2026-10-29]
- PuLID [引用日期2026-10-29]
- ByteDance [引用日期2026-10-29]
- acm.org 上的网页 [引用日期2026-10-29]
- README [引用日期2026-10-29]
- jichengdu/flux-pulid – Replicate [引用日期2026-10-29]
- PuLID (NeurIPS 2024) [引用日期2026-10-29]
- ToTheBeginning/PuLID - Python project [引用日期2026-10-29]
- 409fcc9d24b549969b8b9be68b56a7be-Paper-Conference(PDF) [引用日期2026-10-29]
- FLUX Pulid がWaveSpeedAIに登場 [引用日期2026-10-29]
- overview [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]
- How to Create Consistent Characters in ComfyUI [引用日期2026-10-29]
- huggingface.co 上的网页 [引用日期2026-10-29]