2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【YOLO】YOLO v4の改良点を簡単にまとめてみた【物体検出アルゴリズム】

Last updated at Posted at 2022-08-14

1.はじめに

・上の記事でYOLO v1の仕組みとYOLO v2YOLO v3の改良点ついて簡単に理解しました。
・今回は次のバージョンであるYOLO v4に加えられた改良点を簡単にまとめてみたいと思います。

2.YOLO v4

v4リポジトリ

YOLO v4は、、、

・製作者が「Joseph Redmon氏」から「Alexey Bochkovskiy氏」に変わりました。

・v3と比べて物体検出の「精度」は大幅に上がりました。

・v3と比べて物体検出の「速さ」は同等です。

・GPUが一つあれば「誰でも訓練し、リアルタイムでの推論が可能」になりました。

2.1.v3とv4の「精度と速度」比較の図

縦軸:上に行くほど物体検出の精度が高い
横軸:左に行くほど物体検出の速度が速い

yolov2のdiff2.009.jpeg

3.前提知識

・YOLOなどの物体検出器バックボーン(背骨)ネック(首)ヘッド(頭)3つの層で構成されています。
v4diff.001.jpeg
YOLO v3を例にしてみると、バックボーン(背骨)では「Darknet-53」が、ネック(首)では「FPN」が、ヘッド(頭)では「YOLO v3」のモデル構造がそれぞれ使われていて、これ全体で「YOLO v3」としています。

◎YOLO v4はバックボーン、ネック、ヘッドのそれぞれで使われるモデルの組み合わせを色々実験することで、物体検出器を良くしました。

v4diff.002.jpeg

4.YOLO v4の構造の組み合わせ

バックボーン ネック ヘッド
CSPDarknet-53 PAN、SPP YOLO v3

4.1.バックボーン(CSPDarknet-53)

CSPDarknet-53はYOLO v3で使われていたDarknet-53に「CPSNet」という手法を付け加えた構造になっています。

4.1.1.CSPNetって何?

CSPNetとは物体検出の精度をあまり落とさずに、計算の量を少なくする手法

v4diff.003.jpeg
・「バックボーン」にCPS化したDarknet-53、「ネック」にはPANSPPを選んだやつのAPが1番高くなっています。

4.2.ネック(PAN、SPP)

4.2.1.PAN(Path Aggregation Network)って何?

PANとはFPNの改良版

v4diff.004.jpeg
・PANではFPNの構造に新たな部分が加えられています。
・この新たに加えられた部分によって、FPNよりもさまざまなスケールの物体検出が「正確な位置と共に」検出できるようになります。

4.2.2.SPP(Spatial Pyramid Pooling)って何?

SPPとは付け加えることによってさらに色んなスケールの物体検出が可能になるもの

・ネックの部分ではこのPANSPPを両方使って検出精度を高めました。

4.3.ヘッド(YOLO v3)

4.3.1.ヘッドとしてのYOLO v3って何?

小さな正方形に分ける→各小さな正方形ごとにバウンディングボックスを予測→クラスも予測、、、のやつ

v4diff.005.jpeg
・詳しくはYOLO又はYOLO v3の記事を参照してください。

4.4.オプション

YOLO v4では大きな部分バックボーンネックヘッドの変更が行われました。
・その他に速さと精度の向上のために、細かい部分様々なオプションが付け加えられています。
・論文中ではその細かい部分でのオプション「フリービー」「スペシャル」といったYOLO v4オリジナルの言葉で表現されています。

4.4.1.フリービー(Freebies)って何?

検出の速さを遅くすることなく、検出の精度を上げる手法

v4に加えられたフリービーの種類
・CutMix
・Mosaic data augmentation
・DropBlock正則化
・Class label smoothing
・CIoU損失
・CmBN
・SAT (Self-Adversarial Training)
・Eliminate grid sensitivity
・複数のアンカーを同一の正解データに適用する
・Cosine annealingスケジューラー
・最適なハイパーパラメータ
・訓練にランダムな形を使う(Random training shapes)

4.4.1.スペシャル(Specials)って何?

検出の速さは少し遅くなるが、検出の精度を上げる手法

v4に加えられたスペシャルの種類
・Mish活性化関数
・Cross-stage partial connections (CSP)
・Multi-input weighted residual connections (MiWRC)
・SPPブロック
・SAMブロック
・PAN(path-aggregation block)
・DIoU-NMS

・上記に書いた色んな種類の「フリービー」と「スペシャル」がv4に加えられました。

・つまり、

YOLO v3をベースに当時あった色々な手法を組み合わせて作った最強の分類器がYOLO v4だよ

ということです。

YOLOシリーズ各バージョンの簡単な違いについてのまとめ

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?