1、引入
摘要:本文是2017年何凯明 ICCV最佳学生论文奖。论文认为单阶段目标检测低于两阶段的原因是正负样本不均衡,导致模型在训练时偏向负样本,且过多的简单负样本使模型退化。为了降低影响,提出focal loss损失函以及检测网络结构,提升了性能。
优点:无论是精度还是速度都是全面超越。
创新点:
- 提出focal loss损失函苏。
- 提出目标检测网络结构。
- 可以用于多标签分类(损失函数使用的是binary_cross_entropy_with_logits)。
2、网络结构
如图2-1所示。
- 使用多尺度特征金字塔网络。
- 分类与回归使用两个子网络,网络结构相同但不共享参数。
图2-1 网络结构
3、损失函数
改编交叉熵损失函数。
F
L
(
p
t
)
=
−
α
t
(
1
−
p
t
)
γ
l
o
g
(
p
t
)
FL(p_t)=-\alpha _t(1-p_t)^\gamma log(p_t)
FL(pt)=−αt(1−pt)γlog(pt)
- α t \alpha_t αt是系数,有利于提高精度。
- 损失函数使用的是binary_cross_entropy_with_logits,用于多标签分类。
4、参数设置
- 损失函数: α ∈ [ 0.25 , 0.27 ] , \alpha\in [0.25,0.27], α∈[0.25,0.27],本文设置 α = 0.25 , γ = 2 \alpha =0.25,\gamma=2 α=0.25,γ=2。
- anchor scales × \times ×aspects=6/9
- 重要
因此正负样本不平衡,为了使模型训练前期保持稳定。将除了分类子网络最后一层,其余层w设为u=0, σ = 0.01 \sigma =0.01 σ=0.01的高斯分布,b=0。最后一层为了使每一个anchor为前景的概率都为 π \pi π。因此w设为u=0, σ = 0.01 \sigma =0.01 σ=0.01的高斯分布,b设为 − l o g ( ( 1 − π ) / π ) -log((1-\pi)/\pi) −log((1−π)/π)。b的推导:输出概率使用逻辑回归函数即 1 1 + e − x \cfrac 1 {1+e^{-x}} 1+e−x1。本文中将 π \pi π设为0.01,思想是增加正样本的损失值。