Skip to main content

Video Generation Evaluation

Video generation の評価は、image generation よりも難しいです。各 frame の画質だけでなく、時間方向の一貫性、object identity、motion realism、prompt alignment を同時に見る必要があります。

Frame-wise quality

Frame ごとの image quality score を s(It)s(I_t) とすると、単純な frame-wise score は平均で書けます。

Sframe=1Tt=1Ts(It)S_{frame}=\frac{1}{T}\sum_{t=1}^{T}s(I_t)

ここで、ss は aesthetic score、FID feature score、image quality model などです。この式は、「各 frame を静止画として見たときの品質」を測ります。ただし、frame-wise score だけでは flicker や identity drift を見落とします。

Temporal consistency

Optical flow Ftt+1F_{t\to t+1} で frame ItI_t を warp し、次 frame と比較すると、時間一貫性を測れます。

Ewarp=1T1t=1T1It+1W(It,Ftt+1)1E_{warp}=\frac{1}{T-1}\sum_{t=1}^{T-1}\left\|I_{t+1}-W(I_t,F_{t\to t+1})\right\|_1

ここで、WW は warping function です。この式の気持ちは、「motion に沿って見たとき、同じ物体の見た目が急に変わらないか」を見るというものです。

Feature 空間で identity consistency を測ることもあります。

Sid=1T1t=1T1cos(ϕ(It),ϕ(It+1))S_{id}=\frac{1}{T-1}\sum_{t=1}^{T-1}\cos(\phi(I_t),\phi(I_{t+1}))

ϕ\phi は face encoder、object encoder、CLIP image encoder などです。

Text-video alignment

Text prompt TT と video VV の alignment は、frame embedding または video embedding と text embedding の similarity で測ります。

Salign=fV(V)fT(T)fV(V)fT(T)S_{align}=\frac{f_V(V)^\top f_T(T)}{\|f_V(V)\|\|f_T(T)\|}

Frame-level に分解する場合は、次のように平均します。

Salignframe=1TtfI(It)fT(T)fI(It)fT(T)S_{align}^{frame}=\frac{1}{T}\sum_t\frac{f_I(I_t)^\top f_T(T)}{\|f_I(I_t)\|\|f_T(T)\|}

ただし、global CLIP similarity は spatial relation、counting、temporal action を十分に測れないことがあります。そのため、VQA-based evaluation や object / action detector を併用します。

分解評価の必要性

Video generation の失敗は、次のように分解して見ると理解しやすいです。

典型的な失敗
Frame qualityblur、artifact、低解像感
Temporal consistencyflicker、identity drift
Motion quality不自然な物理、静止しすぎ
Prompt alignmentobject / action / relation の欠落
Camera consistency不自然な viewpoint jump
Long-range consistency長尺での style / identity collapse

単一 metric だけでは、どの軸が壊れているかを判断しにくいです。VBench のような benchmark は、この分解評価を体系化するために使われます。

関連ページ

主なソース