SAPD
目录
- 1. motivation
- 2. anchor-point detection的网络框架
- 3. SAPD
- 3.1 整体思路
- 3.2 Soft-Weighted Anchor Points
- 3.2.1 motivation
- 3.2.2 原理
- 3.3 Soft-Selected Pyramid Levels
- 3.3.1 motivation
- 3.3.2 原理
- 4. 实验
- 5. 总结
论文:Soft Anchor-Point Object Detection
时间及出处:CVPR 2020
1. motivation
研究label assignment问题
FSAF通过计算某个物体在各个特征层上的损失,动态地将该物体assign给损失最小的一层特征层,该做法存在2个问题:
- 只将物体assign给1个特征层可能是不合理的;
- 自适应label assignment的不彻底性:FSAF只实现scale dimension的自适应,并未实现spatial dimension的自适应,当某个物体assign给某一特征层后,后续还需要根据IoU来决定该物体具体应该由该层的哪一个anchor box来负责预测。
FCOS则与FSAF相反,FCOS使用center-ness可以在一定程度上实现spatial dimension的自适应,但在实现scale dimension时采用启发式方法,即,给每个特征层所预测物体的scale手动设置一个限制范围。
SPAD正是为了同时实现scale dimension和spatial dimension的自适应性而提出的。
- 实现spatial dimension的自适应性:anchor point在同一特征层的不同位置对loss的贡献是不同的,靠近object中心的anchor point具有更加准确的特征,靠近bounding box边界的anchor point则包含了较多的背景信息,于是,提出了soft-weighted anchor points,用于给每个anchor point生成一个损失权重。
- 实现scale dimension的自适应性:不同层之间的anchor point也是不同的,为了进行特征层选取,提出了soft-selected pyradmid levels为每一个特征层进行加权(用一个网络来产生)。
2. anchor-point detection的网络框架
- FPN结构( P 3 P_3 P3~ P 7 P_7 P7),不同层级的detection head参数共享;
- 直接在特征图上输出 K K K个类别的confidence map和4个与类别无关的bounding box offset map(分别表示该位置到边界框4条边的距离);
- 以落入某个GT框内(或GT框中心区域)的anchor point为正样本,不落入任何GT框的anchor point为负样本;
- 分类损失使用focal loss,回归损失使用IoU loss;



3. SAPD
3.1 整体思路

3.2 Soft-Weighted Anchor Points
3.2.1 motivation
- 实验中发现,在使用NMS前,有一些anchor point会产生高分低定位精度的预测框(图(a)的红框),有些anchor point则产生低分高定位精度的预测框(图(a)的黄框),这样,在使用NMS之后,低分高定位精度的黄色预测框将被移除,保留下高分低定位精度的红色预测框,使得高IoU标准下的 A P AP AP会比较低,如 A P 90 AP_{90} AP90
- 原因是距离边界框边界比较近的anchor point,其对应的特征与物体特征没有对齐,这些anchor point的感受野通常包含过多的背景信息,对物体自身信息的关注不够,最终导致了比较低的定位精度。(猜想是由于能关注到物体的重点区域,所以分类置信度还比较高)。
- 虽然上述问题是label assignment的不足,但是在构造损失函数时直接将每个位置产生的损失直接相加,即每个anchor point的损失权重因子都是相等的,所以这是不合理的。
- 因此提出soft-weighted anchor points,对每个anchor point赋予不同的损失权重因子,物体边界框越近的anchor point的损失权重因子越大,这样可以使网络更加关注代表性强的重点区域,而减小对边界区域的关注。

3.2.2 原理
- 记第 l l l个特征层中位置为 ( i , j ) (i,j) (i,j)的anchor point为 p l i j p_{lij} plij ,其对应的损失权重因子 w l i j w_{lij} wlij如下,
其中, B B B表示某一GT框, B v B_v Bv表示 B B B的中心区域, f ( p l i j , B ) f(p_{lij},B) f(plij,B)是FCOS中centerness的推广

- FCOS的centerness是通过添加centerness分支,由网络直接产生的。在构建centerness标签时,令 η = 0.5 \eta=0.5 η=0.5。FCOS论文中指出,若不使用centerness分支,而直接通过回归分支得出的边界框预测量来计算,最终的 A P AP AP会下降4%左右,但SAPD直接计算却可以得到比较好的结果。
- 产生以上分歧的原因在于,FCOS在训练和测试时均需要用到centerness,而SAPD只在训练阶段将其作为损失权重,在测试时并不需要用到。作者做了对比实验来说明这个问题。使用centerness分支的输出作为损失权重的结果反而不好。

3.3 Soft-Selected Pyramid Levels
3.3.1 motivation
- 对各个输出特征图的可视化结果表明,各个特征层所关注的区域是非常相似的,特别是相邻特征层。这意味着使用多层特征层来预测同一个物体也是可行的,而1个物体只由某个特征层来预测的做法减小了对CNN特征提取能力的利用。
- 尽管似乎可以使用多层特征层来预测同一个物体,但每一个特征层预测物体的能力以及合适程度应该是不一样的,所以可以对各个特征层添加一个损失权重。

3.3.2 原理
SAPD使用一个简单的网络对每个特征层的每个位置产生一个损失权重。

-
给定一个物体边界框 B B B和网络输出特征层 P 3 P_3 P3~ P 7 P_7 P7,利用RoIAlign对每个特征图提取RoI特征,所有RoI特征尺寸均为 256 × 7 × 7 256\times7\times7 256×7×7。
-
对5个RoI特征按通道数叠加,得到 1280 × 7 × 7 1280\times7\times7 1280×7×7的特征
-
将 1280 × 7 × 7 1280\times7\times7 1280×7×7的特征输入特征选择网络中,网络将输出5个值,表示各自层的损失权重 w l B w_l^B wlB,但最终只选择top-k个 w l B w_l^B wlB,其余设置为0。
-
SAPD的最终损失权重 w l i j w_{lij} wlij为:

-
SAPD的最终损失函数为:

其中, L s e l e c t − n e t L_{select-net} Lselect−net是特征选择网络的损失函数(分类损失) -
特征选择网络的训练标签和损失函数如何构建的?
对于物体 B B B,按照FSAF的方法,将其assign给所有特征层,并计算各个特征层对应的损失,最小损失对应标签1,最大损失对应标签0,最终构成5维的one-hot vector,并使用交叉熵作为分类损失。 -
RoIAlign和特征选择网络只在训练时用到,测试时不需要。
4. 实验

注:BFP是Libra R-CNN中的augmented feature pyramids


5. 总结
- SAPD结合了FCOS和FSAF的优点,同时实现scale dimension和spatial dimension的自适应性,但这种实现是分开的,无法做法统一的实现,AutoAssign统一地实现了scale dimension和spatial dimension的自适应性。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
