论文笔记:Generalized Intersection over Union

Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression

https://arxiv.org/abs/1902.09630

论文中通过提出一个新的损失函数来提升目标检测精度,思路比较新颖。

Motivation

IoU是目标检测中最常用的评估尺度,它是一种比值的概念,具有scale不敏感的特性。目前,检测任务通常都是采用回归损失(如MSE loss, smooth l1 loss)作为网络的目标函数,用IoU作为评估的尺度,但是这两者之间实际上是不等价的(如下图)。而且,\(L_n​\)也不是尺度不变的。通常来说,网络最好的目标函数就是尺度函数本身。但是直接使用IoU作为loss无法对不重叠的bounding box。论文中对使用IoU作为损失函数进行了探索,并提出了一种新的损失函数,GIoU。

IoU、GIoU和范数的关系

Generalized Intersection over Union

GIoU定义

IoU的计算公式如下:

\[IoU=\frac{|A{\cap}B|}{|A{\cup}B|} \]

IoU主要有两种特性:

  • IoU可以作为距离
  • IoU具有尺度不变性

但是IoU的一个缺点在于,当\(A{\cap}B=0\)时,IoU=0。这个时候IoU并不能反映出两个图像是邻近还是相隔很远。

针对这个缺点,论文中提出GIoU,其计算方法如下:

  1. 对于任意两个凸多边形A和B,首先计算A和B的外包多边形C
  2. 计算C中出去A、B部分的剩下的面积占C的面积的比率
  3. GIoU的值为IoU减去这个比率

GIoU 算法

GIoU具有如下特性:

  • 与IoU类似,GIoU可以作为一种距离度量
  • 与IoU类似,GIoU具有尺度不变性
  • GIoU是IoU的一个下界,即\(GIoU(A, B) {\leq}IoU(A,B)\)
  • \(-1{\leq}GIoU(A, B) {\leq}1\)

GIoU作为边界框回归的损失函数

任意形状多边形的外包多边形不好求,但是在目标检测中,这个多边形是axis aligned的矩形,这使得计算GIoU变得非常容易。具体计算方法如下图:

IoU and GIoU as bounding box losses

实验结果

作者在VOC和COCO上分别采用Yolo V3和Faster RCNN算法进行了实验
Pascal VOC with yolo

Pascal VOC with yolo

MS COCO with yolo

Pascal VOC with Faster RCNN

MS COCO with Faster RCNN
posted @ 2019-05-30 20:56  YD丶Cooler  阅读(464)  评论(0编辑  收藏  举报