1. IOU是什么
首先给出IOU定义 Bp是预测框(predicted bounding box)。 Bgt是真实标注的框(ground truth bounding box)。 IOU就是Bp与Bgt的区域交集面积大小除以并集面积大小,如下图
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) 图中,绿色框是检测框,红色框是真是框。 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的计算
7张图,总共15个真是框(绿色),24个检测框(红色)。其中,检测框用(A,B,…,Y)进行标号,对应的置信度标在字母旁边。 得到下表,第一列是对应的图片编号,第二列是当前的预测框(bounding box,bbox),第三列是bbox对应的置信度,第四列说明当前bbox是TP还是FP(根据IOU和threshold判断,具体数值省略)。 对上表所有的bbox按照置信度,做降序。 举例, 计算第二行 (图 7): Precision = TP/(TP+FP) = 1/2 = 0.5 and Recall = TP/(TP+FN) = 1/15 = 0.066。
3.2 P-R曲线的绘制
描点法绘制Precision-Recall图,如下:
(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曲线。 根据上图,可以把整个所有点插值法的P-R曲线下方区域进行划分,如下图。 然后,可以计算AP,AP的原始定义是 即,针对自变量r,对曲线p做积分。 即把四块区域的面积进行相加。 上面这种计算方式也叫做Area under curve (AUC)。
(2)11点插值法 所为11点插值法,就是固定取横坐标recall的值为11个点的值(0,0.1,…,1),间隔为0.1。 与法(1)不同的是,从左往右相交的策略不同。此法一般不用。
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/
|