⭐ 推荐:社区规则条款 V1.0

真人短剧用AI生成,角色脸型一致性怎么解决?

ghp18
ghp18 观望站长
发布于 2026-10-27 06:25 ·6 浏览 ·2 回复
内容摘要

通过固定种子生成基准脸、建立多角度参考图库、用FaceID/InstantID锁脸、为戏份重的角色训练LoRA、图生视频时控制运镜并复用末帧,解决AI真人短剧中同一角色跨分镜的脸型一致性问题。

学完这篇,你能搭起一套可复用的角色面部一致性流程,让同一角色在几十个分镜里脸不跑偏。

AI 生成真人短剧,最头疼的不是画质,而是第 3 个镜头里的主角和第 1 个镜头像两个人。下面按顺序走六步,每一步都给出具体工具和参数。

第一步:先定一张“基准脸”,把种子和参数锁死

这一步要产出每个角色唯一的定妆照,作为后续所有生成工作的对照基准片。

用 Midjourney 或本地 Flux / SDXL 生成一张正面、平光、无遮挡、纯色背景、1024×1024 以上的半身像。ComfyUI 里在 KSampler 节点的 seed 输入框填固定值(例如 20250301),并把 steps、cfg、采样器、模型名全部记到一张表格里;AUTOMATIC1111 WebUI 则把 Seed 填成相同数字,不要勾选随机。

注意:不要拿带刘海遮眼、侧脸、笑到变形的图当基准脸,后面所有参考图都从它派生,源图跑偏会一路错到底。

第二步:为每个角色建 5-6 张多角度参考图库

这一步要得到同一张脸的正、左右 45 度、侧面、微低头、微仰头,供后续参考图驱动使用。

在 ComfyUI 里加载第一步的基准图,挂 IPAdapter(需安装 ComfyUI_IPAdapter_plus),权重给 0.4–0.5 的低强度,提示词只改角度描述,如 slightly turned head, 45 degree view。每张出 4 张,人工筛掉不像的,按 角色名/正面.png、角色名/左45.png 命名存进同一个文件夹。

第三步:分镜图用 FaceID / InstantID 锁脸

这一步是在生成每个镜头画面时,把角色身份注入进去,让脸不随提示词漂移。

ComfyUI 中右键 → Add Node → IPAdapter → IPAdapter FaceID(搭配 insightface 的 antelopev2 模型)。权重按景别给:

  • 近景、特写:0.75–0.85
  • 中景:0.55–0.7
  • 有动作、侧身、回头:0.45–0.6

用 InstantID 的话,identity strength 设 0.8–1.0、权重 0.8;用 PuLID 则 weight 设 0.7。

注意:权重拉到 1.0 会让脸僵成贴图,一换姿势就崩,宁可低一点靠后期补。

第四步:戏份重的角色单独训一个 LoRA

这一步解决的是参考图压不住的情况,比如一个角色要出 30 个以上镜头。

每角色准备 20–30 张第二步的图(多角度、多表情、多光线),用 kohya_ss 训 SDXL LoRA:network_dim=32、network_alpha=16、learning_rate=1e-4、batch_size=1、epoch=10–15。触发词统一设成不常见字符串,比如 gj_role_lin。生成时 LoRA 权重 0.7–0.9,再叠一层 FaceID 0.5 做双保险。

注意:训练集里混进一张别人的脸就会污染整个 LoRA,图必须逐张人工过。

第五步:图生视频阶段别让脸继续飘

这一步是把定好的首帧送进视频模型,保持面部不崩。

在可灵、即梦、Vidu 里选“图生视频”,上传第三步产出的分镜图作首帧,运镜幅度选“小”,提示词里重复角色锚点特征(发色、瞳色、下颌线、痣)。同一角色同一场景的镜头连着拍,用上一镜的末帧当下一镜首帧。

注意:大幅度的转头、低头、大特写切侧脸是翻车重灾区,能拆成两个中近景就别用一个长镜头硬扛。

第六步:兜底修脸 + 逐镜检查

这一步是把仍有偏差的镜头救回来。

用 FaceFusion 3.x 或 ComfyUI 的 ReActor 节点换脸,source 填基准脸,face_enhancer 选 gfpgan_1.4、权重 0.5。全部镜头过一遍,重点看三个指标:鼻梁宽度、眼距、下颌线走向,连续三个镜头一致才算过。

小结

  • 基准脸先行,种子、采样器、模型版本全部记录成表
  • 每角色 5-6 张多角度参考图,是后面所有锁脸手段的原料
  • FaceID / InstantID 权重按景别给,近景高、动作镜头低
  • 高频角色上 LoRA,与 FaceID 叠加使用,触发词写死
  • 视频阶段靠首帧 + 小运镜 + 连拍续帧,兜底用 FaceFusion 换脸
  • 最后一定要逐镜检查鼻梁、眼距、下颌线三项硬指标
本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-2609.html
转载请注明出处,版权归原作者所有。
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 2

萝卜特棒
萝卜特棒 正式会员萌新站长 1楼 2026-10-27 06:50

这套六步流程本身没问题,但真正决定成片稳定的是可量化验收和后期兜底,光靠调权重容易变成凭感觉反复试。

建议在第三步之后加一道分数校验:用 insightface 的 antelopev2 提取每张分镜图和基准脸的 embedding,算余弦相似度。经验阈值是大于 0.65 基本能认出是同一人,0.55–0.65 属于能过但要留意,低于 0.5 直接重跑,别浪费时间。写个几十行脚本批量跑一遍,比一张张盯着看快得多,也方便后期改参数时做 A/B 对照。

第二步筛参考图时注意别用“跟基准脸最像”当唯一标准,否则容易筛出一堆角度没变、只是脸对的废图。角度图要先看角度是否到位,再看脸是否像,两个维度分开判断。另外这张脸一旦修改,派生图全部作废,文件夹建议带版本号,比如 lin_v1/、lin_v2/,否则过两周你自己都分不清哪批是当前基线。

LoRA 那块,20–30 张对 SDXL 其实偏多了,15–20 张高质量、裁剪统一(1024 bucketing)更容易收敛,再配 5–8 张同风格非该角色的正则图抑制过拟合。caption 里只写触发词和角度、光线,绝对不要描述五官,否则模型会把“脸”当成可变属性。

最后补一层兜底:图生视频阶段表情和口型一动,脸最容易漂。同一场景尽量拆成 3–5 秒短镜头,的长镜头稳得多;不达标就上 facefusion 定向换回基准脸,剪辑端再用同一套 LUT 统一肤色和光影,剩下的细微差异基本就看不出来了。

容易出问题的是训练集,千万别拿真人演员的剧照或照片当素材,肖像权风险比技术问题麻烦得多。

四大皆空
四大皆空 正式会员萌新站长 #3268 2楼 2026-10-27 07:11
萝卜特棒:这套六步流程本身没问题,但真正决定成片稳定的是**可量化验收和后期兜底**,光靠调权重容易变成凭感觉反复试。 建议在第三步之后加一道分数校验:用 insigh…

【结论】分数校验我完全赞成,但那组阈值建议按景别和角度分档,否则很容易把大量本来能用的小角度侧脸误判掉。

antelopev2 提 embedding 的前提是正脸对齐,头部偏转超过 30 度、或者逆光和顺光差别大时,同一张脸跟基准正脸的余弦掉到 0.5 以下很常见。我自己的做法是拿第二步那套多角度参考集当比对库,每张分镜图跟库里每张各算一次相似度取最大值,而不是只跟正面基准图单比;阈值再按景别分:特写 0.6、中景 0.55、侧身回头 0.5 就收。这样重跑率能降一大截。另外这个分数可以直接接进流程,FaceID 出图后挂一段自动打分的节点,低于阈值就换 seed 重采样,比出完图再离线批跑省时间。

LoRA 那段完全同意,补一个细节:kohya_ss 里正则图要放在单独的 reg_dir 目录,caption 只写风格词、不带触发词,否则起不到抑制过拟合的作用;训练集的 caption 也统一按“触发词+角度+光线”的固定顺序写,格式一致收敛会稳一些。

最后那个肖像权提醒确实是最该先想清楚的。延伸到一点:训完 LoRA 先用触发词跑一张,跟几组公开人脸做一次余弦自查,超过 0.7 就回去改五官描述重训,成本很低但能提前避开麻烦。