>100 Views
June 18, 26
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2026前期輪読会 #10 2026/06/18 深層学習による画像認識の基礎 6.4-6.6 総括的領域分割 / SAM 京都大学工学部理工化学科 B3 岡本 和優 1
アジェンダ 6.4 総括的領域分割 6.5 Segment Anything Model (SAM) 6.6 本章のまとめ 2
6.4.1 総括的領域分割とは 意味的領域分割とインスタンス領域分割を組み合わせたタスク。 各画素に クラスラベル c ∈ K と インスタンス識別子 z のペア (c, z) を割り当てる。 クラスラベル集合 K の構成 stuff:不定形でインスタンス数を数えられない(空、草 等)・zの評価は無視 thing:インスタンス数を数えられる(人、車 等)・ 同一インスタンスは同じ z 3種の領域分割タスクの関係 タスク クラス識別 インスタンス識別 対象 意味的領域分割 ○ ✗ stuff + thing インスタンス領域分割 ○ ○ thing のみ 総括的領域分割 ○ ○ stuff + thing 3
6.4.2 ViTによる総括的領域分割 Mask2Formerの出力: N 枚の分割マスク M^ i ∈ RH×W と各マスクのクラススコア ^ i, p ^ i ∈ R∣K∣+1 のペア集合 {(M ^ i )}N p i=1 各画素 (y, x) のインスタンス識別子 z(y,x) クラススコアとマスクスコアの積が最大のペア i を選択 ^ i (y, x) z(y,x) = arg max p ^ i (c i ) ⋅ M i: ci = ∅ 各画素 (y, x) のクラスラベル ci クラススコアを最大化するクラスを選択 ci = arg max p ^ i (c) c∈{1,…,∣K∣,∅} クラススコア p^ i (ci ) とマスクスコア M^ i (y, x) の両者が高いペア i を選択。 その ci がクラスラベル、z(y,x) がインスタンス識別子となる。 4
6.4.3 評価方法 — Panoptic Quality (PQ) panoptic quality (PQ): クラスごとに算出し全クラスで平均。TP は予測マスクと正解 マスクの IoU が 0.5 以上のペア。 ∑ PQ = IoU(p, g) (p, g) ∈ T P 1 1 ∣T P ∣ + ∣F P ∣ + ∣F N ∣ 2 2 PQ の分解: PQ = SQ × RQ ∑ SQ = IoU(p, g) (p, g) ∈ T P ∣T P ∣ , RQ = ∣T P ∣ 1 1 ∣T P ∣ + ∣F P ∣ + ∣F N ∣ 2 2 SQ (segmentation quality): TP ペアにおける平均 IoU → 領域推定の正確性 RQ (recognition quality): 認識結果の F 値 → クラス認識の正確性 5
6.4.4 性能比較(COCO val2017) : thing クラスのみ、PQSt : stuff クラスのみ。 Mask DINO が両 backbone で最高精度。 Method Backbone Epochs PQ PQT h PQSt DETR ResNet-50 525 43.4 48.2 36.0 MaskFormer ResNet-50 300 46.5 51.0 39.8 Mask2Former ResNet-50 50 51.9 57.7 43.0 Mask DINO ResNet-50 50 52.3 58.3 43.2 Mask2Former Swin-L 100 57.8 64.2 48.1 OneFormer Swin-L 100 57.9 64.4 48.0 Mask DINO Swin-L 50 58.3 65.1 48.0 PQT h 6
6.5 Segment Anything Model (SAM) — 概要 (a) タスク概要・(b) モデル概要・(c) データエンジン & SA-1B データセット SAM: プロンプト可能な領域分割用の基盤モデル (foundation model) 点・ボックス・マスク・テキストをプロンプトとし、物体マスクを出力 事前学習済みモデルを追加学習なしで多様なタスクに転用可能 7
6.5.1 モデル構造 — アーキテクチャ詳細 画像エンコーダ プロンプトエンコーダ(密) 事前学習した ViT マスク画像 M を畳み込み層で処理 出力: Z ∈ R256×(H/16)×(W /16) 出力を画像特徴マップ Z に要素加算 プロンプトエンコーダ(疎) マスクデコーダ 点: 位置符号+前景/背景の埋め込み 画像特徴 + プロンプト系列 → SA・ ボックス: 左上/右下の位置符号+埋め込み CA・FFN ブロック × 2 出力: 3 マスク + 各 IoU スコア テキスト: CLIP の言語エンコーダ出力 8
6.5.1 モデル構造 — マスクデコーダ 入力: 画像特徴マップ Z とプロンプト系列 Z p ∈ R256×(N +4) (疎なプロンプト埋め込みZ s にマスク・IOU に対応する学習可能な埋め込みを結合) デコーダ内の演算 マスク出力 SA:プロンプト系列への自己注意 Z ′ を転置畳み込み 2 層で 4 倍にアップ CA1:プロンプト→画像特徴のクロス注意 サンプリング → Z ↑ ~⊤ ↑ FFN:プロンプト系列に適用 マスクトークン Z o を MLP → Z o Z CA2:画像特徴→プロンプトのクロス注意 の行列積でマスクを生成 マスクとIoUに対応するトークンの生成 IoU スコア出力 Zp ′ →Z ′ のクロス注意でZp ′′ を生成。そ IoU トークン zc MLP → c ∈ R3 こからマスクとIoUに対応する箇所として 3マスクを出力する理由 Z o とz c を取り出す。 プロンプトの曖昧性を緩和するため 物体全体・部品・副部品の 3 粒度に対応 9
6.5.2 学習データセットの構築 SAM 原論文では 11M 枚の画像・1.1B 個のマスクからなる SA-1B を 3 段階で構築 Step 1: ラベルの修正 公開データセットで SAM を訓練 → SAM でマスク生成 → 人手で修正 6 回繰り返し、120K 枚 / 4.3M マスクを獲得 Step 2: 多様性の向上 Step 1のデータでFaster R-CNN を学習 → 信頼度が低い領域を人手でアノテーション 5 回繰り返し、180K 枚 / 5.9M マスクを獲得 Step 3: 完全自動化 格子状サンプリング点を各点で SAM に入力 → IoU 高いもののみ保持 + NMS 1.1M 枚に適用 → 1.1B マスクを生成 10
6.5.3 SAMの性能 3マスク出力の実例(左図) 同一プロンプト(点)に対し3つの粒度で マスクを出力 ゼロショット汎化性能 物体数・種類によらず正確に領域分割 エッジ検出・インスタンス領域分割など 様々なタスクにゼロショットで応用可能 ゼロショット応用例 エッジ検出: SAM でマスク生成 → Sobel フィルタ インスタンス領域分割: 物体検出器の出力 ボックスをプロンプトに利用 11
6.6 本章のまとめ 3種の領域分割タスク 意味的領域分割: 各画素にクラスラベルを割り当て。同クラス物体間の識別は行わない インスタンス領域分割: 物体間の識別まで行う。ただし stuff カテゴリは対象外 総括的領域分割: thing・stuff 両クラスに対応。上記 2 タスクを統合 各タスクの代表的手法 各タスクで CNN・ViT ベースの手法が提案されている Segment Anything Model (SAM) プロンプト可能な領域分割用の基盤モデル(foundation model) 画像エンコーダ(ViT)・プロンプトエンコーダ・マスクデコーダの 3 要素で構成 SA-1B(11M 枚・1.1B マスク)を 3 段階の半自動アノテーションで構築 事前学習済みモデルが多様なタスクにゼロショットで転用可能 12