faster rcnn第二阶段loss出现nan_斯坦福CVPR2019 GIoU:目标检测任务的新Loss

文章介绍了GIoU(广义交并比),一种解决IoU作为损失函数时存在的问题的新损失函数,尤其适用于目标检测任务。GIoU在IoU的基础上考虑了非重叠部分,优化了边界框回归,适用于Faster R-CNN等算法。
摘要由CSDN通过智能技术生成

论文题目:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression

论文链接:

https://arxiv.org/abs/1902.09630​arxiv.org

代码实现

https://github.com/generalized-iou/g-darknet​github.com
4c3ffe34dd8b15ec08a0d41d09f4c217.png

项目主页:https://giou.stanford.edu/

介绍

IoU是对象检测基准中最常用的评估指标。然而,优化 Bounding Box Regression(回归边界盒)参数的常用距离损失与使该度量值最大化之间存在差距。度量的最佳目标是度量本身。对于轴对称的2D bounding boxes,可以看出IoU可以直接作为回归损失使用。然而有个问题是IoU无法直接优化没有重叠的部分。通过引入一个广义的IoU作为一个新的损失和一个新的度量来解决IoU的弱点。

853f1495eca5681fa90e64b9012c657c.png

要将IoU设计为损失,主要需要解决两个问题:

  1. 预测值和Ground truth没有重叠的话,IoU始终为0且无法优化
  2. IoU无法辨别不同方式的对齐,比如方向不一致等。

IoU作为度量和损失都有两个主要问题:(i)如果两个对象不重叠,IoU值将为零,并且不能反映两个形状之间的距离。在非重叠对象的情况下,如果使用IoU作为损失,则梯度为零,无法优化;(ii) IoU不能正确区分两个对象的不同对齐。更精确地说,对于两个具有相同交点水平的不同方向重叠的对象,IoU将是完全相等的例如图二,因此,IoU函数的值并不能反映两个对象是如何重叠的。

c2266ec1034ca47ce8e4546d7567a0d9.png

通过将IoU的概念扩展到非重叠的情况来解决IoU的这两个弱点。这种推广遵循(A)与IOU相同的定义,即将比较对象的形状属性编码到区域属性中;(B)保持IOU的尺度不变性质,(C)确保在发生重叠物体时与IOU有很强的相关性因此入这个IoU的广义版本GIoU,作为比较任意两个凸形状的新度量。我们还提供了一个计算两个轴向矩形之间GIoU的解析解,允许在这种情况下将其用作损失。

这篇文章的贡献如下:

  1. 引入GIOU,作为比较任意两个形状的新度量。
  2. 提供了一个用GIoU作为两个轴向矩形或一般n-正交矩形之间的损耗的解析解。
  3. 将GIoU loss合并到最流行的对象检测算法中,如Faster R-CNN、Mask R-CNN和YOLO v3,并在标准的对象检测基准上展示了它们的性能改进。

由于正样本和负样本之间存在显著的阶级不平衡,这使得训练边界框得分更加困难,使用GIoU可能有进一步改进本定位的机会,因为它们的边界框回归损失并不能直接代表核心评估指标,即IoU。在本文中,通过引入IOU的一个广义版本来解决IOU的弱点,它直接被合并为目标检测问题的损失。

GIoU(Generalized Intersection over Union)

两个框框A,B(

equation?tex=A%2C+B+%E2%8A%86+S+%E2%88%88+R%5En )的IOU的计算方式如下:

897b704c48971e46207ef15aeeb5e325.png

这种相似性度量方法在评估许多2D/3D计算机视觉时非常流行,IoU有两个很好的特性如下:

  • IoU作为距离,例如
    equation?tex=L_%7BIoU%7D+%3D+1-L_%7BIoU%7D ,是一个度量。这意味着
    equation?tex=L_%7BIoU%7D 实现了度量的所有性质,如非负性、不可分辨性恒等、对称性和三角不等式。
  • IOU对问题的规模是不变的。这意味着两个任意形状A和B之间的相似性与它们的空间S的尺度无关

然而,IoU有两个缺点:

  • 如果
    equation?tex=%7CA%5Ccap+B%7C+%3D+0%2C+IoU%28A%2C+B%29+%3D+0 。在这种情况下,IoU不反映两个形状是在彼此附近还是相距很远。
  • 两种形状不同对齐的IoU值是相同的,只要它们在每种情况下相交的体积(面积)相等。因此,IoU并不反映两个对象之间如何重叠(图2)。

为了解决这些问题,作者提出了IoU的扩展,即GIoU,对于两个任意凸型(体积)

equation?tex=A%EF%BC%8CB%E2%8A%86S%E2%88%88R%5En ,首先求出了包含A和B的最小凸形
equation?tex=C%E2%8A%86S%E2%88%88R%5En ,为了比较两种特定的几何形状,C可以来自同一类型。例如,两个任意椭球体,C可以是包围它们的最小椭球。
我们找到一个最小的封闭形状C,让C可以把A,B包含在内,然后我们计算C中没有覆盖A和B的面积占C总面积的比值,然后用A与B的IoU减去这个比值。下面对GIoU的计算作了总结。

7187c26cf535c7d5d22a05182726f7ca.png

GIoU有如下性质:

  • 与IoU类似,GIoU也可以作为一个距离,loss可以用 (下面的公式)来计算:
    equation?tex=L_%7BIoU%7D+%3D+1-L_%7BIoU%7D
  • 同原始 IoU 类似,GIoU 对物体的大小不敏感。GIoU 总是小于等于 IoU,对于 IoU,有:
    equation?tex=0+%5Cleq+IoU+%5Cleq+1 而GIoU则是:
    equation?tex=-1+%5Cleq+IoU+%5Cleq+1
  • 由于 GIoU 引入了包含 A,B 两个形状的 C,所以当 A,B 不重合时,依然可以进行优化。
  • 与IoU相比,GIoU不仅关注重叠区域。封闭形状C中两个对称形状A和B之间的空隙在A和B之间没有很好的对齐时增大(图2),因此GIoU的值更能反映两个对称物体之间是如何重叠的

总之就是保留了IoU的原始性质同时弱化了它的缺点。于是论文认为可以将其作为IoU的替代。

GIoU 作为 BBox 回归的损失

交叉点和最小的封闭对象都具有矩形形状。 它们的顶点坐标只是被比较的两个边界框之一的坐标,这可以通过使用最小和最大函数比较每个顶点坐标来实现。 要检查两个边界框是否重叠,还必须检查条件。 因此,有一个精确的解决方案来计算IoU和GIoU

c986adaeaf2ab1e6e5619627127e67ee.png

损失函数的计算如下:

3a676f0bb46cb1074610502c312d4ab1.png

假设我们现在有预测的 Bbox 和 groud truth 的 Bbox 的坐标(左下角右上角坐标),分别记为:

equation?tex=B%5Ep+%3D+%28x%5Ep_1%2Cy%5Ep_1%2Cx%5Ep_2%2Cy%5Ep_2%29

注意我们规定对于预测的 BBox 来说,有

equation?tex=x%5Ep_2%3Ex%5Ep_1%EF%BC%8Cy%5Ep_2%3Ey%5Ep_1

equation?tex=%5Chat%7Bx%7D%5Ep_1+%3D+%5Cmin%28x%5Ep_1%2Cx%5Ep_2%29%EF%BC%8C%5Chat%7Bx%7D%5Ep_2+%3D+%5Cmax%28x%5Ep_1%2Cx%5Ep_2%29+%2C%5Chat%7By%7D%5Ep_1+%3D+%5Cmin%28y%5Ep_1%2Cy%5Ep_2%29%EF%BC%8C%5Chat%7By%7D%5Ep_2+%3D+%5Cmax%28y%5Ep_1%2Cy%5Ep_2%29

主要是为了方便之后点的对应关系。

72bd28a2beef8c47cbfc61687cdd3696.png

e931a162e4aaf816c20674bbba865d47.png

bdb0ababe773a6b04a10afd86e5af68b.png

实验

作者做了一系列的实验(针对分割任务和分类任务有一定 loss 的调整设计,不过论文中没有详细给出)结果是 IoU loss 可以轻微提升使用 MSE 作为 loss 的表现,而 GIoU 的提升幅度更大,这个结论在 YOLO 算法和 faster R-CNN 系列上都是成立的:

8650afbd137a3047eecfaf27528be5bf.png
PASCAL VOC 2007上的提升with Yolo

a5dbef881a344e3c70de5bee66a2714b.png
MS COCO的提升with Yolo

99753a13c0b69450cdd961df702d2624.png
PASCAL VOC 2007 with faster-RCNN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值