网上有不少关于ap以及map的概念以及方法介绍,此处用于理清一些模糊的概念
Precision(查准率),指的是我们的模型预测出来的目标中有多少是真正的目标,用TN(大于分类置信度阈值以及大于预测和标签的IoU阈值)除以预测出来的目标数量(proposals)即可
Recall(查全率),指的是有多少真正的目标物体被模型检测出来了,用TN除以原来有多少个目标(totals)即可。
举个例子,如下图所示,数据集中共有5个待检测的物体,则totals = 5,由于目标检测模型对于只有大于分类置信度阈值的目标才会输出,因为proposals视Rank的值而定。我们按照模型给出的置信度由高到低对候选框进行排序,即Rank由高到低进行排列,Correct表示的是标签与预测的IoU是否大于阈值。如果以Rank1为界限,则proposals = 1
conf阈值 TN totals proposals
Rank1 1 5 1
Rank2 2 5 2
Rank3 2 5 3
Rank依次往下,TN的值分别为(从 Rank4开始)2、2、3、4、4、4、5,totals一直是5,proposals的值则依次是4、5、6、7、8、9、10
对于检测过程中IoU阈值a、分类置信度conf阈值c,以及计算AP过程中的IoU阈值b和分类置信度阈值d,这4个概念是分开的,IoU阈值a是用来在nms中剔除冗杂的预测框,避免输出过多,而IoU阈值b是为了计算预测是否正确
计算目标检测的AP
于 2022-08-03 10:25:33 首次发布