美文网首页深度学习-推荐系统-CV-NLP
FSAF(Feature Selective Anchor-Fr

FSAF(Feature Selective Anchor-Fr

作者: cshun | 来源:发表于2019-08-13 15:18 被阅读2次

GitHub:
arxiv:https://arxiv.org/abs/1903.00621

基于anchor-free的one-shot目标检测方法(CVPR2019)
在coco数据集上 达到MAP=44.6%的好成绩。

亮点:针对特征金字塔(Feature Pyramid)过去简单粗暴的目标分配方式(大目标在高层特征,小目标在底层特征)。提出了使用较强监督能力的head去计算该目标在不同特征分支上的得分,之后将该目标分配给最高得分的特征分支进行检测。

下面对整个文章做较详细的介绍:

针对图像多尺度的特性,特征金字塔在目标检测中发挥着重要的作用。通过特征金字塔的多级感知能力,高层通过较高的语义信息以及大感受野来检测大目标,低层通过较详细的语义特征以及小的感受野来检测小物体。

但是,文章中指出了传统只通过目标size判定其在某一尺度特征上进行检测的方式是存在问题的。如图Figure2中所指,40×40和50×50被分配到了同一层,而50×50和60×60则被分到了不同层。在无法指出合理性的时候,文章提出让模型自主的学习去选择目标合适的特征分支。文中称此方法为Online feature selection。


实现方法:如图figure3。在训练阶段,每个目标均被分配给所有特征金字塔的分支进行监督训练(anchor-free branch)。


如下图Figure6所示,对每条分支上的anchor-free branch的loss值做判断,取loss值最小的特征图来判断目标(对应修改各分支上的label信息即可)。


将FSAF模块应用在RetinaNet中,如图下图Figure4,添加两条anchor-free branch,一个是用来判断分类的(w×h×k),另一个是用于框回归的(w×h×4)。之后会对这两个分支和其loss计算做详细的介绍。


loss计算

定义loss的过程中,anchor-free branch包括分类分支和框回归分支两项。如下图Figure5。
1.分类:白色区域,这部分作为正样本参与loss计算,文中取参数为0.2,即当目标大小为w×h时,白色区域框大小为0.2w×0.2h;灰色区域,为忽略区域,不做计算,文中取【0.2,0.5】参数。即(0.2w-0.5w)×(0.2h-0.5h)为灰色区域;其他区域为负样本,进行梯度计算。共k类,损失函数使用Focal loss。整个分类loss是所有非忽略区域的focal loss的和,最后使用所有像素数量对loss做归一化。
2.框回归:每个有效区域均对应四个方向的偏移量图。分别计算(i,j)距四个边界的距离,形成label。使用iou loss进行优化。
3.最后的loss包括retinanet的loss(L1),分类loss(L2),回归loss(L3),则L=L1+λ×(L2+L3)。λ文中取0.5。


inference过程:

在这过程中,anchor-free预测的分数前1k个目标(每个分支上)并且分数大于0.5,将其结果与anchor-based结果融合,之后做nms,得到最后的结果。

结果:还是有不错的提升的。

相关文章

网友评论

    本文标题:FSAF(Feature Selective Anchor-Fr

    本文链接:https://www.haomeiwen.com/subject/vztvjctx.html