跳到主要内容

AI 视频生成

AI 视频中的角色一致性是什么?

角色一致性是指 AI 视频在一个镜头到下一个镜头之间,能否让同一个角色看起来仍是同一个人、同一只生物或同一个吉祥物:同样的面孔、发型、体型、衣服和声音。每个镜头都是一次单独的生成,所以如果没有参考图或角色设定图,模型每次都会重新创造这个角色。

作者:DreamBench 团队。更新于 。

角色一致性概览

概览

含义
同一个角色在第 1 个镜头和第 30 个镜头里都能被认出来,无论地点、光线或镜头如何变化。
涵盖
面孔、发型、身体、衣服和随身道具;在带声音的模型上,还包括声音。
难在哪里
视频模型一次只生成一个镜头,不会记得上一个镜头的任何内容。
靠什么维持
同样的参考图(理想情况下是角色设定图),以及每个镜头里同样的文字。
不同于
时序一致性,它关心的是一个片段内各帧之间是否一致。
最先出问题的地方
侧面和背面视角、全景中的小面孔、手,以及会变的衣服。

角色设定图

正面

侧面

返回

只画一次:每个视角中都是同样的脸、发型、外套和围巾,背景纯色,没有阴影,也没有其他人。

每个镜头

  • 镜头 1:远景,夜晚的街道

  • 镜头 2:中景,一片森林

  • 镜头 3:特写,室内

  • 镜头 4:远景,白天的海滩

每个镜头都要附带的内容

  • 设定图,作为参考图或开场画面
  • 每条提示词中都使用一字不差的同样标识
  • 同样的嗓音,在能生成声音的模型上

新的地点、新的光线、新的取景:角色依然是同一个人,因为每个镜头都收到了同样的设定图和同样的文字,而不是因为模型记得上一个镜头。

一张角色设定图,只画一次,提供给每个镜头:四个地点、四种构图、同一个人。

AI 如何让角色在多个镜头中保持一致

视频模型一次生成影片的一个镜头,除非你主动传递,否则第 4 个镜头的任何信息都不会传到第 5 个镜头:模型会重新从噪声开始,提示词没写到的地方全凭它创造。把“一个金色短发的女人”写两遍,你会得到两个不同的女人。

所以一致性来自每个镜头被提供了什么。同样的文字有帮助。图片帮助更大,因为面孔展示起来比描述起来容易:支持图片的模型(这种模式叫参考生视频)会保留它们能看到的面孔、发型和颜色。角色设定图(从正面、侧面和背面展示角色)帮助最大,因为它还展示了角色转过身的样子。

像图生视频那样从一张角色图片开始一个镜头也可行:首帧是固定的,但镜头离它越远,重新创造的内容就越多。

深入原理:参考图、身份嵌入和种子

参考图通过注意力机制进入模型,与文字使用的机制相同。IP-Adapter 通过自己的交叉注意力层把图片作为提示加入,与文字的交叉注意力层分开,整个适配器约 2200 万(22M)个参数,模型本身保持不变。

身份方法更进一步,直接对面孔本身编码。InstantID 只需一张人脸照片:一个独立的网络用这张面孔的特征和关键点引导生成,让人物在风格和姿势变化时仍可辨认。这种编码后的面孔就是身份嵌入。

最古老的方法是教会模型认识这个角色。DreamBooth 用一个主体的几张图片微调模型,直到它把一个独特的词与这个主体绑定,然后在新的场景、姿势、视角和光线中生成这个主体。LoRA 最初是为语言模型发表的,它让这种微调变得轻量:模型自身的权重保持冻结,只训练少量附加矩阵。两者都需要一个你能训练其权重的模型。

另一种思路是把图片放在一起生成。StoryDiffusion 在一批图片之间共享注意力,无需训练,让主体在一组图片中保持一致;多镜头视频模型也以类似的方式,在它们自己切出的镜头之间保持角色一致,但仅限于一次生成之内。

为什么种子保不住角色?种子固定的是初始噪声,所以同样的种子配上同样的提示词、时长、画幅和模型,会重复生成同样的片段。新镜头至少会改变其中一项,同样的噪声就会被以新的方式解读,而上一张面孔并没有被保存在任何地方。

参考图、角色设定图、种子还是 LoRA:各自能保留什么

让角色保持一致的几种方法,以及各自会丢失什么
保留的内容它会丢失什么
每段提示词里都用同样的描述大致特征:发色、年龄、服装面孔。文字无法锁定一张面孔,换一种措辞就会被当成另一个人。
同样的种子用同样的提示词和设置,再次生成同样的片段一切,只要提示词、时长、画幅或模型有变化。
一张参考图图片中展示的面孔和颜色图片没有展示的角度,有时它的光线和背景也会被带进来。
一张角色设定图多个角度的面孔、发型、体型和服装设定图上没有的一切:新服装、更大的年龄、在全景中小到看不清的面孔。
一张首帧第 0 秒的画面,完全一致画面中没有展示的内容;镜头越往后,漂移越大。
身份适配器来自一张照片的面孔,跨越不同风格和姿势衣服和身体;而且需要专门为接收它而构建的模型。
微调(DreamBooth、LoRA)从多张图片学到的主体,呈现在新的姿势、视角和光线中时间:每个角色都要训练,而且模型的权重必须可以训练。

角色一致性与时序一致性

两者的结果都是面孔发生变化,所以很容易混淆。时序一致性针对的是一个片段内部:第 90 帧和第 1 帧是否一致?角色一致性针对的是片段之间:第 2 个镜头里厨房中的女人,是不是第 9 个镜头里火车上的那个女人?一个稳定的片段,仍可能出现的是错误的人。

一致

同样的人物、颜色和大小,一帧接一帧;只有动作在变化。

漂移

标记出的帧:先是一次颜色错误的闪现(闪烁),接着一个人物慢慢变成了另一个人(身份漂移)。

一个片段内部的漂移,是时序一致性出了问题。角色一致性的问题出现在片段之间,即使每个片段本身都很稳定。
角色一致性与相近术语对比
保持不变的是什么范围
角色一致性一个人是谁:面孔、发型、体型、衣服、声音一部影片的每个镜头和每个场景
时序一致性画面中的一切一个片段内,一帧到下一帧
参考生视频来自你提供的图片的主体一个镜头;在每个镜头中重复使用,就是大多数影片获得角色一致性的方式
首尾帧镜头的两端一个镜头:它锁定的是姿势,而不是整部影片中的身份
多镜头视频模型自己切出的镜头之间的角色一次生成;下一次生成会重新开始
风格一致性整体观感:媒介、色调、颗粒感整部影片,无论镜头里是谁

首尾帧可以把一个镜头的最后一帧带到下一个镜头的第一帧:衔接很顺,但第 12 个镜头仍然不知道第 3 个镜头是什么样。

Veo、Kling 和 Seedance 的角色参考

每家模型厂商都有自己的做法。Google 的 Vertex AI 指南中,Veo 3.1 可接收最多三张同一个人、角色或产品的图片,并称 Veo 会在视频中保留主体的外观;在标准模型上,使用主体图片生成的片段时长为 8 秒。

Kling 把角色构建为主体。它的主体库指南要求每个主体 2 到 4 张图片,一张主图加最多三张其他角度的图片,建议主图为正面,并称 Kling 3.0 可以把最多三个主体绑定到一张首帧上。

Seedance 可以同时接收很多参考,但有一条规则在这里很重要:BytePlus 的 Seedance 2.0 系列教程指出,这些模型不接受直接包含真人面孔的参考图或参考视频,并提供它自己的数字人和经过授权的真人素材作为替代。

好的角色设定图是什么样的

参考图上展示的东西,不管你想不想要,模型都会照搬,所以好的设定图会刻意保持简洁:

  • 每个视角(正面、侧面和背面)里都是同样的面孔和发型,肤色也一致。
  • 一张设定图只放一个角色:多一张面孔,就多一个可以借用的身份。
  • 简洁的底色,没有投影或偏色,否则它们会出现在每个镜头里。
  • 不要文字、标签或数字,模型可能会把它们写进镜头里。
  • 按 Kling 的建议,用一张清晰的正面图作为主图,并露出完整服装。
  • 地点单独放在自己的设定图上,不含角色。

角色的脸为什么会在镜头之间变化

角色一致性在哪里出问题,以及可以尝试什么
原因可以尝试
衣服在不同场景之间发生变化服装只写在一个镜头的文字里而下一个没写,或者参考图上没有在设定图上展示完整服装,并在每个镜头里用同样的文字写出来。
从侧面或背面看,面孔不对参考图只展示了正面使用带侧面和背面视角的设定图,或者让镜头保持在角色前方。
全景中面孔走样只有几个像素高的面孔,几乎承载不了参考图的信息用小尺寸下也能看清的特征来维持身份:发型、颜色、一条围巾、一顶帽子。
手、眼镜或首饰发生变化小细节在每个镜头中都会被重新生成,左右也很容易对调写明这个细节以及它在哪一侧,并减少这类细节的数量。
角色看起来变老或变年轻了光线、妆容和表情会改变看上去的年龄在每个镜头里用文字写明年龄,并让光线接近设定图的光线。
头发变长或变短长度没有锁定,所以会随着动作漂移把长度写准确:“齐下巴的波波头”,而不是“短发”。
两个角色融合成一个相似的角色通过同一套注意力机制共享特征让他们一眼就能区分,并给每个角色单独一张设定图。

为什么我的角色在一个镜头中途变了样?这是片段内部的漂移,属于时序一致性问题:缩短镜头、减少运动、在大幅转身之前切镜,比换一张新的参考图更有用。

如何在 AI 视频中保持同一个角色:检查清单

  • 在拍任何镜头之前,先把角色做成一张设定图,只做一次。
  • 把这张设定图提供给出现这个角色的每个镜头,或者让每个镜头都从根据它制作的图片开始。
  • 在每段提示词里逐字写出角色的几个关键特征。
  • 尽可能整部影片都用同一个模型:每个模型读取参考图的方式都不同。
  • 把不同镜头的静帧并排比较:在运动中注意不到的变化,在静帧里一目了然。

真人参考图就是他的肖像。请使用你自己的,或已获得对方许可的图片;如果视频可能被当成真实影像,请说明它是 AI 生成的。有些模型会直接拒绝真人面孔,Seedance 2.0 就是其中之一。

在 DreamBench 上,上传的图片会在使用任何积分之前接受检查,看起来是未满 18 岁真人的图片会被拒绝:使用条款不允许上传或呈现未满 18 岁的真人。在 Morph 中,含有真人的视频只有在你勾选确认画面中是你本人或已获得许可的人之后才会生成。

DreamBench 如何让角色在每个镜头中保持一致

当你描述一部影片时,DreamBench 会先写好剧本,然后在渲染任何镜头之前先画好全体角色:每个角色、地点和道具都只画一次,做成设定图,在每个镜头中保持一致。在“画面里是谁?”下添加一张图片,并标记为角色、生物、地点或道具,设定图就会根据你的图片绘制,只取主体本身,而不带上它的光线或背景;你之前做过的设定图则按原样使用。

在绘制设定图之前,每个角色和道具都会获得一个身份锁定:面孔、侧脸、身体和尺寸,为全体角色一次性写好,让任何两个角色都不会共用一张面孔。从中提取的一小行标识信息,会被逐字写进出现这个角色的每个镜头,在能生成声音的模型上还会加上角色的声音,以及画面中的人数。

设定图如何进入镜头取决于模型。在 Seedance 2.5、Seedance 2.0、Veo 3.1 和 Vidu Q2 上,设定图会作为参考图随每个镜头一起发送。在其他模型上(包括 Veo 3.1 Fast、Lite 和 Kling 3.0),DreamBench 会先根据镜头的设定图绘制一张开场静帧,镜头再从这张静帧开始。

故事需要的变化,比如角色被雨淋湿,会在他们自己的设定图上画成一个变体。如果你选择审阅,就能在拍任何镜头之前先见到全体角色,并可以重新绘制任意一张设定图,或根据你自己的图片重新绘制。仍不理想的镜头,可以附上说明要修正什么的备注重拍。

原视频:三只跳舞的小猫原版
用 Morph 制作的同一段视频:三只跳舞的小猫Morph 版
Morph · 三只跳舞的小猫

把背景换成 @livingroom,布局与 @floorplan 一致,再把 3 只猫换成 @yickshuncat、@oreo 和 @mango。

编辑中的设定图:Morph 把三只跳舞的小猫换成了来自角色设定图的三只猫,舞步保持不变。

常见问题

如何在 AI 视频中保持同一个角色?

在 AI 视频中保持同一个角色的方法是:给每个镜头提供同样的参考图(理想情况下是包含正面、侧面和背面视角的角色设定图),并在每段提示词里逐字写出同样的几个关键特征。每个镜头都是一次单独的生成,所以你没有重复的内容都会被重新创造。

为什么我的角色的脸在镜头之间会变?

角色的脸在镜头之间会变,是因为视频模型每个镜头都从零生成,不会记得上一个镜头的任何内容。如果每个镜头里没有同样的参考图和描述,它就会创造一张符合文字描述的新面孔。侧面、背面以及全景中的小面孔漂移得最厉害。

Kling 怎么保持角色一致?

在 Kling 中,一致的角色是以主体(Elements)的形式制作的:Kling 的主体库指南要求 2 到 4 张图片,一张主图加最多三张其他角度的图片,主图为正面时一致性更高。在 DreamBench 上,Kling 3.0 的镜头从一张根据角色设定图绘制的开场静帧开始。

AI 视频中的角色设定图是什么?

角色设定图是一张从多个角度展示角色的图片,通常包括正面、侧面和背面,每个视角里的面孔、发型和服装都相同,底色简洁。每个镜头都会把它作为参考图,这样模型就知道角色转身时是什么样子。

用同样的种子能保持角色一致吗?

不能。同样的种子只有在提示词、时长、画幅和模型都相同时才会重复生成同一个片段。新镜头至少会改变其中一项,所以面孔也会变。能保持角色一致的是参考图和重复的措辞,而不是种子。

角色一致性和时序一致性有什么区别?

时序一致性针对一个片段内部:每一帧是否与前一帧一致。角色一致性针对片段之间:第 2 个镜头里的人是不是第 9 个镜头里的同一个人。一个片段可以很稳定,却仍然出现错误的人。

保持角色一致需要多少张参考图?

最少需要一张清晰的正面图片;同一个角色的几个视角通常效果更好,因为模型这样就知道侧脸和背面的样子。Kling 的主体需要 2 到 4 张图片,Google 的 Veo 3.1 最多接收三张同一主体的图片。

可以用我自己的照片作为 AI 视频角色吗?

可以,前提是模型接受真人面孔:你自己的照片就是你自己的肖像,清晰、正面、光线均匀的图片最合适。有些模型会拒绝真人面孔,Seedance 2.0 就是其中之一。在 DreamBench 上,看起来是未满 18 岁真人的图片会被拒绝。

为什么 Seedance 拒绝我的参考照片?

当 Seedance 在参考照片中识别出真人面孔时,就会拒绝它:BytePlus 表示,Seedance 2.0 系列模型不接受直接包含真人面孔的参考图或参考视频,并提供预设的数字人和经过授权的真人素材作为替代。

为什么我的角色的衣服在不同场景之间会变?

当参考图或提示词里缺少服装时,衣服就会在场景之间变化,模型会用适合当前场景的任何服装来填补空缺。在设定图上展示完整服装,在每个镜头里用同样的方式写出来,新服装则单独做一张设定图。

AI 能在同一个场景里让两个角色都保持一致吗?

能,只要每个角色都有一张参考图:给每个角色单独一张设定图,并在提示词里分别写出名称,这样模型就知道哪张图片是哪个人。长得相像的角色可能会融合,所以让他们一眼就能区分。

DreamBench 能让角色在整部影片中保持一致吗?

能。DreamBench 在渲染任何镜头之前,就会把每个角色、地点和道具各画一次,做成设定图;把每个角色的标识信息逐字写进每个镜头;并根据模型的不同,把设定图作为参考图或开场静帧提供给每个镜头。

前往术语表查看更多

来源

DreamBench 是一个独立平台,与本页提及的公司没有关联,也未获得它们的认可。