《FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection》论文笔记
参考代码地址:Feature-Selective-Anchor-Free-Module-for-Single-Shot-Object-Detection
1. 概述
导读:这篇文章对于一阶段(文中baseline为RetinaNet)的检测模型回归提供了一个新的特征选择机制:anchor-free的特征选择机制(feature selective anchor-free,FSAF)。它解除了原有anchor-based中使用IoU采样与一些特殊规则制定的特征选方案的限制,使用在不同的特征层上使用anchor-free的检测分支,让检测的目标去动态划分寻找所需要的特征(按照最小损失准则),它与原有的anchor-based的检测分支相并行,并且可以很方便地嵌入到现有的模型中。实际上也会证明文章的方法有效,在COCO数据集上获得了44.6的mAP。
在基于anchor的一阶段检测模型中,默认使用最佳anchor box大小的形式安排不同的回归目标到不同的特征层上进行回归,这种机制的优化结构见下图所示:
上面提到的检测方法设计有如下的一些问题:
- 1)特殊规则制定的特征选择机制:人为地通过制定一些规则将anchor(比如按照box的size)划分到特征金字塔的不同层次上,但是这样的划分机制主要是通过人为经验来的,因而并不能说是最优的方案;
- 2)基于IoU的anchor采样:训练的时候检测的目标会被分配给与其IoU最为适配的anchor上;
对于上面的两点问题文章是使用FSAF模块进行解决,它的思想就是让每个检测的目标自由选择最适合其回归的检测分支,而并非使用原有anchor-based方法的限制,它的设计思想可以用下图进行描述:
在上图中,每个特征层上使用一个anchor-free的检测分支单独与回归检测边界与分类置信度,而且检测目标可以按照其内部信息(based on the instance content)而不是大小选择这些检测分支,从中选择最好的进行回归。基于此的改进效果还是很明显的,见下图:
2. 方法设计
2.1 网络结构
这篇文章的网络结构见下图4所示:
其中在原有anchor-based检测分支的基础上增加了一个anchor-free的检测分支(预测对应的中心到边界框的4个距离),下面的内容主要分为:anchor-free的回归机制与基于instance content的特征选择机制。
2.2 anchor-free分支的回归表示
对于需要回归的检测框目标表示为,在特征金字塔层级上经过映射之后的目标框表示为,将检测目标映射到对应的特征层级自然要对应不同的tride才行。除此之外文章还定义了不同的区域用于回归:有效区域与忽略区域,对于每个目标区域是定义了上面这两个区域的,其定义的规则为:
其中,代表有效区域与忽略区域,对于缩放系数定义为。对应的边界框与分类结果见下图所示:
分类输出:
分类的输出是包含个channel的输出,代表的是对应的类别。承上文所说的有效区域的定义(0.2的GT标注区域)被表示为白色的区域,而介于上文中提到的0.2到0.5的区域被认为是忽略的,就是在梯度反传的不发生反传。特别的在重贴时候的处理:忽略区域相交叠的结果也是被忽略,有效区域的重合按照目标更小的区域优先原则。这里分类的损失使用的是Focal Loss(对应的两个超参数设置为RetinaNet中的最佳经验值),这里计算loss只会计算非忽略区域的loss,并将它们加起来再与有效区域中像素的个数做归一化操作。此外对于在上面两个区域之外的区域就是被描述为黑色了(具体参考图5所示)。
边界框回归输出:
这里边界框的回归形式是回归中心点距离检测框4个边界的距离,只有上面文章定义的有效区域产生的检测结果才会被提取出来,注意的是这里对每个预测的分量使用了进行归一化。这里使用的检测框损失为IoU Loss(这个损失的缺点已经有很多介绍了,可以换成新的GIoU、DIoU、CIoU等),之后会将得到的损失按照有效区域中进行取平均。
整体的损失函数为:
其中,前半部分为anchor-based分支的损失,后半部分为anchor-free分支的损失。
2.3 在线基于instance content的特征选择机制
上文讲了anchor-free分支中分类与定位损失的定义,那么在对应的特征层上anchor-free分支产生的损失可以描述为:
那么得到这个损失之后,怎么选择目标最适应的特征呢?文章是按照最小loss进行选择的,见下图所示:
其数学表达式为:
则文章提出的特征选择方法与原始FPN中的特征选择方法进行对比,其结果见下表所示:
3. 实验结果
相比baseline RetinaNet性能对比:
与其它检测方法的性能对比: