🐕

Spatial VLMの論文を読んでみた

2024/02/07に公開

概要

GoogleDeepMindから発表された Spatial VLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities を読んだので簡単に紹介します。githubのページはありますが、ソースコードはまだ公開されていないようです。公開されるかどうかの記述もありません。

https://spatial-vlm.github.io/

画像からオブジェクト間の空間的な関係を理解することは、視覚的質問応答(VQA)とロボティクスにおいて基本となる能力です。Vision Language Models(VLM)は特定のVQAベンチマークでは高い性能を示しますが、距離やサイズ差のような定量的な関係を認識する能力はまだ不足しています。著者らはVLMのこのような空間推論能力の限界は、学習データに3次元空間知識が不足しているからと仮定しています。そこでインターネット規模の空間推論データを用意して、VLMを学習させることでこの問題を解決します。

まず実世界の画像1000万枚に対して、最大で20億個のVQAを作成できる、自動3次元空間VQAデータ生成フレームワークを開発しました。次に学習レシピにおいて、データの品質、学習パイプライン、VLMアーキテクチャなどの要因について調査しました。

このような位置関係を考慮したアノテーションを人間が行うのは難易度が高いです。またCGを使って合成データとして画像を作ることもできますが、現実世界と比べてバリエーションに欠けます。このため、こちらの研究では実際の画像から自動で位置関係を含むVQAデータを生成しています。

以下の画像はVQAの例です。GPT-4Vでは位置関係を正しく認識できていませんが、提案手法では正しく認識できています。

SpatialVLM

2次元画像からの空間接地

こちらの画像がデータ生成のパイプラインです。

(a) 意味フィルタリング

よく利用されているインターネットスケールの画像・キャプションデータセットに含まれる画像は、単一のオブジェクトで構成されるか、シーン背景を持たない(たとえばショッピングサイトの商品写真など)ため、空間推論QAの画像には向いていません。そこで最初のステップとして、CLIPベースのモデルを使い、適切でない画像を除去しています。

(b) 2次元コンテキスト抽出

2Dの画像に対して、既存のエキスパートモデルを利用して、オブジェクト中心のセグメンテーション、深度、キャプションを取得します。

(c) 2次元コンテキストから3次元コンテキストへ変換

2次元画像を3次元点群に変換します。こちらを解析して3次元バウンディングボックスを抽出します。このときに床やテーブルなどの水平面を認識して、そちらに沿った座標系に変換します。このようなVQAデータを作成したのは提案手法が初です。

(d) 曖昧さの解消

一つの画像に複数の類似したカテゴリのオブジェクトが存在すると、ラベルの曖昧さに繋がります。上の画像の例では「ケーキ」というラベルは複数のケーキに該当してしまいます。これを避けるために「ケーキの形をした家のようなもの」といった細かいキャプションにしたり、ラベルごと削除するアプローチをとっています。

(e) QAの合成

オブジェクトのキャプションと抽出された情報から、数百万の空間的な質問と回答を生成します。

大規模VQAデータセットの生成

画像中の物体が2つ以下である空間推論型QAを生成します。このとき以下2つのカテゴリの質問を考えます。

  • 定性的な質問:空間的関係を判断するもの。例:2つの物体AとBがあるとき、どちらが左にあるか? AはBよりも高いか?
  • 定量的な質問。数字や単位を含む、より細かい答えを求める質問。例:オブジェクトAはオブジェクトBに対してどれくらい左にありますか? オブジェクトAはオブジェクトBからどれくらい離れていますか?

このような質問は質問テンプレートを使って生成することができます。(d)の曖昧さを解消したあとのオブジェクトキャプションを使って、オブジェクト名の項目を埋めることができます。

質問の答えは点群と3Dバウンディングボックスを入力とした関数によって得られます。

合計で1000万枚の画像と20億枚のQAを作成しました。定性的質問と定量的質問はそれぞれ50%となります。

空間推論の学習

PaLMのバックボーンをPaLM 2-Sに置き換える以外はPaLM-Eと同じアーキテクチャと学習方法を採用して学習を行いました。

ここでは「思考の連鎖空間推論」について言及されています。実世界の多くのタスクは空間推論の複数のステップを必要とします。以下の画像では「青いコーラの缶」と「オレンジの缶」と「銀色の缶」は2等辺三角形を構成することができますか?という質問に対して、複数ステップで回答を求めます。

実験

ここでは測定を行いますが、VLMの空間推論能力をテストするためには、性能の根拠が保証された空間推論VQAベンチマークが必要です。しかしそのような適切なベンチマークは存在しません。そこで学習に使われていないWebLI画像のサブセットに対して、人間のアノテーターに多様な定性的・定量的なVQAのラベルを付けてもらいベンチマークを作成しました。定性的VQAを331組、定量的なVQAを215組アノテーションしました。

空間VQA性能

定性的空間VQAの採点:人間がアノテーションした回答とVLMの出力はどちらも自由形式の自然言語です。そこで人間の評価者を用いて答えが正しいか判断しました。SpatialVLMはGPT-4Vを含む視覚言語モデルの性能を凌駕しました。2番目によいモデルはLLaVA-1.5でした。これは視覚命令チューニングにおいてバウンディングボックスと対応するキャプションを使用したことが原因であると思われます。LLaVA-1.5は2次元空間推論は良好な性能を示しますが、3次元空間推論ではSpatialVLMより劣っています。この実験から、大規模で高品質な空間推論データは既存のVLMの事前学習データセットには存在せず、空間推論能力における鍵であることがわかりました。

定量的空間VQAの採点:この質問への回答は、人間のアノテーターもVLMの出力も距離、高さ、仰角などの自然言語による記述となり、任意の単位を使用しています。VLMの性能を評価するために2つの指標を設計しました。第一に、VLMが量的空間推論問題を理解できたかを反映する数値を生成します。第二に、回答はセンチメートルからキロメートルまで幅広いので、VLMの回答のうち、グランドトゥルース値の半分から2倍に収まる割合を用いて、VLMの推定がどの程度正確であるかを表す

これらの質問では、人間のアノテーターの回答もVLMの出力も は、距離、高さ、標高などを自然言語で記述したものです。我々は VLMの性能を評価するために2つの指標を設計した。第一に、VLMの成功率を用いて VLMが量的空間推論問題を理解できたかどうかを反映する数値を生成します。
第二に、解答はセンチメートルからキロメートルまで幅広いので、VLMの解答のうち、グランドトゥルース値の半分から2倍に収まる割合を用いて、VLMの推定がどの程度正確であるかを表します。

こちらの表は定量的な質問に対する各種VLMの精度です。提案手法(一番右)がベースラインよりも有効な形式を出力する頻度が高いことがわかります(上段)。また提案手法は、ベースライン手法よりも人間によるアノテーションが豊富なため、よりグランドトゥルースに近い定量的な距離推定を行うことができます(下段)

空間VQAデータによる一般的なVQAへの影響

提案手法はかなりの量の空間VQAデータで協調学習を行うため、他のタスクでのVLMの性能が低下しないかという疑問が出てきます。一般的なVQAベンチマークを使って比較したところ、空間VQAデータを使っていないモデルとの差はありませんでした。一般的なVQAの能力を損なうことなく、空間VQAの恩恵を受けることができることがわかりました。

空間推論における視覚変換機(ViT)エンコーダーの効果

凍結したViTは空間推論を行うのに十分な情報をエンコードしているのでしょうか? こちらを調べるために、凍結したViTと凍結していないViTで比較を行っています。結果としては凍結したViTでも問題はないようですが、より細かい距離推定では凍結させないViTのほうがかなり性能が高くなっていました。

ノイズの多い定量的な回答の効果

空間VQAデータセットの定量的な回答はノイズが多いため、VLMが大量のノイズの多い学習データから一般化できる定量的推定値を学習できるか検討します。このために、まず高品質な定量的回答を生成できる方法を考えてみます。

単眼式奥行推定はデータ生成パイプラインの中でも最もノイズの入りやすい部分です。そこで深度カメラを使ってほぼ真値の奥行情報を提供するロボット操作のデータセットを活用します。これにより生成された定量的な回答はより正確になります。

ノイズの多いデータがVLM学習にどのような影響を与えるかを調べます。先ほどの正確なVQAデータセットの定量的な回答にガウスノイズを加えて、ノイズレベルの異なる一連のノイズデータセットを得ます。VLMはノイズの多いデータセットを用いて学習し、人間がアノテーションしたベンチマークで評価を行います。

こちらの結果ですが、ノイズレベルが異なっても、同程度の空間推論精度を達成できることがわかりました。

空間推論は新しいアプリケーションを解き放つ

VLMの重要な応用としてロボティクスがあります。既存のVLMは空間認識能力の欠如によって、報酬アノテーターとして使いにくかったのですが、SpatialVLMは距離を推論できるため、この用途に適しています。

こちらの画像はロボットアームをSpatialVLMを使って操作する例です。例えば「オレンジのティーボトルを選ぶ」というタスクの場合、「黄色のグリッパーの指とオレンジのティーボトルの間の距離はいくらか」という応答の関数として報酬/コスト関数を用いることができます。

結論

提案手法は空間推論をVLMに注入する課題に取り組みました。インターネット規模の実世界画像を使った3D空間推論VQAデータの自動生成のためのフレームワークを構築しました。VLMの学習における様々な設計の選択肢を説明しました。VLMは大量のノイズを含むデータを用いて学習することや、ViTの凍結を解除することなどです。

提案手法のVQAデータセットは有限のテンプレートセットに基づいて構築されますが、SpatialVLMはより複雑な思考連鎖推論に取り組むために拡張可能であることを示しました。

またSpatialVLMによって、3次元空間認識VLMがロボティクスに有用であることを示しました。ロボティクスタスクの報酬アノテーターとしてVLMを使用できることを明らかにしました。

読んだ感想

既存のVLMには空間推定能力が欠けているので、大量の空間VQAデータセットを構築するためのフレームワークを作成したという、わかりやすいアプローチの研究でした。2Dの画像から3次元空間のVQAデータセットを作る部分は他にも応用できそうです。

データセットは自動で生成できるようになっていますが、評価用のデータセットがないので人間がアノテーションした部分はコストが大きいなと思いました。

Discussion