web-dev-qa-db-ja.com

オブジェクト検出およびコンピュータービジョンにおけるmAPメトリック

コンピュータビジョンとオブジェクト検出では、一般的な評価方法はmAPです。それは何であり、どのように計算されますか?

79
cerebrou

引用は上記のものです Zisserman論文-4.2結果の評価(ページ11)

最初に、「オーバーラップ基準」は、0.5より大きい交差オーバーユニオンとして定義されます。 (たとえば、予測されたボックスがグラウンドトゥルースボックスに関してこの基準を満たす場合、それは検出と見なされます)。次に、この「貪欲な」アプローチを使用して、GTボックスと予測ボックスの間でマッチングが行われます。

メソッドによる検出出力は、(減少する)信頼性出力によってランク付けされた順序で、オーバーラップ基準を満たすグラウンドトゥルースオブジェクトに割り当てられました。画像内の同じオブジェクトの複数の検出は、誤検出と見なされました。 1つのオブジェクトの5つの検出は、1つの正しい検出と4つの誤検出としてカウントされます

したがって、各予測ボックスは、True-PositiveまたはFalse-Positiveです。各地上真実の箱は真陽性です。 True-Negativesはありません。

次に、リコールが[0、0.1、...、1]の範囲にある精度-リコール曲線の精度値を平均することにより、平均精度が計算されます(例:11の精度値の平均)。より正確に言うと、p '> pおよびr'> = rのような異なるカーブポイント(p '、r')がある場合、各カーブポイント(p、r)に対して、わずかに修正されたPRカーブを検討します。 、pをそれらのポイントの最大p 'に置き換えます。

私にとってまだ不明な点は、(信頼度が0であっても)neverが検出されたGTボックスで何が行われるかです。これは、精度-リコール曲線が決して到達しない特定のリコール値があることを意味し、これにより、平均精度の計算が未定義になります。

編集:

簡単な答え:リコールが到達できない領域では、精度が0に低下します。

これを説明する1つの方法は、信頼のしきい値が0に近づくと、無限の数のpredicted境界ボックスが画像全体に点灯すると仮定することです。精度はすぐに0になり(GTボックスの数が有限であるため)、リコールは100%に達するまでこの平坦な曲線で成長し続けます。

38
Jonathan

mAPは平均平均精度です。

情報検索(参照 [1][2] )とマルチクラス分類(オブジェクト検出)設定の分野での使用は異なります。

オブジェクト検出用に計算するには、モデル予測に基づいてデータ内の各クラスの平均精度を計算します。平均精度は、クラスの精度-想起曲線下の面積に関連しています。次に、これらの平均個別クラス精度の平均を取ると、平均平均精度が得られます。

平均精度を計算するには、 [3] を参照してください

44
Ankitp

検出の場合、1つのオブジェクトの提案が正しいかどうかを判断する一般的な方法は、Union上の交差点(IoU、IU)です。これは、提案されたオブジェクトピクセルのセットAと真のオブジェクトピクセルのセットBを取り、以下を計算します。

一般的に、IoU> 0.5はヒットであったことを意味し、それ以外の場合は失敗でした。クラスごとに、

  • True Positive TP(c):クラスcに対して提案が行われ、実際にはクラスcのオブジェクトがありました。
  • False Positive FP(c):クラスcの提案が行われましたが、クラスcのオブジェクトはありません
  • クラスcの平均精度:

MAP(平均平均精度)は次のとおりです。

注:より良い提案が必要な場合は、IoUを0.5からより高い値(完璧な1.0まで)に増やします。これは、mAP @ pで表すことができます。ここで、p\in(0、1)はIoUです。

mAP@[.5:.95]は、mAPが複数のしきい値で計算され、再び平均化されることを意味します

編集:詳細情報については、COCOを参照してください 評価指標

26
mrk

ここで重要な部分は、オブジェクト検出が、少なくとも1つ存在する標準情報検索問題と同じとみなされる方法をリンクすることだと思います 平均精度の優れた説明

いくつかのオブジェクト検出アルゴリズムの出力は、提案されたバウンディングボックスのセットであり、各バウンディングボックスについて、信頼度と分類スコア(クラスごとに1つのスコア)です。現時点では分類スコアを無視し、信頼度を しきい値バイナリ分類 への入力として使用してみましょう。直感的には、平均精度は、しきい値/カットオフ値のすべての選択肢を集約したものです。ちょっと待って;精度を計算するには、ボックスが正しいかどうかを知る必要があります!

ここが混乱/困難になる場所です。典型的な情報検索の問題とは対照的に、ここでは実際に余分なレベルの分類があります。つまり、ボックス間で完全に一致させることはできないため、境界ボックスが正しいかどうかを分類する必要があります。解決策は、基本的にボックスの寸法でハードコーディングされた分類を行うことです。 「正しい」と見なされるために、それがグラウンドトゥルースと十分に重複しているかどうかを確認します。この部分のしきい値は、常識により選択されます。作業中のデータセットは、「正しい」境界ボックスのこのしきい値を定義する可能性があります。ほとんどのデータセットは0.5 Io に設定し、そのままにしておきます(0.5のIoUが実際にどれだけ厳しいかを理解するために、手動でIoUを計算することをお勧めします(難しいことではありません))。

「正しい」ことの意味を実際に定義したので、情報取得と同じプロセスを使用できます。

平均平均精度(mAP)を求めるには、それらのボックスに関連付けられた分類スコアの最大値に基づいて提案されたボックスを階層化し、クラス全体の平均精度(AP)の平均(平均を取る)を行います。

TLDR;バウンディングボックス予測が「正しい」かどうか(分類の追加レベル)を判別することと、ボックス信頼度が「正しい」バウンディングボックス予測(情報検索の場合に完全に類似している) mAPは理にかなっています。


精度/リコール曲線の下の面積は平均精度と同じこと であり、積分を近似するための台形または右手の法則でこの領域を本質的に近似していることに注意してください。

8
Multihunter

定義:mAP→平均平均精度

ほとんどのオブジェクト検出コンテストでは、検出する多くのカテゴリがあり、モデルの評価は毎回1つの特定のカテゴリで実行され、評価結果はそのカテゴリのAPです。

すべてのカテゴリが評価されると、すべてのAPの平均がモデルの最終結果であるmAPとして計算されます。

1
刘洪宇