写在最前面
这一系列文章是博主2020年本科论文调研时记的,现在是多模态的时代,很多技术都过时了,发出来希望对读这些论文的人有所帮助
Title
Feature Selective Anchor-Free Module for Single-Shot Object Detection
Motivation
目标检测中的多尺度问题一直是一个难题。一种有效的解决方法是使用特征金字塔网络,在特征金字塔中,深层的特征图分辨率低,得到的anchor尺寸大数量少;浅层的特征图分辨率高,得到的anchor尺寸小数量多,这是由于深层特征图有更多的语义信息,适合检测较大的物体;浅层特征图的细节更精细,适合检测较小的物物体。在决定物体由哪一层预测时,是根据ground-truth的大小来确定的,这种方法可以达到很好的检测性能。但是,这种设计存在一定的限制:每个物体选择的特征层级是完全基于启发得到的。如下所示:
一个汽车的大小是50×50像素,另一个相似的汽车的大小是60×60像素,它们可能被分配到不同的特征层级中;而另一个40×40的汽车可能被分配到与50×50的instance相同的特征层级中。这就导致了训练instance所选择的特征层级可能不是最优的,因为谁也不能证明这种做法就是最好的。
Methods
1.Overview
本文提出FSAF(feature selective anchor-free)模型来解决这个问题,主要思想就是让每个物体可以自由地选择最佳的特征层级以得到最优化的效果。 因此在FSAF模型中没有anchor来限制特征层级的选择,同时以anchor-free的方式对物体进行编码,以进行分类和回归。每个层级的特征图后都有一个anchor-free分支,如下图所示,每个分支都包含分类子网络和回归子网络:
在training时,为每个物体动态选择最合适的特征层级,然后由那个特征层级负责对该物体进行检测。
在inference时,FASF模块可以独立预测结果,或者与anchor-based分支同时输出预测结果。
2.With anchor-based
上图是RetinaNet + FSAF的网络结构。RetinaNet由一个主干网络和两个子网构成(分类子网和回归子网),特征金字塔
P
3
P_3
P3到
P
7
P_7
P7是基于backbone搭建的,
l
l
l表示特征金字塔的层级,
P
l
P_l
Pl对输入图像进行
2
l
2^l
2l倍的降采样。在每个
P
l
P_l
Pl后面添加一个分类子网和一个回归子网,二者都为全卷积网络。分类子网预测每个位置的A个anchor中的目标属于K个类别的概率,回归子网预测每个anchor与离它最近的物体的偏移值。
在RetinaNet的输出端,如上图所示,FSAF模型只在每个金字塔层级引入两个额外的卷积层。这两个卷积层是在anchor-free分支中分别进行分类和回归预测。
anchor-free分支中的分类子网:一个3 × 3 × K的卷积层被添加到anchor-based分支中分类子网的特征图后,后接sigmoid函数,与anchor-based分支的部分相互平行。它预测的是每个位置的目标分别属于K个类别的概率;
anchor-free分支中的回归子网:一个3 × 3 × 4的卷积层被添加到anchor-based分支中回归子网的特征图后,后接ReLU函数,与anchor-based分支的部分相互平行。它负责以anchor-free的方式预测box的偏移值。
anchor-based和anchor-free以多任务的方式共同工作,共享每个金字塔层级的特征。
3.Ground-truth and loss
一个物体的类别是k,box坐标是b=[x,y,w,h],其中(x,y)是box中心点坐标,w和h分别是box的宽和高。在training阶段,这个instance可以被分配到到任意一个特征层级中。定义
b
p
l
b_p^l
bpl为b在
P
l
P_l
Pl上的映射,则正例区域
b
e
l
b_e^l
bel占
b
p
l
b_p^l
bpl的
ϵ
e
\epsilon_e
ϵe,无视的灰色区域
b
i
l
b_i^l
bil占
b
p
l
b_p^l
bpl的
ϵ
i
\epsilon_i
ϵi ,其中
ϵ
e
=
0.2
\epsilon_e=0.2
ϵe=0.2,
ϵ
i
=
0.5
\epsilon_i=0.5
ϵi=0.5。一个汽车生成gt的例子如下图所示:
4.Online Feature Selection
FSAF模型基于物体的前向传播结果来为其找到最合适的特征层级。对于一个物体I,将其在
P
l
P_l
Pl上的分类损失和框回归损失分别定义为
L
F
L
I
(
l
)
L_{FL}^I(l)
LFLI(l)和
L
I
o
U
I
(
l
)
L_{IoU}^I(l)
LIoUI(l),分别通过计算正例区域
b
e
l
b_e^l
bel的平均focal loss和IoU loss得到:
其中
N
(
b
e
l
)
N(b_e^l)
N(bel)是正例区域中的像素数量:
上图展示了在线特征选择的过程:
1.I通过前向传播,经过特征金字塔的所有层级;
2.利用计算所有anchor-free分支的focal loss和IoU loss;
3.哪一层的anchor-free分支算出来的损失最小,那么这一层就是检测I的最优的特征层级。
在training阶段,根据遇到的物体动态地调整特征层级的选择,通过上述过程选择的特征对当前物体是最优的。
在inference阶段,不需要进行在线特征选择,这是因为对于一个输入图像,特征金字塔中最合适的层级会自然地输出高的置信度分数。
Evaluation
1.Ablation Studies
Anchor-free branch
Online feature selection
2. State of the Art Comparison
Notes
1.这项工作表明,启发式的特征层选择方法不一定是最优的,可以通过学习来使得每一个物体自适应的选择最合适的特征层;
2.基于密集检测的anchor-free方法主要解决的问题有两个:(1)为每个物体选择最适合的特征层,来一定程度上解决物体位置重合的问题;(2)定义合适的正例区域,抑制距离中心点较远位置产生的偏差较大的框。