精度论文:【Focaler-IoU: More Focused Intersection over Union Loss】
Focaler-IoU: 更聚焦的交并比损失
Focaler-IoU: More Focused Intersection over Union Loss
摘要——边界框回归在目标检测领域中起着至关重要的作用,目标检测的定位精度在很大程度上依赖于边界框回归的损失函数。 现有研究通过利用边界框之间的几何关系来提升回归性能,但忽略了困难样本与易样本分布对边界框回归的影响。在本文中,我们分析了困难样本与易样本分布对回归结果的影响,并提出了Focaler-IoU,该方法通过聚焦不同的回归样本,能够在不同的检测任务中提高检测器的性能。最后,我们在不同检测任务中使用现有的先进检测器和回归方法进行了对比实验,结果表明,采用本文提出的方法可以进一步提升检测性能。代码已开源,地址为:https://github.com/malagoutou/Focaler-IoU。
关键词——目标检测,损失函数,边界框回归
I. 引言
目标检测是计算机视觉的基础任务之一,旨在定位和识别图像中的目标。根据是否生成Anchor(锚框),目标检测方法可以分为基于Anchor的方法和无Anchor的方法。基于Anchor的算法包括Faster R-CNN、YOLO(You Only Look Once)系列、SSD(Single Shot MultiBox Detector)和RetinaNet。无Anchor的检测算法包括CornerNet、CenterNet和FCOS(Fully Convolutional One Stage Object Detection)。在这些检测器中,边界框回归的损失函数作为定位分支的重要组成部分,起着不可替代的作用。
A. 边界框回归损失
随着计算机视觉的发展,目标检测任务受到了越来越多研究者的关注。为了评估各种算法在检测任务中的性能,需要引入一个合适的评估指标。在IoU(Intersection over Union)提出之前,早期的边界框回归问题采用ln范数损失作为评估指标。然而,由于ln范数损失对异常值非常敏感,这导致异常值对损失的影响较大,从而在模型中存在异常值时性能会变得不稳定。
为更好地解决上述问题,提出了一种更合适的评估指标:IoU(Intersection over Union)。在基于IoU的评估标准下,大多数目标检测任务的检测精度得到了进一步提升,但IoU损失本身也存在一些缺点。例如,当GT(Ground Truth)框与Anchor框之间没有重叠时,其梯度会消失,无法准确表征两个边界框之间的位置关系。
为弥补这一不足,GIoU提出使用包含GT框和Anchor框的最小外接框来计算损失,从而提升检测性能。在CIoU和DIoU中,为了弥补GIoU收敛速度慢的缺点,CIoU通过进一步考虑GT框与Anchor框之间的宽高比来加速收敛,而DIoU则通过对两个边界框中心点之间的距离进行归一化来加速收敛。EIoU在CIoU的基础上进一步考虑了形状损失,通过最小化GT框和Anchor框宽度与高度的差异来加速收敛,而SIoU进一步考虑了连接两个边界框中心的线的角度,并根据该角度重新定义了距离损失和形状损失,将其作为新的损失项添加到损失函数中。SIoU在当前基于IoU的损失函数中实现了最好的检测效果。
B. Focal Loss
在边界回归过程中,训练样本不平衡问题依然存在。根据是否包含目标类别,训练样本可以分为正样本和负样本。一些传统的解决方法是在训练过程中对困难样本进行采样和重新加权,但这种方法的效果并不显著。
Focal Loss提出,容易识别的负样本占总损失的主要部分,并主导了梯度。通过调整正样本和负样本的权重,Focal Loss提高了模型识别稀有目标类别的能力,使模型更多地关注难以分类的正样本,同时降低相对容易分类的负样本的权重。在Libra R-CNN中,提出了一个简单而有效的平衡学习框架,使用Balanced L1损失在目标层面上将训练样本分为异常值和正常值。异常值被视为困难样本,与正常值相比会产生更大的梯度,这对训练过程有害。因此,Libra R-CNN通过梯度回归促进正常值,并裁剪由异常值产生的过大梯度,以实现更好的分类效果。
在EIoU中,训练样本被分为高质量样本(anchors)和低质量样本(异常值),并基于L1损失提出了FocalL1损失,以增加高质量样本对训练过程的梯度贡献。同时,将EIoU损失作为一个变量添加到FocalL1损失中,使模型能够更加关注高质量样本,从而进一步提升检测效果。
本文的主要贡献如下:
- 我们分析了困难样本和易样本分布对边界框回归的影响,并在现有边界框回归方法的基础上,提出了Focaler-IoU,通过线性区间映射来聚焦不同的回归样本。
- 我们使用先进的一阶段检测器进行了实验,验证了我们的方法可以有效提高检测性能,并弥补现有方法的不足。
II. 相关工作
近年来,随着检测器的发展,边界回归损失得到了快速发展。最初,IoU被提出用于评估边界回归状态,随后在IoU的基础上,陆续提出了新的约束条件,如GIoU、DIoU、CIoU、EIoU和SIoU等。
A. IoU指标
IoU(Intersection over Union)是最流行的目标检测评价标准,其定义如下:
IoU
=
∣
B
∩
B
g
t
∣
∣
B
∪
B
g
t
∣
\text{IoU} = \frac{|B \cap B_{gt}|}{|B \cup B_{gt}|}
IoU=∣B∪Bgt∣∣B∩Bgt∣
其中,
B
B
B和
B
g
t
B_{gt}
Bgt 分别表示预测框和GT(Ground Truth)框。
B. GIoU指标
为了解决在边界框回归中,由于GT框和Anchor框之间没有重叠导致IoU损失出现梯度消失的问题,提出了GIoU(广义交并比)。其定义如下:
GIoU
=
IoU
−
∣
C
−
B
∩
B
g
t
∣
∣
C
∣
\text{GIoU} = \text{IoU} - \frac{|C - B \cap B_{gt}|}{|C|}
GIoU=IoU−∣C∣∣C−B∩Bgt∣
其中,
C
C
C表示包含GT框和Anchor框的最小外接框。
C. DIoU指标
与GIoU相比,DIoU(距离交并比)引入了边界框之间的距离约束,通过在IoU的基础上添加中心点归一化距离损失项,使回归结果更加准确。其定义如下:
DIoU
=
IoU
−
ρ
2
(
b
,
b
g
t
)
c
2
\text{DIoU} = \text{IoU} - \frac{\rho^2(b, b_{gt})}{c^2}
DIoU=IoU−c2ρ2(b,bgt)
其中,
b
b
b 和
b
g
t
b_{gt}
bgt分别表示Anchor框和GT框的中心点,
ρ
(
⋅
)
\rho(·)
ρ(⋅)表示欧几里得距离,
c
c
c 为
b
b
b 和
b
g
t
b_{gt}
bgt之间最小外接框的对角线距离。
CIoU进一步通过在DIoU的基础上添加新的形状损失项,考虑了GT框和Anchor框之间的形状相似性,以减少Anchor框和GT框之间的长宽比差异。其定义如下:
CIoU
=
IoU
−
ρ
2
(
b
,
b
g
t
)
c
2
−
α
v
\text{CIoU} = \text{IoU} - \frac{\rho^2(b, b_{gt})}{c^2} - \alpha v
CIoU=IoU−c2ρ2(b,bgt)−αv
其中,
α
=
v
(
1
−
IoU
)
+
v
\alpha = v \left( 1 - \text{IoU} \right) + v
α=v(1−IoU)+v
v
=
4
π
2
(
arctan
w
g
t
h
g
t
−
arctan
w
h
)
2
v = \frac{4}{\pi^2} \left( \arctan \frac{w_{gt}}{h_{gt}} - \arctan \frac{w}{h} \right)^2
v=π24(arctanhgtwgt−arctanhw)2
其中,
w
g
t
w_{gt}
wgt 和
h
g
t
h_{gt}
hgt 分别表示GT框的宽度和高度,
w
w
w 和
h
h
h 分别表示Anchor框的宽度和高度。
D. EIoU度量
EIoU在CIoU的基础上重新定义了形状损失,并通过直接减少GT框和Anchor框之间的长宽差异来进一步提高检测精度。其定义如下:
EIoU
=
IoU
−
ρ
2
(
b
,
b
g
t
)
c
2
−
ρ
2
(
w
,
w
g
t
)
(
w
c
)
2
−
ρ
2
(
h
,
h
g
t
)
(
h
c
)
2
\text{EIoU} = \text{IoU} - \frac{\rho^2(b, b_{gt})}{c^2} - \frac{\rho^2(w, w_{gt})}{(w_c)^2} - \frac{\rho^2(h, h_{gt})}{(h_c)^2}
EIoU=IoU−c2ρ2(b,bgt)−(wc)2ρ2(w,wgt)−(hc)2ρ2(h,hgt)
其中,( w_c ) 和 ( h_c ) 是覆盖GT框和Anchor框的最小外接框的宽度和高度。
E. SIoU度量
在前期研究的基础上,SIoU进一步考虑了边界框之间角度对边界框回归的影响,其目标是通过减小Anchor框和GT框之间的角度(即水平或垂直方向)来加速收敛过程。其定义如下:
SIoU
=
IoU
−
Δ
+
Ω
2
\text{SIoU} = \text{IoU} - \frac{\Delta + \Omega}{2}
SIoU=IoU−2Δ+Ω
其中,
Λ
=
sin
(
2
sin
−
1
(
min
(
∣
x
g
t
c
−
x
c
∣
,
∣
y
g
t
c
−
y
c
∣
)
)
)
\Lambda = \sin \left( 2 \sin^{-1} \left( \min \left( |x_{gt}^c - x_c|, |y_{gt}^c - y_c| \right) \right) \right)
Λ=sin(2sin−1(min(∣xgtc−xc∣,∣ygtc−yc∣)))
(
(
x
g
t
c
−
x
c
)
2
+
(
y
g
t
c
−
y
c
)
2
+
ϵ
)
\left( (x_{gt}^c - x_c)^2 + (y_{gt}^c - y_c)^2 + \epsilon \right)
((xgtc−xc)2+(ygtc−yc)2+ϵ)
Δ
=
∑
t
=
w
,
h
(
1
−
e
−
γ
ρ
t
)
,
γ
=
2
−
Λ
\Delta = \sum_{t=w,h} \left( 1 - e^{-\gamma \rho_t} \right), \quad \gamma = 2 - \Lambda
Δ=t=w,h∑(1−e−γρt),γ=2−Λ
ρ
x
=
(
x
c
−
x
g
t
c
w
c
)
2
,
ρ
y
=
(
y
c
−
y
g
t
c
h
c
)
2
\rho_x = \left( \frac{x_c - x_{gt}^c}{w_c} \right)^2, \quad \rho_y = \left( \frac{y_c - y_{gt}^c}{h_c} \right)^2
ρx=(wcxc−xgtc)2,ρy=(hcyc−ygtc)2
Ω
=
∑
t
=
w
,
h
(
1
−
e
−
ω
t
)
θ
,
θ
=
4
\Omega = \sum_{t=w,h} \left( 1 - e^{-\omega_t} \right) \theta, \quad \theta = 4
Ω=t=w,h∑(1−e−ωt)θ,θ=4
ω
w
=
∣
w
−
w
g
t
∣
max
(
w
,
w
g
t
)
,
ω
h
=
∣
h
−
h
g
t
∣
max
(
h
,
h
g
t
)
\omega_w = \frac{|w - w_{gt}|}{\max(w, w_{gt})}, \quad \omega_h = \frac{|h - h_{gt}|}{\max(h, h_{gt})}
ωw=max(w,wgt)∣w−wgt∣,ωh=max(h,hgt)∣h−hgt∣
III. 方法
A. 分析
在各种目标检测任务中,样本不平衡问题普遍存在,可以根据物体检测的难易程度将样本分为“困难样本”和“简单样本”。从目标尺度分析的角度来看,一般的检测目标可以视为简单样本,而极小的目标由于定位困难,可以视为困难样本。对于以简单样本为主的检测任务,在边框回归过程中专注于简单样本有助于提高检测性能。相反,对于困难样本比例较高的检测任务,需要专注于困难样本的边框回归。
B. Focaler-IoU
为了能够专注于不同的回归样本,并改进检测任务,我们使用线性区间映射方法来重构IoU损失,从而改善边界回归。其重构公式如下:
IoU focaler = { 0 , IoU < d IoU − d u − d , d ≪ IoU ≪ u 1 , IoU > u \text{IoU}_{\text{focaler}} = \begin{cases} 0, & \text{IoU} < d \\ \frac{\text{IoU} - d}{u - d}, & d \ll \text{IoU} \ll u \\ 1, & \text{IoU} > u \end{cases} IoUfocaler=⎩ ⎨ ⎧0,u−dIoU−d,1,IoU<dd≪IoU≪uIoU>u
其中, IoU focaler \text{IoU}_{\text{focaler}} IoUfocaler 是重构后的 Focaler-IoU, d , u ∈ [ 0 , 1 ] d, u \in [0, 1] d,u∈[0,1]。通过调整 d d d和 u u u 的值,可以使 IoU focaler \text{IoU}_{\text{focaler}} IoUfocaler 专注于不同的回归样本。其损失定义为:
L
Focaler-IoU
=
1
−
IoU
focaler
L_{\text{Focaler-IoU}} = 1 - \text{IoU}_{\text{focaler}}
LFocaler-IoU=1−IoUfocaler
将Focaler-IoU损失应用于现有的基于IoU的边框回归损失函数,得出以下损失函数:
L Focaler-GIoU = L GIoU + IoU − IoU focaler L_{\text{Focaler-GIoU}} = L_{\text{GIoU}} + \text{IoU} - \text{IoU}_{\text{focaler}} \quad \text{} LFocaler-GIoU=LGIoU+IoU−IoUfocaler
L Focaler-DIoU = L DIoU + IoU − IoU focaler L_{\text{Focaler-DIoU}} = L_{\text{DIoU}} + \text{IoU} - \text{IoU}_{\text{focaler}} \quad \text{} LFocaler-DIoU=LDIoU+IoU−IoUfocaler
L Focaler-CIoU = L CIoU + IoU − IoU focaler L_{\text{Focaler-CIoU}} = L_{\text{CIoU}} + \text{IoU} - \text{IoU}_{\text{focaler}} \quad \text{} LFocaler-CIoU=LCIoU+IoU−IoUfocaler
L Focaler-EIoU = L EIoU + IoU − IoU focaler L_{\text{Focaler-EIoU}} = L_{\text{EIoU}} + \text{IoU} - \text{IoU}_{\text{focaler}} \quad \text{} LFocaler-EIoU=LEIoU+IoU−IoUfocaler
L Focaler-SIoU = L SIoU + IoU − IoU focaler L_{\text{Focaler-SIoU}} = L_{\text{SIoU}} + \text{IoU} - \text{IoU}_{\text{focaler}} \quad \text{} LFocaler-SIoU=LSIoU+IoU−IoUfocaler
IV. 实验
A. PASCAL VOC 上的 YOLOv8
PASCAL VOC 数据集是目标检测领域最受欢迎的数据集之一,在本文中我们使用 VOC 2007 和 VOC 2012 的训练集和验证集,共计 16551 张图片,测试集选用 VOC 2007,共 4952 张图片。在本实验中,我们选择了最新的单阶段检测器 YOLOv8s 和 YOLOv7-tiny 进行 VOC 数据集上的对比实验,SIoU 被选为实验中的对比方法。实验结果如表 I 所示。
表 I:SIoU 和 Focaler-SIoU 在 YOLOv8 上的性能对比
B. YOLOv5 上的 AI-TOD 实验
AI-TOD 是一个遥感图像数据集,与一般数据集不同的是,它包含大量小型目标,且目标的平均尺寸仅为 12.8 像素。在此实验中,选择 YOLOv5s 作为检测器,比较方法为 SIoU。实验结果如表 II 所示:
表 II:SIoU 和 Focaler-SIoU 在 YOLOv5 上的性能
V. 结论
本文分析了难易样本分布对目标检测的影响。当难样本占主导时,需要重点关注难样本,以提高检测性能。而当简单样本的比例较大时,情况则相反。接下来,我们提出了Focaler-IoU方法,通过线性区间映射重构原始的IoU损失,以实现聚焦于难易样本的目标。最后,通过对比实验证明,所提出的方法能够有效地提升检测性能。
原文地址:https://blog.csdn.net/zzzyyy8/article/details/145190187
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!