Pascal VOCリーダーボードの検出タスクのmAP(平均精度)の計算方法は?http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?challengeid=11&compid=4
そこに-11ページで:http : //homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf
平均精度(AP)。VOC2007チャレンジでは、分類された検出と検出の両方を評価するために、補間された平均精度(Salton and Mcgill 1986)が使用されました。特定のタスクおよびクラスについて、精度/リコール曲線はメソッドのランク付けされた出力から計算されます。リコールは、特定のランクよりも上位にランク付けされたすべての肯定的な例の割合として定義されます。精度は、そのランクより上のすべての例のうち、ポジティブクラスからの割合です。APは精度/リコール曲線の形状を要約し、11個の等間隔のリコールレベル[0,0.1、...、1]のセットでの平均精度として定義されます。
AP = 1/11 ∑ r∈{0,0.1,...,1} pinterp(r)
各リコールレベルrの精度は、対応するリコールがrを超えるメソッドに対して測定された最大精度を取得することにより補間されます
pinterp(r) = max p(r˜)
。ここで、p(r〜)はリコール〜rで測定された精度です。
地図について:http://0agr.ru/wiki/index.php/Precision_and_Recall#Average_Precision
それは次のことを意味します:
PrecisionとRecallを計算します。
- A)多くの異なるもの
IoU
について、> {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}
真/偽の正/負の値を計算します
ここで
True positive = Number_of_detection with IoU > {0, 0.1,..., 1}
、https://datascience.stackexchange.com/a/16813/37736で述べたように、次に計算します:Precision = True positive / (True positive + False positive)
Recall = True positive / (True positive + False negative)
- A)多くの異なるもの
B)または、検出アルゴリズムのさまざまなしきい値について、以下を計算します。
Precision = True positive / (True positive + False positive)
Recall = True positive / (True positive + False negative)
ここ
True positive = Number_of_detection with IoU > 0.5
で言ったように:https : //stackoverflow.com/a/43168882/1558037
C)または、検出アルゴリズムのさまざまなしきい値について、計算します:
Precision = Intersect / Detected_box
Recall = Intersect / Object
- その後、我々は、AP(平均精度)を計算する11個の値の平均
Precision
点でRecall = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}
、すなわちAP = 1/11 ∑ recall∈{0,0.1,...,1} Precision(Recall)
(一般的に、0.3などの各ポイントに対して、この時点での精度の値Recall = 0.3ではなく、リコールの精度の最大値<= 0.3を取得します)
- そして、すべての画像の1つのオブジェクトクラスに対してのみAPを計算すると、このクラスに対してAP(平均精度)が得られ
air
ます。
したがって、APは不可欠です(曲線の下の領域):https : //stats.stackexchange.com/a/157019/111998
しかし、すべての画像のすべてのオブジェクトクラスのAPを計算すると、たとえばR4D_faster_rcnnの場合、すべての画像データセットのmAP(平均精度)が得られます88.6
:http ://host.robots.ox.ac.uk:8080/leaderboard /displaylb.php?challengeid=11&compid=4
質問:
- それは正しいですか、そうでない場合、Pascal VOC ChallengeのmAPを計算する方法は?
- また、パラグラフ1の3つの式(A、B、またはC)のうち、PrecisionとRecallの計算に正しいものはどれですか
短い答え:
- mAP = AVG(各オブジェクトクラスのAP)
- AP = AVG(11の各リコールの精度{精度= 0、0.1、...、1})
- PR曲線=精度とリコール(予測バウンドボックスにある各しきい値に対して)
- 精度= TP /(TP + FP)
- リコール= TP /(TP + FN)
- TP = IoU> 0.5での検出数
- FP = IoU <= 0.5の検出数または複数回検出
- FN =検出されなかった、またはIoU <= 0.5で検出されたオブジェクトの数