【目标检测】21、KL-Loss:Bounding Box Regression with Uncertainty for Accurate Object Detection


在这里插入图片描述

论文:Bounding Box Regression with Uncertainty for Accurate Object Detection

代码:https://github.com/yihui-he/KL-Loss

出处:CVPR2019

要点提炼:

  • 修改了回归方式,学习(x1, y1, x2, y2),之前的方法都是学习 (x1, y1, w, h)
  • 提出了 KL loss 来代替 smooth L1 loss
  • 在 Soft-NMS 后面加上了方差投票,修正框和得分

效果:

  • MS-COCO数据集上,基于VGG-16的基础结构的Faster RCNN,精度从23.6%提升到29.1%。
  • 对于ResNet50的基础结构的FPN Mask-RCNN平均精度提升1.8%。

一、背景

大型目标检测数据集(如 COCO)的标注框都是比较清晰准确的,但也会存在一些模棱两可的情况,加大标注的难度。

如图 1a 和 1c 所示,当目标被部分遮挡且边界很不清晰的时候,标注框就很难判定。

对于边界框的回归,一般都使用 L1 loss,没有标注的问题考虑进去,且一般认为,当分类得分高的时候,对应的回归效果也较好,但也存在图 2 的这种情况。

在这里插入图片描述
在这里插入图片描述

二、方法

为了解决上述模棱两可的标注问题(框的位置不是很好界定的情况),作者提出了一种 KL loss,来同时学习两件事:box 回归 + 位置不确定性

详细内容:

  • 为了捕捉 bbox 回归的不确定性,作者将 label 位置坐标建模为 Dirac delta 函数(脉冲函数),将预测的 box 位置坐标建模为 Gaussian 分布
  • 将 bbox 回归的 loss 定义为预测的分布和真实分布的 KL 散度(也就是对 L1 loss 等的改进)

KL loss 的三个优势:

  • 能够很好的捕捉数据集中的不确定性: bbox 回归器能从不确定的 bbox 中拿到很小的 loss
  • 学习到的方差在后处理中很有用:作者提出了方差投票(variance voting),在 NMS 的时候,使用该预测出来的方差来给其邻域的位置加权,来给候选框投票
  • 学习到的概率分布是可解释的:因为其反应了预测框的不确定程度,对很多下游任务(自动加速、机器人)很有必要

在这里插入图片描述

2.1 BBox 分布建模

基于 Faster RCNN 或 Mask RCNN(如图 3 所示),作者提出了分别回归 bbox 的边界,bbox 可以表示为 ( x 1 , y 1 , x 2 , y 2 ) ∈ R 4 (x_1, y_1, x_2, y_2) \in R^4 (x1,y1,x2,y2)R4

为了方便起见,bbox 的坐标用 x x x 来表示,因为每个坐标的优化是独立的。

为了通过位置来估计出位置得分,本文的网络会预测一个概率分布,而非 bbox 的位置。

预测的概率分布简化为一个高斯分布:

在这里插入图片描述

其中:

  • Θ \Theta Θ 是可学习的参数
  • x e x_e xe 是估计的 bbox 位置
  • σ \sigma σ 为标准差,也表示了不确定性, σ → 0 \sigma \to 0 σ0,说明网络预测的位置越准确,置信度越高。

真实的位置也可以被建模为一个特殊的高斯分布, σ → 0 \sigma \to 0 σ0, 就是 Dirac delta 分布:

在这里插入图片描述

其中:

  • x g x_g xg 是 bbox 的真实位置

Dirac delta 分布: 在 0 处无限大,在其他位置为 0

特性: ∫ δ ( x ) d x = 1 \int \delta(x)dx=1 δ(x)dx=1

2.2 KL-Loss:对预测和真值的分布求 Loss

在这里插入图片描述

  • 橘色为真值
  • 灰色预测较准,方差较小,位置距离真值的位置较近
  • 蓝色预测较差,方差较大,位置距离真值的位置较远

上面将预测结果和真实label建模后,就可以使用 N 个采样点来估计出参数 Θ ^ \hat{\Theta} Θ^,最小化预测和真实分布的 KL 距离:

在这里插入图片描述

KL 散度是用于框位置的回归的:

在这里插入图片描述

当网络预测一个较大的方差 σ 2 \sigma^2 σ2 时, L r e g L_{reg} Lreg 会很小,位置 x e x_e xe 的估计会更准确。如图 4 所示。

由于 L r e g L_{reg} Lreg 不依赖于后两项,则有如下规律:

在这里插入图片描述

σ = 1 \sigma=1 σ=1 时,KL loss 演变成一个规范的 Euclidean loss:

在这里插入图片描述

该 loss 函数是和估计的位置和位置标准差相关的:

在这里插入图片描述

由于 σ \sigma σ 是分母,所以在刚开始训练的时候可能会梯度爆炸,为了避免,作者使用 α = l o g ( σ 2 ) \alpha = log(\sigma^2) α=log(σ2) 而非 α = σ \alpha=\sigma α=σ

在这里插入图片描述

∥ x g − x e ∥ > 1 \|x_g-x_e\|>1 xgxe>1 时,使用的函数类似于 smooth L1 loss:

在这里插入图片描述

在开始训练的时候,使用随机高斯来初始化 FC 层参数,标准差设置为 0.0001,均值设置为 0,此时 KL loss 和 smooth L1 loss 类似。

2.3 方差投票策略:对框位置修正

NMS:对大于 IoU 阈值的框直接删除

非极大值抑制,用于推理或两阶段方法生成proposal,不用于训练过程,一般都使用类内 NMS

和名字一样,不抑制得分最大的那个框,然后根据 IoU 阈值,IoU 大于阈值,则框被抑制(也就是将对应的得分置为0),IoU 小于阈值则框被保留。

在这里插入图片描述

问题:

  • 当阈值过小时,被抑制的框就很多,容易造成漏检(尤其距离得分最大的框很近的框)
  • 当阈值过大时,被抑制的框就很少,容易造成误检

Soft NMS:对大于 IoU 阈值的框得分抑制,小于 IoU 阈值的框得分不变

考虑到 NMS 的问题,尤其是在密集场景下的漏检情况,所以做出了些改进。

NMS 中会直接将被抑制的框的得分置为 0,而 soft NMS 认为和候选框距离越近的框,越有可能是”假正”,对应分数的衰减应该更严重,所以对得分进行衰减,衰减方式有两种:

  • 第一种:使用1-IoU与得分的乘积作为衰减后的值:

    在这里插入图片描述

    当相邻检测框与候选框重叠超过阈值 N t N_t Nt 时,得分线性衰减,但该函数并非线性函数,容易产生突变,所以需要找到一个连续的函数,对没有重叠的框的得分不衰减,对高度重叠的框进行较大的衰减,即高IoU的有高的惩罚,低IoU的有低的惩罚,且是逐渐过渡的,所以就有了第二种。

  • 第二种:高斯惩罚函数:

    在这里插入图片描述

Var voting:得分修正(soft NMS )+ 位置修正(给距离候选框近的框分配更高的权重,其不确定性更)

在预测了位置的方差后,根据方差来对这些 bbox 进行投票。

预测结果为:

( x 1 , y 1 , x 2 , y 2 , s , σ x 1 , σ y 1 , σ x 2 , σ y 2 ) (x_1, y_1, x_2, y_2, s, \sigma_{x_1}, \sigma_{y_1}, \sigma_{x_2}, \sigma_{y_2}) (x1,y1,x2,y2,s,σx1,σy1,σx2,σy2)

方差投票基于对 soft-NMS 的加工修改,完成了 soft-NMS 后,对得到的边框 b m b_m bm 进行基于网络学习到的方差进行修正。

新的坐标计算如下, x i x_i xi 是第 i i i 个框的坐标:

在这里插入图片描述

  • 首先,选择出分类得分最大的框 b b b

  • 然后,对所有和 b b b 存在 IoU 交集的框 ( I o U ( b i , b ) IoU(b_i, b) IoU(bi,b) >0),计算权值 p i p_i pi

    I o U ( b i , b ) IoU(b_i, b) IoU(bi,b) 越大,则 p i p_i pi 越大,即距离越近的两个框产生的 p i p_i pi 值越大,权重越大,也就是说距离越近的框

  • 最后,根据权值,来更新 b b b 的坐标(四个坐标分别更新)

作者给距离真值更近但分类得分低的框权重更高。

其中:

  • σ t \sigma_t σt 是可调节参数

有两种邻域框会被降权重:

  • 有高方差的框
  • 和候选框的 IoU 更小的框

分类得分不参与投票,因为低分类得分可能有高位置得分。

在这里插入图片描述

在这里插入图片描述

三、效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Siou Loss是一种用于边界框回归的损失函数,它比传统的平方损失函数更强大。 边界框回归是目标检测任务中的重要组成部分,它的目标是预测图像中物体的位置和大小。传统的平方损失函数在边界框回归中常被使用,但它在处理物体尺寸变化和不均衡数据上存在一些问题。而Siou Loss通过解决这些问题,提供了更强大的学习能力。 Siou Loss通过引入IoU(Intersection over Union)来度量预测边界框和真实边界框之间的相似度。IoU是指预测边界框和真实边界框的交集区域与并集区域的比值,它能更好地描述边界框的匹配度。 Siou Loss不仅考虑了预测边界框和真实边界框之间的位置差异,还考虑了它们之间的尺度差异。这使得Siou Loss在处理物体尺寸变化时更加灵活,能够更好地适应不同尺寸的物体。 此外,Siou Loss还能够解决数据不均衡的问题。在目标检测任务中,负样本(非物体区域)通常远远多于正样本(物体区域),这导致传统的平方损失函数在训练过程中很难平衡正负样本之间的关系。而Siou Loss通过IoU作为权重,可以有效地平衡正负样本之间的重要性,提高了模型对于正样本的关注程度。 综上所述,Siou Loss作为一种更为强大的学习方法,在边界框回归任务中具有优势。它通过引入IoU来度量相似度,并解决了尺度变化和数据不均衡的问题,提高了模型的学习能力和预测准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值