Grounding DINO

Liu 2023 · 論文

一行要約 — 自由形式のテキストプロンプトで記述された任意の物体を、緊密な言語-視覚Transformer融合によって見つけ出すオープンセット物体検出器 — 広く使われているGrounded SAMパイプラインの検出部分にあたる。

問題

標準的な検出器(YOLO、DETR)はクローズドセットである:学習された固定のカテゴリ(例えばCOCOの80クラス)のみを検出する。オープンセット検出の鍵は言語を導入することにあり、これによりクローズドセットの検出器が未知の概念に汎化できるようになる — 固定ラベル集合ではなく意味空間で分類される、言語を意識した領域埋め込みを学習することである。従来のオープンセット検出器はモダリティを部分的にしか融合していなかった:GLIPはネック部分(フェーズA)のみで融合し、OV-DETRはデコーダ入力にのみ言語を注入する(フェーズB)。本論文の主張は、融合は検出器の3つすべてのフェーズ — ネック、クエリ初期化、ヘッド — で行われるべきであり、より緊密な融合がより良いオープンセット汎化をもたらすということである。

手法とアーキテクチャ

DINO(DETRのバリアント)上に構築された、デュアルエンコーダ・シングルデコーダのアーキテクチャである:画像バックボーン(Swin-T/Swin-L)がマルチスケールの視覚特徴を抽出し、テキストバックボーン(BERT-base)がプロンプト(連結されたすべてのカテゴリ名、あるいは指示表現)からトークン特徴を抽出する。以下の3つの融合モジュールが続く。

INq=TopNq(Max(1)(XIXT))\mathbf{I}_{N_q} = \texttt{Top}_{N_q}\big(\texttt{Max}^{(-1)}(\mathbf{X}_I \mathbf{X}_T^{\intercal})\big)

ここでMax(1)\texttt{Max}^{(-1)}はテキスト次元にわたる最大値を取る。DINOの混合クエリ選択に従い、選択された特徴が位置部分(動的アンカーボックス)を初期化し、コンテンツクエリは学習可能なままとなる。

サブセンテンス・テキスト表現:カテゴリ名を連結することで、無関係なカテゴリがBERT内で互いに注意を向け合うことになる;注意マスクはカテゴリ間注意をブロックしつつ単語ごとの特徴を保持する — 文レベルよりも精細で、単語レベルよりもクリーンである。

学習:ボックスにはL1 + GIoU損失を用い、GLIPに倣って、分類のために予測された物体と言語トークンの間の対照損失を用いる(各クエリはボックスと、テキストトークンとの内積類似度を出力する);ハンガリアンマッチングコストは2.0/5.0/2.0(cls/L1/GIoU)、損失重みは1.0/5.0/2.0である。検出+グラウンディング(+キャプション)データで学習される。REC(referring expression comprehension)の場合、最高スコアのボックスが返される。

実験結果

SLAMにおける意義

Grounding DINOは、言語駆動のセマンティックSLAMを実用的なものにする存在である:新しい環境ごとに検出器を再学習することなく、地図に自然言語で名付けられた物体を配置できる。テキストプロンプトによるボックスをSAMに渡すこと(Grounded SAM)で、任意の記述された物体に対するインスタンスマスクが得られる — これはConceptGraphsのようなオープンボキャブラリ3Dシーングラフシステムやクリオのようなタスク駆動マッピングの知覚フロントエンドであり、ロボットが言語指示(“ホワイトボードへ行け”)をSLAMマップに対して直接実行することを可能にする。

関連ノート