首页 > 其他分享 >各种 IoU 损失变体

各种 IoU 损失变体

时间:2022-12-14 13:01:52浏览次数:61  
标签:GIoU Loss 真值 预测 IoU 损失 变体


各种 IoU 损失变体

IoU损失及其各种变体已经在密集预测任务中展现出了优异的效果。这里做一个简单的罗列与梳理。

IoU

各种 IoU 损失变体_深度学习

IoU Loss

各种 IoU 损失变体_深度学习_02

  • 各种 IoU 损失变体_计算机视觉_03
  • 取值范围:各种 IoU 损失变体_计算机视觉_04

IoU Loss 的不足:

  • 如果两个边界框没有重叠部分(non-overlapping),IoU=0,模型参数的梯度为 0 得不到更新。所以,使用 IoU 损失函数训练神经网络的收敛速度会很慢。
  • 如果不同的预测框与真值框有相同的 IoU,无法衡量不同的预测框的好坏。

CVPR 2019 | Generalized IoU Loss

GIoU:

各种 IoU 损失变体_计算机视觉_05

  • 各种 IoU 损失变体_人工智能_06 表示包围预测框 各种 IoU 损失变体_1024程序员节_07 和真值框 各种 IoU 损失变体_机器学习_08
  • 取值范围:各种 IoU 损失变体_1024程序员节_09
  • 完全重合时,GIoU = IoU,此时值为 1。
  • 当两个框重叠区域为 0,间隔无限远的时候,此时 GIoU 值趋于 -1。

GIoU Loss:

各种 IoU 损失变体_1024程序员节_10

各种 IoU 损失变体_计算机视觉_11

GIoU Loss 不足:

  • 如果两个框处于包含状态,GIoU 就退变为 IoU,起不到大小、形状上的额外约束。
  • 还有一种特殊情况,GIoU 也会退变为 IoU,即两个框某个边完全重合,即 各种 IoU 损失变体_机器学习_12

AAAI 2020 | Distance IoU Loss

各种 IoU 损失变体_1024程序员节_13

  • 各种 IoU 损失变体_1024程序员节_14 表示预测框 各种 IoU 损失变体_1024程序员节_07 与真实框 各种 IoU 损失变体_机器学习_08 中心点的 欧式距离,即 2 范数(各种 IoU 损失变体_深度学习_17)。
  • 各种 IoU 损失变体_深度学习_18
  • 当两个框无线接近时,IoU Loss = GIoU Loss = DIoU loss = 0
  • 当两个框无穷远时,IoU Loss 等于 1,GIoU Loss 和 DIoU Loss 趋于 2

DIoU 中提出了两个问题,并解决了第一个问题:

  1. 能否直接优化预测框和真值框之间的距离来使模型快速收敛。
  2. 当预测框和真值框有重叠时,能否更加准确的做回归。

DIoU 损失使用了预测框与真实框中心点之间的归一化距离,对于回归问题是尺度不变的。

与 GIoU 损失一样,DIoU 损失也为非重叠情况下的预测框提供了移动方向;与 GIoU 损失不一样的是,DIoU 损失直接最小化了预测框和真实框之间的距离,即使在真实框具有水平和垂直方向时,其收敛速度也比 GIoU 要快得多。DIoU 损失可以加快神经网络的训练过程并且得到更准确的边界框回归结果,将其用于非极大值抑制 (NMS) 过程中的指标时,可以在有遮挡的情况下提供更为鲁棒的结果。

但是 DIOU 损失函数计算过程只包含了边界框与预测框重叠面积和中心点距离,并没有考虑两框的长宽比。

AAAI 2020 | Complete IoU

各种 IoU 损失变体_机器学习_19

  • 各种 IoU 损失变体_深度学习_20
  • 各种 IoU 损失变体_计算机视觉_21

可以知道,CIoU 损失包含了以下 3 个几何因子:

  • 预测框与真实框重叠区域面积的 IoU 损失。
  • 预测框与真实框中心点之间归一化的距离。
  • 预测框与真实框纵横比差异。

CIoU 同时解决了上面的两个问题。同时考虑了长宽比。

  • 当预测框和真值框距离较远时,权重变小,他们的长宽比相对来说重要程度变小,模型同时拉近预测框和真值框的中心点距离。
  • 当预测框和真值框距离较近时,权重变大,长宽比重要程度变大,模型优化预测框和真值框的长宽比,模型依然还要拉近预测框和真值框的中心点距离。

与 GIoU 和 DIoU 一样,CIoU 也是通过迭代将预测框向真实框移动,但是 CIoU 所需要的迭代次数更少,并且得到的预测框与真实框的纵横比更为接近。

Enhanced Completed IoU

后续的工作改进了 CIoU 的权重系数的取值:

各种 IoU 损失变体_机器学习_19

  • 各种 IoU 损失变体_深度学习_20
  • 各种 IoU 损失变体_1024程序员节_24

该公式表明:

  • 在 IoU<0.5 时,CIoU 退变为 DIoU,只考虑预测框和真值框之间的中心点距离。
  • 在 IoU>0.5 时,模型才同时考虑预测框和真值框之间的中心点距离,以及预测框的长宽比和真值框的长宽比的相似程度。随着 IoU 的变大,预测框和真值框越相近,权重变大,长宽比的重要程度也变大,模型更加注重长宽比的细节优化。

Arxiv 2021 | Efficient IoU Loss

各种 IoU 损失变体_机器学习_25

EIoU 在 CIoU 的基础上将长宽比拆开,明确地衡量了三个几何因素的差异,即重叠区域、中心点和边长,同时引入 Fcoal loss 解决了难易样本不平衡的问题。认为简单的任务框回归不需要用过大的权重来学习,而复杂的任务框回归需要大权重来学习,进而将 EIOU loss 进行改进提出 Focal EIOU loss 公式见下:

各种 IoU 损失变体_计算机视觉_26

  • 一般 各种 IoU 损失变体_1024程序员节_27
  • 当任务简单的时候,IOU 接近为 1,整体退化为 EIoU loss。
  • 当任务困难的时候,IOU 值很小,而 EIoU 的值会变大。由于 IOU 的值小于 1,说明变换小于 EIoU Loss 变换。总体遇到难的任务时 loss 会增大,增加对难的回归样本的学习。

NeurlPS 2021 | αIoU

αIoU 将现有的基于 IoU 的损失进行了一个推广。

各种 IoU 损失变体_人工智能_28

使得 αIoU 可以显着超越现有的基于 IoU 的损失,通过调节α,使探测器更灵活地实现不同水平的 bbox 回归精度,并且αIoU 对小数据集和噪声的鲁棒性更强。

并且通过实验发现,在大多数情况下,取α=3 的效果最好。

Arxiv 2022 | SIoU Loss

各种 IoU 损失变体_人工智能_30

SIoU 提出了一种新的损失函数,重新定义了惩罚度量,考虑了期望回归之间的向量夹角。

传统的目标检测损失函数依赖于边界框回归指标的聚合,例如预测框和真实框(即 GIoU、CIoU 等)的距离、重叠区域和纵横比。然而,迄今为止提出和使用的方法都没有考虑期望的真实框和预测框之间不匹配的方向。这种不足导致收敛速度较慢且效率较低,因为预测框在训练过程中可能会“四处游荡”,最终会产生一个更差的模型。

参考链接


标签:GIoU,Loss,真值,预测,IoU,损失,变体
From: https://blog.51cto.com/u_14683970/5936601

相关文章