GIoU

作者 | ywsun

论文链接 | arxiv.org/abs/1902.0963

原文地址 | https://zhuanlan.zhihu.com/p/57863810

作者没有对网络结构进行改进,反而是从一个特殊的视角来考虑目标检测的改进点——使用基于IOU的度量来代替传统回归的损失。

作者的主要贡献是:

1.提出了IOU的通用版本——GIOU,作为比较两个任意形状的新指标;
2.提供了将GIOU作为二维坐标框对齐时的loss方案;
3.主要在Faster/Mask RCNN与YOLO v3上面进行试验,证明在two-stage与one-stage上面均表现很好。
 

Bounding box回归是2D/3D视觉任务总的基础模块。目标检测、实例分割等等 都需要bbox回归来获得较为准确地定位。目前来讲,想要获得更好的检测效果,要么使用重的backbone,要么设计更好的网络结构。但是这两种方案都忽略了bbox regression中基于IOU计算度量的L1/L2 loss。

IOU

IOU是目标检测中的一个重要的概念,在anchor机制中,IOU的作用不仅仅在于确定正负样本(0.5),还可以用来评价预测框和真实框之间的距离。

IOU有一个很好的特性就是对尺度不敏感(scale-invariant)。在回归的任务中,判断pre-bbox与gt-bbox离最直接的指标就是IOU,但是所采用的loss函数却不太适用,如下图所示:

 

假设两个框的某一个角之间的距离是固定的,相同的L2-norm值相同,而其IOU值可以是完全不同的。因此,一个好的局部优化解未必是IOU的局部优化解。

 IOU缺点:

使用IOU来指导回归任务的学习,IOU可以被反向传播。然而,将IOU作为损失由两个问题:1)如果IOU=0,并不能反映出两个BBOX之间的距离(临近还是相离很远),梯度将为0,无法优化;2)IOU无法正确区分两个对象的不同align,即如果对齐方式不同,但是交叉区域相同的话,其IOU将完全相等。

针对上述IOU两点问题,作者提出改进方案:GIOU

 步骤:

1.计算两个框的最小闭包区域面积C,再计算IOU;

2.计算C区域中不属于两个框的区域占C的比重;

3.用IOU减去这个比重得到GIOU。

与IOU相似,GIOU也是一种距离度量;对尺度不敏感;GIOU是IOU的下界;GIOU=[-1,1];GIOU不仅仅关注重叠区域,还关注其他的不重合区域。

将GIOU作为损失函数,步骤下图:

实验:

作者将YOLO v3、Faster/Mask RCNN作为benchmarks来验证提出的方法,证明了不论是one-stage还是two-stage,GIOU对于检测效果都有提升。下图是在COCO数据集上的实验结果对比图:

 

YOLO v3涨幅比较明显,这是因为Faster/Mask RCNN中anchors很密集,GIOU发挥的作用的情况不多。

猜你喜欢

转载自www.cnblogs.com/HonsiaBlogs/p/11352122.html
今日推荐