你可能遇到过这种情况:同一句提示词,出图很稳,出视频却人物变形、动作跳帧,换个模型还是差不多。问题往往不在提示词,而在你没搞清它底层是怎么一步步把噪声变成画面的。这篇从扩散过程讲到时空建模,说清模型在时间维度上到底做了什么、哪些限制是原理层面的硬约束,附带一份看资料和选模型时的判断清单。
同一句提示词,出图很稳,出视频却人物变形、动作跳帧,换个模型还是差不多。这种情况大概率不是提示词写坏了,而是你没搞清它底层是怎么把一团噪声一步步变成画面的。视频生成模型多了一个时间维度,限制往往就出在这一维上。
这篇从扩散过程讲到时空建模,说清模型在时间维度上到底做了什么,哪些限制属于原理层面的硬约束、调参救不回来,哪些是可以在流程里绕开的。最后给一份看资料和选模型时的判断清单,帮你在动手之前先有预期。
从一张噪声图到一段视频:扩散到底在做什么
扩散模型分训练和推理两段。训练时把真实画面逐步加噪,让模型学会从任意噪声程度往回推一步;推理时从纯噪声起步,反复去噪若干次得到结果。所谓「步数」不是玄学参数,它决定去噪被拆成几段:段数少跑得快但细节糙,段数多更收敛但更慢,同一模型不同档位出片差异多半来自这里。
- 加噪
- 把真实画面按计划逐步掺入随机噪声,直到看不出原图
- 去噪
- 模型从当前噪声状态预测并减去一部分噪声,向清晰方向走一步
- 推理步数
- 把整个去噪拆成多少段执行,段数直接影响速度与细节
- 时间维度
- 视频比图片多出的一维,帧与帧之间的关系就藏在这里
视频最朴素的做法的确是把每帧当独立图片去噪,但这样帧与帧之间没有任何约束,结果就是闪烁和人物漂移。所以只要发现「同一个模型出图很稳、出视频就崩」,先别改提示词,优先怀疑时间维度没被单独建模。
时空建模:模型怎么让帧与帧之间不打架
主流做法有两条路:一是在去噪网络里加时间注意力或三维卷积,让模型处理某一帧时能「看到」相邻帧;二是先生成关键帧,再在帧之间做插值或运动补偿。两条路都在解决同一个问题——让相邻帧对同一个物体给出前后一致的判断。
| 建模方式 | 怎么起作用 | 容易出问题的地方 |
|---|---|---|
| 时间注意力 / 三维卷积 | 在一次去噪里同时考虑多帧,整体一致性较好 | 算力开销大,长片段成本高 |
| 关键帧 + 插值 | 先定骨架再补中间帧,节奏可控 | 关键帧本身错了,后面全靠插值硬撑 |
| 逐帧独立生成 | 实现最简单,成本最低 | 帧间无约束,闪烁、漂移几乎必然 |
时间一致性靠的是模型对「什么在动、什么不该动」的隐式学习,所以它对运动幅度非常敏感:小幅位移通常稳,快速旋转、遮挡后再出现这类情况容易翻车。另外要注意,镜头语言和运动是两回事——模型学的是像素级的时序连续,你写的运镜描述属于额外控制信号,未必被同等强度地执行。
潜空间、条件控制与「为什么提示词控制力有限」
为了省算力,多数模型不在像素层去噪,而是先把画面压到低维表示再操作。这个压缩过程会丢细节,所以微小文字、细密纹理在视频里比在图片里更容易糊——这不是分辨率没调够,而是压缩环节的天花板。条件信号(文字、参考图、首帧、姿态)则是在去噪过程中被注入的,注入得越晚,对最终结果的影响越弱,这就解释了为什么有些描述「写了像没写」。
还有一条常被忽略的规律:控制越强通常意味着自由度越低。锁死首帧或姿态能稳住人物外形,但会牺牲动作的自然度;反过来放开控制,动作可能更生动,人物却容易走样。这是取舍,不是 bug,别指望某个模型同时把两头都拉满。
- 第一步:确认条件信号有没有被识别把描述换成更直白、更具体的写法重跑一次。若结果明显变化,说明是描述被弱化;若几乎没变,说明问题不在提示词。
- 第二步:确认运动幅度是否超纲把同一段需求改成小幅位移版本再跑。若小幅度稳定、大幅度崩,就是运动复杂度触到了模型舒适区边界。
- 第三步:确认是否被压缩细节拖累把画面里的小字、细密纹理去掉或用大块色替代,看稳定度是否回升。回升说明瓶颈在潜空间压缩,不在你的写法。
- 第四步:此时再考虑换模型前三步都排除了,才轮到换模型。至于换哪个,到站内页面核对当时的规格和计费口径,别拿旧截图做决策。
知道原理之后,看资料和选型时该关注什么
看模型介绍时,优先找它对时序处理方式的说明——是否显式建模时间、支持多长的连续片段,而不是只看样片好不好看。样片通常是挑过的,规格说明才暴露边界。
- 把「运动复杂度」当第一条筛选条件:静态或微动场景门槛低,剧烈运动和复杂遮挡门槛高
- 先看它怎么处理时间维度,再看画质宣传,顺序反了容易被样片带偏
- 同一段素材先用低成本档位试运动是否成立,成立再上高规格重跑,比一上来就顶配省得多
- 判断一致性时看连续片段的抖动和人物轮廓,别只看单帧截图
- 各家规格和计费口径经常变,到 /price-watch 核对当时的数字
- 拿不准某家中转站靠不靠谱,先看 /rankings 的可信度记录再下单
原理层面的限制——帧间约束、潜空间压缩损失、条件信号注入时机——靠堆提示词是补不回来的,能做的只是别在这些点上硬碰。而调参能救的部分,基本都落在运动幅度、控制强度和生成档位这三个旋钮上,先分清楚问题属于哪一类,再动手。
出视频不稳,先问是帧与帧没约束,还是你的运动幅度超了模型的舒适区;前者换写法救不了,后者换模型也白搭。下一步如果你已经判断出瓶颈在哪,下一步是拿几个候选模型去做一次实测对比,看当时的速度和稳定性表现,再决定用哪个。→
常见问题
视频生成和图片生成是同一套原理吗?
底子相通,都靠去噪从噪声还原画面,差别在视频多了一个时间维度。图片模型只管单帧好看,视频模型还得额外学会帧与帧之间的连续性。所以图片模型表现好,不代表同名视频能力也强,选型时要把两条线分开看。
为什么我写清楚运镜了,出来还是不按我说的动?
运镜描述属于条件信号,是在去噪过程中被注入的,强度有限,而且模型对大幅运动的处理本身就不稳。可以先降低描述复杂度、只保留一个主要运动,再看是否被执行;如果仍然不动,多半是这个模型对镜头控制的支持较弱,换一个再试。
原理懂了,对实际出片有什么用?
最大的用处是分清「能救」和「救不了」。提示词描述不清、条件信号没被识别,这些可以调;时间一致性差、快速运动糊成一团,属于模型能力上限,调提示词基本无效,该换工具就换。省下的时间远比看几篇原理文多。