YOLO模型评估指标:精准定位与实时检测的权衡

 mAP(mean Average Precision 平均精度),是一个经常被用来衡量目标 检测模型是否具有较好性能的指标。

 计算mAP需要先计算每一类物体的AP,然后取平均值,所以下面介绍的 TP,FP,FN,TN都是针对某一类物体(目标)的检测结果来讲的。

         GT:Ground Truth,也就是标签,对应了真实框的大小位置以及分类。

         IoU:两个框的交并比。

        score或confidence:每个预测框的置信度,表示这个预测框包含某个目 标的可能性,score或者confidence越高,表示模型认为其包含某种目标的可能 性越大。

         IoU threshold:人工设定的IoU阈值。如果预测框与GT框的IoU大于此阈 值,则认为预测框与GT框非常相似,否则就认为预测框与GT差别很大。针对不 同数据集,这个取值会不一样,因为针对不同数据集有不同的评价标准,比如 说Pascal VOC数据集的设定是0.5,而COCO数据集设定了多个标准,从而会参 考在多个IoU threshold下的mAP来评判模型的好坏。

         score threshold:人工设定的score或confidence的阈值,对于某一类来 讲,预测框的分类置信度大于此阈值则认为这个框检测到了这类物体,保留预 测框,小于这个值则认为这个框中没有检测到这类物体,舍弃预测框。针对这 一步筛选出的预测框,通常会再进行一次NMS,消除冗余的框,然后将剩下的 边界框参与TP、FP、FN、TN的计算。

         TP: True Positive,一个正确的检测结果,被模型检测为正的正样本。我 们这步针对所有经过score threshold筛选出的预测框,针对一个预测框来讲, 如果边界框位置大小与某个GT非常相似(检测框与GT的IoU ≥ IoU threshold),那么我们就认为这个框就是一个正确的检测结果,并将其与该GT 配对,TP即为这类检测框的数量。注意,在实际预测中,经常出现多个预测框 和同一个GT的IoU都大于阈值,这时通常只将这些预测框中score最大的算作 TP,其它算作FP。

         FP: False Positive,一个错误的检测结果,被模型检测为正的负样本。即 边界框位置大小不达标(检测框与GT的IoU < IoU threshold)又或者这个预测 框是多余的预测框(即这个框对应的GT的已经存在一个TP与之对应)的数量。 在计算的时候,一般将检测出的所有边界框数量减去所有预测正确边界框的数 量,也就是所有经过score threshold筛选出的预测框除去TP,剩下的边界框的 数量就是FP。

        FN: False Negative,没有被检测到的GT的数量。即对于所有GT,除去所 有被预测正确的边界框(也就是TP)对应的GT,剩下的没有被检测到的GT的数 量。又称为被模型检测为负的正样本。

        TN: True Negative,被模型预测为负的负样本。但在目标检测mAP的计 算过程中没有用到这类,通常在分类任务中会用到。

         Precision(准确率): TP / (TP + FP),准确率是模型给出的所有预测结果 中,正确预测的结果所占的比例。其中TP+FP就是根据score threshold筛选出 来的候选框的数量。

        Recall(召回率): TP / (TP + FN),召回率是模型预测的正确结果最多能覆 盖多少GT。这也解释了为什么在计算TP时,同一个GT只对应一个正确的检测框 TP,如果允许一个GT对应多个正确的预测框,假如对于每个GT都存在大于一个 的正确预测框数,那么最终得到的召回率很明显会大于1,这是不符合常理的。 其中TP+FN就是GT的数量。

        对于多分类的目标检测任务来讲,会分别计算一张图片中每个类别的TP、 FP、FN的数量,进一步计算出每个类别的Precision和Recall。

        所以对于 precision和recall的含义,可以这样理解: preicision是在模型得 出的正样本中, 有多大比例真的是正样本, recall则是在真正的正样本中, 有 多少被你找到了。

        PR曲线: Precision-Recall曲线,将所有precision-recall点连成的曲线(一 般会为每个类别的预测框建立各自的PR曲线)。

        AP: Average Precision ,平均精度,根据PR曲线计算得出。 

        mAP: mean Average Precision, 各类别AP的平均值。

        首先来看,yolo算法是一个one-stage的算法,即一步直达,所以速度非常 快,适合做实时检测。缺点就是没有那么精确。

       有一个概念MAP:这个指标是为了去衡量综合的检测效果。

        这里牵扯到另一个概念就是召回率:

关于预测结果我们可以分为四类:

        TP(真阳性) 预测为真的样本中确实为真的数量。

        FP(假阳性) 预测为真的样本中确实为假的数量。

        FN(假阴性) 预测为假的样本中确实为真的数量。

        TN(真阴性) 预测为假的样本中确实为假的数量。 

举个例子来说明:

        预测某些病人有没有得癌症。

        假设有100个样本,真实情况是有10个得癌症的,通过预测函数遇到到了有 12个得了癌症,其中有8个是真实得癌症的。

        这种情况下:

        TP=8

        FP=12-8=4

        FN=10-8=2

        TN=(100-12)-2=86

所以准确率:

        准确率 Accuracy

 正确预测为1,正确预测为0的样本比率,公式为

 

上例中准确率为

        查准率 Precision

        查准率是指在所有预测为1的样本中预测正确的比率,公式为: 

 上例中查准率为

        召回率 Recall

        召回率是指在所有真正为1的样本中预测正确的比率,公式为:

 

 

 上例中召回率为 

        查准率和召回率的关系

 换句话说,召回率recall就是看每一个物体是不是都检测到了,查准率(也 就是精度)就是说对于每一个我们需要检测的东西,检测的好不好

        我们经常会看到一个叫做PR曲线图的概念

        其实pr图就是精度Precision和召回率Recall之间关系变化的图像 

一般来说精度和召回率呈反相关关系。同时还会受置信度(阈值)的影 响。而MAP就是在所有阈值条件下的一个平均情况。 

 

 

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值