>100 Views
June 11, 26
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2026年前期輪読会#8 2026/6/11 深層学習による画像認識の基礎 5.1-5.2 物体検出 京大理学部3回 ALAWIK Abdourrahman 0
アジェンダ ◼ 5.1 物体検出とは ◼ 5.2.1 CNNベースの物体検出器の概要 ◼ 5.2.2 Faster R-CNN ◼ 5.2.3 FCOS 1
アジェンダ ◼ 5.1 物体検出とは ◼ 5.2.1 CNNベースの物体検出器の概要 ◼ 5.2.2 Faster R-CNN ◼ 5.2.3 FCOS 2
5.1.1 概要 物体検出とは:画像内の(複数)物体の位置とカテゴリーを同時に推定するタスク 下図のように、各物体を短形(バウンディングボックス)で取り囲み、そのカテゴリー名を表す 画像分類と比べては非常に困難! ➢ 画像分類の場合、対象が一つのみで、画像の中心付近にあることが多い ➢ 一方、物体検出の場合、画像内に様々な場所やスケールで複数の物体が写っていたり、それら の重なり合いによる遮蔽(オクルージョン)も発生 3
5.1.2 物体検出タスクの定式化 訓練サンプル:入力画像内の各物体のクラスラベル 𝑐 ∈ 𝐶 と位置ラベル 𝒃 ∈ ℕ4 ➢ クラスラベルはわんほっとベクトルもしくはクラスIDで表す ➢ 位置ベクトルは 𝒃 = [𝑦, 𝑥, ℎ, 𝑤] は対象物体の左上もしくは中心座標 (𝑦, 𝑥) と縦・横幅 (ℎ, 𝑤) 物体検出:以下を同時に行う ➢ クラスラベルの分類 → クラススコア 𝒄 ∈ ℝ 𝐶 ➢ 位置回帰 → ボックス位置 𝒃 ∈ ℕ4 出力: 𝒄 𝑖 , 𝒃 𝑖 𝑁 𝑖=1 4
アジェンダ ◼ 5.1 物体検出とは ◼ 5.2.1 CNNベースの物体検出器の概要 ◼ 5.2.2 Faster R-CNN ◼ 5.2.3 FCOS 5
5.2.1 CNNベースの物体検出器の概要 CNNベースの物体検出器の基本的な構成: 1. バックボーン:汎用的な特徴を抽出 ➢ 複数の空間解像度(マルチスケール)の画像特徴 ➢ 学習済みの画像分類器を採用することが多い(中間特徴マップを出力) 2. ネック:マルチスケールの画像特徴を集約、洗練 ➢ 上層の情報(大域的な特徴)を下層に伝播→豊かな特徴 3. ヘッド:各物体の位置推定とカテゴリーの分類 6
アジェンダ ◼ 5.1 物体検出とは ◼ 5.2.1 CNNベースの物体検出器の概要 ◼ 5.2.2 Faster R-CNN ◼ 5.2.3 FCOS 7
5.2.2 Faster R-CNN 概要 代表的なCNNベースの物体検出器 2015年に提案、現在でも広く使われている 主な構成と処理の流れ 1. バックボーン:マルチスケールの画像特徴を抽出 2. FPN(ネック):上層の大域的な特徴を下層の特徴マップに伝播 3. RPN(領域候補提案ネットワーク):ボックス位置と物体らしさのスコアを推定 4. 検出ヘッド:クラスラベルと最終的なボックス位置を推定 8
5.2.2 Faster R-CNN 2ステージアプローチ Region CNN (R-CNN) の流れ: 1. 選択的検索法(selective search)により(CNNを用いずに)物体領域候補を抽出 2. 領域ごとにCNN 3. クラス分類とボックスの位置回帰 “2ステージアプローチ”:候補領域検出 → 位置・クラス回帰(Faster R-CNN も同様) Faster R-CNN でも2ステージアプローチ(RPN→ヘッド)を採用するが、候補領域の検出には CNN を利用する ⇒ 精度と速度↑ 欠点:1段で検出しなかった領域は2段で検出不可能 ➢ 候補領域を過剰に取り、余分なものを後から間引く:再現重視 9
5.2.2 Faster R-CNN バックボーン 現在は ResNet のマルチスケールの特徴マップを利用 ➢ ステージ 2~5 の特徴マップ {𝑪𝟐 , 𝑪𝟑 , 𝑪𝟒 , 𝑪𝟓 } ⇒ スケール:{1/4, 1/8, 1/16, 1/32} c.f: 現論文では ZFNet や VGGNet によるシングルスケールの特徴マップを利用した ImageNet-1K上事前学習したモデルを利用 FPN、RPN、ヘッドを学習する際にも追加学習 どの層を学習かはハイパーパラメータ(ResNetの場合はステージ3以降の重みのみ) 10
5.2.2 Faster R-CNN 特徴ピラミッドネットワーク(FPN) FPN: 1. 1×1 CONV により各特徴マップ 𝑪𝑖 をチャンネル数 𝐶 の特徴マップに変換 2. 上層の特徴マップ 𝑪5 を最近傍法により 𝑪4 の空間解像度まで拡張し、 𝑪4 との要素和を取る 3. ステップ2を 𝑪2 まで行う 4. 1×1 CONV により、各特徴マップをマルチスケールの特徴マップ 𝑷2 , 𝑷3 , 𝑷4 , 𝑷5 に変換する 5. カーネルサイズ1、ストライド2の最大値プーリングを 𝑷5 に適応し、 𝑷6 を作る 11
5.2.2 Faster R-CNN Region proposal network (RPN) 入力:FPNの出力(特徴マップ 𝑷2 , 𝑷3 , 𝑷4 , 𝑷6 ) 出力:各スケールの物体候補領域ボックス位置と物体らしさのスコア(物体の存在率) 構成: 1. 3×3のCONV 2. 回帰ネットワーク:1×1のCONVにより、各アンカーからの相対的な位置情報と短形の大きさ Δො𝒓 = 𝑹 𝑠 6 = 出力:𝑹 𝑠=1 𝑖 Δ𝒓ො 𝑠 𝐴𝐻𝑠 𝑊𝑠 𝑖=1 ∈ ℝ6×𝐴𝐻𝑠 𝑊𝑠 ×4 (𝐴はアンカー種類の数、Δ𝒓ො = 𝑟𝑦 , 𝑟𝑥 , 𝑟ℎ , 𝑟𝑤 T ) 3. 分類ネットワーク: 1×1のCONVにより、各アンカーの物体らしさのスコア 𝑜ො ෝ= 出力: 𝒐 ෝ𝑠 6𝑠=1 = 𝒐 𝑜ො𝑠 𝑖 𝐴𝐻𝑠 𝑊𝑠 𝑖=1 ∈ ℝ6×𝐴𝐻𝑠 𝑊𝑠 12
5.2.2 Faster R-CNN RPN アンカーの生成 Faster R-CNN はあらかじめ形状が決められた複数のボックス(アンカー)を利用する ➢ アンカーベースモデル 特徴マップ 𝑷2 , … , 𝑷6 上の各グリッドに各種類のアンカーを配置する(合計:𝐴𝐻𝑠 𝑊𝑠 個) 𝐴 = 3 種類のアンカーを用いる(アスペクト比 1:2、1:1、2:1) 入力画像上、1:1のアンカーの1辺が 𝑷𝑠 において 2𝑠 × 8 画素なり、 全種類のアンカーの面積が等しくなるように定める ➢ 例: 𝑷2 では{22.6 × 45.2, 32 × 32, 45.2 × 22.6}、 𝑷4 では{90.5 × 181.0, 128 × 128, 181.0 × 90.5} ➢ 例えば入力画像が 800×960 画素なら、255780個のアンカー(らしい) 13
5.2.2 Faster R-CNN RPN 正解ラベルの生成 RPNの学習に必要な、アンカーごとの正解ラベル 𝒑 を生成する: 1. 入力画像内のすべての正解ボックスとアンカー間の IoU (Intersection over Union) を計算 |𝐴∩𝐵| |𝐴∩𝐵| (IoU =(共通部分の面積):(和の面積) IoU 𝐴, 𝐵 = = ) |𝐴∪𝐵| 𝐴 + 𝐵 −|𝐴∩𝐵| (IoU が 1 に近いほど2つの短形が一致している) 2. 0.7以上のアンカーにポジティブラベル 𝑝 = 1、0.3以下のアンカーにネガティブラベル 𝑝 = 0 IoU ∈ (0.3,0.7) のアンカーを学習に用いない 3. ポジティブ・ネガティブの割合が 1:1 なるようにランダムサンプリングする 14
5.2.2 Faster R-CNN 正解ラベル 𝒑 = 𝑝𝑖 𝑁 𝑖=1 RPN 損失関数 を用いて、RPNを最適化するための損失関数は: 𝑁 1 ℒ = ℒcls 𝑝 𝑖 , 𝑜ො 𝑖 𝑁 𝑖=1 𝑁 𝜆 + 𝑝 𝑖 ℒreg 𝒃 𝑖 , Δො𝒓 𝑖 𝑁 𝑖=1 ➢ 𝑖 = 1, … , 𝑁 は(全てのスケールから)サンプリングされたボックスのインデックス ➢ 分類用の損失関数 ℒcls 𝑝 𝑖 , 𝑜ො 𝑖 ℒcls 𝑝 𝑖 , 𝑜ො 𝑖 はクロスエントロピーで定義する = 𝑝 𝑖 log 𝜎 𝑜ො 𝑖 + 1 − 𝑝 𝑖 log 𝜎 1 − 𝑜ො 𝑖 ➢ 回帰用の損失関数 ℒreg 𝒃 𝑖 , Δො𝒓 𝑖 は滑らかな L1 損失関数 𝐿s を用いて定義する ℒreg 𝒃 𝑖 , Δො𝒓 𝑖 = 𝑖 𝑖 𝐿s (𝑡𝑗 − 𝑟𝑗 ) 𝑗∈{𝑦,𝑥,ℎ,𝑤} ただし、𝑡𝑗 は正解ボックスの短形情報 (𝑥, 𝑦, ℎ, 𝑤) とアンカーの短形情報 (𝑥𝑎 , 𝑦𝑎 , ℎ𝑎 , 𝑤𝑎 ) を用いて 𝑡𝑦 = 𝑦−𝑦𝑎 , ℎ𝑎 なお、𝐿𝑠 𝑥 𝑡𝑥 = 𝑥−𝑥𝑎 , 𝑤𝑎 0.5𝑥 2 =ቐ 𝛽 𝑥 − 0.5𝛽 𝑡ℎ = log 𝑥 <𝛽 otherwise ℎ ℎ𝑎 , 𝑡ℎ = log 0.5𝑥 =(𝛽=1) ቊ 𝑤 𝑤𝑎 2 𝑥 − 0.5 と定義する 𝑥 <1 otherwise 15
5.2.2 Faster R-CNN 検出ヘッド 検出ヘッドの流れ: 1. RPNの出力を受け取り、間引きする 2. FPNの出力( 𝑷𝑖 5𝑖=2 のみ)をもとに、各ボックスに該当する領域の画像特徴を抽出 16
5.2.2 Faster R-CNN 検出ヘッド ボックスの間引き FPNが出力するボックスは非常に多いし、たくさん重複している ෝ をもとに、各スケールでサンプリング: ⇒ 物体らしさ 𝒐 まず、物体らしさのスコアが上位 K 個のボックスのみを抽出 (例:学習時は K=2000、テスト時は K=1000) 次に、重複を排除するため、非最大抑制(non-maximal suppression; NMS): 1. 最も高いスコアのボックスにラベル「1」 2. ラベル「1」が付与されたボックスとの IoU がしきい値 γ=0.7 以上のボックスにラベル「0」 3. ラベルを持たないボックスで最大のスコアを持つボックスにラベル「1」 4. 2に戻り、全てのボックスにラベルが付与されるまでを繰り返す 次に、ラベル「1」付与されたボックスのうち上位 Q 個を抽出 (例:Q=1000) 17
5.2.2 Faster R-CNN 検出ヘッド 関心領域プーリング(RoI プーリング) サンプリングされたボックスで囲まれた領域の画像特徴を、FPNの出力から抽出したい 大きさがバラバラなので、関心領域(Region of Interest; RoI)プーリングにより、ボックスに該当 する領域の特徴マップを固定サイズの特徴マップに変換 𝑖 1. 各ボックス Δ𝒓 𝑖 はどのスケール s の特徴マップに配置するかは:𝑠 = 𝑘0 + log 2 𝑖 で決める( 𝑟𝑎 はボックスの面積、 𝑘0 はハイパーパラメータ) 𝑟𝑎 224 2. ボックスの位置情報を丸見込めて、特徴マップ𝑷𝑠 上配置する 3. 最後に、ボックスを k×k の領域に分割する(k=7, 14等:出力したい特徴マップの固定サイズ) 4. 出力:特徴マップ 𝑯 ∈ ℝ𝑄×𝐶×𝑘×𝑘 (Q:ボックス数、C=256等:チャンネル数) 18
5.2.2 Faster R-CNN 検出ヘッド 損失関数 特徴マップ 𝑯 に複数のCONVと全結合層 :ソフトマックス関数とクロスエントロピー ➢ クラス分類のロジット 𝑪 :滑らかなL1 ➢ 位置回帰のロジット 𝑩 19
5.2.2 Faster R-CNN 諸々 学習方法:原論文では学習を4段階に分割されていたが、現在では一気通貫で学習する 推論:ボックスは過剰に出力されるが、クラススコアが<0.05なものを間引き、しきい値0.5の NMSを適応し、最大検出数 M を設定するなどする 応用:幅広い。インスタンス領域分割タスク(6章)、画像と自然言語の融合タスク(8章)など 20
アジェンダ ◼ 5.1 物体検出とは ◼ 5.2.1 CNNベースの物体検出器の概要 ◼ 5.2.2 Faster R-CNN ◼ 5.2.3 FCOS 21
5.2.3 FCOS Faster R-CNNの欠点: 1. 2ステージアプローチ ⇒ 複雑な構造 2. アンカーベース ⇒ ハイパーパラメータが多い ➢ FCOS (fully convolutional one-stage object detector) 1ステージアプローチ、アンカーを使わない 22
5.2.3 FCOS バックボーンとFPN バックボーン:Faster R-CNN と同様 FPN: Faster R-CNN とほとんど同じだが、スケールが異なる 1. Faster R-CNN と同様に、バックボーンの出力 {𝑪3 , 𝑪4 , 𝑪5 } から {𝑷3 , 𝑷4 , 𝑷5 } 2. 𝑷5 に対して、ストライド2の3×3のCONV ⇒ 𝑷6 3. 同様にして、𝑷6 から 𝑷7 23
5.2.3 FCOS 正解ラベル 1. スケール s の特徴マップ 𝑷𝑠 の各画素 (𝑦𝑠 , 𝑥𝑠 ) を ( 𝑟𝑠 /2 + 𝑦𝑠 𝑟𝑠 , 𝑟𝑠 /2 + 𝑥𝑠 𝑟𝑠 ) により入力画 像に投影する(𝑟𝑠 = 2𝑠 ) 2. それが正解ボックスに含まれている場合、ポジティブサンプルとする 3. 該当する正解ボックスrのクラスが目標クラスラベル 24