YOLOシリーズ ターゲット検出アルゴリズム - PP-YOLOv2

YOLOシリーズ ターゲット検出アルゴリズムカタログ -記事リンク


この記事の概要は次のとおりです。

  1. PP-YOLOをベースに、さまざまな改善手法によりパフォーマンスが向上しており、PP-YOLOと比較して、mAP が 45.9% から 49.5% に増加し、速度が 68.9FPS から 106.5FPS に増加しました。
  2. 改善点: ネック部分は PAN を使用し、ネック部分で Mish アクティベーション機能を使用し、より大きな入力サイズを使用し、IoU Aware Branch loss 機能を改善しました。

ディープラーニングのナレッジポイントのまとめ

コラムリンク:
https://blog.csdn.net/qq_39707285/article/details/124005405

此专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。



**YOLO シリーズ ターゲット検出アルゴリズム-PP-YOLOv2**
2021.4.21 PP-YOLOv2:《PP-YOLOv2: 実用的な物体検出器》

1. PP-YOLOをレビューする

1.1 前処理

  Mixup、RandomColorDistortion、RandomExpand、RandCrop、および RandomFlip を 50% の確率で使用し、次に RGB チャネルのピクセル正規化を行い、最後に入力サイズを変更します [320、352、384、416、448、480、512、544、576、608]。

1.2 基本モデル

  この記事では引き続き PP-YOLO の基本モデルを使用します. PP-YOLO のバックボーンは YOLOv3 の拡張版です. ResNet50-vd をバックボーンとして使用し、合計 10 のトリックを使用してパフォーマンスを向上させています。これら 10 のトリックには、Deformable Conv、SSLD、CoordConv、DropBlock、SPP などが含まれます。詳細については、記事PP-YOLOを参照してください。

1.3 トレーニング戦略

  トレーニング中、バッチサイズは 8 GPU で 96 に設定され、オプティマイザーは SGD です。最初の反復は 500K 回で、学習率は 0 ~ 0.005 まで直線的に増加します。400K 回と 450K 回の場合、学習率は次の値で除算されます。 10. 同時に、トレーニングプロセスを安定させるために、勾配シアリングの方法が採用されています。

2. スキルの向上

ここに画像の説明を挿入

2.1 PAN(パスアグリゲーションネットワーク)

  さまざまなスケールで物体を検出することは、物体検出における基本的な課題です。実際には、あらゆるスケールで高レベルの意味論的特徴マップを構築するためにネックが開発されます。

  PP-YOLO では、FPN を使用してボトムアップ パスを形成します。最近、ピラミッドの表現能力を向上させるために、BiFPN、PAN、RFP などの多くの FPN バリアントが提案されています。この論文はPANの設計に従ってトップダウンの情報を集約しており、その具体的な構造を図2に示します。

2.2 ミッシュアクティベーション機能

ここに画像の説明を挿入

  Mish 活性化関数は提案されて以来、YOLOv4 や YOLOv5 のバックボーンなど、複数のターゲットの検出に広く使用されています。この記事で使用されている PP-YOLO バックボーンは ImageNet データセットで事前学習されており、分類精度が非常に高いため、バックボーンには Mish が使用されていませんが、ネックには Mish が使用されています。

2.3 入力サイズの拡大

  入力画像のサイズを大きくすることは、対象の領域を増やすことと同じであり、より多くの情報が含まれるため、パフォーマンスが向上します。ただし、入力サイズが大きいと、より多くのメモリが消費されます。この目的を達成するには、バッチ サイズを減らす必要があります。このペーパーでは、バッチ サイズを GPU あたり 24 イメージから GPU あたり 12 イメージに削減し、最大入力サイズを 608 から 768 に拡張します。入力サイズは [320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768] から均一にサンプリングされます。

2.4 IoU 対応ブランチ

  PP-YOLO では、IoU 知覚損失はソフトウェイト形式で計算されますが、これは本来の意図と矛盾します。したがって、この文書ではソフトラベル形式が適用されます。IoU 認識損失の計算方法は次のとおりです。
loss = − t ∗ log ( σ ( p ) − ( 1 − t ) ∗ log ( 1 − σ ( p ) ) loss=-t*log(\sigma(p)- ( 1-t)*log(1-\sigma(p))ロス_=tログ( p ( p ) _ _( 1t )l o g ( 1σ ( p ))

  どこt は、アンカーとそれに対応する GT バウンディング ボックスの間の IoU、pppは IoU Aware Branch の元の出力、σ ( ⋅ ) \sigma(·)σ ( )はシグモイド活性化関数を表します。正のサンプルの IoU を考慮した損失のみが計算されることに注意してください。損失関数を置き換えることにより、IoU 対応ブランチは以前よりも優れています。

3. さまざまな改善手法の実験

このセクションでは、各モジュールのパフォーマンスの向上を段階的に示します。結果を次の表に示します。
ここに画像の説明を挿入

3.1 スキルの向上

  • Aまず
    、PP-YOLO のオリジナルの設計に従って、PP-YOLO のバックボーンを構築します。CPU での前処理が重いとトレーニングが遅くなるため、GPU あたりの画像数を 24 から 12 に減らし、バッチ サイズを減らすと mAP が 0.2% 削減されます。
  • ⟶ \longrightarrow B
    PP-YOLO にプラスの影響を与える最初の改善は PAN です。トレーニング プロセスを安定させるために、いくつかのスキップ接続が PAN モジュールに追加されています。詳細は図 2 に示されています。PAN と FPN は対称構造のセットであり、Mish を使用するとパフォーマンスが 45.1% mAP から 47.1% mAP に向上することがわかります。モデル B はモデル A よりもわずかに遅いですが、このような大幅な向上により、最終モデルでの PAN の採用が促進されました。
  • B ⟶ \longrightarrow⟶C YOLOv4 と YOLOv5 の評価時の入力サイズは 640 であるため、この論文では公平な比較を確立するためにトレーニングと評価の入力
    サイズを 640 に増やします。パフォーマンスが 0.6% mAP 向上しました。
  • C ⟶ \longrightarrow D
    入力サイズを増やし続ける方が有益であるはずです。ただし、より大きなバッチサイズでより大きな入力サイズを使用することはできません。モデル D を GPU あたり 12 個のイメージとより大きな入力サイズでトレーニングすると、0.6% 増加し、より大きなバッチサイズよりも多くのゲインが得られます。したがって、最後の実践では、より大きな入力サイズが選択されます。入力サイズは [320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768] から均一にサンプリングされます。
  • D ⟶ \longrightarrow⟶E
    トレーニング段階では、改良された IoU 対応ロスのパフォーマンスが以前よりも向上し、以前のバージョンでは、トレーニング中の数百回の反復中に IoU 対応ロスの値が 1e-5 に低下しましたIoU を考慮した損失を補正すると、その値は IoU 損失値と同じ桁になり、これは妥当な値です。この戦略を使用した後、モデル E の mAP は効率を損なうことなく 49.1% に増加しました。

3.2 うまくいかないトリック

  • コサイン学習率の減衰は
    線形ステップ学習率の減衰とは異なり、コサイン学習率の減衰は学習率の指数関数的な減衰であるため、学習率の変化は滑らかであり、トレーニング プロセスにとって有益です。コサイン学習率の減衰により COCO ミニトレインのパフォーマンスが向上しますが、初期学習率、ステップ数、終了学習率などのハイパーパラメーターの影響を受けます。いくつかのハイパーパラメータのセットが試行されました。しかし、最終的には2017年のCOCOトレインへのプラスの影響は観察されませんでした。

  • Backbobne パラメータのフリーズ
    下流タスクで ImageNet の事前トレーニング済みパラメータを微調整する場合、最初の 2 つの段階でパラメータをフリーズするのが一般的です。この論文の事前トレーニング済み ResNet50-vd は他のものよりも強力であるため (Top1 精度 82.4%、Top1 精度 79.3%)、この戦略を採用する動機はさらに高まります。COCO ミニトレインでは、パラメータのフリーズにより約 1 mAP の増加が見られましたが、COCO2017 トレインでは mAP が 0.8% 減少しました。不一致の理由として考えられるのは、2 つのトレーニング セットのサイズが異なることと、COCO ミニトレインが 2017 年の COCO トレインの 5 分の 1 であることです。小さなデータセットでトレーニングされたパラメーターは、事前トレーニングされたパラメーターよりも一般化が悪化する可能性があります。

  • SiLU 活性化関数
    ネック部分に Mish の代わりに SiLU を使用してみると、COCO ミニトレイン データセットの mAP が 0.3% 増加しますが、2017 COCO トレイン データセットの mAP の 0.5% が減少します。これは理由はわかりません。

4 結論

  1. このペーパーでは、PP-YOLO にいくつかの更新を加えます。PP-YOLO は、PPYOLOv2 と呼ばれる高性能物体検出器を構成します。
  2. YOLOv4 や YOLOv5 などの他の物体検出器と比較して、PP-YOLOv2 は速度と精度のバランスが優れています。
  3. この論文では、一連のトリックを検討し、それらを PP-YOLO 検出器で組み合わせてその有効性を実証する方法を示します。

おすすめ

転載: blog.csdn.net/qq_39707285/article/details/128316439