论文:Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression(2019)
代码:Zzh-tju/DIoU-darknet
DIoU
DIoU Loss 具备 GIoU Loss 优势的同时:
- 考虑与目标中心距离,收敛更快
- 在被预测框包含的情况下,GIoU Loss基本退化为 IoU Loss,DIoU Loss 仍能发挥较大优势,如下图所示,根据 DIoU Loss 可以认为右侧预测框相对较好,这也符合直观感受
- 可作为 NMS 评价指标
GIoU 和 DIoU 效果
L
I
o
U
=
1
−
∣
B
∩
B
g
t
∣
∣
B
∪
B
g
t
∣
L
G
I
o
U
=
1
−
I
o
U
+
∣
C
−
B
∪
B
g
t
∣
∣
C
∣
L
D
I
o
U
=
1
−
I
o
U
+
ρ
2
(
b
,
b
g
t
)
c
2
⏟
R
D
I
o
U
\begin{aligned} \mathcal{L}_{I o U}&= 1-\frac{\left|B \cap B^{g t}\right|}{\left|B \cup B^{g t}\right|} \\ \mathcal{L}_{G I o U} &=1-I o U+\frac{\left|C-B \cup B^{g t}\right|}{|C|} \\ \mathcal{L}_{D I o U} &=1-I o U+\underbrace{\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}}}_{\mathcal{R}_{DIoU}} \end{aligned}
LIoULGIoULDIoU=1−∣B∪Bgt∣∣B∩Bgt∣=1−IoU+∣C∣∣C−B∪Bgt∣=1−IoU+RDIoU
c2ρ2(b,bgt)
其中 b b b 表示框的中心点, c c c 表示包含两框(预测框和目标框)的最小矩形的对角线长度, ρ \rho ρ 表示取欧氏距离,除以 c 2 c^2 c2 是为了减小目标尺度的影响
CIoU
考虑框的长宽比,
v
v
v 表示长宽比的相似性,
α
\alpha
α 为权重函数
设置仿真实验比较 IoU、GIoU、DIoU、CIoU 损失,蓝色点为 Anchors 的位置,每个位置有七个尺寸的 Anchor Boxes,中间黑点位置有七个不同尺寸的目标框,对 Anchor Boxes 进行迭代回归, IoU、GIoU、DIoU、CIoU 四种 Loss 表现如下图:
- IoU误差曲线:IoU无法横衡量与目标框没有重叠的 Anchor Boxes,离中心较远的 Anchor Boxes 基本训练不到,所以保持较高误差
- GIoU误差曲:对于与目标框没有重叠的 Anchor Boxes,GIoU 表现明显比 IoU 更好。但是当没有重叠时,GIoU对水平和竖直方向监督效果不够(由GIoU Loss公式即可知道),误差也比较难降下来
- DIoU和CIoU误差曲线:收敛快速稳定
DIoU-NMS
标准 NMS 以 IoU 作为指标,在遮挡情况下可能产生虚假抑制,可以用 DIoU 代替 IoU
s
i
s_i
si表示分数,
M
\mathcal{M}
M 为最高分数预测框,
B
i
B_i
Bi表示 其余预测框,
ε
ε
ε 为阈值,DIoU-NMS可以较为方便地嵌入检测器
相关实验