深度学习中的AP和mAP总结

1. IOU是什么

首先给出IOU定义
深度学习中的AP和mAP总结_第1张图片
Bp是预测框(predicted bounding box)。
Bgt是真实标注的框(ground truth bounding box)。
IOU就是BpBgt的区域交集面积大小除以并集面积大小,如下图
深度学习中的AP和mAP总结_第2张图片

2. Precision和Recall是什么

2.1 TP、FP、FN、TN

True Positive (TP): 是一种正确的检测,检测的 IOU ≥ threshold。
False Positive (FP): 是一种错误的检测, 检测的 IOU < threshold。
False Negative (FN): 真值没有被检测出来。即“漏检”。
True Negative (TN): 没有真值,并且没有检测出来。
只看文字不太易懂,如下图(https://manalelaidouni.github.io/Evaluating-Object-Detection-Models-Guide-to-Performance-Metrics.html)
深度学习中的AP和mAP总结_第3张图片
图中,绿色框是检测框,红色框是真是框。
TP:左侧第一张图是TP,即检测框和真实框的IOU>=threshold。
FP:中间两张图都是FP,因为真实框和检测框的IOU< threshold(其中第二张图没有真实框,认为IOU为0)。
FN:最右侧是FN, 没有检测框,但是实际有真是框。漏检。
TN:对于TN,即没有真是框,也没有检测框。被检测的图中什么框都没有。

2.2 Precision和Recall的定义

在这里插入图片描述
在这里插入图片描述

3. Average Precision

3.1 Precision 和 Recall的计算

深度学习中的AP和mAP总结_第4张图片
7张图,总共15个真是框(绿色),24个检测框(红色)。其中,检测框用(A,B,…,Y)进行标号,对应的置信度标在字母旁边。
得到下表,第一列是对应的图片编号,第二列是当前的预测框(bounding box,bbox),第三列是bbox对应的置信度,第四列说明当前bbox是TP还是FP(根据IOU和threshold判断,具体数值省略)。
深度学习中的AP和mAP总结_第5张图片
对上表所有的bbox按照置信度,做降序。
深度学习中的AP和mAP总结_第6张图片
举例, 计算第二行 (图 7): Precision = TP/(TP+FP) = 1/2 = 0.5 and Recall = TP/(TP+FN) = 1/15 = 0.066。

3.2 P-R曲线的绘制

描点法绘制Precision-Recall图,如下:
深度学习中的AP和mAP总结_第7张图片

(1) 所有点插值法(interpolation performed in all points)
从上面P-R曲线最右侧的点,往左看,碰到第一个(按照横坐标recall,从右往左的第一个)比当前的precision值大的点,就取该点。如果横坐标recall相同,那么就取最大的precision对应的点。
举例,从右往左的第一个点是G或者O,大于当前precision(G、O)值的的是X、N、T、K、Q、V。其中precision最大的是precision(X),因此取X。
以此类推,取J、R。
然后,根据X、J、R做水平线,与P-R曲线的竖线相交,得到如下红色虚线。即为所有点插值法的P-R曲线
深度学习中的AP和mAP总结_第8张图片
根据上图,可以把整个所有点插值法的P-R曲线下方区域进行划分,如下图。
深度学习中的AP和mAP总结_第9张图片
然后,可以计算AP,AP的原始定义是
深度学习中的AP和mAP总结_第10张图片
即,针对自变量r,对曲线p做积分。
即把四块区域的面积进行相加。
深度学习中的AP和mAP总结_第11张图片
上面这种计算方式也叫做Area under curve (AUC)

(2)11点插值法
所为11点插值法,就是固定取横坐标recall的值为11个点的值(0,0.1,…,1),间隔为0.1。
与法(1)不同的是,从左往右相交的策略不同。此法一般不用。

深度学习中的AP和mAP总结_第12张图片
深度学习中的AP和mAP总结_第13张图片
COCO中的mAP和AP是一个值。

参考文献
[1] (https://jonathan-hui.medium.com/map-mean-average-precision-for-object-detection-45c121a31173)
[2] https://github.com/rafaelpadilla/Object-Detection-Metrics
[3]https://blog.zenggyu.com/en/post/2018-12-16/an-introduction-to-evaluation-metrics-for-object-detection/

你可能感兴趣的:(深度学习,深度学习,人工智能)