详解GIoU、DIoU、CIoU Loss

GIoU、DIoU、CIoU详解

  • GIoU、DIoU、CIoU
    • GIoU
      • 优势
      • 核心实现
        • 公式
        • Code
    • DIoU(Distance-IoU)
      • Motivation
      • Contributions
      • Detail
      • Result
      • Discussion

GIoU、DIoU、CIoU

随着IoU Loss在目标检测领域的应用,最近有几篇典型的工作提出去改进IoU Loss,本文将依次介绍GIoU、DIoU和CIoU Loss

GIoU

优势

  • 首先可以实现较全场景以类IoU Loss为目标直接优化,使得优化目标和最终的评估目标一致。由于IoU Loss的关键问题在于当两个物体没有交集的时候,它就退化为常数1,失去优化目标
  • 相比于传统的回归loss,它具备尺度不变形
  • 极限情况下,GIoU(A,B) = IoU(A, B)

核心实现

公式

G I o U ( A , B ) = I o U ( A , B ) − ∣ C ∣ − ∣ A U B ∣ ∣ C ∣ GIoU(A, B) = IoU(A, B) - \frac{|C| - |AUB|}{|C|} GIoU(A,B)=IoU(A,B)CCAUB
L o s s g i o u = 1 − G I o U Loss_{giou} = 1 - GIoU Lossgiou=1GIoU

Code

# 计算C
A = np.random.random([N, 4])
B = np.random.random([N, 4])
C = np.zero_like(A)
C[:, :2] = np.min(A[:, :2], B[:, :2])
C[:, 2:] = np.min(A[:, 2:], B[:, 2:])

DIoU(Distance-IoU)

Motivation

  • GIoU训练过程较慢,作者做的模拟实验见下图
    详解GIoU、DIoU、CIoU Loss_第1张图片

  • GIoU倾向得到一个较大的bbox

  • GIoU 区分两个对象之间的对齐方式比较间接,仅通过引入C的方式来反应重叠的方式,不够直接。如下图所示。第二幅图展示来当GIoU一样的情况下,DIoU是不一致的(前提是,中心点重合的情况下认为拟合的最好)。
    详解GIoU、DIoU、CIoU Loss_第2张图片

Contributions

  • 提出了基于IoU Loss的一般性范式,这是我认为最大的贡献
  • 提出了DIoU Loss,在IoU loss的基础上将central之间的距离作为惩罚项
  • 在各个数据集和detector上都取得了不错的效果

Detail

  • 范式:作为认为IoU loss应该优化的目标包括三个方面
    1. 两个框之间的重合度
    2. 中心点之间的距离
    3. 长宽比的相似性
  • 作者基于上述的1&&2,提出了DIoU Loss,结合1&&2&&3提出了CIoU Loss(C is complete)
  • DIoU Loss,定义如下所示,其中关键中心点之间距离的惩罚项的分子代表两个框中心点之间的欧式距离。分母是GIoU中矩阵C的对角线变长。分母起到了归一化的作用。
    L D I o U = 1 − I o U + p 2 ( b , b g t ) c 2 L_{DIoU} = 1 - IoU + \frac{p^2(b,b_{gt})}{c^2} LDIoU=1IoU+c2p2(b,bgt)
  • CIoU的定义如下所示,它在DIoU的基础上增加了对长宽比的惩罚项
    v = 4 π 2 ( a r c t a n w g t h g t − a r c t a n w h ) 2 v=\frac{4}{\pi^2}(arctan\frac{w^{gt}}{h^{gt}}-arctan\frac{w}{h})^2 v=π24(arctanhgtwgtarctanhw)2
    L C I o U = L G I o U + α v L_{CIoU} = L_{GIoU} + \alpha v LCIoU=LGIoU+αv
    α = v ( 1 − I o U ) + v \alpha=\frac{v}{(1-IoU)+v} α=(1IoU)+vv

Result

详解GIoU、DIoU、CIoU Loss_第3张图片

Discussion

  • 正如文中所说,Faster RCNN的改进没有SSD和YOLO那么大,因为Faster RCNN在第二阶段的时候框基本上已经有一个较好的位置,不会出现距离GT较远的情况
  • 可能不适应于密集场景,尤其是当两个物体本身就相聚较近的时候,central也会较近。尤其是DIoU NMS的时候会将这些物体消除。这种场景可能还是Multiple Instance Prediction效果较好。

你可能感兴趣的:(深度学习,论文阅读,深度学习,IoU,Loss,GIoU,CIoU,DIoU)