保持角色一致性的方法是在文本中定义不可变的特征,并用视觉参考加以锚定,然后严格控制光照和角度等变量。你需要在工作流中将角色的身份与场景背景分离开来。
生成式 AI 中的角色漂移问题
生成式模型以概率方式解读提示词。当你请求特定角色时,模型会从可能的解释分布中进行采样。如果没有约束,每次生成都是一次新的随机尝试。面部结构、头发纹理或服装细节上的微小差异会在多张图片中累积。这种漂移之所以发生,是因为模型优先考虑整体构图和光照,而非具体的身份标识。如果你不主动约束输出结果,角色就会变成一个通用的原型,而不是一个具体的个体。
在提示词中定义不可变的角色特征
你必须确定定义角色的特征,并将其视为不可协商的条件。这些就是不可变的特征。它们包括具体的面部几何形状、眼睛颜色、发型形状以及独特的服装单品。不要用“酷”或“神秘”等模糊词汇来描述角色。要描述物理现实。不要说“粗犷的外表”,而要具体说明“短发寸头、左眉上方有疤痕、穿旧皮夹克”。
- 将不可变的特征列在一个固定的文本块中。
- 在每个提示词中保持该文本块完全一致。
- 将该文本块放在提示词的开头,以赋予其更高的权重。
- 避免使用暗示多种解释的形容词。使用具体的名词和物理描述符。
如果你更改头发的描述,模型可能会将新的描述解读为不同的角色。文本提示词是主要的锚点。如果文本含糊不清,图像就会不一致。
使用参考图像和风格锚点
对于复杂的角色,仅靠文本往往是不够的。视觉参考提供了空间和风格上的锚点。你上传角色的图像来指导模型对身份的理解。这就是特定工具融入流程的地方。
- Midjourney:当你需要参考特定角色图像,以确保在新次生成中保持面部特征和风格一致时使用。
- Adobe Firefly:当你需要在 Creative Cloud 生态系统中上传角色参考图像,以引导生成图像的风格和身份时使用。
- Leonardo.Ai:当你需要在多次图像生成中锁定特定的角色特征和美学风格时使用。
- Stable Diffusion:通过对角色数据集进行 LoRA 训练或使用 ControlNet 锁定姿态和结构,以实现高级一致性。
- Krea:当你需要上传图像以在实时生成中保持角色身份和风格时使用。
- Runway:当你需要在生成视频序列或动画静态角色设计时保持角色一致性时使用。
- DALL-E 3:当你需要通过详细、具体的文本提示和迭代优化来保持角色一致性时使用,因为它缺乏原生的图像参考功能。
使用这些工具时,应根据面部结构是否与参考图一致来评判输出结果,而不是根据场景是否美观。如果面部不准确,场景效果无关紧要。
管理光照和角度变化
光照和角度是造成感知不一致的最常见原因。同一角色在明亮日光下和在阴影中的外观会有所不同。这不是漂移,而是物理规律所致。然而,模型通常会将光照变化解读为身份变化。
- 如果需要角色保持一致,请保持光照描述不变。
- 如果改变角度,面部特征可能会发生变化。
- 角色设定图请使用中性光照,以确立基础形象。
- 仅在形象确定后,再应用戏剧性光照。
如果你在昏暗的小巷中生成一个角色,然后在明亮的摄影棚中再次生成,模型可能会将阴影解读为不同的面部结构。请将身份与环境分离。先在中性背景下生成角色,然后再合成或提示特定的环境。
迭代优化与负向提示
第一次就做到完美几乎不可能。迭代优化是工作流的核心。生成多个变体,选出最接近目标形象的那一个,并将其作为新的参考图。这会形成一个反馈循环,逐步提升一致性。
负面提示至关重要。你必须告诉模型哪些不该做。
- 在负面提示中列出常见的偏差。
- 加入诸如 "different face"、"wrong hair" 或 "generic features" 等术语。
- 随着新错误类型的出现,及时更新负面提示。
如果模型持续给角色生成不同的鼻型,请在负面提示中加入 "wrong nose shape"。这能有效抑制偏差。
破坏一致性的常见错误
大多数一致性失败源于工作流错误,而非工具本身的局限。
- 在不同提示词之间更改角色描述。
- 使用模糊的形容词而非具体的物理特征描述。
- 判断身份一致性时忽略光照环境。
- 未使用负面提示来抑制偏差。
- 期望在不进行迭代优化的情况下获得完美一致性。
- 使用低质量或含义模糊的单张参考图。
如果犯下这些错误,任何工具都无法补救。工作流必须严谨,描述必须精确,参考图必须清晰,迭代必须持续。
