【小知识】目标检测各类指标概念总结

news/2023/6/6 23:37:32

文章目录

  • 前言
  • 一、AP(Average Precision)
    • 1.1 TP(True Positive)、FP(False Positive)、FN(False Negative)
    • 1.2 Precision(查准率)、Recall(召回率/查全率)
    • 1.3 PR曲线
    • 1.4 mAP(mean Average Precision)
  • 二、FLOPs、FLOPS
  • 三、FPS
  • 四、MACs


前言

目标检测论文中出现过很多容易混淆的评价指标,比如FLOPS、FLOPs、 GFLOPS,包括最基本的AP、mAP这些定义,索性将这些基本概念搞清楚,做个总结。


一、AP(Average Precision)

1.1 TP(True Positive)、FP(False Positive)、FN(False Negative)

TP:与真实目标框GT(Ground Truth)的 IoU大于指定阈值(比如0.5)的预测框(一个GT只计算一个TP

FP:与真实目标框GT(Ground Truth)的 IoU小于等于指定阈值(比如0.5)的预测框(多余的TP也被认为是FP

FN: 没有TP的真实目标框GT(Ground Truth)

一个GT只会计算一个TP,一个GT即使有5个IoU大于0.5的预测框,TP也只能等于1,剩下的4个都被认为是FP。按置信度排序选最大的作为TP

在这里插入图片描述

举个例子,以单张图片为例(目标检测任务中是所有的验证集图片),计算人这一类别的TP、FP、FN。首先,TP、FP、FN都是针对某一个类别来说(AP的计算也是如此),比如上图中车这个目标也是我们要检测出来的,所以车也可以计算TP、FP、FN。

将类别为人的预测框全部筛选出来(绿框表示),红色的为GT。预测框1与GT1的IoU大于0.5,故预测框1属于TP;预测框2与GT1的IoU小于0.5,故预测框2属于FP;预测框3与GT1的IoU大于0.5但已经有一个TP了,故预测框3属于FP;GT2没有TP,故属于FN。

故TP=1,FP=2,FN=1。

1.2 Precision(查准率)、Recall(召回率/查全率)

Precision= TP / (TP + FP)
Recall=TP / (TP + FN)

-预测为正类预测为负类
正类TPFN
负类FPTN

(TP + FP)就是所有生成的预测框数量,(TP + FN)在目标检测中就是GT的数量(因为一个GT只计算一个TP)。所以可以通俗的理解: Precision就是衡量误检程度,Recall是衡量漏检程度

你可以让模型尽可能多地生成预测框,可以提高Recall。因为Recall只和GT和TP的数量有关。多生成预测框我每个GT都有一个TP的机会也更大,极端一点整张图片生成100000个预测框,保证每个GT都有一个TP,此时Recall为1,我的Recall仍然可以很大。

你可以让模型尽可能少地生成预测框,可以提高Precision。因为Precision只和 (TP + FP)就是所有生成的预测框数量有关。比如我只有一个TP,但是我总共只预测了2个框,我的Precision是0.5;如果我总共预测了4个框,我的Precision是0.25。

所以单一用Precision或者Recall是没有意义的,并不能实际反映出模型检测效果的好坏。

1.3 PR曲线

单一用Precision或者Recall是没有意义的,所以要综合考虑两者,也就是PR曲线:纵轴是Precision,横轴是Recall。用PR曲线下方的面积来衡量检测效果,也就是AP(Average Precision)

AP是衡量单个类别检测效果的指标

在这里插入图片描述

以上图为例增加一个预测框,计算Precision和Recall,每预测一个框都会改变两者的值。
大概步骤如下:

节选自:知乎

我会依次遍历每个类别,在同一个类别下,按照置信度分数给你的pred_bbox从大到小排序,然后用一个匹配规则去确定你的pred_bbox中哪些是TP,哪些是FP,以及我的gt_bbox中哪些是FN。

为什么要按置信度排序?因为这样绘制出来的precision-recall曲线下的面积比按你直接给我的pred_bbox的顺序要大。毕竟我和你的目标是一样,你希望你的得分越高,我也希望你的得分越高,所以我就这样做了。

按照1步骤,我就可以逐个bbox计算出precision和recall,进而绘制出precision-recall曲线。
举个简单的例子,假设一共5个pred_bbox和4个gt_bbox,经过步骤1,5个pred_bbox被判定为「TP,TP,FP,TP,FP」,那么逐个bbox计算出的precision=「1/1,2/2,2/3,3/4,3/5」,recall=「1/4,2/4,2/4,3/4,3/4」。Precision和Recall组成坐标,得到逐个bbox的precision-recall曲线,我就可以计算这个曲线下的面积了,得到ap了。

-置信度TP or FPPrecisionRecall
预测框10.9TP10.5
预测框40.8TP11
预测框30.7FP0.661
预测框20.6FP0.51

可以看出随着预测框数量的增加,Precision是减少的,Recall是增加的。
但是PR曲线下面积的计算方式还有很多种做法(VOC和COCO数据集计算方法不一样),有插值、平滑,可以自行参考知乎问答:知乎问答

1.4 mAP(mean Average Precision)

PR曲线下方的面积就是AP(Average Precision),mAP就是所有类别的AP取平均就是mAP。比如Person的AP是0.6,Car的AP是0.8,那mAP就是(0.6+0.8)/2=0.7

AP是衡量单个类别检测效果的指标,mAP是衡量所有类别检测效果的指标

注:在COCO数据集中的AP就相当于mAP,COCO计算的AP就是所有类别的。
AP(mAP):COCO的AP是将以IoU阈值(即判断为TP的阈值)为0.5开始,以0.05递增到0.95,也就是以(0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95)为阈值共10个mAP取均值计算得来的。阈值越高,对模型精度要求也越高。
AP50:以IoU阈值为0.5判定为TP下的AP
AP75:以IoU阈值为0.75判定为TP下的AP
APs:小物体的AP
APm:中物体的AP
APL:大物体的AP
在这里插入图片描述

二、FLOPs、FLOPS

FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。

但是目前计算FLOPs还没有统一的标准,在torch中可以利用torchstat来计算复杂度。
安装使用参考github:torchstat

三、FPS

FPS就是目标网络每秒可以处理(检测)多少帧(多少张图片),FPS简单来理解就是图像的刷新频率,也就是每秒多少帧。假设目标检测网络处理1帧(一张图片)要0.02s,此时FPS就是1/0.02=50。以基础的DETR模型为例,FPS为28,那么处理一张图片要1/28s。

四、MACs

MACs(Multiply–Accumulate Operations):乘加累积操作数,常常被人们与FLOPs概念混淆实际上1MACs包含一个乘法操作与一个加法操作,大约包含2FLOPs。通常MACs与FLOPs存在一个2倍的关系。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4570260.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

华为HMS鸿蒙生态,今年可能是最艰难的一年,华为高管表示,重点打造HMS生态!...

原标题:今年可能是最艰难的一年,华为高管表示,重点打造HMS生态!近日有媒体爆料,华为消费者业务CEO余承东在2020年新年信中表示,新的一年将坚定打造HMS和鸿蒙生态,以生存为底线,优先解…

互联网电影院超级应用诞生,打造身临其境的沉浸感

诞生超级应用 事实上,AR/VR的技术发展也正处在蹒跚学步状。而处于野蛮生长中的VR,更加知道设备的软硬结合是尤为的重要。 VR沉浸式体验代价是高昂的,而驱动消费者掏腰包的自然是丰富的内容场景应用。所以经历着起伏不定的VR,仅仅…

走出宣传,国产VR手机盒子到底哪家强?

国产VR手机盒子作为入门机是一个不错的选择,不过你知道哪一款更适合你吗? 从去年看虚拟现实还是一个遥不可及的梦,今年却真正的火起来了。各大厂商纷纷推出自家的VR设备,宣传活动如火如荼。爱尝鲜的你是否按耐不住? 如果你觉得动…

2018入门级手机VR眼镜对比区别:ugp vr眼镜怎么样?目前哪个vr眼镜牌子效果更好,vr眼镜选哪款?

VR技术无疑是2016年科技界热门话题之一,而今2018年,VR技术依旧是一个很火的概念。。兴致勃勃的你或许想趁此热潮入手一台VR设备,可以看星星看月亮,看立体感十足的电影,玩最带感的VR游戏。 同是VR眼镜,价格从…

2018vr眼镜最新评测开箱:小宅z5 vr眼镜怎么样?ugp vr眼镜怎么样?小宅vr和ugp vr对比哪个好?性价比高?

2018虚拟现实(VR)眼镜头戴设备目前已成为市面一类比较火热的产品,它有哪些分类呢?一般可分为移动端VR(连接手机)、电脑端VR头显,以及一体式。 【三种VR的的区别】 移动端VR:其实这类…

6、FileInfo Exists

前言:System.IO下面的FileInfo类,继承至FileSystemInfo,是用来对系统中的文件进行创建、复制、删除等操作,Exists属性是对文件的判断,不是对文件夹的判断,这个很重要,不然可能会对需求做出错误的…

liunx下php fileinfo,linux安装fileinfo扩展出现错误怎么办

linux安装fileinfo扩展出现错误的解决办法:首先使用命令【which phpize】查看phpize的路径;然后选择需要的Fileinfo扩展;最后按照提示添加【Fileinfo】扩展的绝对路径到php.ini配置文件中即可。linux安装fileinfo扩展出现错误怎么办&#xff…

deb php7 fileinfo,linux安装php7.2扩展fileinfo

最简便的方法是使用pecl安装php的扩展,方便快捷,这里使用的是源码编译安装php扩展项目 中上传图片遇到的问题:明显是fileinfo不被支持,没有安装fileinfo。接下来开始安装因为我的linux服务器里比较干净,所以之前的php源…