Upgrade to Pro — share decks privately, control downloads, hide ads and more …

X Anything ~データの観点から~

Kazuyuki Miyazawa
March 03, 2024
990

X Anything ~データの観点から~

第12回 全日本コンピュータビジョン勉強会の発表資料です。以下4本の論文について、データセット構築に焦点を当てて紹介しています。
・Segment Anything
・Recognize Anything: A Strong Image Tagging Model
・Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data
・The All-Seeing Project: Towards Panoptic Visual Recognition and Understanding of the Open World

Kazuyuki Miyazawa

March 03, 2024
Tweet

Transcript

  1. © GO Inc. 自己紹介 @kzykmyzw 2 宮澤 一之 GO株式会社 AI技術開発部

    AI研究開発第二グループ グループリーダー 経歴 April 2019 - March 2020 AI研究開発エンジニア@DeNA April 2010 - March 2019 研究員@三菱電機 March 2010 博士@東北大学
  2. © GO Inc. 3 Segment Anything Alexander Kirillov et al.,

    arXiv, Apr 2023. Recognize Anything: A Strong Image Tagging Model Youcai Zhang et al., arXiv, Jun 2023. Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data Lihe Yang et al., arXiv, Jan 2024. The All-Seeing Project: Towards Panoptic Visual Recognition and Understanding of the Open World Weiyun Wang et al., ICLR, May 2024 (appeared on arXiv in Aug 2023). 紹介する論文 上記 4 本の X Anything 論文について、主にデータセット構築にフォーカスして紹介
  3. © GO Inc. 6 • MAE を使って事前学習した ViT により入力画像をエンコード •

    プロンプトはタイプごとに異なる方法でエンコーディング • デコーダは画像とプロンプトの埋め込みを受け取って前景/背景の分類器を作り、画像の 埋め込みをアップサンプルした上で画素ごとに分類を行いマスクを生成 • プロンプトは曖昧な場合があるため、それらしいマスクを 3 つ生成 SAM (Segment Anything Model)
  4. © GO Inc. 7 • SAM の学習にあたり、ライセンスを取得した 1100 万枚の高解像度画像を用意 •

    アノテータと SAM が協力してアノテーションを行うデータエンジンにより、11 億個のマ スクを持つデータセット SA-1B を構築(物体クラスなどの意味ラベルは持たない) SA-1B
  5. © GO Inc. 8 • 初期の SAM は公開されている既存のセグメンテーションデータセットで学習 • SA-1B

    の構築を 3 つのステージに分け、SAM の学習と同時並行で実施 • アノテーション作業に SAM を取り入れることで効率化し、ステージが進むにつれてアノ テータの役割を少なくしていく データエンジン SAM アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage
  6. © GO Inc. 9 データエンジン - Assisted-Manual Stage - SAM

    アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • アノテータは SAM が生成したマスクを修正する形で目立つ物体から順にアノテーション していき、1つのマスクに 30 秒以上かかるようになったら次の画像に進む • データが増えるにつれて SAM のサイズも大きくしつつ学習を繰り返す (ViT-B → ViT-H) • SAMが改善することでマスクあたりの平均所用時間は 34 秒から 14 秒に短縮 ◦ COCOにおけるマスクアノテーションの 6.5 倍高速
  7. © GO Inc. 10 データエンジン - Assisted-Manual Stage - SAM

    アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • アノテータは SAM が生成したマスクを修正する形で目立つ物体から順にアノテーション していき、1つのマスクに 30 秒以上かかるようになったら次の画像に進む • データが増えるにつれて SAM のサイズも大きくしつつ学習を繰り返す (ViT-B → ViT-H) • SAMが改善することでマスクあたりの平均所用時間は 34 秒から 14 秒に短縮 ◦ COCOにおけるマスクアノテーションの 6.5 倍高速 画像 12 万枚 マスク 430 万個 (44 個/画像)
  8. © GO Inc. 11 データエンジン - Semi-Automatic Stage - SAM

    アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • SAM が生成したマスクから信頼度が高いものだけを選び、マスクされなかった領域をア ノテータがアノテーション ◦ 一般的な物体検出器を学習し、その検出結果と組み合わせることで信頼度が高いマスクを選別 • 前ステージに比べて複雑な領域をアノテーションする必要があるため、マスクあたりの平 均所要時間は再び 34 秒に
  9. © GO Inc. 12 データエンジン - Semi-Automatic Stage - SAM

    アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • SAM が生成したマスクから信頼度が高いものだけを選び、マスクされなかった領域をア ノテータがアノテーション ◦ 一般的な物体検出器を学習し、その検出結果と組み合わせることで信頼度が高いマスクを選別 • 前ステージに比べて複雑な領域をアノテーションする必要があるため、マスクあたりの平 均所要時間は再び 34 秒に 画像 18 万枚 マスク 590 万個 (72 個/画像)
  10. © GO Inc. 13 データエンジン - Fully Automatic Stage -

    SAM アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • アノテータを介さずに SAM のみで自動的にマスクを生成 • 前景/背景の確率への閾値処理によるマスク生成において、閾値を変動させても形状が変 化しない安定的なマスクのみを採用 • 小さな領域に対するマスクの精度を上げるため、拡大した画像も利用 • 全 3 ステージで作られたマスクのうち 99.1% がこのステージで自動生成されたもの
  11. © GO Inc. 14 データエンジン - Fully Automatic Stage -

    SAM アノテータ Assisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage • アノテータを介さずに SAM のみで自動的にマスクを生成 • 前景/背景の確率への閾値処理によるマスク生成において、閾値を変動させても形状が変 化しない安定的なマスクのみを採用 • 小さな領域に対するマスクの精度を上げるため、拡大した画像も利用 • 全 3 ステージで作られたマスクのうち 99.1% がこのステージで自動生成されたもの 画像 1100 万枚 マスク 11 億個 (103 個/画像)
  12. © GO Inc. 15 • 500 枚の画像について SAM が生成したマスクを人間が修正したところ、修正前後で IoU

    が 90% 以上となったペアが全体の 94% • 複数の既存セグメンテーションデータセットにおいて SAM でマスクを生成し、マスクの 品質を主観で 10 段階評価するといずれも 7~9 と高スコア • 自動生成マスクだけの場合と、手動/半自動マスクと共に学習した場合の性能差はわずか 自動生成されたマスクの品質評価 既存のデータセットにおける SAM の推論結果の主観評価 ステージごとの SAM の性能変化 SAM による自動生成マスクは十分に高品質と判断し、自動生成マスクのみを SA-1B として公開
  13. © GO Inc. 17 • 高いローカリゼーション性能を持つが意味認識ができない SAM に対し、入力画像に関連 した複数の意味ラベル(タグ)を生成する RAM

    (Recognize Anything Model) を提案 • 画像タグを介した VLM の事前学習手法である Tag2Text* を発展させ、Tag2Text では 困難であった、学習データにないタグを生成するオープンセットな認識を実現 • 既存データセットのキャプションをパースすることで自動的にタグを生成し、データエン ジンによりそれらを補完・補正することで大規模な画像・タグデータセットを構築 概要 * Xinyu Huang et al., Tag2Text: Guiding Vision-Language Model via Image Tagging, ICLR 2024.
  14. © GO Inc. 18 • Tag2Text では、画像キャプションのパースにより自動的に得られるタグをガイダンスと して使って学習することで VLM の性能を改善

    • RAM は Tag2Text を踏襲しつつ、タグを生成するデコーダのクエリとしてタグ集合の CLIP による埋め込みを使うことでオープンセット認識に対応 RAM (Recognize Anything Model) Tag2Text
  15. © GO Inc. 19 • 複数のデータセットを統合 • データセットのキャプションをパースして 得られるタグのうち出現頻度が高い上位 10,000

    個の中から手動で選別 • 既存のタグ付けサービスのタグも調査 • 最終的なタグの種類は 6,449 個 初期データセットの構築とタグ体系の決定 データセット サイズ 画像 キャプション COCO 113K 557K Visual Genome 101K 822K Conceptual Captions 3M 3M SBU Captions 849K 849K Conceptual 12M 10M 10M 4M 14M
  16. © GO Inc. 20 • 初期データセットで学習した RAM でデ ータセットの画像を推論 •

    生成されたキャプションとタグをデータ セットに追加 • 4M データセットにおいて、タグ数は 1,200 万から 4,170 万に増加 データエンジン dog, blanket, couch dog, blanket couch, desk, cup RAM Generation 欠損したタグの補完 Cleaning 不正確なタグの削除 RAM k-means++ ク ロ ッ プ G rounding DIN O dog • 特定のタグを含む画像に対し Grounding DINO により領域を特定してクロップ • クロップ画像の集合をクラスタリングし、 外れ値となる画像に付随するタグを削除 • クロップ画像を RAM に入力し、対象タ グが出力されなければその画像に付随す るタグを削除 dog?
  17. © GO Inc. 21 データセットの品質とサイズによる性能の変化 0 20 40 60 80

    100 120 140 75 77 79 81 83 85 4M Original 4M Generation 4M Generation + Cleaning 14M Generation + Cleaning mAP [%] データセットに含まれるタグ数 [百万] 80.27 82.50 82.83 83.52 12.0M 41.7M 39.8M 121.5M
  18. © GO Inc. 23 • 複数のラベル(デプス)ありデータセットを組み合わせて学習に用いる単眼デプス推定手 法である MiDaS* を発展させ、大量のラベルなしデータセットの活用により性能を改善 •

    ラベルなしデータセットに対しては学習済みのデプス推定モデルにより擬似ラベルを付与 概要 Input Video MiDaS Depth Anything Input Video MiDaS Depth Anything * René Ranftl et al., Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer, TPAMI 2020.
  19. © GO Inc. 24 • アーキテクチャは MiDaS と同様、エンコーダで入力画像の特徴を抽出し、デコーダでデ プスマップを生成 •

    エンコーダは DINOv2 で事前学習した重みで初期化した ViT、デコーダは DPT • デプスの定義方法が異なる複数のデータセットで学習するため、デプスのスケールとシフ トに不変なロス (affine-invariant loss) を導入 モデル Enc Dec ロス ラベル DPT Dense Prediction Transformer ViT
  20. © GO Inc. Place 365 SA-1B 25 データエンジン BlendedMVS DIML

    HRWSI IRS MegaDepth TartanAir BDD100K Google Landmarks ImageNet-21K LSUN Objects365 Open Images V7 ラベルあり 1.5M ラベルなし 62M Teacher Student ① ② ③ ラベルありデータセット L で Teacher モデルを学習 Teacher モデルでラベルなしデータ セット U に疑似ラベルを付与 L と 疑似ラベル付き U で Student モデルを学習 L U ① ② ③
  21. © GO Inc. Place 365 SA-1B 26 学習時の問題と工夫 BlendedMVS DIML

    HRWSI IRS MegaDepth TartanAir BDD100K Google Landmarks ImageNet-21K LSUN Objects365 Open Images V7 ラベルあり 1.5M ラベルなし 62M Teacher Student ① ② ③ L U ラベルありデータセットのサイズがある 程度大きいため、ラベルなしデータセッ トの追加による性能ゲインが小さい ラベルなしデータセットに対しては画像 に強い変換(色変換、ブラー、CutMix) を加えて学習の難度を上げることでモデ ルに新たな知識の獲得を促す ラベルありデータセット L で Teacher モデルを学習 Teacher モデルでラベルなしデータ セット U に疑似ラベルを付与 L と 疑似ラベル付き U で Student モデルを学習 ① ② ③
  22. © GO Inc. 27 ラベルなしデータの追加・画像変換の効果 0.078 0.08 0.082 0.084 0.086

    KITTI 0.045 0.05 0.055 NYUv2 0.45 0.46 0.47 0.48 0.49 0.5 Sintel 0.23 0.235 0.24 0.245 0.25 DDAD 0.132 0.134 0.136 0.138 0.14 ETH3D 0.064 0.066 0.068 0.07 0.072 0.074 DIODE ラベルありデータセット +ラベルなしデータセット +画像変換 相対誤差 (AbsRel)
  23. © GO Inc. 28 The All-Seeing Project [paper] [code] ICLR,

    May 2024 (appeared on arXiv in Aug 2023)
  24. © GO Inc. 29 • 既存の VLM やデータセットの多くは画像のグローバルな情報しか扱っていないが、人間 は個々のインスタンスに対する理解を統合することで画像全体を理解している •

    人間のような視覚の実現を目指す All-Seeing Project を提案 ◦ 画像中の物体単位で Open-World なアノテーションを持つ大規模なデータセット AS-1B を構築 ◦ 物体単位で画像を理解可能な ASM (All-Seeing Model) を提案 概要
  25. © GO Inc. 30 • バックボーン (ViT) で抽出した画像特徴から BBOX などの位置情報入力に対応する特徴を

    RoIAlign によって取り出し、FC 層を通してクエリトークンを生成 • 生成したクエリトークンを Transformer デコーダに入力し、その出力を LLM へ渡す • タスク種別を指示するプロンプトを LLM に与えることでキャプション生成や VQA とい った生成タスクのみでなく物体検出などの識別タスクにも対応 ASM (All-Seeing Model)
  26. © GO Inc. 31 • Segment Anything で構築・公開 されたデータセット SA-1B

    の 1,100 万枚の画像を利用 • 画像中の各物体領域について意味 ラベル(タグ)、質問・回答文ペ ア、詳細説明をアノテーション • アノテーションされた物体領域の 総数は 12 億(SA-1B における領 域数は 11 億) • 物体領域に付与されたタグの種類 (コンセプト数)は 350 万 AS-1B
  27. © GO Inc. 33 Open-World Location Generation • 画像中の全ての物体をローカライズする ため、3

    タイプのモデルを利用 ◦ Class-Agnostic: SAM ◦ Closed-Set: InternImage, EVA-02 ◦ Open-Vocabulary: GLIP • SAM で求めた物体領域に対し、他モデル で得られるタグを付与する 1. SAM で物体領域の集合 R を抽出 2. Closed-Set/Open-Vocabulary 物体検出 モデルで物体領域とタグの集合 R’ を取得 3. R のうち R’ との IoU が高い領域に対し R’ のタグを付与 4. R’ のうち IoU が低い領域を R に追加
  28. © GO Inc. 34 Open-World Semantic Tags Generation 画像に関連したタグを可能な限り列挙するた め複数の

    LLM、VLM を利用 VLM (MiniGPT4) で画像のキャプションを生 成し、そこから名詞を抽出してタグとする 画像のキャプションを LLM (Vicuna) に与え、 どのようなものが写っていそうかを想像させ てタグを補完 LLM (Vicuna) にタグを入力し、可能な場合 はパーツに分割させる クロップした画像を VLM (BLIP) に入力して キャプションを生成し、そこから名詞を抽出 して領域ごとのタグとする
  29. © GO Inc. 35 Semantic-Location Matching • 物体領域とタグの紐付けを行う • 最初は

    CLIP を使って物体領域とタグの 類似度を評価 • 初期データセット構築と ASM の学習が 完了した段階で CLIP を ASM に置き換え
  30. © GO Inc. 36 Detailed Description Generation 画像とタグをもとに LLM、VLM により領域ごとの質問・

    回答文ペアと詳細説明を生成 タグを LLM (Vicuna) に与え、そのタグに関連する 3 つ の質問文を生成させる 画像と質問文を VLM (Husky) に与え、質問文に対する回 答文を生成させる 3 つの回答文を言い換えて 1 文の詳細説明にする Prompt: I will give you some objects. Please list 3 questions about the given objects. These questions must be answerable based on a photograph of the object and cannot rely on any outside knowledge. Some examples are listed as follows: Human: Person Assistant: Q1: What is the sex of this person? Q2: What is the hairstyle of this person? Q3: What is this person doing? Human: {Semantic Tag} Assistant:
  31. © GO Inc. 37 Human in the Loop • 自動生成したアノテーションを人間が検証

    • タグについては、コンセプトの出現頻度に応じてサンプリ ングした領域のラベルを人間が確認し誤りを除外 • 質問・回答文ペアにおける誤回答は人間が修正し、質問文 やタグの方に問題がある場合は定型的な回答分(画像から は回答できない、タグが誤っている)に差し替え • 検証作業には 50 人のアノテータを割り当て、さらにダブ ルチェックのため 10 人の専門家を動員 ◦ 検証対象を 100 のグループに分け、グループごとに専門家 がアノテーションの正確性と一貫性を評価 ◦ 正確性が 95% を下回ったグループは再び検証作業を実施 • 検証プロセスに要した期間は 15 日
  32. © GO Inc. 38 1. 自動アノテーションだけで初期データセットを構築 2. 初期データセットで ASM を学習

    3. サンプルした自動アノテーションを人間が検証し、検証済みデータで ASM を fine-tune 4. fine-tune された ASM で自動アノテーションを更新 5. データ品質が基準を満たすまで 3 と 4 を反復 データエンジンの繰り返しサイクル ASM
  33. © GO Inc. 39 • 自動的に付与されたタグのみで学習したモデルを人間が検証したタグで fine-tuning • 本実験で人間が検証したタグは 40,000

    個のみ ◦ 全体のタグ数が不明だが AS-1B 全体とすると 12 億? • COCO と LVIS を使ったゼロショット物体検出で mAP がそれぞれ 2.7 pt、3.2 pt 向上 人間による検証の効果 76.7 65.7 80.0 68.4 60 70 80 90 COCO LVIS mAP [%] ゼロショット物体検出性能 自動アノテーション +人間による検証
  34. © GO Inc. 40 • Model-in-the-Loop / Human-in-the-Loop ◦ 大規模なデータセットを現実的な時間で構築するにはモデルを使った自動化が必須

    ◦ LLM/VLM や Open-Vocabulary 系は汎用性高い ◦ 規模と同時に品質を担保するため、人間の力を借りることも重要 • データエンジン ◦ データセットとモデルを同時に成長させていく ◦ データセットが良くなるとモデルが良くなり、モデルが良くなるとデータセットが良 くなるというサイクルを回す まとめ
  35. © GO Inc. 41 Data-Centric AI Community • AI 開発における「データ」に着目した取り組みについて、世界的な動向や、様々な人・組

    織の知見・ノウハウなどを共有するためのコミュニティ • 定期的な勉強会を開催しており、これまでの発表者は 19 名、のべ参加者数は 1300 人以上 ご参加・ご発表をお待ちしております! https://dcai-jp.connpass.com https://twitter.com/dcai_jp #dcai_jp