Skip to main content

Prompt Alignment Metrics

Prompt Alignment Metrics は、生成画像や生成動画が入力 prompt の意味をどれだけ反映しているかを評価する metric です。Visual quality が高くても、prompt に書かれた object、attribute、relation、style が欠けていれば、text-to-image / text-to-video では失敗です。

CLIPScore

CLIPScore は、CLIP の image encoder と text encoder を使い、画像と prompt の embedding similarity を測ります。

CLIPScore(x,t)=fimg(x)ftext(t)fimg(x)2ftext(t)2\mathrm{CLIPScore}(x, t) = \frac{f_{\mathrm{img}}(x) \cdot f_{\mathrm{text}}(t)} {\|f_{\mathrm{img}}(x)\|_2 \|f_{\mathrm{text}}(t)\|_2}

高いほど、画像と text が CLIP feature space 上で近いと解釈します。

CLIPScore の長所と限界

観点内容
長所実装が簡単で高速
長所reference image が不要
長所prompt と image の大まかな一致を測りやすい
限界relation、counting、negation に弱いことがある
限界画像品質そのものは直接評価しない
限界CLIP の training data と bias に依存する

VQA Score

VQA Score は、prompt の内容を question に変換し、Visual Question Answering model に画像を見せて yes / no や選択式で判定させる方法です。

たとえば prompt が a red car on the left of a dog であれば、次のような question に分解します。

  • Is there a car?
  • Is the car red?
  • Is there a dog?
  • Is the car on the left of the dog?

このように、prompt を属性や関係に分解できるため、CLIPScore よりも compositional な評価に向きます。

Gecko Score

Gecko Score も VQA-based な evaluation に近い発想です。LLM を使って prompt から重要な keyword、attribute、relation を抽出し、それらに対する QA pair を生成します。その QA の正答率や confidence を集約して prompt alignment を評価します。

何を見落としやすいか

Prompt alignment metric は、次の失敗に注意が必要です。

  • Object が存在しても、数や位置関係が間違っている。
  • Text rendering が不正確である。
  • Style prompt は合っているが object prompt が欠けている。
  • CLIPScore は高いが、画像に artifact が多い。
  • VQA model 自体が hallucination する。

実務での使い分け

目的向いている metric
大量画像を高速に rough filtering したいCLIPScore
Object / attribute の存在を確認したいVQA Score
複雑な prompt を分解して評価したいGecko Score
Text rendering を評価したいOCR + string matching + VQA
画像品質も同時に見たいHPS、PickScore、ImageReward と併用

数式で見る CLIPScore と text-image alignment

Prompt alignment metric の代表例は、画像 embedding と text embedding の cosine similarity です。CLIPScore は概念的に次のように書けます。

CLIPScore(I,T)=fI(I)fT(T)fI(I)fT(T)\mathrm{CLIPScore}(I,T)= \frac{f_I(I)^\top f_T(T)}{\|f_I(I)\|\|f_T(T)\|}

ここで、fIf_I は image encoder、fTf_T は text encoder です。この式の気持ちは、「生成画像と prompt が、CLIP の共通 embedding 空間でどれくらい近いか」を測るというものです。

ただし、CLIPScore は object count、spatial relation、negation に弱いことがあります。たとえば「赤い球が青い立方体の左にある」のような compositional prompt では、単純な global similarity だけでは関係の正しさを十分に測れません。そのため、VQA-based metric や object detector を使った分解評価を併用することがあります。

関連ページ

主なソース