YOLO あれこれ【YOLOv1~YOLOv3 詳細説明】

少し前に、YOLOシリーズの論文を体系的に整理し、次のように補足説明を行いました。

目次

1. 物体検出の開発タイムライン 

2. ターゲット検出ネットワーク構造

3. ターゲット検出の最適化手法

3.1 景品の袋 (BOF) - 推論時間を増やさずに検出精度を向上

3.2 Bag of specials (BOS) - 推論のコストをわずかに増加させ、パフォーマンスを大幅に改善

4. ターゲット検出評価指標

4.1 速度指数

4.2 精度指数

5. YOLOv1

5.1 YOLOv1 ネットワーク構造

5.2 入力と出力のマッピング関係

5.3 損失関数 

5.4 YOLOv1のメリットとデメリット

6. YOLOv2

6.1 改善戦略

6.2 損失関数

6.3 入力と出力のマッピング関係

6.4 YOLOv2 の長所と短所

7. YOLOv3

7.1 YOLOv3 ネットワーク構造

7.2 バックボーン:Darknet-53

7.3 入力と出力のマッピング関係

7.4 YOLOv3アンカー

7.5 ポジティブおよびネガティブ サンプル マッチング ルール

7.5 入力と出力のマッピング関係

7.6 損失関数

7.7 トレーニングプロセスとテストプロセス

7.8 YOLOv3 の長所と短所


1. 物体検出の開発タイムライン 

2. ターゲット検出ネットワーク構造

入力:モデルの入力- 画像、画像ブロック、画像ピラミッド

バックボーン:特徴抽出器、最初に分類データ セット (ImageNet など) で事前トレーニングされ、次に検出データで微調整されます

  • GPU プラットフォームで実行される検出モデル。一般的に使用されるバックボーンには、VGG、ResNet、DarkNetなどがあります。
  • CPU プラットフォームまたはエッジ デバイスで実行される検出モデル。一般的に使用されるバックボーンは、MobileNet、ShuffleNet、SqueezeNetなどです。

:異なる機能層の機能を統合し、浅い層の豊富な位置情報と深い層の豊富な意味情報を統合し、検出効果を向上させます

  • 追加ブロック:SPP,ASPP,RFB,SAM
  • パス集約ブロック:FPN,PAN,NAS-FPN,全結合FPN,BiFPN,ASFF,SFAM

ヘッド:オブジェクトのローカリゼーションと分類

  • Dense Prediction:即one-stage方法
    • アンカーベース: YOLO シリーズ、SSD、RetinaNet、RPN
    • アンカーフリー:CornerNet,CenterNet,MatrixNet,FCOS
  • Sparse Prediction:即two-stage方法
    • アンカーベース:Faster R-CNN,R-FCN,Mask R-CNN
    • アンカーフリー:RepPoints 

3. ターゲット検出の最適化手法

3.1 景品の袋 (BOF) - 推論時間を増やさずに検出精度を向上

  1. データ増強
    1. 測光変換: 明るさ、コントラスト、色相、彩度、ノイズを調整
    2. 幾何学的変換: ランダムなスケーリング、トリミング、反転、回転
    3. ターゲット オクルージョンのシミュレート: ランダム消去、カットアウト、ハイド アンド シーク、グリッド マスク
    4. 画像融合: MixUp、CutMix、モザイク
    5. しかし
  2. 境界ボックス回帰の損失関数
    1. IOU 損失
    2. GIOU損失
    3. DIOU 損失
    4. CIOUの損失
  3. 正則化
    1. 脱落
    2. ドロップコネクト
    3. ドロップブロック
  4. ラベルのスムージング- ラベルのスムージング
  5. データの不均衡- フォーカル ロス

3.2  Bag of Specials (BOS) —— 推論コストをわずかに増加させ、大幅なパフォーマンス向上をもたらす

  1. 受容野の増強
    1. SPP
    2. ASPP
    3. RFB
  2. 機能融合
    1. 接続をスキップ
    2. FPN
    3. SFAM
    4. ASFF
    5. BiFPN
  3. 後処理
    1. NMS
    2. ソフト NMS
    3. DIOU NMS
  4. 注意モジュール
    1. Channel Attention (チャンネル単位) SE
    2. 空間的注意 (点単位) SAM
  5. 活性化機能
    1. LReLU (入力が 0 未満のときに ReLU 勾配が 0 になる場合を解く)
    2. PReLU (入力が 0 未満のときに ReLU 勾配が 0 になる場合を解く)
    3. ReLU6 (量子化ネットワーク専用に設計)
    4. hard-swish (量子化されたネットワーク専用に設計された)
    5. SELU (自己正規化ニューラル ネットワーク)
    6. Swish (連続微分活性化関数)
    7. Mish (連続微分活性化関数)

4. ターゲット検出評価指標

4.1 速度指数

速度指数は通常、フレーム/秒(FPS) (Frames Per Second)を推測することによって測定されますが、これはハードウェアの影響を大きく受けます。

4.2 精度指数

ターゲット検出入力画像、画像内の各ターゲット予測フレームの直角座標と各カテゴリの予測信頼度を出力し、交差および結合比 IOUを使用して、予測フレームとラベル フレームの一致度、つまり、予測フレームの位置は正確です

ラベル付きフレームとの関係に従って、予測フレームは次の 4 つのカテゴリのいずれかに分類できます。ここで、IOU しきい値 (通常は 0.5) と信頼しきい値 (通常は 0.2) が手動で指定されます。

 (1)精度(精度) :すべての予測ボックスで正しい予測の割合は、「背景をターゲットと間違えない」というモデルの精度を反映します。

(2) Recall (再現率, 再現率) :正しく予測されたすべてのラベル付きボックスの割合は、 「ターゲットを背景として手放さないというモデルの感度を反映しています。

 (3) Average Precision (略して AP) : 信頼度のしきい値を 0 ~ 1 に変更し、各信頼度のしきい値に対応する Precision と Recall を計算し、特定のカテゴリのPR パフォーマンス カーブを描画します(P と R は完全ではありません。予測効果キャラクタリゼーション ネットワークの場合、P と R が同時により大きな値、つまり、PR 曲線と座標軸で囲まれた領域が大きいことが望まれます)、それに囲まれた領域が AP の AP です。このカテゴリー

 AP のすべてのカテゴリとさまざまな IOU しきい値を考慮すると、[email protected][email protected]:0.95 をそれぞれ計算できます。

 [email protected] : IOU 閾値が 0.5の場合、各カテゴリ AP の平均値 

[email protected]:0.95 : IOU の閾値をステップサイズ 0.05 とした場合、 10 個の数値が 0.5 から 0.95 に増加したときの 

5. YOLOv1

YOLO (You Only Look Once) は、ディープ ニューラル ネットワークに基づいたオブジェクト認識およびポジショニング アルゴリズムであり、写真内でオブジェクトが存在する領域を見つけ、その領域内にどのオブジェクトが存在するかを識別します. その最大の特徴は、その速度です.すぐに、リアルタイムシステムで使用できます。

2 段階のターゲット検出の第 1 段階で候補フレーム (領域提案) を抽出し、第 2 段階で分類器を使用して各候補フレームを 1 つずつ選別します. YOLO は、2 段階の候補領域とオブジェクト認識を 1 つに創造的に組み合わせます.

実際、YOLO は実際には候補領域を削除しませんが、定義済みの候補領域を使用して画像を 7 x 7=49 のグリッドに分割し、各グリッドで 2 つの境界線 (特定のオブジェクトを含むバウンディング ボックス)、合計49 x 2=98 のバウンディング ボックス。

5.1 YOLOv1 ネットワーク構造

入力画像のサイズは448 × 448で、24 の畳み込み層と 2 つの全結合層、再形成操作の後、出力特徴マップのサイズは7 × 7 × 30 (PASCAL VOC データ セット) です。

本旨:

  • 入力画像を S*S グリッドに分割します。各グリッドは、このグリッドの中心にあるオブジェクトを予測します。
  • 各グリッドは、B 境界ボックスとその信頼レベル、および C カテゴリの確率を予測します
  • bbox 情報(x、y、w、h) は、グリッド位置に対するオブジェクトの中心位置のオフセット、幅、および高さであり、すべて正規化されています。
    • x、y は、グリッド セルの左上隅にあるグリッド ポイントを基準としたバウンディング ボックスの中心点の座標です。
    • w、h は、画像全体に対するバウンディング ボックスの幅と高さです。
  • 信頼度は、オブジェクトが含まれているかどうかと、含まれている場合の位置の精度を反映しています。Pr(Object)×IoU として定義、Pr(Object)∈{0,1} 

5.2 入力と出力のマッピング関係

5.3 損失関数 

図の自転車の中心点は 4 行 3 列のグリッドにあるため、出力テンソルの 4 行 3 列の位置の 30 次元ベクトルは右上の図に示されます。

Loss : ネットワークの実際の出力値とサンプル ラベル値の偏差

 損失関数:

 

5.4 YOLOv1のメリットとデメリット

YOLOv1 の利点:

  1. 候補ボックスを抽出し、候補ボックスを 1 つずつ分類して返す必要はありません (シングル ステージ) 1 つの前方推論で、複雑な上流および下流の処理作業なしで、bbox の配置と分類結果を取得できます。高速でリアルタイムの効率性を実現します。
  2. 移行はよく一般化されます
  3. 背景の誤差が小さく、画像全体を直接選択してトレーニングするため、グローバルな情報を取得できます (RCNN シリーズは候補フレーム領域のみを処理するため、チューブ内のヒョウが見えます)。

YOLOv1 の欠点:

  1. ターゲットの位置決め誤差が大きく、精度が不十分
  2. 低mAP、低精度、低リコール(RCNNシリーズより低い) - 「ターゲットフレームが正確ではなく、検出が検出されない」

原因分析:

  • 全結合層は最終的な予測に使用されます. 全結合層は画像全体の特徴に作用する関数と見なすことができます. ターゲット検出は局所予測問題です. で局所オブジェクトの位置情報を予測することは矛盾しています.完全な画像機能。
  • YOLOv1 は 7 x 7 のグリッド分割を採用し、合計 98 フレームを予測しますが、画像に表示されるターゲットを効果的にカバーすることは難しく、すべてのターゲットを検出する能力は低くなります。
  • YOLOv1 の各グリッド ユニットは 1 つの予測フレームのみを生成し、1 つのグリッドは 1 つのオブジェクトのみを予測できます

6. YOLOv2

6.1 改善戦略

YOLOv1の検出速度は速いですが、測位の精度が十分ではなく再現率が低いです測位精度を向上させ、再現率を向上させるために、YOLOv2 は、次の図に示すように、 YOLOv1 に基づいていくつかの改善戦略を提案します。

1)バッチ正規化—4%mAPの増加

  • YOLOv2 では、各畳み込み層の後にバッチ正規化 (BN) 層が追加され、ドロップアウト層が削除されます。
  • バッチ正規化レイヤーには、特定の正則化効果があり、モデルの収束速度が向上し、モデルのオーバーフィッティングが防止されます。

2) 高解像度分類子 (高解像度の事前トレーニング済み分類ネットワーク) - mAP が 4% 増加

  • 非常に小さい画像解像度 (例: 224 x 224) で ImageNet で事前トレーニングされた一般的な画像分類ネットワーク
  • YOLOv1 ネットワーク入力は 448 x 448 で、低解像度から高解像度に切り替えると、パフォーマンスが低下します
  • ネットワークを新しい解像度に適応させるために、YOLOv2 は最初に ImageNet で 224 x 224 でトレーニングされ、次に ImageNet で 448 x 448 で 10 エポックにわたって微調整され、最後にターゲット検出データセットで 448 x 448 で微調整されました。

3) アンカーボックス - リコールが7%増加、mAPが0.3%減少

  • YOLOv1 は画像を 7 x 7 のグリッドに分割し、各グリッドは 2 つのバウンディング ボックスを予測し、グラウンド トゥルースの IOU が大きい bbox がグラウンド トゥルースのフィッティングを担当し、全結合レイヤーを使用してバウンディング ボックスを直接予測します。より多くの空間情報、不正確なポジショニング
  • YOLOv2 は、YOLOv1 の全結合レイヤーを削除し、Faster R-CNN および SSD と同様のアンカー メカニズムを使用し、アンカー ボックスを使用してバウンディング ボックスを予測し、畳み込み機能マップの各位置にいくつかの異なるスケールと異なる長さと幅をバインドします。定義済みのアンカー ボックスと比較して、各アンカー ボックスは元の位置で微調整するだけで済みます。予測されたオフセットは、グラウンド トゥルースよりも大きい IOU を持つアンカー ボックスのままであり、グラウンド トゥルースをフィッティングする責任があり、最終的に使用されます。予測された畳み込みの特徴マップは、対応するバウンディング ボックスの位置変換パラメーター、信頼度、およびターゲット カテゴリの確率です。
  • つまり、手動注釈フレームの中心点がどのグリッド セルに収まるか、グリッド セルによって生成されたアンカーの中でグラウンド トゥルースの IOU が最大のアンカーが予測を担当し、それ自体に対するオフセットを予測するだけで済みます。.
  • 動機:グリッド内の複数のターゲットの問題を解決する (YOLOv1 はグリッド内の 1 つのターゲットのみを検出できます)

注意⚠️:

ヒント 1: YOLOv2 は特徴マップを奇数の長さと幅に設定します

理由:長さと幅が奇数のフィーチャ マップには中心セルがあります.画像内に支配的な大きなターゲットがある場合、その中心点には、長さと幅が偶数の 4 つのグリッド セルではなく、予測を担当する特定のグリッド セルがあります。

ヒント 2: mAP が減少し、Recall が増加し、Precision が減少します

理由: YOLOv1 は最大 98 の予測フレームを生成し、YOLOv2 は Anchor を追加して 845 の予測フレームを生成します.可能な限りすべてのターゲットを検出できるため、Recall は改善されますが、845 フレームの無駄なフレームの割合も高くなります。 Precision Reduced (精度低下の影響は後処理によって軽減できるため、アンカーを追加する価値があります)


  • Faster RCNN の Anchor によって生成された 9 つの候補フレームは「人為的に」選択され(スケールとアスペクト比のパラメーターが事前に設定され、特定の規則に従って生成されます)、YOLOv2 はより合理的な候補フレームを選択します (対応関係を確立することは困難です)。 gt) アンカーは実際には無効です)、クラスタリング (K-means)戦略を使用します (データセットのアスペクト比をクラスタリングし、異なる数の複数のアンカー ボックス グループを実験的にクラスタリングし、それらをそれぞれモデルに適用してセットを見つけます)。モデルの複雑さと高い再現率の間で妥協するアンカー ボックスの数)
  • 利点:アンカー メカニズムを使用して高密度のアンカー ボックスを生成し、ネットワークがこれに基づいてターゲットの分類とバウンディング ボックスの座標回帰を直接実行し、ネットワーク ターゲットの再現能力を効果的に向上させ、小さなターゲットの検出を大幅に改善します
  • 短所:冗長なフレームが多く、画像内のターゲットは限られています. 各アンカーに多数のアンカー ボックスを設定すると、ターゲットをまったく含まない多数の背景フレームが生成され、深刻な不均衡が生じます.陽性サンプルと陰性サンプルの間。
  • 注: 予測フレームは Anchor に基づいており、Anchor に基づいてオフセットすることによって得られます。

4) Dimension Clusters (アンカー ボックスの幅と高さはクラスタリングによって生成されます)

  • YOLOv2 は、k-means クラスタリングアルゴリズムを使用してトレーニング セット内の境界ボックスをクラスタリングし、ボックス間のIOU 値をクラスタリング インデックスとして選択します。
  • クラスター分析によって得られたアプリオリ ボックスは、手動で選択されたアプリオリ ボックスよりも平均 IOU 値が高く、モデルのトレーニングと学習が容易になります。
  • Note: In the standard K-means clustering, the Euclidean metric is used as the distance criteria for clustering. このメトリックの下では、大きなフレームは小さなフレームよりも大きなエラーを生成する傾向があります. したがって、YOLOv2 は距離測定 IOU

5) 直接位置予測 (絶対位置予測) - mAP が 5% 増加

  • YOLOv1 の各グリッド セルは 2 つのボックスを予測します. これらの 2 つのボックスは乱暴に成長し、画像のどこにでも実行できます. YOLOv2 がアンカーに追加された後, アンカーに対するオフセットを予測します. 論理的には, このオフセットは依然として混乱する可能性があります.チャネリングにより、モデルが非常に不安定になります
  • つまり、相対位置はランダムです。これは、予測されたオフセット変換係数が、トレーニング中に「しばらくの間正であり、しばらくの間負」である必要があることを意味します。これは、トレーニング中にモデルに深刻な振動を引き起こします。
  • 上記の問題の理由は、ターゲット バウンディング ボックスの位置に制限がなく、出現位置がランダムすぎるためです。
  • YOLOv2 は YOLOv1 の方法を踏襲し、グリッドユニットの位置に応じて座標を予測します. 予測フレームを生成する際に, 生成された予測フレームが画像の境界線を超える場合があります. したがって, この問題を解決するために,絶対位置予測の提案.予測ボックスが出現する位置を制限する (YOLOv1 はこの村から生まれただけで、まだ世界を横切ることができますが、YOLOv2 では生も老いも病気も死もすべてこの村にあります)

  • 図に示すように:
    • Cx、Cy: グリッド セルの左上隅の x、y 座標
    • Pw、Ph: アンカーの幅と高さ—注: グリッド セルの長さと幅は 1 x 1 に正規化されます (元の入力画像の予測フレームの x 座標と y 座標を取得するには、グリッド セルのダウンサンプリング倍数を掛ける必要があります)
    • bx, by: 予測ボックスの x、y 座標
    • bw, bh: 予測フレームの幅と高さ

6) 直接位置予測 (絶対位置予測) - mAP が 5% 増加

  •  YOLOv2 は、19 の畳み込みレイヤーと 5 つの最大プーリング レイヤーを含むDarknet-19を使用します。
  • 主に3 × 3 畳み込みと 1 × 1 畳み込みを使用します。1 × 1 畳み込み (最初に次元を減らしてから次元を増やす) は、特徴マップ チャネルの数を圧縮して、計算量とモデルのパラメーターを削減できます。
  • 各畳み込み層の後に BN 層を使用して、オーバーフィッティングを防ぎながらモデルの収束を高速化します
  • YOLOv2 はネットワークを削減し、416 × 416 の入力を使用し、モデルのダウンサンプリングの合計ステップ サイズは 32 であり、最終的に13 × 13 の特徴マップを取得し、13 × 13 の特徴マップの各セルに対して 5 つのアンカー ボックスを予測します。13 × 13 × 5 = 845 個の境界ボックスを予測できます
  • 完全な接続ではなく完全な畳み込み: Faster R-CNN および SSD と同様に、YOLOv2 は小さな畳み込みカーネルを持つ完全な畳み込みレイヤーを使用して、ターゲット フレーム予測のために YOLOv1 の最後の完全に接続されたレイヤーを置き換えます。フレームを予測し、ローカルフレーム予測モードをある程度復元するローカル機能を備えたグローバル

7) Fine-Grained Features (きめの細かい機能) - 1% 増加

  • YOL v2 は SSD から学習して検出にマルチスケールの特徴マップを使用し、高解像度の特徴マップを低解像度の特徴マップとリンクしてマルチスケールの検出を実現するパススルー レイヤーを 提案します

  • 分割方法を通過します。

  

8) マルチスケール トレーニング (マルチスケール トレーニング) - 速度と精度の間の自由なトレードオフ

  • YOLOv2 uses multi-scale input training. トレーニング プロセス中、10 バッチごとに、入力画像のサイズが再びランダムに選択されます。
  • Darknet-19 ダウンサンプリングの合計ステップ サイズは 32 であるため、入力画像のサイズは一般に32 の倍数として選択されます{320,352,...,608}
  • Multi-Scale Training を使用すると、さまざまなサイズの画像入力に適応できます. 低解像度の画像入力を使用すると、mAP 値はわずかに低下しますが、速度は速くなります. 高解像度の画像入力を使用すると、より高い mAP を取得できます. . 値ですが、速度は遅くなります

6.2 損失関数

この論文では損失関数が明確に述べられていませんが、次の図は Tongji Zihao の損失関数の分析からのものです。

6.3 入力と出力のマッピング関係

 

6.4 YOLOv2 の長所と短所

  • 以前のバージョンと比較して, YOLOv2 は質的な飛躍を遂げました, これは主に他のアルゴリズムの利点の吸収に反映されています. 最も重要なことは、アンカーの導入です, さまざまなトレーニング手法を使用し、多くのことを行いますネットワーク設計のコツ、モデル化超高速を維持しつつ、検出精度を大幅に向上
  • 単層特徴マップ: 浅い特徴を融合し、マルチスケールの検出パフォーマンスを向上させるためにパスソート レイヤーが使用されますが、予測には特徴マップの 1 つのレイヤーのみが使用されますが、細粒度はまだ十分ではなく、検出の改善は小さなオブジェクトは制限され、残差は使用されません。この比較的単純で効果的な構造は、全体的なネットワーク アーキテクチャによって制限されており、小さなオブジェクトの予測問題をうまく解決できません。

7. YOLOv3

YOLOv3は主に現在のより良い検出アイデアをYOLOに統合します.速度の利点を維持するという前提の下で, YOLO3は残りのネットワーク構造から教訓を引き出して、より深いネットワークレベルとマルチスケール検出を形成します.物体検出能力具体的には、YOLOv3は主にネットワーク構造、ネットワーク機能、およびその後の計算を3つの部分で改善します。

7.1 YOLOv3 ネットワーク構造

(Jiang Dabai のネットワーク構造図)

  • 残差のアイデア:バックボーン DarkNet-53 は、ResNet の残差のアイデアを利用し、基本ネットワークで多数の残差接続を使用するため、ネットワーク構造を非常に深く設計でき、トレーニングでの勾配消失の問題が軽減されます。モデルの収束を容易にする
  • マルチレイヤー特徴マップ:アップサンプリングと連結操作により、深い特徴と浅い特徴が統合され、最終的に 3 つのサイズの特徴マップが出力されます。これは、マルチスケール オブジェクトと小さなオブジェクトの検出に有益です。
  • プーリング レイヤーなし: DarkNet-53 はプーリングを使用せず、ステップ サイズ 2、ダウンサンプリング 5 回、全体のダウンサンプリング レートが 32 (入力画像サイズは 32 の倍数) の畳み込みカーネルによってサイズ削減効果を実現します。 . 、入力が大きいほど、得られる 3 つの特徴マップが大きくなります)

 

7.2 バックボーン:Darknet-53

  • バックボーン: DarkNet-53 (DarkNet-19 と ResNet の混合) -機能エクストラクタ(バックボーン ネットワークは食材を提供し、その後に調理が続きます。良い食材が良い食事を作るとは限りませんが、良い食材がなければ、良い食事を作ることはできず、バックボーン ネットワークが抽出されます。特徴)
  • Darknet-53 は、連続的な3 x 3 畳み込みと 1 x 1 畳み込みを使用します. 合計 53 の加重層があります (52 の畳み込み層 + 完全な接続). ResNet-152 と ResNet101 の場合、分類精度は類似しています. より高速な計算とより少ない計算ネットワーク層 
  • Darknet-53 は GPU をより効率的に使用し、前方推論をより高速に実行できます (ResNet の層が多すぎます)

  • YOLOv3 は AP0.5 で良好なパフォーマンスを示し、IOU しきい値 (正サンプルと負サンプルの分割に影響を与え、モデルのトレーニング結果に影響を与える) が比較的小さく設定されている場合、ポジショニングが正しい可能性があることを示しています; IOU しきい値が増加すると、たとえば、0.95 まで、予測ボックスは一致する必要があります GT は、このフレームが TP であると判断するために非常に一致しており、予測は正しいです. この時点で、YOLOv3 のパフォーマンスは低く、正確なポジショニングのパフォーマンスは低くなります
  • 小さくて密集したターゲットでの YOLOv3の改善 :
    • グリッド セルの数が増加しました(YOLOv2 と YOLOv3 は、任意の画像サイズの入力と互換性があります - 完全な畳み込みネットワーク)
    • 小型ターゲット用のアンカーを設置
    • マルチスケール予測(FPN)のためのマルチスケール機能の統合
    • 損失関数は、ペナルティの小さなボックス項を追加します
    • ネットワーク構造はクロスレイヤ接続を使用し、バックボーン ネットワークの特徴抽出機能が強化されています 

7.3 入力と出力のマッピング関係

  • 入力: 416x416画像、ダークネット ネットワークを介して3 つの異なるスケール(FPN 機能ピラミッドに触発された) の予測結果を取得します。各スケールは 255 チャネル (85 x 3) に対応し、予測情報を含み、各グリッドのアンカーの予測結果各サイズ
  • YOLOv1 : 入力448 x 448 、 7 x 7グリッドに分割、アンカーなし、B bbox (B=2) を生成、7 x 7 x 2 = 98 予測ボックスを生成、カテゴリ数 C=20、出力テンソル次元 7 x 7 x (5 x B + C) 
  • YOLOv2 : 入力416 x 416、各グリッド セルには5 つの Anchors があり、各グリッド セルは元の画像に対応します。受容野のサイズは同じです。ターゲットのサイズは等しく扱われます (通過)、13 x 13 x 5 = 845予測ボックスが生成され、出力テンソル次元は13 x 13 x 5 x (5 + 20)
  • YOLOv3 : 416 x 416を入力し、13 x 13 (大きなターゲット)、26 x 26 (中程度のターゲット)、52 x 52 (小さなターゲット) を生成します。 x 3 = 10647 予測フレーム、各予測は 4 (座標値)、1 (信頼スコア)、80 (ココ カテゴリ数) の 85 次元に対応します。

7.4 YOLOv3アンカー

  • YOLOv3 は、各グリッド セルに 3 つのアンカー (クラスタリング) を割り当て、合計 9 つのアンカー
  • 13 x 13 の特徴マップ: 元の画像に対応する受容野は、元の画像の 32 x 32 ピクセルに対応するグリッド セルであり、32 倍にダウンサンプリングされ、大きなターゲットを予測し、大きなアンカーに対応します。
  • 26 x 26 の特徴マップ: ターゲットの予測を担当
  • 52 x 52 の特徴マップ: 小さなターゲットの予測を担当

  • たとえば、グリッド セルに落下するターゲットの場合、ターゲットは、グリッド セルのアンカー内のターゲット グラウンド トゥルースの最大 IOU を持つアンカーによって予測されますが、各スケールには、グリッドをスケールする最大 IOU を持つアンカーがあります。cell対応するアンカー予測はどうですか?
  • すべてのアンカーの中でターゲットのグラウンド トゥルースの最大の IOU を持つアンカーは、予測を担当します. YOLOv3 は、中心点がどのグリッド セルに含まれるかではなく、誰が最大の IOU を持っているかを調べます。

7.5 ポジティブおよびネガティブ サンプル マッチング ルール

  • 正の例:任意のグラウンド トゥルースを使用し、すべての 4032 ボックスで IOU を計算します。最大の IOU を持つ予測されたボックスが正の例です。
    • 予測フレームは、予測を担当する 1 つのグラウンド トゥルース (最大の IOU) にのみ割り当てることができます。
    • 正の例では、信頼度の損失、検出フレームの損失、およびカテゴリの損失が発生します.カテゴリ ラベルの対応するカテゴリは 1、残りは 0、信頼度ラベルは 1 です。
  • サンプルを無視する:肯定的な例を除いて、(この論文では 0.5 が使用されています) より大きい場合、それは無視されたサンプルです。
    • サンプルを無視しても損失は発生しません
  • 負の例:正の例 (グラウンド トゥルースの計算後に IOU が最大であるが、IOU がしきい値よりも小さい検出フレーム) を除き、すべてのグラウンド トゥルースを含む IOU は、しきい値(0.5) 未満の場合は、負の例です。
    • 負の例は、損失を生成する信頼のみを持ち、信頼ラベルは 0 です。


注意⚠️:

  1. YOLOv1 は中心点に応じて対応する予測ボックスを割り当て、YOLOv3 は予測値に基づいて正例として最大の IOU を持つ予測ボックスを見つけます.これは、Yolov3 がマルチスケールの特徴マップを使用するためであり、重複する検出部分が存在ます。サンプルを無視して異なるスケールの特徴マップ間
  2. Yolov1/2 の信頼ラベルは、予測フレームと実際のフレームの間のIOUであり、Yolov3 は0 と 1です。これは、予測フレームが実際のオブジェクトであるかどうか、つまり2 カテゴリであるということを意味します。
  3. Yolov1/2 の信頼しきい値として IOU を使用することの何が問題になっていますか?
    1. 多くの予測ボックスと gt の間の最高の IOUはわずか 0.7 です(この値はまったく高くありません。この値をラベルとして使用するとトレーニングが難しくなります。ラベルを直接 1 に設定すると、これがモデルに明確に伝えられます。はポジティブなサンプルで、ただ勉強するだけでなく、一生懸命勉強し、アイドルとして学びます 0.7)
    2. COCO データセットには多数の小さなオブジェクトがあり、IOU はピクセル オフセットに非常に敏感であり、効果的に学習できません—《小さなオブジェクト検出の増強》

7.5 入力と出力のマッピング関係

 

7.6 損失関数

次の図は、Tongji Zihao の損失関数の分析からのものです。

注 ⚠️: YOLOv3 はFocal Loss を使用しようとしましたが、mAP が 2 ポイント減少しました

原因分析: Focal Loss は、1 段階のターゲット検出における「ポジティブ サンプルとネガティブ サンプルのバランスが取れておらず、本当に有用なネガティブ サンプルがほとんどない」という問題を解決します。これは、ある程度の困難なケースのマイニングに相当します。YOLOv3 の負のサンプルの IOU しきい値が高すぎる (0.5) に設定されているため、疑わしい正のサンプル (ラベル ノイズ) が負のサンプルに混入し、Focal Loss によってこれらのノイズの重みが大きくなるため、効果は良くありません。 

7.7 トレーニングプロセスとテストプロセス

 

7.8 YOLOv3 の長所と短所

YOLOv3 の利点:

  • 高速な推論速度と高いコストパフォーマンス
  • バックグラウンド誤検出率が低い
  • 多用途

YOLOv3 の欠点:

  • 低再現率
  • 位置決め精度が悪い
  • 近接または遮蔽されたグループや小さなオブジェクトの検出能力が比較的弱い

おすすめ

転載: blog.csdn.net/daydayup858/article/details/130118143