目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)
1. TP TN FP FN
? GroundTruth 預測結果
TP(True Positives): 真的正樣本 = 【正樣本 被正確分為 正樣本】
TN(True Negatives): 真的負樣本 = 【負樣本 被正確分為 負樣本】
FP(False Positives): 假的正樣本 = 【負樣本 被錯誤分為 正樣本】
FN(False Negatives):假的負樣本 = 【正樣本 被錯誤分為 負樣本】
2. Precision(精度)和 Recall(召回率)
(Precision=frac {TP} {TP+FP} ext{ }) 即 預測正確的部分 占 預測結果 的比例
(Recall=frac {TP} {TP+FN} ext{ }) 即 預測正確的部分 占 GroundTruth 的比例
3. IoU(Intersection over Union)
[IoU=frac {TP} {TP+FP+FN}
]
4. AP
(1) 找出 預測結果 中 TP(正確的正樣本) 和 FP(誤分為正樣本) 的檢測框
設置IoU的閾值,如IoU=0.5
IoU值大于0.5 預測結果 正確;否則, 預測結果 錯誤,如下圖所示
(IoU=frac {TP} {TP+FP+FN} gt 0.5) 預測結果:TP
(IoU=frac {TP} {TP+FP+FN} lt 0.5) 預測結果:FP
注意:這里的TP、FP與圖示中的TP、FP在理解上略有不同
(2) 計算 不同置信度閾值 的 Precision、Recall
a. 設置不同的置信度閾值,會得到不同數量的檢測框:
? 閾值高,得到檢測框數量少;
? 閾值低,得到檢測框數量多。
b. 對于 步驟a 中不同的置信度閾值得到 檢測框(數量)=TP(數量)+FP(數量)
c. 計算Precision,按照上面步驟(1)中使用IoU計算TP、FP的方法,將步驟b中的檢測框(數量)劃分為TP(數量)、FP(數量)
[Precision=frac {TP} {TP+FP}
]
d. 計算Recall,由于TP+FN是GroundTruth(即已知的檢測框的數量),則可以得到:
[Recall=frac {TP} {TP+FN}
]
e. 計算AP,不同置信度閾值會得到多組(Precision,Recall)
假設我們得到了三組(Precision,Recall):
(0.9, 0.2),(0.5, 0.2),(0.7, 0.6),如下圖中所示
AP=上圖中所圍成的面積,即 AP = 0.9 x 0.2 + 0.7 x 0.4 = 0.46
5. mIoU、mAP
IoU和AP是對一個類別所計算的結果,mIoU和mAP是所有類結果的平均值。
原文:https://www.pianshen.com/article/20801175613/
總結
以上是生活随笔為你收集整理的目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.0 修改字符集_修改及查
- 下一篇: php输出查询mysql总数_PHP查询