yolov5 の損失関数には次のものが含まれます。
分類損失 分類損失
定位損失 測位損失、予測フレームと実際のフレーム間の誤差
自信の喪失 自信の喪失、ボックスのターゲット
総損失関数は 3 つの関数の合計です。
分類損失 + 位置特定損失 + 信頼性損失
3 つの損失の前に異なる重み係数を乗算して、異なる比率の結果を達成することも可能です。
yolov5 の信頼性損失と分類損失はバイナリ クロス エントロピーで行われ、測位損失はCIOU損失で行われます。
クラスの予測
従来の多分類タスクでは、予測スコアを確率 1 に変換するために一般にソフトマックス関数が使用されますが、これはダイオードに似ており、動物でない場合、人、または背景である場合、強い独占性が生じます。
yolov3/v4/v5 では、トレーニングの分類損失を計算する際に、ソフトマックス関数の代わりにラベルごとにバイナリ クロス エントロピーが使用され、計算量が軽減され、特定のラベルが入力される可能性が計算されます。出力できるラベルは歩行者 + 子供のタイプで、合計出力スコアは 1 より大きい場合があります。
境界ボックスの損失 (定位損失)
IoUの損失
前回の IoU 損失は境界ボックスの損失に使用され、実際のボックスと予測ボックスの交差比が損失の計算に使用されました。しかし問題が発生します。実際のボックスと予測ボックスが重ならない場合、IoU 値は 0 になり、2 つの形状間の距離が反映されないため、勾配が 0 になり、最適化できません。
GIoUの損失
その後、CVPR2019 で、最小バウンディング ボックスの概念が導入された GioU と呼ばれる損失がありました。写真のように
グリーンのフレームAとカーキのフレームBを完全に囲むこのフレームをCフレームと呼びます
この場合、GIoU 損失は、2 つのボックスと比率 IoU の積— (|C ÷ (A ∪ B)| ÷ |C|) となります。
しかし、GIoU にはいくつかの問題もあります。
1. 検出フレームと実際のフレームに現象が含まれているように見える場合 (一方が他方を完全に覆い、結合がない)、GIoU はIoU に縮退します。
2. 2 つのボックスが交差する場合、水平方向と垂直方向の収束が遅い
DIoU損失
この時、新たなDIoUロスが発生
このとき、 2つのフレームの中心点と対角線Cとの間の距離dの概念 を導入する。
b と bgt は予測ボックスの中心点と gt ボックスの中心点を表します。ρ2() はユークリッド距離を表し、c はこれら 2 つのボックスを含む最小の長方形の対角長を表します。このように、この状況では中心点からの距離も基準となり、最適化の方向性もありえます。これにより、2 つのボックスが交差するときの水平方向と垂直方向の収束が遅いという問題が解決されます。
元の論文では、著者はトレーニングプロセスを説明しました
1 行目は GIoU、2 行目は DIoU です。中央の緑色のフレームが実際のフレームです。この図から、GIoU は収束するのに 400 回必要であるのに対し、DIoU は 120 回しか必要とせず、その効果が明らかにわかります。 DIoU の収束の方が優れています。その理由は、DIoU では2 つのフレームの中心点間の距離が考慮されており、 2 つのフレームの中心点間の距離が 0 または 0 に近い場合にフィッティング状態であると判断できるためです。
CIoU の損失
CIoU は、2 つのボックスのアスペクト比の一致を比較するために、アスペクト比の別の条件を追加します。
最後のαvはGIoUと比べて増加した部分です。
要約する
DIoU は IoU や GioU よりも収束速度が速くなります。
CIoU では、オーバーラップ領域、中心点の距離、アスペクト比など、より多くの範囲を考慮します。このようにして、フレームの回帰がより十分になるため、Yolov5 のデフォルトの長方形フレーム損失は CIoU Loss になります。
参考: