目标检测的置信度和NMS

news/2024/12/28 13:04:21/
  1. 置信度(confidence)

    还存在一个很关键的问题:在训练中我们挑选哪个bounding box的准则是选择预测的box与ground truth box的IOU最大的bounding box做为最优的box,但是在预测中并没有ground truth box,怎么才能挑选最优的bounding box呢?这就需要另外的参数了,那就是下面要说到的置信度。

    置信度是每个bounding box输出的其中一个重要参数,作者对他的作用定义有两重:
    一重是:代表当前box是否有对象的概率 Pr​(Object),注意,是对象,不是某个类别的对象,也就是说它用来说明当前box内只是个背景(backgroud)还是有某个物体(对象);
    另一重:表示当前的box有对象时,它自己预测的box与物体真实的box可能的 I O U p r e d t r u t h IOU_{pred}^{truth} IOUpredtruth的值,注意,这里所说的物体真实的box实际是不存在的,这只是模型表达自己框出了物体的自信程度。
    以上所述,也就不难理解作者为什么将其称之为置信度了,因为不管哪重含义,都表示一种自信程度:框出的box内确实有物体的自信程度和框出的box将整个物体的所有特征都包括进来的自信程度。经过以上的解释,其实我们也就可以用数学形式表示置信度的定义了:
    C i j = P r ( O b j e c t ) ∗ I O U p r e d t r u t h C_{i}^{j}=P_{r}(Object)*IOU^{_{pred}^{truth}} Cij=Pr(Object)IOUpredtruth
    其中, C i j C_{i}^{j} Cij表示第i个grid cell的第j个bounding box的置信度。
    那么如何训练 C i j C_{i}^{j} Cij​?

    训练中, C i j ^ \hat{C^{_{i}^{j}}} Cij^表示真实值, C i j ^ \hat{C^{_{i}^{j}}} Cij^的取值是由grid cell的bounding box有没有负责预测某个对象决定的。如果负责,那么 C i j ^ \hat{C^{_{i}^{j}}} Cij^ = 1 ,否则, C i j ^ \hat{C^{_{i}^{j}}} Cij^=0。
    下面我们来说明如何确定某个grid cell的bounding box是否负责预测该grid cell中的对象:前面在说明anchor box的时候提到每个bounding box负责预测的形状是依据与其对应的anchor box(bounding box prior)相关的,那这个anchor box与该对象的ground truth box的IOU在所有的anchor box(与一个grid cell中所有bounding box对应,COCO数据集中是9个)与ground truth box的IOU中最大,那它就负责预测这个对象,因为这个形状、尺寸最符合当前这个对象,这时 C i j ^ \hat{C^{_{i}^{j}}} Cij^ = 1 ,其他情况下 C i j ^ \hat{C^{_{i}^{j}}} Cij^ = 0 。注意,你没有看错,就是所有anchor box与某个ground truth box的IOU最大的那个anchor box对应的bounding box负责预测该对象,与该bounding box预测的box没有关系。

  2. 类别置信度:
    分类器返回某个目标的类别置信度,即该目标属于A的概率,属于B的概率。即分类器最后softmax得到的结果。

    具体地,描述为对象条件类别概率(conditional class probabilities)

    对象条件类别概率是一组概率的数组,数组的长度为当前模型检测的类别种类数量,它的意义是当bounding box认为当前box中有对象时,要检测的所有类别中每种类别的概率.
    其实这个和分类模型最后使用softmax函数输出的一组类别概率是类似的,只是二者存在两点不同:

    YOLO的对象类别概率中没有background一项,也不需要,因为对background的预测已经交给置信度了,所以它的输出是有条件的,那就是在置信度表示当前box有对象的前提下,所以条件概率的数学形式为 P r ( c l a s s i ∣ O b j e c t ) P_{r}(class_{i}|Object) Pr(classiObject);

    分类模型中最后输出之前使用softmax求出每个类别的概率,也就是说各个类别之间是互斥的,而YOLOv3算法的每个类别概率是单独用逻辑回归函数(sigmoid函数)计算得出了,所以每个类别不必是互斥的,也就是说一个对象可以被预测出多个类别。这个想法其实是有一些YOLO9000的意思的,因为YOLOv3已经有9000类似的功能,不同只是不能像9000一样,同时使用分类数据集和对象检测数据集,且类别之间的词性是有从属关系的。

  3. NMS 非极大值抑制
    非极大值抑制用在最后阶段,即所有边界框都已经回归调整过后,对图片每一类使用NMS防止一个目标出现多个边界框。
    1、非极大值抑制需要设置一个阈值
    2、使用时间是最后调整完预测框位置后
    3、多少个类就使用多少次非极大值抑制
    4、每一类使用非极大值抑制后找到所有这类的边界框

    yolov3中NMS在训练过程中不执行。正是因为不需要训练,所以也就不需要保留梯度。所以可以在代码中看到tensor一会儿加载到cpu一会儿加载到GPU上的操作。这种操作在训练过程中是不允许出现的。

    在目标检测网络中,会生成许多重复地目标框,使用NMS去除冗余的目标框,保留置信度高的目标框。

    (1)在Bounding Box列表中,首先选择置信度最高的目标框A。
    (2)将与A的IoU超过阈值的目标框从Bounding Box中去除,并将A标记并移入保留框列表中。
    (3)重复(1)和(2),知道Bounding Box列表清空为止。
    对每个分类,都需要使用一次上述流程,直到Bounding Box清空为止。

    然而,单纯使用NMS去选取目标框,可能会导致两个相同类别的重合度高的物体,由于IoU较大,较小置信度的目标框被删除而导致漏检。

    Soft-NMS就是针对这种情况出现的。

    原NMS算法中,当IoU较大时,小置信度的框的置信度会直接置零:
    在这里插入图片描述
    Soft-NMS算法中,当IoU较大时,小置信度的目标框的得分,会被重置,重置方法有两种:

    线性加权法:

    float
    高斯加权法:
    在这里插入图片描述
    当目标框与当前选定的最大置信度的目标框重合度越高,分数被扣除的越多。
    这样,当选取的阈值合适时,就会降低同类目标由于IoU较大而被误删的概率。

参考:
1、https://blog.csdn.net/weixin_43384257/article/details/100974776


http://www.ppmy.cn/news/479920.html

相关文章

学生管理系统(SpringBoot+MybatisPlus+Vue+ElementUI)

做了一个很简单的学生管理系统,就两张表login,student。主要是用它熟悉一下Vue和ElementUI。下面看下一些页面 登录页面 主页 添加、修改页面 删除 注销 我这里分享Jar包和dist:包含.sql文件 链接:https://pan.baidu.com/s/1ZDxv…

如何简单快速地上传三维地形并进行在线查看和分享?

四维轻云是一款地理空间数据在线管理平台,具有地理空间数据的在线管理、查看及分享等功能。在四维轻云平台中,用户可以不受时间地点的限制,随时随地上传数字高程模型、激光点云、倾斜摄影模型、正射影像等地理空间数据。 现在,小…

构造函数和class类挂载属性和方法的相互转化

class是es6新出的关键词,方便我们快速建立类和继承的关系,es6以前我们都是使用function构造函数模拟类 本文讲述了function构造函数和类中定义属性方法的对应关系,主要有以下四点 1.实例属性 2.实例方法 3.原型方法 4.静态方法 类中定义 cl…

【Elacticsearch】 分片副本机制,集群发现机制 ,负载机制,容错机制,扩容机制, 分片路由原理

集群发现机制 Elasticsearch采用了master-slave模式, ES会在集群中选取一个节点成为主节点,只有Master节点有资格维护全局的集群状态,在有节点加入或者退出集群的时候,它会重新分配分片,并将集群最新状态发送给集群中其…

联邦元学习综述

联邦元学习综述 张传尧1,2, 司世景1, 王健宗1,肖京1 1 平安科技(深圳)有限公司,广东 深圳 518063 2 中国科学技术大学,安徽 合肥 230026 摘要:随着移动设备的普及,海量的数据在不断产生。数据隐…

管理类联考——写作——素材篇——论说文——写作素材01—志篇:理想•信念

管理类专业学位联考 (写作能力) 论说文素材 01——志篇:理想信念 论文说材料: 古之立大事者,不惟有超世之才,亦必有坚韧不拔之志。 ——苏轼《晁错论》 一:道理论据 没有生活的理想,就没有理想的生活。 ——中国共…

NAT概述

为什么会有NAT 以前由于IPv4地址不足,无法满足网络的发展,IPv6还未广泛应用 为了节约IPv4地址,将IPv4地址分为公有地址和私有地址,企业内网都使用私有IPv4地址,而公网上的设备都使用公网IPv4地址 由于私有IPv4地址在不…

什么是最小二乘法

最小二乘法(Least Squares Method)是一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳拟合函数。在统计学和线性回归中,最小二乘法被广泛应用于拟合数据并建立变量间的关系模型。 下面我们以一个简单的线性回归问题为例…