美文网首页
[DIoU和CIoU AAAI2020] Distance-Io

[DIoU和CIoU AAAI2020] Distance-Io

作者: ganyd | 来源:发表于2021-04-15 10:50 被阅读0次

原作者:Zhaohui Zheng等       笔记整理:ganyongdong 2021.02.05

论文:https://arxiv.org/pdf/1911.08287.pdf
代码:https://github.com/Zzh-tju/DIoU

 

1.摘要

  • IoU损失和GIoU损失都存在收敛速度慢和回归不准确的问题
  • 提出DIoU,结合了预测框和真实框之间的标准化距离,加快训练的收敛速度
  • 提出CIoU,结合了重叠面积、中心点距离和纵横比,进一步提高收敛速度和检测精度
  • 将DIoU损失和CIoU损失应用到当前流行的2D检测器,显著提高性能
  • 将DIoU用作NMS标准,进一步提高检测器性能

 

2.存在的问题

  • 之前对回归损失优化的情况:
    • 直接回归bbox对角点,L1或L2损失最优不代表IoU指标最优;
    • 于是提出IoU损失,直接对IoU进行优化,但是存在预测框与真实框不相交的时候IoU等于0的情况,无法优化;
    • 于是进一步提出广义IoU(GIoU)损失,在预测框与真实框不相交的时候也能继续优化;
  • 文章提出,IoU损失和GIoU损失都存在收敛速度慢和回归不准确的问题
    • 当预测框被真实框完全包围的时候,IoU和GIoU都不变化,优化困难


      DIoU GIoU IoU对比
    • 如上图所示,红色预测框被绿色真实框完全包围时,不同情况下,IoU和GIoU都是相同的,但是用DIoU就能表示出第三个图预测位置最好

 

3.IoU和GIoU及loss

  • IoU和L_{IoU}
    IoU=\frac{|B\cap B^{gt}|}{|B\cup B^{gt}|}
    L_{IoU}=1-\frac{|B\cap B^{gt}|}{|B\cup B^{gt}|}
  • GIoU和L_{GIoU}
    CBB^{gt}的最小包围矩形
    GIoU=IoU-\frac{|C-B\cup B^{gt}|}{|C|}
    L_{GIoU}=1-IoU+\frac{|C-B\cup B^{gt}|}{|C|}

 

4.DIoU loss

  • 文章提出的DIoUU损失

    • 通用损失表示如下,其中R(B,B^{gt})是惩罚项
      L=1-IoU+R(B,B^{gt})
    • DIoU loss的惩罚项R_{DIoU}(B,B^{gt})
      R_{DIoU}(B,B^{gt})=\frac{\rho ^2(b,b^{gt})}{c^2}
    • DIoU loss表达式:
      L_{DIoU}=1-IoU+\frac{\rho ^2(b,b^{gt})}{c^2}
      • 可以看出,DIoU loss的惩罚项直接最小化两个中心点之间的距离。
  • DIoU和GIoU对比分析


    diou giou示意图对比.png
    • 上图黑色是anchor,绿色是真实框,上一行三幅图中,蓝色是GIoU预测框随着迭代演变情况,下一行三幅图中,红色是DIoU预测框随着迭代演变情况。
    • 从图中可以看出,BB^{gt}不相交情况下,GIoU倾向于先把预测框变大,使 C-B\cup B^{gt} 减小,变大过程直到BB^{gt}出现重叠,然后才是形状缩小,向着真实框演变,从这里就能分析出GIoU loss收敛慢的原因。
    • 而DIoU loss下,红色框是优先以中心距离为导向,让BB^{gt}的中心点靠近,然后形状变化向着真实框演变。所以DIoU loss收敛更快。
    • 另一方面,当真实框完全包含预测框的时候,GIoU loss无法继续优化,而DIoU loss凭借中心点距离存在可以继续优化。

 

5.CIoU loss

  • 作者总结提出,一个良好的边框回归损失应该考虑到三个重要几何因素:重叠面积、中心点距离和纵横比
  • IoU和GIoU损失注重重叠面积,文中的DIoU增加了中心点距离因素,因此文章进一步提出增加纵横比因素的CIoU(完整IoU)
  • 文章提出的CIoU损失
    • CIoU loss的惩罚项R_{CIoU}(B,B^{gt})
      R_{CIoU}(B,B^{gt})=\frac{\rho ^2(b,b^{gt})}{c^2}+\alpha v
      • 其中\alpha是权重因子,v是纵横比
        v=\frac{4}{\pi^2}(arctan\frac{w^{gt}}{h^{gt}}-arctan\frac{w}{h})^2
        \alpha=\frac{v}{(1-IoU)+v}
      • CIoU loss表达式:
        L_{CIoU}=1-IoU+\frac{\rho ^2(b,b^{gt})}{c^2}+\alpha v

 

6.DIoU用于NMS

  • 原始NMS中,IoU度量用于抑制冗余的检测框,IoU小于一定阈值的都删除,其中重叠区域是唯一因素;
  • 对于遮挡等情况,经常会错误抑制,降低检测器性能;
  • 提出将DIoU作为NMS准则,则不仅考虑到重叠区域,还考虑到了两个box中心点距离
  • DIoU-NMS:
    • IoU-R_{DIoU}(M,B_i)<\varepsilon 时, 视为有效预测框,按得分进行排序。
    • 其中M时预测框,B_i是第i个真实框,\varepsilon是阈值。

 

7.实验

  • DIoU yolov3


    diou yolov3.png
  • DIoU SSD


    diou 实验0.png
  • DIoU Faster R-CNN


    DIoU 实验1.png
  • 性能都提升显著

  • 注意到CIoU在小物体上的性能都有所下降,可能由于长宽比对小物体的检测贡献不大,因为此时中心点比长宽比重要。

  • DIoU-NMS实验


    diou diou-nms.png

 

8.对自己的启发

  • 文章延续回归损失优化的工作,进一步指出IoU和GIoU都共有的不足,收敛速度慢和框包含情况下回归不准确的问题。
  • 提出的DIoU和CIoU是通用trick

相关文章

网友评论

      本文标题:[DIoU和CIoU AAAI2020] Distance-Io

      本文链接:https://www.haomeiwen.com/subject/elgtlltx.html