睿智的目标检测20 | 您所在的位置:网站首页 › 精确算法包括什么和什么两部分 › 睿智的目标检测20 |
睿智的目标检测20——利用mAP计算目标检测精确度
学习前言GITHUB代码下载知识储备1、IOU的概念2、TP TN FP FN的概念3、precision(精确度)和recall(召回率)4、概念举例5、单个指标的局限性
什么是AP绘制mAP
学习前言
好多人都想算一下目标检测的精确度,mAP的概念虽然不好理解,但是理解了就很懂。 这个是用来绘制mAP曲线的。 https://github.com/Cartucho/mAP 这个是用来获取绘制mAP曲线所需的txt的 https://github.com/bubbliiiing/count-mAP-txt 知识储备 1、IOU的概念IOU的概念应该比较简单,就是衡量预测框和真实框的重合程度。 下图是一个示例:图中绿色框为实际框(好像不是很绿……),红色框为预测框,当我们需要判断两个框之间的关系时,主要就是判断两个框的重合程度。 TP TN FP FN里面一共出现了4个字母,分别是T F P N。 T是True; F是False; P是Positive; N是Negative。 T或者F代表的是该样本 是否被正确分类。 P或者N代表的是该样本 被预测成了正样本还是负样本。 TP(True Positives)意思就是被分为了正样本,而且分对了。 TN(True Negatives)意思就是被分为了负样本,而且分对了, FP(False Positives)意思就是被分为了正样本,但是分错了(事实上这个样本是负样本)。 FN(False Negatives)意思就是被分为了负样本,但是分错了(事实上这个样本是这样本)。 在mAP计算的过程中主要用到了,TP、FP、FN这三个概念。 3、precision(精确度)和recall(召回率)P r e c i s i o n = T P T P + F P Precision= \frac{TP}{TP+FP} Precision=TP+FPTP TP是分类器认为是正样本而且确实是正样本的例子,FP是分类器认为是正样本但实际上不是正样本的例子,Precision翻译成中文就是“分类器认为是正类并且确实是正类的部分占所有分类器认为是正类的比例”。 R e c a l l = T P T P + F N Recall= \frac{TP}{TP+FN} Recall=TP+FNTP TP是分类器认为是正样本而且确实是正样本的例子,FN是分类器认为是负样本但实际上不是负样本的例子,Recall翻译成中文就是“分类器认为是正类并且确实是正类的部分占所有确实是正类的比例”。 4、概念举例
在目标检测算法里面有一个非常重要的概念是置信度,如果置信度设置的高的话,预测的结果和实际情况就很符合,如果置信度低的话,就会有很多误检测。 假设一幅图里面总共有3个正样本,目标检测对这幅图的预测结果有10个,其中3个实际上是正样本,7个实际上是负样本。对应置信度如下。 这个时候如果我们将可以接受的置信度设置为0.35的话,那么目标检测算法就会将序号为1的样本作为正样本,其它的都是负样本。此时TP = 3,FP = 3,FN = 0。 P r e c i s i o n = 3 3 + 3 = 1 / 2 Precision= \frac{3}{3+3} = 1/2 Precision=3+33=1/2 R e c a l l = 3 3 + 0 = 1 Recall= \frac{3}{3+0} = 1 Recall=3+03=1 此时Recall非常高,但是事实上目标检测算法认为是正样本的样本里面,有3个样本确实是正样本,但有三个是负样本,存在非常严重的误检测,因此只用Recall就不合适。 二者进行结合才是评价的正确方法。 什么是APAP事实上指的是,利用不同的Precision和Recall的点的组合,画出来的曲线下面的面积。 如下面这幅图所示。 此时Precision和Recall可以在图片上画出一条线,这条线下部分的面积就是某个类的AP值。 mAP就是所有的类的AP值求平均。 绘制mAP我们首先在这个github上下载绘制mAP所需的代码。 https://github.com/Cartucho/mAP 在这个代码中,如果想要绘制mAP则需要三个内容。分别是: detection-results:指的是预测结果的txt。 |
CopyRight 2018-2019 实验室设备网 版权所有 |