定格动画导演林导遇到了一件糟心事:他辛辛苦苦一帧一帧摆好木偶姿势,拍出来播放时,木偶的手臂像触电一样疯狂抖动,画面闪烁得让人头晕。问题出在哪?因为他每摆一帧姿势,都完全忘了上一帧木偶的手放哪儿,每一帧都是“重新想象”——这不就是许多视频生成模型的真实写照吗?模型逐帧独立生成画面,帧与帧之间互不商量,结果就是画面“乱跳”、闪烁、运动诡异地抽搐。合成视频要想骗过观众的眼睛,核心秘密就是时序一致性:让每一帧都“记得”上一帧在做什么,用运动规律约束住像素的走向。这篇文章就跟着林导从翻车到救场的历程,把视频时序一致性的六件大事——帧间建模、光流约束、长视频控制、评估指标、质量权衡、工程实践——一次讲透。
掌握视频时序一致性保障方法,是合成视频数据工程师的核心竞争力。它能让你生成的视频帧间连贯不闪烁,直接决定合成数据能否有效训练感知模型,帮你少走弯路、快速交付高质量数据。
可视化演示
展示合成视频中帧间时序连贯性、光流一致性约束及一致性评估指标,理解时序一致性保障的核心原理。
本节配有交互动效(进入视口后自动加载,约 3KB)。
时序连贯性建模 绿色帧表示时序连贯性高,帧间过渡平滑 红色闪烁标记表示该帧时序不一致 C(t,t+1) = sim(f_t, f_{t+1}) 时序连贯性通过相邻帧相似度度量
帧间关联建模
林导的第一版木偶动画为什么“跳”?因为他每次摆姿势都只看眼前这一格,第 5 帧完全忘了第 4 帧的手放在哪里。视频生成模型也一样:如果每一帧都是独立地从随机噪声里“重新想象”画面,帧与帧之间就会各说各话,连起来看就像失控的定格动画。要让画面连贯,就得让模型拥有“记忆”——生成第 t 帧时,必须参考它之前已经生成的帧。
这种“参考历史”的建模方式,在数学上叫时序条件建模。一整个视频不再是若干张独立图片的简单堆叠,而是一个长长的条件概率链条:每一帧的概率都建立在前序所有帧的基础上。这正是自回归生成的核心思想——像写小说一样,每一句话都顺着前面的话往下写。
在具体实现中,这种条件依赖通过 Transformer 的因果注意力掩码完成:计算第 t 帧的特征时,注意力只能看向 t 及 t 之前的帧,绝不能偷看未来帧。就像林导在摄影机旁贴了一张“上一帧定妆照”,木偶的手往哪摆,先看看照片再动手。上下文窗口的长短决定了“记忆”能回溯多远——窗口太短,木偶会得健忘症;窗口够长,动作才能有连贯的来龙去脉。帧间关联建模,正是时序一致性的第一块地基。
- 联合概率表示整个视频序列(从第 1 帧到第 T 帧)作为一个整体出现的概率,衡量的是帧间联合分布。
- 连乘符号把每一帧的条件概率依次相乘,体现“一帧咬着一帧”的链式结构。
- 条件概率生成第 t 帧时,以前面所有帧为“已知上下文”,计算当前帧出现的概率。
光流一致性约束
有了“上一帧照片”,林导的动画不再抽搐了,可新的问题来了:木偶的手臂虽然记得上一帧的位置,但运动轨迹歪歪扭扭的,像喝醉了酒。林导意识到,光“记得”还不够,还得跟得上运动的规律。于是他画了一张“动作轨迹图纸”:木偶每一帧的位置,必须落在平滑的轨迹线上。
在视频生成里,这张“轨迹图纸”就是光流(Optical Flow)。光流描述了每一个像素点从第 t 帧到第 t+1 帧移动了多少距离——它是帧与帧之间的运动场。光流计算基于一个朴素的物理假设——亮度恒定假设:一个物体的像素块从上一帧移到下一帧,虽然换了位置,但它的颜色亮度基本不变。
有了光流场这把“尺子”,就能给视频生成加上硬约束。模型不仅要生成合理的画面,还要预测出每一帧的光流——把预测的光流场与从真实视频估计出的光流场(比如用现成的光流算法算出来)做比较:
不过这里有个坑:当物体被遮挡时(比如前景挡住了背景),被挡住的像素根本不存在“对得上的运动轨迹”,如果硬算光流损失,反而会逼着模型胡编乱造。因此,工程上会生成一个遮挡掩码,把这些区域从损失中剔除——相当于林导在图纸上给被挡住的部位画了个“此处不考核”的圈。这就是光流约束的完整故事:画轨迹、量偏差、放过遮挡区。
- 预测光流模型从生成的视频帧中推算出的运动场,代表模型“自以为”的运动轨迹。
- 估计光流用成熟的光流算法(如 RAFT)从参考视频中算出的“标准答案”运动场。
- L1 范数逐像素计算两者差值的绝对值之和再取平均,惩罚“轨迹偏差”,让模型不敢乱拐弯。
长视频稳定控制
林导的短片只有 30 秒,一切顺利。可投资人要他把片子拉长到 10 分钟,问题又来了:帧数一多,模型“记忆”装不下了——就像林导不可能把过去 18000 帧的定妆照全贴在摄影棚里。即便有长上下文窗口,几百帧之后,早期的内容也会被“稀释”,画面开始慢慢漂移:木偶的头发颜色悄悄变了,背景的椅子不知不觉挪了位置。
解决思路是滑窗自回归:模型不需要记住全部历史,只需要守着最近的一个“记忆窗口”来生成下一帧。
但滑窗也有副作用——窗口一滑,早期内容彻底被忘光了。长期的颜色漂移怎么办?林导的妙招是:在摄影棚中央挂一张“祖传合影”——一个全局锚点帧。无论滑窗滑到多远,模型生成关键帧时都要回头看一眼这张锚点图,校正颜色、光照和场景布局的漂移。当剧情切换到新场景时,则要果断重置记忆:清空滑窗、更换锚点,避免旧场景的残余信息污染新场景。滑窗保短期连贯,锚点护长期稳定,切换防跨界串味——三元配合,长视频才站得住脚。
- 窗口起点最近 k 帧之前的内容被“遗忘”,窗口只从第 t-k 帧开始。
- 窗口内的帧从 t-k 到 t-1 的连续 k 帧,构成生成当前帧的全部“短期记忆”上下文。
- 约等于号说明用局部窗口近似全局条件,这是为了平衡计算代价与记忆容量。
时序评估指标
改进了这么多,林导怎么知道自己的片子到底还“跳不跳”?光靠主观感觉不行,投资人要的是数据。于是他想出了一个土办法:把片子慢放回看,再拿尺子量一量木偶的运动轨迹偏差。林导的土办法,对应到行业里就是时序评估指标——一套客观度量“帧间是否连贯”的标准。
最朴素的指标是帧间差异度量:直接计算相邻两帧对应位置像素的差异,比如灰度差值或者 PSNR(峰值信噪比)。差值过大,说明画面跳变明显。但这些指标只看“单帧像不像”,看不出“运动规律对不对”。于是业界提出了更强的指标——FVD(Frechet Video Distance,视频感知距离)。
除了 FVD,长视频评估还会用到 LVD(Long Video Distance),它专门盯着长视频的“长期漂移”:把视频切成多个片段,分别计算特征分布,再比较片段间的一致性。FVD 管“像不像”,LVD 管“稳不稳”,帧间差异管“跳不跳”。这三把尺子一起用,林导才算真正拿到了剧本质量的“体检报告”。
- 生成视频特征均值生成视频所有帧的特征向量取平均,代表这段视频的“整体气质”。
- 真实视频特征均值真实视频特征向量的平均,是“标准气质”的参照系。
- 均值差平方两项均值之差的二范数平方,惩罚整体风格上的偏移。
- 协方差矩阵迹比较两组特征的内部变化结构,确保生成视频的动态多样性也与真实视频相近。
质量权衡策略
林导为了追求极致的连贯性,把木偶的每个关节都用钢丝死死绑住,结果影片确实不跳了,但木偶的表演僵硬得像一块木头,观众直呼“死气沉沉”。林导这才领悟:时序一致性和生成质量是一对天生的对手。你越强调“帧间不能乱动”,模型就越倾向于输出保守、平淡、甚至糊成一团的画面——这就是所谓的“多样性崩塌”。
这个矛盾在损失函数里体现得很直观。视频生成模型的总损失通常是几项损失的加权混合:
聪明的工程做法是动态调度权重:训练初期,模型连单帧都画不像,此时把 λ 调小,让模型先学会“画得像”;训练中后期,单帧质量上来了,再把 λ 慢慢调大,收紧时序。此外还可以引入感知损失(比较特征层的相似性而不是像素层)来提升主观观感。这就像林导的终极排练法:先让木偶自由发挥记住动作的“神”,再逐步用钢丝校准动作的“形”,最后用观众反馈微调——平衡之道,才是高质量合成视频的必修课。
- 重建损失衡量生成的每一帧与目标帧的像素差异,是画面质量的底线保障。
- 光流一致性损失约束帧间运动轨迹,权重 λ 越大,运动越平滑但越保守。
- 对抗损失用判别器逼着生成器输出细节丰富、接近真实分布的帧,权重 β 越大,细节越丰富但越容易引入帧间不稳定。
工程实践要点
解决了算法问题,林导的片子终于既连贯又生动了,可新的烦恼来自剪辑室:10 分钟的视频,帧数浩如烟海,训练时显卡显存爆了好几次,生成一帧要等半天,团队加班到天亮。林导的剪辑师小陈哀嚎:能不能别让机器这么累?工程优化,成为最后一块拼图。
第一个痛点是显存。视频模型直接处理逐帧原始像素,显存分分钟耗尽。业界通用的做法是3D VAE 时序压缩:先训练一个视频自编码器,把多帧图像压缩到低维潜空间,模型只在潜空间里做时序生成,最后再解码回像素。就像林导把 18000 帧底片先缩印成 1800 张“速写草图”,在草图层面设计动作,最后再描成正式稿。
第二个痛点是训练稳定性。时序模型在长序列反传时,梯度很容易爆炸——数值一冲上天,模型直接“失忆”。对策是梯度裁剪:当梯度范数超过阈值时,按比例缩放回安全区间。
第三个痛点是推理速度。自回归生成一帧接一帧,每步都要重新计算整个特征,十分浪费。实际工程会用 KV 缓存:把已经算好的历史帧的注意力键值对(Key/Value)存下来,下一步生成时直接复用,不必从头重算所有帧,从而实现接近实时的长视频推理。一个很实际的技巧是首帧慢、后续快——首帧做完完整计算之后,后续帧全部吃缓存的红利。小陈的剪辑室终于安静下来:显存省了,梯度稳了,出片快了,这才是能落地的时序一致性工程。
- 历史平滑值上一时刻的平滑损失,相当于仪表盘上的“惯性指针”,不会瞬间剧烈跳动。
- 平滑系数控制指针“记性”好坏的旋钮,α 越接近 1,曲线越平滑但对突变越迟钝。
- 当前原始损失本时刻的瞬时损失值,代表模型此刻的真实表现。
AI 应用场景
自动驾驶感知模型的合成训练数据生成
阶段:数据准备与增强
解决的问题:自动驾驶训练需要海量带标注的视频数据,真实采集成本极高且难以覆盖罕见场景(如极端天气、突发事故)。如果直接用逐帧单图合成的方式生成训练视频,帧间闪烁和运动不连贯会让感知模型的时序网络(如动作预测、轨迹预测模块)学到错误的运动模式。
具体案例:某自动驾驶数据团队用视频生成模型合成雨天夜间驾驶视频。引入光流一致性约束后,车辆的运动轨迹、路灯的移动、雨滴的下落都严格符合物理规律,训练出的 3D 目标检测模型在真实场景上的mAP 提升了 8%。此前使用无时序约束的合成数据时,模型在真实夜间的误检率高出 15%——因为模型“见惯了”闪烁的合成画面,反而学坏了。
影视虚拟预演的多镜头连贯拍摄
阶段:内容创作辅助
解决的问题:广告片、电影预演需要快速生成多镜头连续的分镜视频。传统制作需要搭实景、请演员,一次不满意的镜头就要付出高昂重拍成本。AI 视频合成可以快速出片,但如果镜头切换时灯光、角色服装、道具位置发生漂移,导演根本无法把它当作正式预演素材使用。
具体案例:某广告公司用长视频生成模型为汽车新品制作 60 秒预演片。采用滑窗自回归 + 全局锚点帧策略:锚点帧锁定车身的品牌色和场景光照,滑窗保证相邻镜头间车辆的流畅加减速。最终产出的预演视频在 4K 大屏上连续播放无任何帧间闪烁,导演直接用它提交给了客户进行创意确认,节省了约 3 天的传统预演制作周期。
视频超分与插帧模型的时序一致训练集
阶段:模型训练数据构建
解决的问题:训练视频超分辨率或视频插帧模型时,需要“低质视频到高质视频”的配对数据。现实中最容易获取的配对方式是视频降质再重建,但降质过程如果破坏时序一致性,训练出的超分模型在处理真实视频时就会产生闪烁伪影。需要一套方法论,确保训练数据的时序一致性比模型更强。
具体案例:某视频增强团队用生成对抗网络批量合成高帧率训练数据,用 FVD 指标筛选出时序一致性得分最高的样本子集作为训练集。结果训练出的插帧模型在处理 24fps 老电影时,运动平滑度主观评分(MOS)从 3.2 分提升到 4.1 分,且不再出现物体边缘“碎块漂移”的典型伪影。
Python 演示
import numpy as np def block_match_flow(prev, curr, block=8, search=3): """用块匹配法估计两个灰度帧之间的光流场(简化版).""" H, W = prev.shape flow_map = np.zeros((H // block, W // block, 2)) for by in range(0, H - block, block): for bx in range(0, W - block, block): ref = prev[by:by + block, bx:bx + block] best_delta = (0, 0) best_err = float("inf") for dy in range(-search, search + 1): for dx in range(-search, search + 1): y, x = by + dy, bx + dx if y < 0 or x < 0 or y + block > H or x + block > W: continue cand = curr[y:y + block, x:x + block] err = float(np.mean((ref - cand) ** 2)) if err < best_err: best_err = err best_delta = (dx, dy) flow_map[by // block, bx // block] = best_delta return flow_map def temporal_consistency_loss(frames): """计算一段视频帧序列的时序一致性损失:光流幅值越大说明运动越剧烈.""" total_loss = 0.0 n = len(frames) - 1 for i in range(n): gray0 = np.mean(frames[i], axis=2) gray1 = np.mean(frames[i + 1], axis=2) flow = block_match_flow(gray0, gray1) total_loss += float(np.mean(np.abs(flow))) return total_loss / max(n, 1) def make_moving_block_video(size=64, t_frames=5): """生成一个方块从左向右移动的简易视频帧序列.""" rng = np.random.default_rng(0) frames = [] for t in range(t_frames): img = np.zeros((size, size, 3)) x = int(size * (t + 1) / (t_frames + 1)) img[max(0, x - 3):x + 4, x:x + 5] = [1.0, 0.4, 0.4] frames.append(img) return frames def main(): frames = make_moving_block_video(size=64, t_frames=5) loss = temporal_consistency_loss(frames) print("temporal consistency loss:", round(loss, 4)) if __name__ == "__main__": main()
ref = prev[by:by + block, bx:bx + block]取上一帧中的一个小图像块,作为“追踪模板”;整个算法就是给每个模板块找到下一帧中它最像的位置。for dy in range(-search, search + 1):在下一帧的搜索邻域内逐一比对该图像块,找出误差最小的位移,这就是光流估计的暴力匹配法。flow_map[by // block, bx // block] = best_delta把每个块的最优位移记录进光流场,构成运动轨迹图。flow = block_match_flow(gray0, gray1)对相邻两帧调用光流估计,得到这一对帧的运动场。total_loss += float(np.mean(np.abs(flow)))用光流幅值的均值作为时序一致性损失:运动越平缓、损失越小,越符合“连贯不跳”的要求。x = int(size * (t + 1) / (t_frames + 1))让方块的位置随帧号线性递增,构造一个标准的“匀速直线运动”参考视频。
常见误区
误区视频不就是很多张图片吗?我一张一张用文生图模型生成,最后拼接起来不就是一个视频吗?反正每张图都挺清晰的。
正解这是所有新人最容易踩的坑。每张图单独看都很精美,但拼起来播放时,你会发现物体位置乱跳、颜色忽明忽暗、边缘闪烁不定——就像林导最初的定格动画。因为单帧生成时模型没有“看上一张”的机会,根本不知道物体的运动趋势。视频的本质是“帧间的变化规律”,而不是“帧本身的质量”。必须用时序建模(自回归、光流约束)把帧与帧“缝”在一起。
为何常见:人类对单帧画面的清晰度非常敏感,却对动态连贯性感知滞后。当人看到一张清晰图片时,大脑会自动脑补它的运动合理性,于是误以为“清晰=连贯”。
误区既然光流损失能防止视频乱跳,那把 λ(光流损失的权重)设得越大,视频是不是就越稳定?直接拉满!
正解光流损失约束的是“帧间运动符合某个估计的光流场”,但估计的光流本身可能不完美,而且过强的约束会把模型“压死”。λ 过大时,模型会倾向于输出几乎静止的画面——因为静止时帧间差异最小,光流损失几乎为零,但视频就变成了一张会呼吸的图片,完全丧失了动态内容。这就是质量权衡章节讲过的“多样性崩塌”。正确的做法是给光流损失一个合适的权重,并用对抗损失/感知损失换回画面的活力和真实感。
为何常见:人们容易把“约束”简单等同于“越紧越好”,忽略了约束与多样性之间此消彼长的关系。这就像用钢丝把木偶捆成木乃伊,确实不会乱跳了,但也再不会动了。
误区自回归模型不是有上下文窗口吗?窗口越长记忆越多,那生成 10 分钟长视频,把上下文窗口设成几千帧不就行了?
正解上下文窗口不是越长越好。显存开销随窗口长度快速增长,而且窗口超过一定长度后,早期帧的信息会分布在过多的注意力位置中,被“稀释”得难以提取——模型表现常常是“近处细节模糊、远处完全漂移”。更致命的是误差累积:长序列生成过程中,每一帧的微小偏差都会传给下一帧,窗口再长也拦不住漂移。业界方案是滑窗 + 全局锚点帧 + 场景切换重置的组合拳,而不是盲目堆窗口长度。
为何常见:人们容易把模型类比成“记忆容量越大人越聪明”,却忘了注意力机制的“注意力稀释”效应和误差累积的雪球效应。记忆多不等于记得清,够用就好。
误区论文里都用 FVD 评估视频生成效果,所以我只需把 FVD 优化到最低,视频就一定连贯,不用管其他指标。
正解FVD 是一个分布级别的指标,它比较的是“生成视频整体”与“真实视频整体”的特征分布距离,对单段视频内部的帧间闪烁并不敏感。两段分布很接近的视频,可能一段连贯、一段严重闪烁。相反,帧间差异度量(相邻帧像素差、PSNR 变化)能捕捉局部跳变,LVD 能捕捉长期漂移。正确做法是多指标联合评估:FVD 看整体质量、帧间差异看局部连贯、LVD 看长期稳定,再配合人工主观抽检,才能全面判断时序一致性。
为何常见:论文里 FVD 是标准汇报指标,学习者容易误以为“论文用的指标就是唯一的真理”,忽略了实际业务中多种故障模式需要不同标尺的事实。
面试题
Q1. 视频生成时画面出现帧间闪烁、物体乱跳,最可能原因是下列哪一项?
- A.单帧生成分辨率设置太低
- B.各帧独立生成且缺少时序约束← 正确答案
- C.视频的编码格式选用不正确
- D.生成视频的帧率设置得过高
答案:B。帧间闪烁的本质是模型生成每一帧时没有参考已有的前序帧,导致物体位置不连续。独立生成单帧时每帧都“重新想象”,当然会各说各话。分辨率、编码格式、帧率都只影响画质和流畅度,与帧间的运动连贯性没有直接关系。就像定格动画导演每帧都凭空摆姿势,木偶必然抽搐。
Q2. 光流约束所依赖的核心物理假设是什么?
- A.视频中物体必须保持静止不动
- B.相邻帧的亮度基本保持恒定不变← 正确答案
- C.光流场的方向必须始终水平
- D.视频帧尺寸在生成过程中不能改变
答案:B。光流计算的基础是亮度恒定假设,即同一像素块在相邻帧间移动时颜色亮度保持不变。正因如此,我们才能跨帧匹配同一物体。物体保持静止是光流为零的特例而非假设;光流方向可以是任意的;帧尺寸不变是视频的先验设定,与运动估计无关。
Q3. 长视频生成时画面颜色逐渐漂移、背景悄悄变化,最有效的应对策略是?
- A.提高每一帧图像的生成分辨率
- B.引入全局锚点帧定期校准全局信息← 正确答案
- C.增加视频帧率使画面更加流畅
- D.把光流一致性损失权重调为零
答案:B。长视频漂移的根源是误差累积导致早期全局信息(颜色、光照、场景布局)被逐渐遗忘。锚点帧作为“祖传合影”,在生成关键帧时强制回看,可以稳定全局统计信息。分辨率、帧率都不解决“遗忘”问题;把光流损失调零只会让帧间乱跳更严重。
Q4. FVD 指标度量的是哪两个对象之间的分布距离?
- A.生成帧像素直方图和真实帧像素直方图
- B.生成视频与真实视频在特征空间的分布← 正确答案
- C.相邻帧之间光流场的差异分布
- D.每帧画面与文本描述之间的语义距离
答案:B。FVD 把视频帧送入特征提取网络,在特征空间中将整段视频建模为高斯分布,再计算生成视频与真实视频两个特征的 Frechet 距离。它比较的不是单帧像素,也不是光流场或文本语义,而是“整段视频的特征分布”。
Q5. 把光流一致性损失的权重 λ 调得极大,最可能出现的结果是?
- A.生成网络梯度爆炸导致训练失败
- B.模型倾向于生成静止平滑的保守画面← 正确答案
- C.生成的视频色彩会发生严重失真
- D.模型推理速度变得非常缓慢
答案:B。光流损失惩罚帧间运动幅度大导致的轨迹偏差,当权重极大时,模型发现最简单满足约束的办法就是“几乎不动”。静止画面的光流场趋近于零,损失趋近于零,但视频内容也僵死了。梯度爆炸、色彩失真、推理变慢都与 λ 的即时语义缺乏直接对应关系。
Q6. 自回归视频生成模型中,因果注意力掩码的作用是?
- A.防止模型在训练时过拟合到单一场景
- B.确保第 t 帧只能关注 t 及之前的帧← 正确答案
- C.减少计算量自动加速模型推理
- D.增强光流场估计的数值稳定性
答案:B。因果掩码是自回归结构的实现关键——计算当前帧特征时,注意力矩阵中对未来帧的权重被置为负无穷,确保模型不偷看“未来”。这对应林导“参考上一帧定妆照”的物理直觉。它解决的是信息流向问题,与过拟合、加速推理、光流稳定性没有直接关系。
Q7. 训练视频生成模型时,对于遮挡区域的光流损失应当如何处理?
- A.按正常区域同权重参与损失计算
- B.赋予比可见区域更高的权重
- C.通过遮挡掩码将其从损失中剔除← 正确答案
- D.用随机噪声替代该区域的损失值
答案:C。遮挡区域的像素在下一帧中并不存在对应物,任何光流“标准答案”都是无意义甚至错误的。若强行让模型对齐被遮挡像素,等于逼它撒谎。正确做法是先用遮挡检测生成掩码,把这些区域从光流损失中剔除,就像给图纸上被挡住的部位画上“不考核”的圈。
Q8. 下列哪些指标可用于评估视频的时序一致性?
- A.FVD 视频感知距离← 正确答案
- B.LVD 长视频距离← 正确答案
- C.SSIM 结构相似度
- D.PSNR 峰值信噪比
答案:AB。FVD 和 LVD 都是专门针对视频时序动态设计的分布级指标,能反映运动是否连贯。SSIM 和 PSNR 是单帧图像质量指标,它们只比较单张画面的像素相似度,无法发现帧间闪烁——两张都清晰但位置乱跳的帧,PSNR 依然可能很高。
Q9. 下列哪些手段可以缓解长视频生成中的时序漂移问题?
- A.滑窗自回归控制短期记忆窗口← 正确答案
- B.全局锚点帧校准长期全局信息← 正确答案
- C.场景切换时重置上下文与锚点← 正确答案
- D.把所有帧一次性传入生成网络
答案:ABC。滑窗控制短期记忆,锚点帧保持长期稳定,场景切换时重置防止上下文串味,三者是长视频时序控制的经典组合。把所有帧一次性传入既不现实(显存爆炸),也无助于解决误差累积本质上的漂移问题。
Q10. 在保证时序一致性的同时维持生成质量,业界常用的权衡策略有哪些?
- A.训练中后期动态调大光流损失权重← 正确答案
- B.引入对抗损失保持画面细节真实感← 正确答案
- C.使用感知损失替代部分像素级损失← 正确答案
- D.通过降低视频分辨率换取连贯性
答案:ABC。λ 动态调度让模型先学会画得像再收紧时序;对抗损失防止画面被过度平滑成“塑料质感”;感知损失从高层语义衡量相似度,比像素损失更能容忍细微但合理的变化。降低分辨率只是治标不治本,同一套算法在低分辨率下的问题在高分辨率下依然存在。