[論文紹介]VISPROG:GPT-3を活用した革新的な画像認識システム

画像認識

要点

論文:Visual Programming: Compositional visual reasoning without training

著者:Tanmay Gupta, Aniruddha Kembhavi

コード:https://github.com/allenai/visprog

CVPR2023 (Best Paper)

1.どんなもの?

文章による指示に基づいて複雑な画像認識タスクを解決するための新たなニューロシンボリックアプローチ,VISPROG (VIsual PROGramming) を提案した.VISPROGは,GPT-3のコンテキスト学習を活用して新しい指示に対するプログラムを生成し,入力画像に適用しすることで質問への回答や画像の編集ができる.

2.先行研究と比べてどこがすごい?

VISPROGは,画像の理解,画像の編集,知識検索,論理演算など,多様なモジュールの組み合わせを必要とするタスクをこなせる.また,中間の出力を視覚的に解釈可能な形で要約する機能を持っている.

3.技術や手法のキモはどこ?

VISPROGは,GPT-3を活用して文章による支持からプログラムを生成する.プログラムには既存の深層学習モデルやPythonのモジュールを用いる.このプログラムを入力画像に適用することで,4種類のタスクを実行できた.

4.どうやって有効だと検証した?

画像に関する質問に答えるVQA(Visual Question Answering)というタスクで用いられるGQAというデータセットや,画像に関する説明の真偽を判定するタスクのデータセットであるNLVRを使って精度を検証した.

5.議論はある?
6.次に読むべき論文は?

VISPROG

指示を文章で入力し,GPT-3がプログラムを書き,画像に関する質問への応答や編集を行う.今回は4つのタスクを行った.

画像に関する質問に答える

「画像内にネクタイとメガネはありますか?」という質問に対して,ネクタイを検出して数えるコードと,メガネを検出して数えるコードを書いてANSWER0,1に格納し,最終的に存在するか(0より多いか)を判定して,「no」という答えを返す.

画像に関する説明が正しいか判定する

「左右の画像には,合計で6人の人物と2つのボートが写っている」という説明をに対して,左の画像に何人写っているか,右の画像に何人写っているか,左の画像にボートがいくつあるか,右の画像にボートがいくつあるか,を推定してANSWER0~3に格納する.ANSWER4でその合計が,入力である6人,2艘と等しいかを判定し,「False(誤っている)」を返す.

事前知識から画像にタグ付けする

「テレビ番組『Big Bang Theory』に登場する7人のメインキャラクターにタグ付けして」という指示を入力すると,モデルはあらかじめ『Big Bang Theory』について学習しており,画像から顔を検出して,キャラクター7人の顔を判別し,タグ付けを行う.

文章で指示して画像を編集する

「ダニエルクレイグはサングラスの絵文字,シーンコネリーはウインクの絵文字で隠して」という指示を入力すると,それぞれ顔を検出して,絵文字を配置してくれる.

「砂漠を豊かな緑の芝に置き換えて」という指示を入力すると,画像内の砂の部分をセグメンテーションして,代わりに芝生を生成してくれる.

「バラクオバマのカラーポップを作成して」という指示を入力すると,バラクオバマをセグメンテーションして,対象の人物だけをカラーにした画像を生成してくれる.

使っているモジュール

VISPROGが書くプログラム内で使っていモジュールは以下のようになっていて,赤いモジュールは主に深層学習を用いたモデルで,青いモジュールは画像処理やPythonの関数である.

物体検出,顔検出,セグメンテーションなどの画像理解に関する部分は全て深層学習を用いたモデル,色の編集やタグ付けなどの基本的な画像処理はPyrhonのモジュール,知識の検索を必要とする部分はGPT3,数えたり真偽の判定はPythonの組み込み関数を使用している.

実験

画像に関する質問に答える

GQAというデータセットで評価を行った.VILTはVQAをモジュールとして使用した事前学習モデル

  • curated:検証データで失敗した例をカバーするプロンプトを追加
  • random:ランダムにサンプリング
  • voting:5回実行して各質問の予測値から一番一致したものを多数決で選ぶ

多数決戦略(voting)が高性能であった.

画像に関する説明が正しいか判定する

NLVRというデータセットで評価を行った.VILTはNLVRv2でファインチューニングされていて,VISPROGは学習していないゼロショットで推論.VILTには劣るがゼロショットの性能としては高精度である.

事前知識から画像にタグ付けする

タグ付けで63.7%,物体検出だけなら80.6%のF1スコアを達成できた.エラーをもとに命令を修正する(Modified)とさらに性能が向上した.

文章で指示して画像を編集する

人物の顔を置き換えたり,背景を砂漠からビーチに置き換えたり,椅子の色を変えたり,指示通りの画像編集ができている.

まとめ

VISPROGというGPT-3を用いた,文章で指示をすることで画像に関する複雑なタスクをこなすシステムを提案した.汎用ビジョンシステムの次の時代の方向性を示した.

コメント

タイトルとURLをコピーしました