2024-03-07 機械学習勉強会
Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection
IDEA-Research, 2023
どんなものか
画像から、テキストで指定された物体を検出できるモデル
研究分野
物体検出
- 画像から何がどこにあるのかを見つけ出す
- 最近の手法
- CNN系
- R-CNN, Fast R-CNN, Faster R-CNN
- YOLO
- Transformer系
- DETR
- DINO
- 以前のトピックで紹介した自己教師あり学習のDINOとは別
(Phrase) Grounding
- 画像内の物体とテキストとを関連づけ、VQAなどに利用
- 言語モデルと組み合わせて学習データにない未知の物体を検出できる(Open-Set Object Detection)
- 最近の手法
- MDETR
- GLIP
- GroundingDINO
- DINOにGroundingを取り入れたもの
提案手法
Sub-Sentence Level Text Feature
- 入力テキストからper-word featuresを得る
- 自身以外の全てのwordの情報を使う(BERT)のではなく、同じsentence内のwordの情報のみを利用する
- 単語ごとの情報を取りつつ、異なるカテゴリの名前からの影響を取り除く
Feature Enhancer Layer
- 画像・テキストを互いの情報を取り入れた特徴量に変換する
- 手続き
- 画像・テキストの入力を、Backbone(Swin Transformer、BERTなどの学習済みモデル)でfeature化
- image/textにそれぞれをself-attentionした後、image featureをQueryとしたcross-attention、text featureをQueryとしたcross-attentionを通して、互いの情報を組み込んだimage/text featureに変換する
Language-guide Query Selection
- image featureの中から入力テキストにより関連した部分を抽出する
- 手続き
- image, textのtokenごとの類似度を計算
- image_tokenごとに最も高い類似度スコアを取得
- 類似度スコアの高いtopkのimage_tokenのインデックスを抜き出す
- k=900
- このインデックスに対応するimage_tokenのみが使われる
- これをCross-Modality Queryと呼ぶ
Cross-Modality Decoder
- 各Cross-Modality Queryにimage, textの情報を取り込む
- 手続き
- Cross-Modality Queryをself-attention
- image featureをKey, ValueにしたImage Cross-Attention
- Text featureをKey, ValueにしたText Cross-Attention
- FFN
- 出力の1つ1つが個々のbboxに対応する
損失関数
- 予測されたbboxとground truthをマッチング問題で対応づけ
- Localization loss: bbox(+ label?)の位置を正解に近づける
- Contrastive loss: 予測された物体の画像情報 x テキストの行列を作成(値はそれぞれの内積)し、正しい組み合わせを1に近づける
性能評価
学習データ
- Detection Data
- COCOなどのbbox+labelデータをGroundingのように利用する
- 入力テキスト: データセット内の全ラベル(から毎回ランダムにサンプリングしたもの)をドットで繋いだもの
- bboxのラベルを入力テキストから探し当てる問題になる
- Grounding Data
- MDTERで生成されたもの
- Caption Data
- Webで収集したキャプション付き画像データに、別の訓練モデルでbboxを付与したもの
- GLIPと同じなら、最初の2つだけから学習したモデルでbboxを付与している?