YOLOシリーズ ターゲット検出アルゴリズムカタログ -記事リンク
- YOLOシリーズのターゲット検出アルゴリズムの概要と比較-記事リンク
- YOLOv1 -記事リンク
- YOLOv2 -記事リンク
- YOLOv3 -記事リンク
- YOLOv4 -記事リンク
- Scaled-YOLOv4 -記事リンク
- YOLOv5 -記事リンク
- YOLOv6 -記事リンク
- YOLOv7 -記事リンク
- PP-YOLO -記事リンク
- PP-YOLOv2 -記事リンク
- YOLOR -記事リンク
- YOLOS -記事リンク
- YOLOX -記事リンク
- PP-YOLOE -記事リンク
この記事の概要は次のとおりです。
- YOLOv2 と比較すると、変更は小さく、モデルはわずかに大きくなりますが、精度は高くなります。
- カテゴリ予測はロジスティック回帰に変更され、ソフトマックスは使用されなくなりました。つまり、YOLOv2 によって予測されたカテゴリは相互に排他的であり、YOLOv3 のカテゴリは互いに関連しません。たとえば、同じターゲットが「女性」と「人々」に分類され、損失関数は BCE 損失を使用します。
- マルチスケール予測。3 つの異なるスケールの特徴マップを使用して 3 つの検出結果をそれぞれ予測し、さまざまなスケールのターゲットをより適切に検出できます。
- 新しい残りの接続が特徴抽出ネットワークに追加され、層の数が Darknet-53 と名付けられた 53 層に拡張されました。
- 他のいくつかの方法やテクニックを YOLOv2 に追加しようとしましたが、機能しないことがわかりました。これらの方法には、アンカー オフセットの直接予測、ロジスティック回帰を使用せずに x、y 座標を予測する線形関数、焦点損失、2 倍の IoU しきい値、および真の値を使用する方法が含まれます。配布方法。
- AP0.5 評価インデックスを使用する YOLOv3 は、他の検出システムよりも高速で優れているという大きな利点があります。
- 評価指標 IoU 閾値の選択を分析し、「0.3 と 0.5 の差を人間が区別するのは難しい! 人間が区別するのが難しい場合、AP0.5 ~ 0.95 を使用する重要性は何ですか?」
コラムリンク:
https://blog.csdn.net/qq_39707285/article/details/124005405
此专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。
この章の内容
2018.4.8 YOLOv3:《YOLOv3: 段階的な改善》
1 はじめに
YOLOv3 は YOLOv2 に基づいて小さな変更を加えており、ネットワークはわずかに大きくなっていますが、より正確になっています。
2. 主なアイデア
2.1 境界ボックスの予測
YOLOv2 では、ネットワークは 4 つのボックスの座標tx、ty、tw、th t_x、t_y、t_w、t_h を予測します。t×、tはい、tw、tふ、セルと画像の左上隅の間のオフセットがcx、cy c_x、c_yの場合c×、cはい、前のボックスの幅と高さはpw 、 ph p_w,p_hです。pw、pふの場合、予測値は次のようになります。
特定の座標の真の値がt ∗ ^ \hat{t_*}の場合、トレーニングでは平均差分損失が使用されます。t∗^の場合、勾配は真の値 (GT ボックスから計算) から予測値を引いた値になります: t ∗ ^ − t ∗ \hat{t_*}-t_*t∗^−t∗。この真の値は、上式を変形することで簡単に計算できます。
YOLOv3 は、ロジスティック回帰を使用して、各境界ボックスのオブジェクト性スコアを予測します。前のボックスが他の以前の境界ボックスよりも GT オブジェクトと重なる場合、この値は 1 でなければなりません。前のボックスが最適ではないが、GT ターゲットとの重複が設定されたしきい値を超えている場合 (Faster R-CNN など)、予測結果は無視され、この論文で設定されたしきい値は 0.5 です。Faster R-CNN とは異なり、私たちのシステムはGT オブジェクトごとに前のボックスを 1 つだけ割り当てます。前のボックスが GT ターゲットに割り当てられていない場合、座標やクラスの予測に損失はなく、オブジェクト性のみが失われます。
2.2 カテゴリの予測
各ボックスは、マルチラベル分類 を使用して、ボックスに含まれる可能性のあるクラスを予測します。YOLOv3 は、不要であることが判明したためソフトマックスを使用しませんが、別のロジスティック分類子を使用するだけです。トレーニング中に、クラス予測にバイナリ クロス エントロピー ロス (BCE ロス)を使用します。
この定式化は、オープン イメージ データセットなどのより複雑な領域に移行するときに役立ちます。このデータセットには、重複するラベルが多数あります (つまり、女性と人々)。ソフトマックスを使用すると、各ボックスにクラスが 1 つだけあるという前提が課せられますが、実際はそうではないこともよくあります。マルチラベルのアプローチにより、データをより適切にモデル化できます。
2.3 クロススケール予測
YOLOv3 は 3 つの異なるスケールでボックスを予測します。特徴は、特徴ピラミッド ネットワークと同様の概念を使用して、これらのスケールから抽出されます。基本の特徴抽出器からいくつかの畳み込み層が追加され、最後の層は 3D テンソル エンコーディングの境界ボックス、オブジェクト性、およびクラスを予測します。COCO の実験では、各スケールで 3 つのボックスが予測されるため、テンソルは、4 つの境界ボックス オフセット、1 つのオブジェクトネス予測、および 80 のクラス予測に対して N×N×[3∗(4+1+80) になります。
次に、前の 2 つのレイヤーから特徴マップが抽出され、係数 2 でアップサンプリングされます。特徴マップもネットワークの初期層から取得され、連結を使用してアップサンプリングされた特徴マップとマージされます。このアプローチにより、アップサンプリングされた特徴や以前の特徴マップからのより詳細な情報から、より意味のある意味情報を取得できるようになります。次に、さらにいくつかの畳み込み層を追加して、この結合された特徴マップを処理し、最終的に同様のテンソルを予測します。
YOLOv3 は、同じ設計を再度実行して、別のスケール ボックスを予測します。したがって、第 3 スケールまでの予測には、以前のすべての計算と、ネットワークの初期段階でのきめ細かい特徴が活用されます。
前のボックスを決定するには、引き続き K-means クラスタリングを使用します。9 つのクラスターと 3 つのスケールを任意に選択し、クラスターをスケール全体に均等に分割しました。COCO データセットでは、9 つのクラスターは次のとおりです: (10×13); (16×30); (33×23); (30×61); (62×45); (59×119); (116 × 90) ); (156 × 198); (373 × 326)。
下図の青いボックスは、クラスタリングによって得られた前のボックスです。黄色のボックスはグラウンド トゥルース、赤いボックスはオブジェクトの中心点が位置するグリッドです。
2.4 特徴抽出ネットワーク
新しく設計された特徴抽出ネットワークは、YOLOv2 の Darknet19 および残余ネットワーク構造と組み合わせて、連続 3×3 および 1×1 畳み込み層を使用します。現在、いくつかのショートカット接続が追加され、モデルは合計 53 畳み込み層で拡大されています。 、だからダークネット-53と呼んでください!
この新しいネットワークは Darknet-19 よりもはるかに強力ですが、それでも ResNet-101 や ResNet-152 よりも効率的です。ImageNet の結果の一部を次に示します。
Darknet-53 も、1 秒あたりの最高の浮動小数点演算を達成しました。これは、ネットワーク構造が GPU をより効率的に利用できるようになり、その評価がより効率的になり、より高速になることを意味します。これは主に、ResNet にはレイヤーが多すぎて効率が悪いためです。
2.5 トレーニング戦略
まだ完全な画像を使用してトレーニングしており、ハード ネガティブ サンプリングなどは行っていません。マルチスケールのトレーニング、大規模なデータ拡張、BN、およびすべての標準手法を使用します。
3.YOLOv3
YOLOv3 の全体的なネットワーク構造を次の図に示します。
YOLOv3 のパフォーマンス、比較結果を表 3 に示します。COCO の奇妙な平均 AP メトリクスに関しては、SSD バージョンと同等ですが、3 倍高速です。しかし、この評価基準では、RetinaNet などの他のモデルには依然として遅れをとっています。ただし、 YOLOv3 は、
「古い」検出メトリックIOU=0.5 (グラフでは AP50)を使用する場合に非常に強力です。これは RetinaNet とほぼ同等であり、SSD バージョンをはるかに上回っています。これは、YOLOv3 がオブジェクトに対して適切なボックスを作成することに優れた非常に強力な検出器であることを示しています。ただし、IOU しきい値が増加すると、パフォーマンスが大幅に低下し、YOLOv3 がボックスをオブジェクトに完全に合わせることが困難であることがわかります。
以前は、YOLO は小さなターゲットの検出においてあまりにも優れたパフォーマンスを発揮していました。しかし、現在ではこの傾向が逆転しつつあります。新しいマルチスケール予測を通じて、YOLOv3 が比較的高い AP パフォーマンスを備えていることがわかります。ただし、中型および大型のオブジェクトではパフォーマンスが比較的低くなります。真実を明らかにするにはさらなる調査が必要です。
AP50 メトリクスで精度と速度をプロットすると (図 3 を参照)、YOLOv3 が他の検出システムに比べて大きな利点があることがわかります。つまり、その方が速くて優れています。
4. 仕事のないテクノロジー
上記の手法に加えて、YOLOv3 では多くの手法が試みられていますが、その多くは機能しません。これも非常に重要です。
- アンカー ボックスの X、Y オフセットを
予測する 通常のアンカー ボックス予測メカニズムを使用して X、Y オフセットを予測してみます。つまり、線形アクティベーションを使用してボックスの幅または高さの倍数を予測します。このアプローチはモデルを不安定にし、パフォーマンスが良くないことが判明しました。 - ロジスティック回帰を使用する代わりに x、y を線形に
予測する ロジスティック回帰の代わりに線形関数を使用して x、y オフセットを直接予測しようとすると、mAP が数ポイント低下します。 - 焦点損失
焦点損失を使用してみましたが、mAPが2%ほど低下しました。YOLOv3 は、オブジェクト性の予測とカテゴリの予測を個別に備えているため、焦点損失が解決しようとしている問題に対してすでに堅牢である可能性があります。では、ほとんどの例ではクラス予測に損失はありませんか? じゃあ何?完全にはわかりません。 - デュアル IoU しきい値とグラウンドトゥルース割り当ての
高速化 R-CNN はトレーニング中に 2 つの IoU しきい値を使用します。予測と GT の間のオーバーラップが 0.7 より大きい場合、これは正のサンプルであり、[0.3 − 0.7] の間では無視され、0.3 未満の場合は負のサンプルです。同様の戦略を試みましたが、良い結果は得られませんでした。
現時点では、YOLOv3 スキームは非常に優れており、少なくとも局所的には最適であると思われます。これらのテクニックの中には、最終的に良い結果が得られるものもありますが、トレーニングを安定させるために多少の調整が必要なだけかもしれません。
5. 評価指標の分析
YOLOv3 は、高速かつ正確な非常に優れた検出器であり、AP0.5 ~ AP0.95 の評価指標では最適ではありませんが、AP0.5 の指標では非常に優れています。
なぜインジケーターを変更するのでしょうか? COCO のオリジナルの論文には、「評価指標の完全な議論は、評価サーバーが完成したときに追加されます」という一文しかありません。Russakovsky らは、人間は 0.3 と 0.5 の違いを区別するのが難しいと報告しています。「差が 0.3 の境界ボックスを視覚的に検査し、差が 0.5 の境界ボックスと区別できるように人間を訓練することは特に困難です。」人間が違いを見分けるのが難しいとしたら、それが何の意味があるのでしょうか?