【物体検出】YOLO

204 Views

December 12, 24

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2024年度後期輪読会#9(2024/12/12) YOLO 原論文 最上 勇登 0

2.

アジェンダ ・YOLO(初代)とは ・YOLOの学習と推論 ・他手法との比較 1

3.

YOLO(You Only Look Once)とは YOLOとは? 2015年に発表された新しい物体検出の手法。名称はyou only live once(人生は一度きり)から。 従来手法 : ● スライディングウィンドウアプローチ(DPMなど): 分類器を様々な位置と大きさ順番に画像に適用する。 ● 分割手法(R-CNNなど): バウンディングボックスを推定した後に分類器を適用しする。構造が複雑で速度が遅く、 個々のコンポーネントを別々に最適化する必要がある。 YOLO: 画像全体から直接バウンディングボックスの座標とクラス確率の両方を予測するニューラル ネットワークを学習。背景のコンテキストや一般化能力が向上。 2

4.

YOLOの検出手法 検出手法 YOLOは物体検出の各要素(特徴抽出、バウンディングボックス予測、分類など)を単一のニューラルネットワークで 内包している。 概要: ● 画像をS×Sのグリッドに分割し、各グリッドセルがB個の バウンディングボックスとそれぞれの信頼度スコアを予測する。 ● 各グリッドセルはC個のクラス確率をそれぞれ予測 ● 最終的な出力はS×S×(B×5 + C)のテンソル ● 5は各bboxに対する(x, y, w, h, confidence)を示す 例: ● PASCAL VOCデータセットでは、S=7、B=2、C=20 と設定され、最終的な出力形状は(7×7×(2×5 + 20))。 それぞれ(grid × grid × (bbox × prams) + num of class)を表す。 ● 最終出力は 49 × [x,x,x,x,x, x,x,x,x,x, x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,] 3

5.

YOLOの検出手法 引 用:https://medium.com/@sachinsoni600517/concept-of-yolov1-the-evolution-of-real-time-o bject-detection-d773770ef773 4

6.

YOLOのアーキテクチャ アーキテクチャ YOLOは物体検出の各要素(特徴抽出、バウンディングボックス予測、分類など)を単一のニューラルネットワークで 内包している。 ネットワークアーキテクチャ : ● ● ● 畳み込み層 : 24層の畳み込み層で特徴抽出 全結合層 : 2層の全結合層で最終的な予測を出力 1×1の縮小層と3×3の畳み込み層を交互に使用。ダウンサンプリングが多く、特徴マップが大きくなりす ぎないため高速 Fast YOLO: ● 畳み込み層を9層に減らし、 フィルター数も削減。 5

7.

アジェンダ ・YOLO(初代)とは ・YOLOの学習と推論 ・他手法との比較 6

8.

YOLOの学習 学習 事前学習: 最初の20層にpooling層と全結合層を追加して、1000クラスのImageNetで事前学習。 学習:畳み込みを4層追加して2層の全結合層に置換。入力解像度を224→448に変更。(検出タスクのため) 正規化: ● ● 幅と高さ( w, h)の正規化 : bboxの幅と高さを画像全体の幅と高さで割り、0から1の範囲に正規化。 中心座標( x, y): 各グリッドセル左上を(0,0)としたオフセットとして予測。0から1の範囲。 活性化関数 : ● ● 最終層: 線形活性化層でそのまま出力 その他の層 : Leaky ReLU: Φ(gain 0.1) 7

9.

YOLOの学習 損失関数 損失関数は多項目の二乗誤差 。項目はbbox位置, 信頼度スコア, クラス確率。 幅wと高さhは平方根をとって、小さいbboxが重要視されるようにしている。 8

10.

YOLOの学習 信頼度スコア Pr(Object) × IOUで、バウンディングボックス内にオブジェクトが存在するかどうかの確率を示 す。 パラメータ 学習率 9

11.

YOLOの学習 過学習の防止 10

12.

YOLOの学習 予測の割り当て (Assigning Responsibility to Predictors) 例えばbboxの数が2つで、検出対象が3種類以上(人、車、自転車など)あった場合、3つ目の物 体については学習されない。(YOLOの制限) 11

13.

YOLOの推論 推論 1. ドロップアウトの無効化 2. データ拡張の無効化 3. 非最大抑制(NMS)の適用 信頼度スコアの高いbboxから順番に、bbox同士を比較していき、IOUが一定の閾値を超 えた場合、信頼度スコアの低いbboxを削除する(bboxの重複回避) 制約 ・近接物体 各グリッドセルが2つのバウンディングボックスのみを使用し、予測はセル毎に1つのクラスに 限定されるため、近接する複数の物体の検出が難しい。 ・細かい特徴の把握 ネットワークのダウンサンプリング層が多いため、細かい特徴を捉える能力が低い。 12

14.

アジェンダ ・YOLO(初代)とは ・YOLOの学習と推論 ・他手法との比較 13

15.

比較 PASCAL VOC 2007における性能 ・YOLO : 45 FPS(Frames per second) で 63.4% mAP(mean Average Precision) ・Fast YOLO: 155 FPS で 52.7% mAP ・Fast R-CNN : 0.5 FPS で 70.0% mAP エラー分析 • Correct: クラスが正しい。IOU > 0.5 • Localization: クラスが正しい。0.1 < IOU < 0.5 • Similar: クラスが類似、IOU > 0.1 • Other: クラスが間違っている、IOU > 0.1 • Background: 任意のオブジェクトに対して IOU < 0.1 Fast R-CNN は正解率が高いが、locを含めるとYOLO は精度で上回る。 14

16.

比較 未知のデータに対する性能 未知のPicasso and People-art dataset でも他手法に対して良い性能を示す。 15

17.

結論 YOLO(初代)とは 24+2層の単一ニューラルネットワークで、画像全体からbboxの座標やクラス確率を一度に予測するモ デル。 リアルタイム処理向けに開発されたため処理が高速であり、一般化能力が向上している。 16