【物体検出】YOLOX

1.1K Views

December 19, 24

スライド概要

profile-image

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

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

2024年度後期輪読会 #10 (2024/12/19) YOLOX 京都大学工学部情報学科 数理工学コース B3 浦辺 晴基 0

2.

アジェンダ ◼ YOLOXの概要 ◼ アーキテクチャ ◼ YOLOシリーズからの改善点 ◼ 他手法との性能比較 1

3.

アジェンダ ◼ YOLOXの概要 ◼ アーキテクチャ ◼ YOLOシリーズからの改善点 ◼ 他手法との性能比較 2

4.

YOLOXの概要 ◼ YOLOXとは YOLOXは、2021年に論文YOLOX: Exceeding YOLO Series in 2021で提案された、 YOLOv3をベースラインにして改善を加えたリアルタイム物体検出モデルである。 実装はhttps://github.com/Megvii-BaseDetection/YOLOXを参照。 ◼ YOLOシリーズとYOLOXの相違点 YOLOシリーズ YOLOX アンカーベース検出 アンカーフリー検出 Coupled Head (分類と回帰を同じヘッドで行う) Decoupled Head (分類と回帰を異なるヘッドで行う) ラベル割り当てに柔軟性がない・非効率 SimOTAの導入 標準的なデータ拡張 Mosaic・MixUpの導入(強力なデータ拡張) 3

5.

アジェンダ ◼ YOLOXの概要 ◼ アーキテクチャ ◼ YOLOシリーズからの改善点 ◼ 他手法との性能比較 4

6.

YOLOXのアーキテクチャ ◼ ネットワーク全体 https://qiita.com/ground0state/items/a69662b c6aa2eb715169 より引用 5

7.

YOLOXのアーキテクチャ ◼ Backbone https://qiita.com/ground0state/items/a69662b c6aa2eb715169 より引用 6

8.

YOLOXのアーキテクチャ ◼ Backbone • Darknet53 • SPP(Spatial Pyramid Pooling)層 入力画像のサイズに関わらず 特徴マップを固定サイズの出力に変換する 7

9.

YOLOXのアーキテクチャ ◼ Decoupled Head クラス分類、バウンディングボックス回帰、IoUスコア予測をそれぞれ個別のHeadで行う。 従来のCoupled Headに比べて収束が早く、効率的に高い精度を出せる。 8

10.

アジェンダ ◼ YOLOXの概要 ◼ アーキテクチャ ◼ YOLOシリーズからの改善点 ◼ 他手法との性能比較 9

11.

YOLOXの改善点 ◼ Strong data augmentation RandomFlip(ランダムな方向に反転)やColorJitter(色調をランダムに変化)などに加え、 MosaicやMixUpといった強力なデータ拡張を適用している。 ➢ Mosaic 右図のように、4つの画像を混ぜて 新たなデータセットを作成する。 10

12.

YOLOXの改善点 ◼ Strong data augmentation ➢ MixUp 下図のように、2つの画像とラベルをある割合で合成して新たなデータセットを作成する。 11

13.

YOLOXの改善点 ◼ Anchor-free 従来のYOLOシリーズでは、アンカーベース(中心と縦横比があらかじめ定義されたアンカーボッ クスという矩形に基づいてバウンディングボックスの予測を行う手法)を用いていたが、計算コス トの増加や、適切なサイズのアンカーボックスが存在しない場合などに課題があった。 https://cvml-expertguide.net/terms/dl/objectdetection/anchor-box/より引用 12

14.

YOLOXの改善点 ◼ Anchor-free 一方、YOLOXではアンカーフリーを採用しており、アンカーボックスを用意せずに 特徴マップから直接バウンディングボックスの位置や幅、高さを予測する。 アンカーベース アンカーフリー https://zenn.dev/nekoallergy/articles/dladvanced-anchorより引用 13

15.

YOLOXの改善点 ◼ Multi positives 従来のラベル割り当てでは、 「正解データ(GT)のバウンディングボックスの中心があるアンカーのみをPositiveとして評価する」 という手法を採用していたが、PositiveとNegativeの数が著しく不均衡になってしまう問題があった。 そこでYOLOXにおけるラベル割り当てでは、 「正解データ(GT)のバウンディングボックスの中心があるアンカーの 近傍3×3アンカーもPositiveとして評価する」 という手法を採用することで、Positiveの数を9倍にし、データ不均衡の問題に対処している。 14

16.

YOLOXの改善点 ◼ SimOTA 右下図のように複数の正解ボックスが重なり合っている場合には、 予測したバウンディングボックスに対して、どれを割り当てるべきかが曖昧なアンカーが存在する。 IoUの閾値で割り当てる従来の手法は柔軟性に欠け、問題があった。 そこで、この正解ボックスと予測ボックスの割り当てを最適輸送問題として捉え、 Sinkhorn-Knoppアルゴリズムによって解く OTA(Optimal Transport Assignment) という手法が提案された。 15

17.

YOLOXの改善点 ◼ SimOTA ➢ 最適輸送問題 𝑚人の供給者と𝑛人の需要者がいると仮定する。 供給者𝑖は𝑠𝑖 個の荷物を保有し、 需要者𝑗は𝑑𝑗 個の荷物を必要としているとする。 また、供給者𝑖から需要者𝑗への 各荷物の輸送コストを𝑐𝑖𝑗 とする。 最小の輸送コストで供給者からのすべての荷物を需要者へと輸送できる 最適輸送計画 𝜋 ∗ = 𝜋𝑖𝑗 𝑖 = 1, 2, ⋯ , 𝑚, 𝑗 = 1 , 2, ⋯ , 𝑛}を求める線形計画問題。 16

18.

YOLOXの改善点 ◼ SimOTA OTAでは正解ボックスと予測ボックスの割り当てを最適輸送問題として捉え、 供給者:𝑘個のPositiveラベルを保持する正解ボックス & 𝑛 − 𝑚 × 𝑘個のNegativeラベルを保持する背景 需要者:1個のPositiveラベルを必要とする予測ボックス と考えるので、右のように決まる。 また、正解ボックス𝐺𝑖 から予測ボックス𝑃𝑗 への輸送コストは以下のように定義される。 17

19.

YOLOXの改善点 ◼ SimOTA ➢ Sinkhorn-Knoppアルゴリズム 最適輸送問題は線形計画問題のため、単体法や内点法により厳密解を得ることは可能であるが、 計算コストの問題がある。そのためOTAでは、近似解を高速に得るためのアルゴリズムとして Sinkhorn-Knoppアルゴリズムを採用している。 本アルゴリズムでは右のように 最適輸送問題の目的関数に エントロピー正則化項を加えた凸関数を 目的関数とする緩和問題を考える。 18

20.

YOLOXの改善点 ◼ SimOTA ➢ Sinkhorn-Knoppアルゴリズム ラグランジュの未定乗数法により、 緩和問題の目的関数は以下の非制約目標に変換される: 最適輸送計画は以下のように得られる: 19

21.

YOLOXの改善点 ◼ SimOTA 20

22.

YOLOXの改善点 ◼ SimOTA OTAは高性能な割り当て戦略だが、計算量や学習時間の増大につながるため、 YOLOXではOTAを簡略化したSimOTA(Simple Optimal Transport Assignment)を採用している。 SimOTAは正解ボックスが保持するPositiveラベルの数𝑘の適切な値を動的に決定するDynamic K戦略が 特徴であり、正解ボックス𝐺𝑖 と各予測ボックスのIoUに基づいた以下の式で𝑘が動的に決定される。 予測ボックスに複数の正解ボックスが割り当てられた場合は、 複雑な計算をせずにコストが最小の正解ボックスを割り当てて修正する。 Sinkhorn-Knoppアルゴリズムを用いていないため、効率的になっている。 21

23.

アジェンダ ◼ YOLOXの概要 ◼ アーキテクチャ ◼ YOLOシリーズからの改善点 ◼ 他手法との性能比較 22

24.

性能評価 精度と推論速度のトレードオフ 精度とモデルサイズのトレードオフ 23

25.

性能評価 IoUの閾値 物体のサイズ 24

26.

まとめ 物体検出モデルの一種であるYOLOXについて解説した。 YOLOX とは アーキ テクチャ 改善点 ◼ YOLOv3をベースラインにして改善を加えたリアルタイム物体検出モデル ◼ 精度と推論速度・精度とモデルサイズのトレードオフにおいて優れている ◼ BackboneにDarkNet53とSPP層を採用 ◼ 分類、回帰、スコア予測をそれぞれ個別のHeadで行うDecoupled Head ◼ 強力なデータ拡張(Mosaic&MixUp) ◼ アンカーフリー ◼ Multi positivesとSimOTAによるラベル割り当て 25

27.

参考文献 1. YOLOX: Exceeding YOLO Series in 2021. ( https://arxiv.org/abs/2107.08430 ) 2. YOLOv3: An Incremental Improvement. ( https://arxiv.org/abs/1804.02767 ) 3. YOLOv4: Optimal Speed and Accuracy of Object Detection. ( https://arxiv.org/abs/2004.10934 ) 4. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. ( https://arxiv.org/abs/1406.4729 ) 5. Bag of Freebies for Training Object Detection Neural Networks. ( https://arxiv.org/abs/1902.04103 ) 6. OTA: Optimal Transport Assignment for Object Detection. ( https://arxiv.org/abs/2103.14259 ) 7. YOLOXのアーキテクチャ. Qiita. ( https://qiita.com/ground0state/items/a69662bc6aa2eb715169 ) 8. 実装から見るYOLOX:2021年のYOLOシリーズを超えて. Qiita. ( https://qiita.com/koshian2/items/af032cb102f48e789e66 ) 26

28.

参考文献 9. 【論文5分まとめ】Yolox: Exceeding yolo series in 2021. Zenn. ( https://zenn.dev/takoroy/articles/e1e401b865f6c1 ) 10.【論文5分まとめ】Ota: Optimal transport assignment for object detection. Zenn. ( https://zenn.dev/takoroy/articles/dd511b8f8710f3 ) 11. 最新のリアルタイム物体検出モデルYOLOXの紹介. 株式会社アイビス. ( https://www.ibis.ne.jp/blog/1992-2/ ) 12.【CVPR2021】物体検出のラベルアサインメントを最適化するOTAを紹介!. DeepSquare Media. ( https://deepsquare.jp/2021/08/ota-object-detection/ ) 13.【物体検出】アンカーボックスって?(アンカーベースとアンカーフリー)【図解】. Zenn. ( https://zenn.dev/nekoallergy/articles/dl-advanced-anchor ) 14. アンカーボックス (Anchor Box) [物体検出]. CVMLエキスパートガイド. (https://cvmlexpertguide.net/terms/dl/object-detection/anchor-box/ ) 27