Skip to content

VLM のグラウンディング、ポインティング、領域キャプション

参照表現を領域に結び付け、ポインティングは IoU ではなく領域内ヒット率で採点し、グラウンド不能は見落としとしてではなく別に数えます。

各参照表現を、それに答える領域へ結び付けます。グラウンド不能は欠けた答えではなく明示的な答えとして扱われます。 グラウンディングは四つの閾値の IoU で採点され、ポインティングは領域内ヒット率で採点されます。点には面積がなく、点に対する IoU はすべてゼロになるからです。

yaml
annotation_schemes:
  # grounding_eval owns the phrase-to-region binding but does not draw, so an
  # image schema sits beside it to own the canvas.
  - annotation_type: image_annotation
    name: region
    description: "Draw the region for the selected phrase."
    source_field: image
    tools: [bbox, polygon, landmark]
    labels: [{name: referent, color: "#6e56cf"}]
 
  - annotation_type: grounding_eval
    name: grounding
    description: "What does each phrase refer to?"
    region_type: box            # box | polygon | mask | point
    expressions_field: expressions

項目は語句を携えます。

json
{"id": "img1", "image": "/media/img1.jpg",
 "expressions": [{"id": "e1", "text": "the man in the red shirt"}]}

素の文字列リストでも動き、その場合 ID は位置にフォールバックします。これは重要です。リストを並べ替えると既存のアノテーションが別の対象を指すようになるからです。安定した ID を持つデータ源はそれを使うべきです。

動作する例:examples/ai-assisted/grounding-eval/

ポインティングは小さなボックスのグラウンディングではない

Molmo 系のモデルはボックスではなく点を出力します。region_type: point を設定すると、アノテーターはランドマークを置きます。

点は別のやり方で採点しなければなりません。点には面積がないので、点に対する IoU はすべて 0 になります。 点をボックスと同じように採点すれば、完璧に指し示しているモデルが全面的な失敗として報告されます。点が答えているのは「それは対象の中にあるか」であり、それはヒット率です。

mean_miss_distance外れたものだけを対象に計算されます。当たりも含めて平均すると、モデルがどれだけ外したかではなく、対象がどれだけ大きいかを主に測ることになります。

ポインティング課題におけるアノテーター間の一致度も同様に、係数ではなく正規化した画像座標での距離です。重なりに基づく測度を点に適用すると飽和します。同じ画像の反対の隅を指している二人のアノテーターでもおよそ 0.86 になり、どの係数の尺度でも強い一致に区分されてしまいます。距離には飽和する天井がなく、距離と名付けられているので誰もそれを係数として区分しません。

グラウンド不能は別に数える

三つの結果が互いに分けて追跡されます。

  • 正しく辞退した。 その表現は存在しないものを指しており、アノテーターもそう述べた。
  • 位置を幻覚した。 そこにないものに対して領域が与えられた。
  • 存在する指示対象を見落とした。 そこにあったのに見つけられなかった。

アノテーターが一度も答えなかった表現は、見落としとして数えるのではなく除外されます。数えてしまうと、飛ばされた語句が多いほどモデルが悪く見えることになり、それはモデルではなくアノテーターについての言明です。

領域キャプション

region_caption は領域ごとに自由記述の説明を加えます。その一致度は文字列の重なりではなく意味的な距離を通して計算されます。同じ対象を記述する二人のアノテーターが内容語を共有することはめったにないからです。

yaml
  - annotation_type: region_caption
    name: captions
    description: "Describe each region you drew."
    placeholder: "e.g. a red mug with a chipped handle"
    min_length: 10
    max_length: 300
    agreement_distance: token

動作する例:examples/image/region-captioning/。二人のアノテーターと一致度を設定してあります。

モデルの予測をレビューする

predictions_field を設定すると、項目の予測がクライアントへ渡り、判定のコントロールが追加されます。予測は最後まで予測としてラベル付けされたままで、アノテーター自身の領域に併合されることはありません。アノテーターが受け入れていない予測はモデルに関する証拠であり、それを正解データに畳み込むと、それが存在する唯一の意味が失われます。

関連