目标检测的评价指标(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} \text{ }\) 即 预测正确的部分
占 预测结果
的比例
\(Recall=\frac {TP} {TP+FN} \text{ }\) 即 预测正确的部分
占 GroundTruth
的比例
3. IoU(Intersection over Union)
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(数量)
d. 计算Recall,由于TP+FN是GroundTruth(即已知的检测框的数量),则可以得到:
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是所有类结果的平均值。