GIoU Loss阅读笔记
(一)Title
前言:博主查找改进IoU Loss的论文,没有找到2020年的相关论文,仅仅找到3篇论文,分别对应着IoU Loss,GIoU Loss,DIoU/CIoU
- UnitBox: An Advanced Object Detection Network(IoU Loss,2016)
- Generalized Intersection over Union: A Metric and ALoss for Bounding Box Regression (GIOU Loss; CVPR2019)
- Distance-IoU Loss:Faster and Better Learning for Bounding Box Regression(DIOU Loss & CIoU Loss ; CVPR2019)
本篇文章主要基于GIoU Loss。作者在文中指出利用bounding box属性(长宽等)以及L1,L2等距离损失函数进行回归,度量IoU之间并没有一个很强的相关性
(二)Summary
Intersection over Union(IoU)是目标检测benchmarks中最常用的评估指标。然而,借助常用的距离损失函数 s m o o t h l 1 , l 1 smoothl1,l1 smoothl1,l1以及 M S E MSE MSEbounding box的参数,和度量(IoU)最大化之间存在着一定的差异
从上图中可以看出,尽管distance loss的值是相同的,但IoU之间仍然存在着较大的差异,不过同时也可以看出,作者使用的GIoU和真实IoU之间存在很小的差异。
接着作者提出:The optimal objective for a metric is the metric itself。
可是使用IoU作为回归目标,若两个bounding box之间没有交集,也就是IoU的值为0,此时是无法利用IoU来进行优化的。
因此,作者在本文中引入既作为新损失又作为新度量的generalized IoU (GIoU) 来解决IoU存在的问题。
本文的主要贡献:
- 作者将IoU进行扩展,得到Generalized IoU,作为两个任意形状之间的度量
- 并且作者提出的GIoU可以作为两个轴对齐(axis-aligned)矩形的损失函数
- 将GIoU引入到当前的目标检测框架Faster R-CNN,Mask R-CNN以及YOLO v3中,能够实现性能上的提升
(三)Research Object
本文主要研究目标是将IoU扩展到overlap为0的情况下也可以进行优化,同时指出GIoU既可以用作损失函数,又可以用作一种度量,并通过实验证明了相比于传统的使用distance function回归bounding box参数以及IoU Loss上存在的优势。
(四)Problem Statement
由于目标检查任务使用的度量为IoU,而目前大多数的工作是使用bounding box的属性(x,y,w,h)结合distance loss function(Smooth L1,L2,L1)来进行的回归,作者指出使用上述的回归方式和真正的IoU之间并没有存在着较强的 相关性,因此,作者借助The optimal objective for a metric is the metric itself的思想将IoU作为目标函数。
不过作者指出使用IoU作为目标函数,存在着bounding boxes不相交时无法进行优化的问题,因此,作者将IoU的概念进行扩展到bounding box不重叠的情况下,
作者指出,在进行扩展时需要满足的3个条件:
- 首先要和IoU具有相同的定义,也就是需要将被比较的两个boxes的形状属性(宽,高以及位置)等编码到区域属性(region property)上
- 需要保留IoU的尺度不变性
- 在bounding box重叠情况下,保持和IoU之间的强相关性
因此,本文的目的在于,如何引入一个和IoU具有强相关性的损失函数,并且不会存在IoU在bounding box不重叠时无法进行优化的问题?。
(五)Method
5.1 GIoU
对于两个任意的convex shapes A , B ⊆ S ∈ R n A, B \subseteq \mathbb{S} \in \mathbb{R}^{n} A,B⊆S∈Rn,首先找到包含 A A A和 B B B的两个最小凸集 C ⊆ S ∈ R n C \subseteq \mathbb{S} \in \mathbb{R}^{n} C⊆S∈Rn
关于C的说明说下:当比较两个特定类型的几何形状时,C可以来自同一个类型,也就是说对于两个任意椭球,C可以是包围它们的最小椭球
我们计算 C C C(不包括A和B)占据的体积(面积)除以C占据的总体积(面积)之间的比率。然后从IoU值中减去该比率来获得GIoU。如上图所示。
并且GIoU满足之前所提到的度量的所有性质,并且GIoU是IoU的一个下界:
∀ A , B ⊆ S , GIoU ( A , B ) ≤ IoU ( A , B ) \forall A, B \subseteq \mathbb{S}, \operatorname{GIoU}(A, B) \leq \operatorname{IoU}(A, B) ∀A,B⊆S,GIoU(A,B)≤IoU(A,B),并且当A和B的形状和位置非常接近时,GIoU的值将无限逼近IoU的值, lim A → B GIoU ( A , B ) = IoU ( A , B ) \lim _{A \rightarrow B} \operatorname{GIoU}(A, B)=\operatorname{IoU}(A, B) limA→BGIoU(A,B)=IoU(A,B)
我们知道 ∀ A , B ⊆ S , 0 ≤ IoU ( A , B ) ≤ 1 \forall A, B \subseteq \mathbb{S},0 \leq \operatorname{IoU}(A, B) \leq 1 ∀A,B⊆S,0≤IoU(A,B)≤1,而 ∀ A , B ⊆ S , − 1 ≤ GIoU ( A , B ) ≤ 1 \forall A, B \subseteq \mathbb{S},-1 \leq \operatorname{GIoU}(A, B) \leq 1 ∀A,B⊆S,−1≤GIoU(A,B)≤1,
当 ∣ A ∩ B ∣ = ∣