简介:本文从物体恒常性与物体固体性出发,剖析视频生成模型“只见像素、不见实体”的底层原因:模型学习的是像素共现统计规律,而非物体连续存在的物理规则。文章拆解数据表征、时序建模、遮挡推理等关键环节,说明为何复杂场景易露馅,并给出显式建模、专用训练数据等改进思路与能力边界。
在讨论视频生成模型的能力边界时,一个常被提及却少有深入剖析的现象是:当画面中的物体被遮挡、移出视野或经历复杂交互后,模型往往无法保持该物体在时空上的连续性——它可能凭空消失、改变身份、尺寸突变,或在重新出现时与遮挡前的状态毫无关联。
这一现象对应的核心概念是物体恒常性(Object Permanence):指一个实体在离开视野(被遮挡、移出画面)之后,观察者依然认为它持续存在,且其身份、大小、形状、运动方向不会凭空改变。与之配套的是物体固体性(Object Solidity):物体占据确定空间、不可穿透、不能同时出现在两个位置。二者共同构成人类认知世界最早也最根本的两块基石——发展心理学研究表明,即使是数月大的婴儿也已具备初步的物体恒常性预期。
本文要解释的技术原理是:视频生成模型为何在架构与训练范式上天然缺乏对物体恒常性的建模能力,其底层机制究竟缺失了什么,以及业界常见的补救路径如何起作用、边界在哪里。 这不是某个产品的缺陷,而是当前主流生成范式共同面临的结构性问题。
当前主流视频生成模型的底层逻辑,是从海量真实视频中学习像素之间的统计规律。一个物体从画面左侧移动到右侧,模型学到的是“这种像素排列后面大概率跟着那种像素排列”的条件概率分布,而不是“这是一个具备连续存在性的实体,它现在被挡住了,但它还在那里”。
用一个类比说明:教一个从未见过雪的南方孩子认识“下雪”,只给他看一万张雪景照片,他能准确判断哪些照片是下雪天,但他并不真的理解雪是水凝结成的冰晶。他学到的是照片的表面规律,不是背后的物理原理。若给他看一张“雪往天上飘”的假照片,他大概率认不出不合理,因为他从未建立“雪该怎么运动”这条底层规则。
视频模型同理:它在训练数据中见过无数次“球滚进隧道又出来”的画面,学会了复现这类画面的表面模式,但没有建立“物体在被遮挡期间依然持续存在,身份、大小、运动方向都不会凭空改变”这条规则。一旦场景稍微复杂——多几个物体、换一种遮挡方式、遮挡时间变长——模型就容易露馅。
三者的关系决定了问题的本质:当模型的基本建模单位是像素而非实体时,物体恒常性就没有天然的承载对象。 实体层面的“存在状态”在像素层面没有显式变量,只能寄希望于隐式涌现。
以通用的扩散式视频生成架构为例,可拆为以下关键模块:
| 模块 | 职责 | 与恒常性的关系 |
|---|---|---|
| 数据表征层 | 将视频压缩为时空潜变量序列 | 压缩会丢失细粒度身份信息,遮挡边界处尤甚 |
| 时序建模层 | 建模帧间与潜变量间的依赖 | 依赖多为短程、局部,长程遮挡难以覆盖 |
| 条件注入层 | 注入文本、首帧、轨迹等条件 | 条件通常是全局语义,缺少“实体级”状态约束 |
| 去噪生成层 | 逐步还原潜变量为像素 | 每步独立预测,缺少跨步的实体一致性校验 |
| 解码输出层 | 潜变量还原为视频 | 放大局部不一致,身份漂移显性化 |
关键点在于:整条链路中没有“实体表”或“状态机”这样的显式结构来记录“当前有哪些物体、各自处于什么状态”。 物体的存在性完全隐含在潜变量的分布里,靠数据统计“碰”出来。
以“球滚入隧道再滚出”为例,按状态变化顺序拆解:
根本原因可归纳为一句话:遮挡期间,模型没有“必须记住某实体”的机制约束,记忆的衰减是默认行为而非异常。
实体级建模需要诸如“实体 ID、位置、速度、可见性、外观嵌入”等结构化状态。当前表征是稠密的时空张量,实体信息是弥散的、不可寻址的。没有寻址能力,就无法在遮挡期间“按 ID 检索并保持”某实体。
多数时序建模依赖局部注意力或卷积感受野。短遮挡(1–2 帧)可靠局部上下文衔接;长遮挡(十几帧以上)超出有效感受野,历史信息在潜空间中衰减。遮挡时长与感受野的错配,是恒常性失败的高发区。
文本条件描述“一个红球滚过隧道”,是全局语义,不构成“该球在 t 帧至 t+k 帧不可见但持续存在、速度为 v”的硬约束。条件越粗粒度,模型自由度越大,越容易在遮挡处“自由发挥”。
去噪目标优化的是像素/潜变量重建误差。遮挡区域的像素在训练样本中本就不存在,重建损失对此区域无监督信号;模型“让球消失”在损失上并不比“让球保持”更差。损失函数不区分“合理的不可见”与“错误的不存在”。
# 通用示意:当前范式缺少实体状态约束for step in denoise_steps:latent = model(latent, condition) # 仅依赖全局条件# 缺少:entity_state = track(entity_state, latent)# 缺少:latent = enforce(entity_state, latent)video = decode(latent)# 结果:遮挡段无实体状态可查,重新出现靠采样
若引入显式实体状态,理想链路应为:检测/跟踪实体 → 维护可见性与属性状态 → 在生成时以状态为条件约束遮挡段与重现段。这正是当前范式缺失的环节。
当前范式的优势:泛化于外观与风格、生成效率高、无需显式三维重建,短时局部一致性表现良好。
边界与限制:
视频生成模型丢失物体恒常性,根源不在某个模块的工程瑕疵,而在建模范式的结构性选择:以像素统计为基本单位、以重建误差为优化目标、以全局语义为条件,三者共同导致“实体存在状态”没有显式承载对象。遮挡期间记忆的衰减是默认行为,重新出现时的身份漂移是采样结果。
改进方向因此清晰:在表征层引入可寻址的实体状态,在时序层扩展长程依赖,在条件层注入实体级约束,在训练目标中加入存在性一致性惩罚,并配套构造遮挡—重现的专用训练资料。需要清醒认识的是,这些手段提升的是“统计意义上的恒常性表现”,距离真正的物理规则理解仍有边界。理解这一边界,比盲目相信“模型已懂物体”更有工程价值。