目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

转载:https://blog.****.net/XinyanH/article/details/102733730


1. TP TN FP FN
                                                       GroundTruth           预测结果

TP(True Positives):   真的正样本  = 【正样本  被正确分为  正样本】

TN(True Negatives): 真的负样本  = 【负样本  被正确分为  负样本】

FP(False Positives):  假的正样本  = 【负样本  被错误分为  正样本】

FN(False Negatives):假的负样本  = 【正样本  被错误分为  负样本】

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)
 

2. Precision(精度)和 Recall(召回率)
目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

3. IoU(Intersection over Union)

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

 

4. AP
(1) 找出  预测结果  中  TP(正确的正样本)  和  FP(误分为正样本)  的检测框

     设置IoU的阈值,如IoU=0.5

     IoU值大于0.5  预测结果  正确;否则, 预测结果  错误,如下图所示

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)                              

          目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

                  预测结果:TP                                      预测结果:FP

注意:这里的TP、FP与图示中的TP、FP在理解上略有不同

(2) 计算  不同置信度阈值  的  Precision、Recall

a. 设置不同的置信度阈值,会得到不同数量的检测框:

        阈值高,得到检测框数量少;

        阈值低,得到检测框数量多。

b. 对于  步骤a  中不同的置信度阈值得到  检测框(数量)=TP(数量)+FP(数量)

c. 计算Precision,按照上面步骤(1)中使用IoU计算TP、FP的方法,将步骤b中的检测框(数量)划分为TP(数量)、FP(数量)

        目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

d. 计算Recall,由于TP+FN是GroundTruth(即已知的检测框的数量),则可以得到:

       目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)       

e. 计算AP,不同置信度阈值会得到多组(Precision,Recall)

    假设我们得到了三组(Precision,Recall):

  (0.9, 0.2),(0.5, 0.2),(0.7, 0.6),如下图中所示

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)

AP=上图中所围成的面积,即  AP = 0.9 x 0.2 + 0.7 x 0.4 = 0.46

 

5. mIoU、mAP
IoU和AP是对一个类别所计算的结果,mIoU和mAP是所有类结果的平均值。