【深度學習】目標檢測之評價指標mAP
- 評價指標
- 混淆矩陣
- Precision 精確率(精度)
- Recall 召回率
- IoU 交并比
- 平均精度 AP
- mAP
- 總結
評價指標
時隔一年,又重新開始了學習之路,哈哈哈廢話不多說,開始我最近整理的一些內容叭,今天要整理的知識點是目標檢測領域常用的幾個評價指標,準確率Precision,召回率Recall,交并比IoU,平均精度AP,多個類別AP的平均值即mAP等等,
混淆矩陣
目標檢測模型通常會輸出很多個檢測框,我們是通過統計并計算每個檢測框是否能檢測到目標的各種占比來衡量模型的檢測效果,因此,我們會把檢測框分成如下四種情況,判斷的依據主要是通過計算交并比(IoU,這個下面會講到),
- TP (True Positive) ,真的正樣本 = 正樣本 被分類為 正樣本;
- TN (True Negative) ,真的負樣本 = 負樣本 被分類為 負樣本;
- FP (False Positive) ,假的正樣本 = 負樣本 被分類為 正樣本;
- FN (False Negative) ,假的負樣本 = 正樣本 被分類為 負樣本(通常為漏檢);
按照檢測框的檢測情況,我們寫成一個4x4的矩陣形式(稱為混淆矩陣):
| 分類情況 | 預測為正類 | 預測為負類 |
|---|---|---|
| 真實正樣本 | TP | FN |
| 真實負樣本 | FP | TN |
對于一張影像而言,預測的情況和真實樣本的情況如下(記住這個,后面計算不會混亂)

Precision 精確率(精度)
Precision:指的是在模型預測的結果中,其中正確的有多少個,看上面的圖,預測結果有TP+FP,
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP?
Recall 召回率
Recall:指的是在所有的真實目標中,其中正確的有多少個,看上面的圖,真實目標有TP+FN,
R e c a l l = T P T P + F N Recall= \frac{TP}{TP+FN} Recall=TP+FNTP?
IoU 交并比
IoU:指的是檢測框與樣本標注的矩形框的交集與并集的比值,

平均精度 AP
AP(Average Precision)指的是Precision-Recall曲線下的面積,
先從單個類別(貓)開始計算,假設一共有3張圖片,綠色框是GT(7個),紅色框是預測框(7個)并帶有置信度,現在假設IOU=50%,按照置信度排序得到下表



得到統計表后,根據confidence取不同的閾值,可以計算Precision和Recall



這樣我們就可以根據表計算種類貓的AP值了
貓 A P = ∑ i = 1 R a n k ( R e c a l l i ? R e c a l l i ? 1 ) × P r e c i s i o n i 貓AP=\sum_{i=1}^{Rank}(Recall_i - Recall_{i-1})\times Precision_i 貓AP=i=1∑Rank?(Recalli??Recalli?1?)×Precisioni?
即:貓AP=(0.14-0)x1.0 + (0.28-0.14)x1.0 + (0.42-0.28)x1.0 + (0.57-0.42)x1.0 + (0.71-0.57)x0.71=0.6694
mAP
mAP (means Average Precision) 即各類別的AP值的均值
m A P = ∑ j c l a s s _ n u m b e r C l a s s _ A P j mAP = \sum_{j}^{class\_number} Class\_AP_j mAP=j∑class_number?Class_APj?
總結
完結,謝謝,覺得有幫助的可以點個贊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/402577.html
標籤:其他
