目标检测评价指标(含 mAP、F

您所在的位置:网站首页 论文中的指标是什么 目标检测评价指标(含 mAP、F

目标检测评价指标(含 mAP、F

2023-06-21 15:13| 来源: 网络整理| 查看: 265

写在前面的话

无论是目标检索、分类、还是检测,都有其自身的一套评价指标体系。可能其中很多概念很类似,比如精确度、召回率。但其实内涵还是有些不一样的。身为一个已经搞了一年图像目标检测的后进者,直到现在才发现,之前我以为轻松搞懂的评价标准,其实是错误的。今天特就自己翻阅的资料做一个汇总,不敢保证对,但至少修正了一部分自以为是的思想。

在网上之前看到的很多打着目标检测评价指标的博文,其实只是对分类做的评价。而检测的实质是分类+定位。所以没有牵扯到 IoU 概念的统统都是耍流氓~

好了闲话少叙,我们言归正传…

-----------------------------------------------------------------------------------------------------------------------------------------

1 目标检测一些基本概念

这部分包含但不限于

什么是 目标检测?什么是 Ground Truth?什么是 IoU?精确度 Precision 和召回率 Recall 的絮絮叨叨概念,不想看的可以直接跳到 2 mAP 那里

可以参考 目标检测的评估指标mAP的那些事儿 中的相关部分。

2 mAP

TP: IoU>0.5的检测框数量(同一 Ground Truth 只计算一次) FP: IoU=r 中的最大值(这样保证了p-r曲线是单调递减的,避免曲线出现摇摆)。

对于各个类别,分别按照上述方式计算AP,取所有类别的AP平均值就是mAP。这就是在目标检测问题中mAP的计算方法。可能有时会发生些许变化,如COCO数据集采用的计算方式更严格,其计算了不同IoU阈值和物体大小下的AP。

在这里插入图片描述

-----------------------------------------------------------------------------------------------------------------------------------------

mAP计算示例: 假设,对于Aeroplane类别,我们网络有以下输出(BB表示BoundingBox序号,IoU>0.5时GT=1):

BB   | confidence  | GT BB1 |       0.9        |   1 BB2 |       0.9        |   1 BB1 |       0.8        |   1 BB3 |       0.7        |   0 BB4 |       0.7        |   0 BB5 |       0.7        |   1 BB6 |       0.7        |   0 BB7 |       0.7        |   0 BB8 |       0.7        |   1 BB9 |       0.7        |   1

因此,我们有 TP=5 (BB1, BB2, BB5, BB8, BB9), FP=5 (重复检测到的BB1也算FP)。除了表里检测到的5个GT以外,我们还有2个GT没被检测到,因此: FN = 2. 这时我们就可以按照Confidence的顺序给出各处的PR值,如下:

rank=1       precision=1.00 and recall=0.14 rank=2       precision=1.00 and recall=0.29 rank=3       precision=0.66 and recall=0.29 rank=4       precision=0.50 and recall=0.29 rank=5       precision=0.40 and recall=0.29 rank=6       precision=0.50 and recall=0.43 rank=7       precision=0.43 and recall=0.43 rank=8       precision=0.38 and recall=0.43 rank=9       precision=0.44 and recall=0.57 rank=10     precision=0.50 and recall=0.71

对于上述PR值,如果我们采用VOC2010之前的方法,我们选取Recall >= 0, 0.1, …, 1的11处Percision的最大值:1, 1, 1, 0.5, 0.5, 0.5, 0.5, 0.5, 0, 0, 0。此时Aeroplane类别的 AP = 5.5 / 11 = 0.5

VOC2010及以后的方法,对于Recall >= 0, 0.14, 0.29, 0.43, 0.57, 0.71, 1,我们选取此时Percision的最大值:1, 1, 1, 0.5, 0.5, 0.5, 0。此时Aeroplane类别的 AP = (0.14-0)*1 + (0.29-0.14)*1 + (0.43-0.29)*0.5 + (0.57-0.43)*0.5 + (0.71-0.57)*0.5 + (1-0.71)*0 = 0.5

mAP就是对每一个类别都计算出AP然后再计算AP平均值就好了。

-----------------------------------------------------------------------------------------------------------------------------------------

在比较mAP值,记住以下要点:

1.mAP通常是在一个数据集上计算得到的。

2.虽然解释模型输出的绝对量化并不容易,但mAP作为一个相对较好的度量指标可以帮助我们。 当我们在流行的公共数据集上计算这个度量时,该度量可以很容易地用来比较目标检测问题的新旧方法。

3.根据训练数据中各个类的分布情况,mAP值可能在某些类(具有良好的训练数据)非常高,而其他类(具有较少/不良数据)却比较低。所以你的mAP可能是中等的,但是你的模型可能对某些类非常好,对某些类非常不好。因此,建议在分析模型结果时查看各个类的AP值。这些值也许暗示你需要添加更多的训练样本。

3 F1-measure

通常我们使用 precision 和 recall 两个指标来衡量模型的好坏,但是同时要权衡这两个量,影响我们做决策的速度.所以可以使用 F1 score 来组合这两个量(又称 F1 measure):

在这里插入图片描述 P和 R 的值均是越大越好,因此 F1 score 也越大结果越好。

以行人检测为例: 行人总共有10个人,测试出的所有目标框有20个,其中6个检测到有行人(与ground truth的IoU>0.5) P: 正确检测/总检测框数 6/20 = 0.3 R: 正确检测/检测目标总数(gt总数)6/10 = 0.6 F1-measure = 2PR/P+R=2×0.3×0.6/(0.3+0.6)=0.4

4 FPS

FPS,即每秒帧率 (Frame Per Second)

除了检测准确度,目标检测算法的另一个重要评估指标是速度,只有速度快,才能够实现实时检测。FPS用来评估目标检测的速度。即每秒内可以处理的图片数量。当然要对比FPS,你需要在同一硬件上进行。另外也可以使用处理一张图片所需时间来评估检测速度,时间越短,速度越快。

5 其他一些评价指标

当然,通用的评价指标还有一些,比如 AUC,或者绘制 ROC 曲线图,这些因为没有之前的常见,笔者也没有用过,所以等以后遇到了再积累…

6 引用和借鉴

目标检测中的mAP是什么含义?

目标检测的评估指标mAP的那些事儿

目标检测评价指标(mAP)

目标检测评价指标 mAP 精准率和召回率



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3