文章目录[隐藏]
目标检测/实例分割任务
- 输入:单张图像
- 输出:边界框(x, y, w, h)+置信度
IOU, TP, FP, FN
-
IOU:预测框与Ground Truth(GT)的交并比
-
TP:预测框中与对应的GT边界框中置信度大于置信度阈值且Ground Truth对应的预测框中最大的
-
FP:预测框集合-TP
-
FN:GT-TP
Precision, Recall, PR-curve
- precision = #TP/#预测框
- recall = #TP/#GT
- PR-curve: precision随着recall增加的变化曲线
AP
为了计算所有类别的mAP,先要计算每个类别的AP
设定
假定数据有Image 1和Image 2两张图片,预测框为:P1、P2、P3、P4,IOU阈值设为0.5
该数据集GT、预测框的置信度、预测框与对应GT的IOU如下
按置信度排序
将以上预测结果按其置信度排序,得到如下表格
从上到下,计算累计precision和recall
- 累计precision = 累计TP/累计预测框
- 累计recall=累计TP/#GT
画P-R曲线
不难看出,从上到下累计recall一定是单调非减的(因为累计TP是单调非减的),根据累计recall和累计precision即可得到P-R curve
AP计算的是等间隔recall(如[0:.01:1])下,precision的平均值,描述的是不同recall下precision的总体情况
需要注意的是,这里的precision是插值得到的
mAP
通过计算得到了每个类别下的AP,各个类别的AP的均值即为mAP
mAP(COCO)
- COCO使用[0:.01:1] 作为recall的阈值
- COCO使用[0.5:.05:0.95] 作为IOU的阈值,即
- COCO计算流程:
-
计算每类下不同IOU阈值AP的均值
-
计算所有类别的平均值
-
可以说,AP是precision的平均(所有recall阈值)的平均(所有IOU阈值)的平均(所有类别)
讨论
优点
- 目标检测/实例分割是比较复杂的任务,mAP用一个数值就刻画了模型性能的好坏
缺点
- 对于实例分割任务,mAP没有体现分割mask质量的好坏
参考
[1] https://jonathan-hui.medium.com/map-mean-average-precision-for-object-detection-45c121a31173
[2] https://kharshit.github.io/blog/2019/09/20/evaluation-metrics-for-object-detection-and-segmentation
[3] https://towardsdatascience.com/map-mean-average-precision-might-confuse-you-5956f1bfa9e2
[4] https://manalelaidouni.github.io/Evaluating-Object-Detection-Models-Guide-to-Performance-Metrics.html
版权声明:本文为CSDN博主「notzy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_17030183/article/details/122677147
暂无评论