転載
これは紙の読書ノートです
論文リンク:https://arxiv.org/abs/1708.02002
コードリンク:https://github.com/facebookresearch/Detectron
まず、質問してください。なぜ、1ステージ法の精度が2ステージ法の精度よりも低いのですか。
この問題は、このホワイトペーパーで説明および解決されている主な問題です。
著者は、非常に重要な要素は、1段階法における陽性サンプルと陰性サンプルの不均衡であると結論付けています。
それでは、なぜ1段階法が陽性サンプルと陰性サンプルの間で不均一なのですか?
次に例を示します。
まず、典型的な1段階の方法であるSSDを見てみましょう。SSDでは、事前に特定のルールに従って事前に生成され、約10,000の候補領域が生成されます。定期的なサンプリングにより、ハードな例のマイニング(たとえスコアは前の部分に従って並べ替えられますが)まだより単純なサンプルがあり、正と負のサンプルのバランスがとれていません。
2段階の方法と比較して、Faster R-CNNを代表として使用します。FasterR-CNNでは、最初にRPNネットワークを使用してターゲットボックス候補領域を生成し、アポイントメントにより1000-2000候補ボックスを生成します。負のサンプルは、分類プロセスで、正と負のサンプル1:3またはOHEMメソッドを使用して、正と負のサンプルのバランスをとります。
2つのステージの利点の概要は次のとおりです。
-
2段階のカスケードを使用するため、rpnステージは候補領域の数を約1〜2kに制御できます。これは、1ステージに比べて大幅に削減されます。
-
ミニバッチサンプリング、サンプリングはランダムサンプリングではありませんが、ポジティブサンプルの位置に基づいてサンプリングします(たとえば、ネガティブサンプルを0.1〜0.3のグラウンドトゥルースIOUに設定)。一部の単純なサンプルと、1:3などの正と負のサンプル比の選択もバランスを崩しています。
正と負のサンプルカテゴリの不均衡によって引き起こされる問題:
- トレーニングは非効率的であり、あまりにも多くの負のサンプルが検出フレームに影響を与えません。(ほとんどの場所は有用な学習信号を提供しないネガティブなため、トレーニングは非効率的です)
- 単純な負のサンプルが多すぎると、トレーニングが抑制され、トレーニング効果が良くなくなります。(簡単な否定語をまとめると、トレーニングを圧倒し、モデルが縮退する可能性があります。)
この問題を解決するために、著者はFocal Lossを提案し、RetinaNetを設計しました
ポジティブサンプルとネガティブサンプルを解決する方法:焦点損失
フォーカルロスはクロスエントロピーロスに基づいて修正されるため、最初にクロスエントロピーロスを確認する必要があります。
クロスエントロピー損失の計算式は次のとおりです。単純なバイナリクロスエントロピー損失は次のとおりです。つまり、2つのカテゴリしかありません。
簡単にするために、 γが 2の場合、負のサンプルの損失のほとんどは非常に小さく、損失のごく一部のみが比較的大きいため、焦点の損失が単純な負のサンプルの抑制に役割を果たし、ほとんどの負のサンプルが作成されます。効果はありません。
以下は、ネットワークの検出精度と速度、および最新のネットワークとの比較です。
下の2つの図を見ると、APが同じではないことがわかります。主な理由は、APがスケール変換などのいくつかの戦略を使用しているためです。
上記は、Focal LossとRetinaNetについての理解です。何か問題がある場合は、修正してください