目標檢測中mAP的含義


mAP定義及相關概念

  • mAP: mean Average Precision, 即各類別AP的平均值
  • AP: PR曲線下面積,平均精度,在不同recall下的最高precision的均值(一般會對各類別分別計算各自的AP)。
  • PR曲線: Precision-Recall曲線
  • Precision: TP / (TP + FP)
  • Recall: TP / (TP + FN)
  • TP: IoU>0.5的檢測框數量(同一Ground Truth只計算一次)
  • FP: IoU<=0.5的檢測框,或者是檢測到同一個GT的多余檢測框的數量
  • FN: 沒有檢測到的GT的數量
  • IoU(intersection of union)預測框和真實值的交並比
  •  

     

     

     

    TP (True Positive):一個正確的檢測,檢測的IOU ≥ threshold。即預測的邊界框(bounding box)中分類正確且邊界框坐標正確的數量。

    FP (False Positive):一個錯誤的檢測,檢測的IOU < threshold。即預測的邊界框中分類錯誤或者邊界框坐標不達標的數量,即預測出的所有邊界框中除去預測正確的邊界框,剩下的邊界框的數量。

    FN (False Negative):一個沒有被檢測出來的ground truth。所有沒有預測到的邊界框的數量,即正確的邊界框(ground truth)中除去被預測正確的邊界框,剩下的邊界框的數量。

    Precision (精確率):「Precision is the ability of a model to identify only the relevant objects」,精確率是模型只找到相關目標的能力,等於TP/(TP+FP)。即模型給出的所有預測結果中命中真實目標的比例。

    Recall (召回率):「Recall is the ability of a model to find all the relevant cases (all ground truth bounding boxes)」,召回率是模型找到所有相關目標的能力,等於TP/(TP+FN)。即模型給出的預測結果最多能覆蓋多少真實目標。

    P-R 曲線

     

     AP就是計算曲線下的面積,mAP就是計算各種分類的平均面積。因此曲線下的面積越大,檢測效果越好

    對於Recall >= 0, 0.14, 0.29, 0.43, 0.57, 0.71, 1,我們選取此時Percision的最大值:1, 1, 1, 0.5, 0.5, 0.5, 0。此時 Aeroplane類別的 AP = (0.14-0)*1 + (0.29-0.14)*1 + (0.43-0.29)*0.5 + (0.57-0.43)*0.5 + (0.71-0.57)*0.5 + (1-0.71)*0 = 0.5

    一般來說,對於多分類目標檢測的任務,會分別計算每個類別的TP、FP、FN數量,進一步計算每個類別的Precision、Recall。

    基於numpy的實現代碼見:https://github.com/Cartucho/mAP         https://github.com/facebookresearch/Detectron/blob/master/detectron/datasets/voc_eval.py




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM