AP、mAP计算
概念
AP计算 PR曲线的与坐标轴围成的图形的面积
mAP 所有类别的AP的均值
参考链接https://www.bilibili.com/video/BV1ez4y1X7g2?from=search&seid=13320469311104224558
sklearn中计算AP的函数sklearn.metrics.average_precision_score(y_true, y_score, average=‘macro’, sample_weight=None)
y_true:标签
y_score:预测值
这个函数不能直接在目标检测中计算ap,因为这个不能体现ground truth的数量
计算过程
对于某个类别, 比如狗。
- 有非常多张图像上检测到了有狗,每张图片上不止一个。
- 所有图片上狗的总数为T,即Ground Truth的数目。
- 这些图形输入到网络,检测得到的预测框bounding box,可能与ground truth 有交集,也可能没有交集。
- bounding box与ground truth 的 IOU>0.5的认为是正样本,小于0.5的认为是负样本。
- 每个bounding box都有一个置信度,即属于狗的概率(?)
计算步骤
- 按置信度对所有的bounding box排序
- 按置信度取阈值,大于等于阈值的为True, 置信度小于阈值的为False
- 计算不同阈值下的
TP、FP、FN。Precission=TPTP+FP。Precission = \frac{TP} {TP+FP}。Precission=TP+FPTP ,Recall=TPTP+FNRecall = \frac{TP} {TP+FN}Recall=TP+FNTP。同一Recall值下,取最大的Precission。 - 计算PR曲线与坐标轴围成的面积,即为AP
- 如果有多个类别,计算AP的均值,即为mAP。
示例如下
图片来自https://www.bilibili.com/video/BV1ez4y1X7g2?from=search&seid=13320469311104224558
总共输入了三张图片,有7个目标框。绿色的是ground truth,红色的是预测的bounding box.


按置信度排序。

置信度取0.98时precision和recall

最终结果如下

绘制PR曲线即计算AP

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
