IoU:
IoU就是两个区域的交并比,如下图所示:
GIoU:
G
I
o
U
=
I
o
U
−
∣
A
c
−
U
∣
∣
A
c
∣
G I o U=I o U-\frac{\left|A_{c}-U\right|}{\left|A_{c}\right|}
GIoU=IoU−∣Ac∣∣Ac−U∣
其中
A
c
A_{c}
Ac表示,A和B两者的区域用矩形框框起来的面积:入下图红色边框围起来的面积就是
A
c
A_{c}
Ac。U表示A和B的并集。
- GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1
- IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
- 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
- 当两个区域平行的时候,退化为IoU,如下图的情况。
GIoU不足:重叠区域相同但方向和距离不同时不能反应到损失函数中。
DIoU
要比GIou更加符合目标框回归的机制,将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。
D
I
o
U
=
I
o
U
−
ρ
2
(
b
,
b
g
t
)
c
2
D I o U=I o U-\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}
DIoU=IoU−c2ρ2(b,bgt)
其中:
b
b
b,
b
g
t
b^{g t}
bgt分别表示预测框和GT的中心点。
ρ
2
\rho^{2}
ρ2表示计算两个中心点的欧氏距离。
c
c
c表示能包含真实框和预测框的包闭区域的对角线距离。
DIoU具体表示如下图:
- 与GIoU loss类似,DIoU loss( L D I o U = 1 − D I o U L_{DIoU} = 1-DIoU LDIoU=1−DIoU)在与目标框不重叠时,仍然可以为边界框提供移动方向。
- DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。
- 对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失。
- DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。
CIoU:
YOLOV3spp 作者提出一个优秀的回归定位损失应该考虑三个参数:重叠面积、中心距离、长宽比。因此得出一下公式:
C
I
o
U
=
I
o
U
−
(
ρ
2
(
b
,
b
g
t
)
c
2
)
+
α
v
v
=
4
π
2
(
arctan
w
g
t
h
g
t
−
arctan
w
h
)
2
α
=
v
(
1
−
I
o
U
)
+
v
\begin{gathered} CIoU=I o U-\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ v=\frac{4}{\pi^{2}}\left(\arctan \frac{w^{g t}}{h^{g t}}-\arctan \frac{w}{h}\right)^{2} \\ \alpha=\frac{v}{(1-I o U)+v} \end{gathered}
CIoU=IoU−(c2ρ2(b,bgt))+αvv=π24(arctanhgtwgt−arctanhw)2α=(1−IoU)+vv
其中
α
\alpha
α是权重参数
v
v
v用来度量长宽比的相似性
所以完整的CIoU损失定义为:
L
C
I
o
U
=
1
−
I
o
U
+
(
ρ
2
(
b
,
b
g
t
)
c
2
)
+
α
v
\begin{gathered} L_{CIoU}=1-IoU+\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ \end{gathered}
LCIoU=1−IoU+(c2ρ2(b,bgt))+αv
总结一下
I
o
U
、
G
I
o
U
、
D
I
o
U
、
C
I
o
U
IoU、GIoU、DIoU、CIoU
IoU、GIoU、DIoU、CIoU四个损失的区别:
边界框回归的三大集合因素:重叠面积、中心点距离、纵横比
IoU: 考虑了重叠面积,归一化坐标尺度
GIoU: 考虑了重叠面积,基于IoU解决边界框不想交时loss等于0的问题。
DIoU: 考虑了重叠面积、中心点距离,基于IoU解决GIoU收敛慢的问题。
CIoU: 考虑了重叠面积、中心点距离、纵横比,基于DIoU提升回归精确度。
本文参考文献:
IoU、GIoU、DIoU、CIoU
IoU系列(IoU, GIoU, DIoU, CIoU)