こしあん
2023-07-27

論文まとめ:GRiT: A Generative Region-to-text Transformer for Object Understanding


1.1k{icon} {views}

  • タイトル:GRiT: A Generative Region-to-text Transformer for Object Understanding
  • 著者:Jialian Wu, Jianfeng Wang, Zhengyuan Yang, Zhe Gan, Zicheng Liu, Junsong Yuan, Lijuan Wang(所属:ニューヨーク州立大学バッファロー校、Microsoft)
  • 論文:https://arxiv.org/abs/2212.00280
  • コード:https://github.com/JialianW/GRiT

ざっくりいうと

  • 物体検出にImage Captioningを導入した「Dense Captioning」の研究
  • 検出とテキスト生成の2段階からなり、画像特徴と、テキストトークンの特徴をText Decoderに入れてキャプション生成
  • クローズドセットの物体検出に迫る性能を達成したほうか、LLMとの連携でも注目

問題設定

  • 物体検出(Object Dectection)
    • Input:画像
    • Output:構造化データ(Bounding Boxの座標とクラスのID)
    • Bounding Box単位の画像分類
  • 画像キャプニング(Image Captioning)
    • Input:画像
    • Output:テキスト
    • 入力画像全体に対するテキスト(説明文の生成)。これに対話が入るとVQA
  • Dense Captioning
    • Input:画像
    • Output:構造化されたテキスト(Bounding Boxの座標と、Bounding Box単位のテキスト)
    • Image CaptioningをBounding Box単位で行ったもの。視覚理解をもっとローレベルにすればOCRとも近い
    • ChatGPTの登場により、有用性が注目されている

関連

TuringのTech Blog

導入

  • オープンセット(ゼロショット)物体検出からの派生の文脈で生まれた研究
    • 物体検出はただのクラス名を単語で出すのに対し、Dense Captioning(GRiT)は物体検出のBounding Boxに対してキャプション生成を行う
    • クローズドセットだと多択問題を実行するように振る舞う。オープンセットだと新しい物体の学習が簡単で、より色や形に関連する補助的な知覚が可能
  • GRiTの学習:短文記述(物体検出)と、長文記述(Dense Captioning)を同時学習
  • キャプション生成モデルのGITの派生系

GRiT

  • GRiTのモデル構造
    • Visual Encoder、Foreground Object Extractor、Text Encoderからなる自己回帰的なモデル
  • Visual Encoder
    • 先行研究のGITのバックボーンを使用し、FPN(解像度別に特徴マップを吐き出すこと)を適用
      • 解像度に対して:(1/8, 1/16, 1/32, …, 1/128)
      • FPN自体は従来のクローズドな物体検出で古くから使われている手法。参考
    • Proposal GeneratorにCenterNet、RoIヘッドはCascade R-CNN
    • バニラのViTにはHead間の情報交換としてAttentionがあるが、FPNは導入されていない
      • ViTの最終層の特徴マップ(図のグリッド部分)から、単純にアップ/ダウンサンプリングして特徴マップを形成
  • Foreground Object Extractor
    • 物体検出で使われるRoIヘッド。単なるDense層
    • 通常の物体検出のRoIヘッドと異なる点
      • 前景か背景か二値分類かしかしない(オブジェクトの確信度の分類)。通常の物体検出はマルチクラス分類
  • Text Encoder
    • InputはTextのトークンEmbeddingと、画像特徴
      • トークナイザーはBERTのWordPiece
    • テキストトークンがオブジェクト特徴のみAttendし、オブジェクトの特徴はそれ自身のみAttendするように、seq2seqのAttention Maskを適用
    • 問題点:Text Encoderが短文生成(物体検出)すればいいのか長文生成(Dense Captioning)すればいいのかわからない。タスクの切り替えが必要
      • 開始トークンの集合「[Task]i」を定義し、このトークンを切り替えるることで、生成スタイルのコントロールを行う
      • 下の図でBOSは開始トークンを指定しない場合。物体検出の「Person」とDense Captioningの文章が混在して生成される
  • 推論時には、物体検出からObjectness Score、キャプション側からDescription Scoreを計算。2つのスコアの平方根をかけ合わせる

定量評価

  • クロード物体検出にせまる性能(a)
  • Feature Mapのサイズには鋭敏ではない(b)
  • 物体検出のObjectness Scoreとテキスト生成のDescription Scoreの両方計算するのが重要で、物体検出だけだとAPが大きく下がる(d)
  • 訓練の途中でオブジェクトクラス数を追加する「Incremetal Training」でもロバスト(d)

オープンセットの物体検出の性能としては、GLIPv2と同様

所感

  • Turingのブログにもある通り、Dense Captioning自体はChatGPTの登場によって大きく注目されそう
  • マルチモーダルなAttendの制御のためにAttention Maskを使うのはFlamingoと同じ発想
  • GRiTはまだ改善の余地がありそう。2022年12月の論文なのでもっといいのが出てるかも?
    • 自己回帰的な(seq2seq)フレームワークってのはややツッコミどころはありそう
    • Text DecoerをT5かそれより大きめの言語モデルにして、もっとAttentionでゴリゴリやるほうが今風のやり方かも?


Shikoan's ML Blogの中の人が運営しているサークル「じゅ~しぃ~すくりぷと」の本のご案内

技術書コーナー

北海道の駅巡りコーナー


Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です