FVD 把 Fréchet Inception Distance (FID) 的思路从图像搬到视频:换用 3D 卷积网络提特征,在时空特征空间里度量生成视频与真实视频的分布距离。

Unterthiner et al. 于 2018 年提出 FVD(Towards Accurate Generative Models of Video: A New Metric & Challenges),动机是图像指标在视频上会失灵——逐帧算 FID 再取均值,模型可以每一帧都清晰好看,连起来播却在闪烁、抖动、主体形变。分布距离必须建立在同时编码空间与时间的特征上,FVD 由此成为视频生成的标准主指标。

从 FID 到 FVD

计算式与 FID 完全同构:把两组样本的特征各拟合成一个多元高斯,取两者的 Wasserstein-2 距离。

区别只在 从哪来:FID 用 Inception-v3 编码单张图像,FVD 用 3D CNN 编码整段视频片段。数值越小越好。

换掉特征提取器之后,指标才开始对视频独有的三件事有反应——时间一致性(帧间是否连贯,还是逐帧各自漂移)、运动质量(动作是否合物理直觉与自然节奏)、长期依赖(主体身份和场景布局能否跨几十帧保持)。这三点全都不在任何逐帧指标的视野里。

I3D:把 Inception 沿时间轴膨胀

FVD 的默认骨干是 I3D(Inflated 3D ConvNet,Carreira & Zisserman 2017,Kinetics 预训练),这也正是 FVD 与 FID 同源同脉的原因。I3D 的做法是把一个成熟的 2D 分类网络——Inception-v1——整体「膨胀」进 3D:每个 卷积核沿时间维复制 份、变成 ,权重同时除以 以保持响应量级不变,池化核照样加一维。

这一步真正的价值是预训练权重可以直接搬过去。膨胀后的网络在常量视频(同一帧重复 次)上的响应与原 2D 网络逐帧输出等价,于是 ImageNet 上学到的多尺度特征成了 Kinetics 动作识别的初始化,不必从零训一个 3D 网络。FVD 的语义空间和 FID 的语义空间因此共享同一个祖先,只是多长了一根时间轴。

具体实现取 Kinetics-400 预训练 I3D 的 logits 层(400 维)作为特征;原论文比较过多个候选层,logits 层是表现最好的配置之一。3D ResNet-50、C3D 同样能充当骨干,但换骨干等于换掉整个特征空间,算出的数字与主流实现不可比,做横向对比时几乎没人这么做。

FID 与 FVD 对比

特性FIDFVD
评估维度空间空间 + 时间
特征提取器Inception-v33D CNN(默认 I3D)
输入形式单张图像视频片段
计算复杂度相对较低较高
常用基准<50 质量较好<500 质量较好

常见模型 FVD 基准

UCF-101 是被引用最多的战场,同一个数据集上却跑着三套互不通约的协议:从零训练(无条件或 class-conditional)、text-to-video 零样本迁移、以及在 UCF-101 上微调后再测。

模型协议分辨率 / 帧数FVD ↓
TGANv2从零训练64×64 / 161209±28(TATS 表)、3431±19(VDM 表)
MoCoGAN-HD从零训练64×64 / 16838
DIGAN从零训练64×64 / 16577±21
TATS-base从零训练(class-cond)64×64 / 16332±18
Video Diffusion Models从零训练(无条件)64×64 / 16295±3
CogVideo (EN)零样本480×480701.59
MagicVideo零样本未注明655.00
Video LDM零样本未注明550.61
Make-A-Video零样本256×256367.23
PYoCo零样本未注明355.20
Stable Video Diffusion零样本未注明242.02
Make-A-VideoUCF-101 微调256×25681.25

数字出处:Video Diffusion Models、TATS、Make-A-Video、Stable Video Diffusion。

不同实现与协议会有差异

表里 TGANv2 出现两个相差近三倍的数字,就是最直白的例证:TATS 报 1209±28,VDM 报 3431±19,同一模型、同一分辨率帧数,差别只在训练用了全量数据还是 train split、以及各家 I3D 实现和采样数不同。跨论文抄 FVD 对比几乎一定失真,可信的做法是在自己的 pipeline 里把基线重跑一遍。

早期视频 GAN 的原始论文大多只报 Inception Score(TGAN 15.83、MoCoGAN 12.42),FVD 是后来的工作回头补测的,量级落在数百到数千。视频预测任务的数值尺度则完全是另一个世界:Kinetics-600 上用 5 帧预测 11 帧,Video Diffusion Models 拿到 FVD 16.2±0.34,同表基线 TrIVD-GAN-FP 25.74±0.66、Transframer 25.4、CCVS 55±1。条件信息给得足,特征分布本来就贴得很近,绝对值自然低两个数量级。

Imagen Video 是个反面注脚:论文用 FVD 做过模型规模的内部消融,却没给出 UCF-101 上的绝对值,正式结果只报 CLIP score 与人评——大厂在 text-to-video 上对 FVD 的信任度,其实比排行榜看起来低得多。

局限性

FVD 对样本量极其敏感。UCF-101 训练集只有约 9.5k 段视频,而 Fréchet 距离本身是有偏估计,样本少时系统性偏高。原论文自己的实验只用了 256 段(BAIR)到 1024 段(KTH、SCV),后续工作普遍抬到 2048,并反复强调跨模型比较必须锁同一个 sample size。视频数据集的规模天花板比图像低一到两个量级,这个坑比 FID 那边深得多。

I3D 的语义空间偏自然场景。Kinetics-400 是人类动作分类任务,特征对「人在做什么」高度敏感,对动画、合成渲染、UI 录屏、文字滚动这类内容几乎没有判别力。一旦生成分布挪到预训练域之外,FVD 给出的排序就不再可信——这不是精度问题,是指标失效。

片段长度也框死了它的视野。主流协议是 16 帧、64×64 或 128×128,按 25fps 算不到一秒,只够看出局部抖动,看不出十几秒后的主体漂移和场景遗忘。改帧数、改采样步长、甚至改 resize 的插值方式都会移动数值,所以帧数和分辨率必须和 FVD 一起报出来。

成本上,每段视频都要解码、resize 到 224×224、再跑一遍 3D 卷积前向,比 FID 贵一个量级;而 Fréchet Inception Distance (FID) 的固有缺陷——高斯分布假设、无法检测过拟合、结果依赖预训练网络——FVD 一并继承了。

报数字的最小规范

FVD 单独一个标量没有意义,至少要连同 I3D 实现(或权重来源)、sample size、帧数、分辨率、训练/测试划分一起给。评估视频生成时也别只看 FVD,配上 IS、CLIP score 和小规模人评,才能分清是画质差还是运动崩。