一、概述
交并比(Intersection over Union,简称IoU),是目标检测中的一个非常重要的概念,也是进行目标检测的一个重要方法。首先我们来简单了解一下交并比的概念。
黄色的是训练样本的真实边框,而另一个是神经网络的预测框,两个框的交集的面积与两个框的并集面积的比值称之为交并比。如果两个框的交并比越大大则说明目标定位约准确。在以往的目标检测算法中一般都是将两个框的坐标的范数,也就是图中框框左上角的坐标的距离作为误差进行反向传播。那么为什么不能将IoU直接进行反向传播呢?IoU有一些缺点,例如,对于没有交集的两个框其IoU始终是0,这样的话在不想交的情况下,无法判断两个框之间的距离,不能返回足够的梯度使网络收敛。而且IoU是无法区别两个框子是否是对齐的。放一张图:
可以直观的得出一个结论,即使是在范数相同的情况下,两个框的重合方式也是千差万别,导致了其交并比的不同,所以可以看出将交并比直接作为损失传回去似乎更加有效。
由于IoU的固有缺点,所以论文Generalized Intersection over Union提出一种广义交并比(GIoU)的概念,主要就是解决了IoU作为loss回传时的缺点。
二、具体定义 首先给出IoU的定义:
I o U = ∣ A ∩ B ∣ ∣ A ∪ B ∣ IoU=\frac{|A \cap B|}{|A \cup B|} IoU=∣A∪B∣∣A∩B∣
IoU有两个非常好的优点:
IoU是一种距离指标, L I o U = 1 − I o U L_{IoU}=1-IoU LIoU=1−IoU,具有非负性、不可分同一性、对称性和满足三角不等式等。规模不变性
但是也有两个主要缺点:
如果 ∣ A ∩ B ∣ = 0 |A \cap B|=0 ∣A∩B∣=0则IoU无法反映出A和B到底是比较靠近还是相距比较远。IoU不能反映出到底两个框是如何相交的。
贴一张原文中的图:
现在给出GIoU的定义
其思想为,用一个最小的闭合图形C把A和B包含进来,计算C中除了A和B的面积与C的面积之比,GIoU就是IoU减去这个比值。
GIoU也是一种距离, L G I o U = 1 − G I o U L_{GIoU}=1-GIoU LGIoU=1−GIoU,保留了IoU在这方面的一切优点。GIoU也具有规模不变性GIoU小于等于IoU且 lim A → B G I o U A , B ) = I o U A , B ) \lim_{A\rightarrow B} GIoUA,B)=IoUA,B) limA→BGIoUA,B)=IoUA,B)IoU的值域是0到1,而GIoU的值域是对称的为-1到1 当 ∣ A ∩ B ∣ = ∣ A ∪ B ∣ |A\cap B|=|A\cup B| ∣A∩B∣=∣A∪B∣时, I o U = G I o U = 1 IoU=GIoU=1 IoU=GIoU=1 l i m ∣ A ∪ B ∣ ∣ C ∣ → 0 G I o U A , B ) = − 1 lim_{\frac{|A\cup B|}{|C|}\rightarrow 0}GIoUA,B)=-1 lim∣C∣∣A∪B∣→0GIoUA,B)=−1 与IoU还有不同的一点是,IoU只关心两者之间的交集,而GIoU则还关心在C中A与B之外的空间,如果A和B不是对齐的话那么C就会变大,如图三所示。
可以看到无论A和B是否相交,GIoU都可以返回足够的梯度。
losses计算方法