Background

IoU (Intersection over Union)#

IoU是计算两个边界框重叠程度的指标,定义为两个边界框的交集面积除以它们的并集面积。公式如下:

IoU(A,B)=Area(AB)Area(AB)IoU(A, B) = \frac{Area(A \cap B)}{Area(A \cup B)}

iou

IoU的实现很简单,但是存在以下问题:

  1. 当两个边界框没有重叠时,IoU为0,无法反映它们之间的距离关系,导致梯度消失,影响模型训练。
  2. IoU只考虑了边界框的重叠面积,忽略了边界框的中心点距离和形状差异。
  3. IoU在处理不同尺度的目标时表现不佳,尤其是对于小目标。

GIoU (Generalized Intersection over Union)#

GIoU是对IoU的改进,旨在解决IoU在边界框不重叠时无法提供有效梯度的问题。GIoU通过引入一个最小闭合边界框C来计算两个边界框A和B的关系。公式如下:

GIoU(A,B)=IoU(A,B)Area(C)Area(AB)Area(C)GIoU(A, B) = IoU(A, B) - \frac{Area(C) - Area(A \cup B)}{Area(C)}

GIoU的优点包括:

  1. 当边界框不重叠时,GIoU仍然能够提供有效的梯度,促进模型训练。
  2. GIoU考虑了边界框的整体位置关系,能够更好地反映边界框之间的距离。

然而,GIoU仍然存在一些不足,如下图所示: GIoU和IoU的不足

DIoU (Distance Intersection over Union)#

DIoU进一步改进了GIoU,通过引入边界框中心点之间的距离来衡量边界框之间的关系。公式如下:

DIoU(A,B)=IoU(A,B)d2(bA,bB)c2DIoU(A, B) = IoU(A, B) - \frac{d^2(b_A, b_B)}{c^2}

其中,(d(b_A, b_B))表示边界框A和B的中心点之间的欧氏距离,(c)表示包含两个边界框的最小闭合边界框的对角线长度。

但是在多目标跟踪任务中,当两个框的IoU为0,且中心点距离相同时,DIoU无法区分这两个框的优劣。 MCTrack的作者通过大量实验发现,仅使用欧几里得距离或IoU及其变体来衡量边界框之间的关系,效果并不理想,不足以捕获所有类别之间的相似性。

Ro GDIoU#

计算Ro GDIoU的公式如下:

RoGDIoU(A,B)=IUω1CUCω2c2d2RoGDIoU(A, B) = \frac{\mathcal{I}}{\mathcal{U}} - \omega_1 \cdot \frac{\mathcal{C}-\mathcal{U}}{\mathcal{C}} - \omega_2 \cdot \frac{c^2}{d^2}

其中,I\mathcal{I} 表示边界框A和B的交集面积, U\mathcal{U} 表示边界框A和B的并集面积,C\mathcal{C} 表示包含两个边界框的最小闭合边界框的面积,cc 表示包含两个边界框的最小闭合边界框的对角线长度, dd 表示边界框A和B的中心点之间的欧氏距离, ω1\omega_1ω2\omega_2 是用于平衡各项贡献的权重参数,并且 ω1+ω2=2\omega_1 + \omega_2 = 2

RO GDIoU

各种IOU(交并比)的介绍
https://rinne05.top/blog/research/iou/
作者
发布于
12/31/2025
许可协议
CC BY-NC-SA 4.0

主题设置

主题模式
主题色
透明度
模糊
© 2026 霖 采用 CC BY-NC-SA 4.0 许可 RSS
公安网安备案图标 公安网安备案号: 豫公网安备41040202000294号 ICP备案号: 豫ICP备2025156598号-1
输入以搜索...
通过 Fuse.js 搜索