AI 生成任务

动作迁移:用参考视频驱动一个角色

又称 姿态迁移, pose transfer, motion transfer, 驱动视频

动作迁移(motion transfer)是把驱动视频里主体的运动搬到另一个角色身上,让一张静图或一个新身份做出同样的动作。管线先从驱动视频抽出姿态序列,再按目标的身材比例做重定向,最后以这条序列加上你的身份参考为条件生成每一帧,所以它也叫姿态迁移。

管线的三段

判断问题出在哪,前提是知道这三段各自在做什么。

  1. 抽取。 姿态估计模型读驱动视频,产出逐帧的序列:二维关键点、骨架、稠密人体图,或者面部关键点。驱动者的外观完全不往下传,只传几何。
  2. 重定向。 把这条序列映射到你的目标身材比例上。一个高个子驱动者的肩部坐标,落在矮个子角色身上含义完全不同,肉眼可见的损伤大多出在这一段。
  3. 生成。 以重定向后的姿态加上你的身份参考为条件生成帧,角色保持自己的设计,同时采用这套运动。

驱动视频怎么挑

驱动素材比模型更重要。实操上:

  • 单人、全程整体入画。 一条离开画框的胳膊,出来就是一条消失或者乱甩的胳膊。
  • 固定机位。 驱动视频里的运镜会变成输出里的主体运动,因为管线分不清这两者。
  • 不要有剪辑点。 每个剪辑点都是姿态序列上的一处断裂,看上去就是一下猛跳。
  • 速度适中、剪影清楚。 动作太快意味着运动模糊,模糊意味着姿态估计不可靠。
  • 自遮挡尽量少。 胳膊横过躯干、手背到身后、整个人转过去,都是估计模型开始猜的地方。
  • 取景和目标图匹配。 全身角色配全身驱动,肖像配上半身。

为什么比例比什么都重要

面条腿、脚在地上滑、关节反着弯,几乎都是重定向的产物,而不是生成的产物。姿态序列本质上是一串坐标,如果这串坐标出自一具和你的角色形状不同的身体,提示词写得再好也补不上这个错配。

有两个具体习惯很管用。一是让参考图的姿态贴近驱动视频的第一帧,序列从「一致」开始,而不是从一次跳跃开始。二是挑一个身材接近你角色的驱动者,这件事比动作本身够不够精彩重要得多。

什么能迁过来,什么迁不过来

身体运动、节奏、重心转移迁得很好,这也正是这项技术的意义。手是标准伤亡,因为手指占的像素少、对应的姿态点也稀疏。细腻的面部表演基本留不住,所以角色要说话时,得再配一次单独的嘴部处理。布料和头发是生成出来的、不是模拟出来的,所以它们只是松散地跟着身体走,会滞后也会穿模。

另外值得把三件相邻的事分清:动作迁移用驱动视频驱动主体的表演;口型同步只用音频驱动嘴;运镜控制指定的是相机怎么动,而不是主体做什么。三者里挑错一个,是把大量额度花在错误问题上的常见方式。

支持该效果的模型

取自 ZOOOP 实时模型目录,新模型上架后自动出现在这里。

查看全部 18 个模型

这个效果的提示词

一条能稳定出效果的起点。主体和场景可以换,技术性的那几句留着。

Apply the motion of the driving video to the reference character, keep the character design and outfit unchanged, static camera, feet planted on the ground

试一下:动作迁移(Motion Transfer)

打开生成器,参数已经预填好。

常见问题

动作迁移和姿态迁移有什么区别?
基本混用。姿态迁移更常指「目标是一张静图、由逐帧姿态驱动」,动作迁移更常指视频层面的结果。两者说的是同一条管线:抽骨架、做重定向、再生成。
什么样的驱动视频才好用?
单人、全程整个身体都在画面里、背景干净、固定机位、没有剪辑点、速度适中、四肢不要躲到躯干后面。取景范围还要和你的目标图对得上,一段全身舞蹈驱动不了一张半身肖像。
为什么四肢会被拉长或者反向弯折?
重定向误差。姿态序列是按驱动者的身材比例记录的,如果你的角色身高体型不同,关节就会落错位置。尽量让驱动者的身材比例和起始姿态贴近参考图,并且挑一段动作幅度没那么极端的驱动视频。
能迁移到非人角色上吗?
只有骨架映射得上才行。风格化的人、人形机器人、穿着道具服的角色通常可以。四足动物、没有腿的角色、比例严重非人的角色不行,因为人体关节没有合理的对应位置可落。
驱动视频的背景会一起过来吗?
不会,也不应该。管线只用姿态序列,背景和驱动者的外观都留在原地。唯一的例外是驱动视频里的运镜:它会被当成主体运动读进去,这也是固定机位的驱动素材更稳妥的原因。

相关术语