[目标检测]--CVPR19:FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection

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

最近在实验室组会上分享了这篇CVPR19最新的目标检测方面的论文,结合自己在这个领域的研究对篇论文做一下简单解读:
1.前言
自从深度学习技术应用到目标检测领域之后,先后出现了许多经典之作,其中双阶段的RCNN和单阶段的SSD方法最为经典,在这两种方法的基础上,先后衍生出了Faster-RCNN,R-FCN和RetinaNet,RefineDet等突破性论文。但是以上论文都是基于anchor-based的方法,即在特征图上设置默认的不同大小、纵横比的anchors,这些anchors基本包含了图片上所有的目标,以此来进行后面分类和回归的操作。最近,已经开始有论文针对anchors的弊端进行了分析,首先anchors数量过多,造成了极大的正负样本失衡,也减慢了训练速度;其次,anchor大小,纵横比这些超参数需要人工设定,并不具有通用性。因此,目前已经有论文开始针对舍弃anchors做了研究,如DeNet,CornerNet开始通过预测框的角点位置来实现目标检测。本文也是对anchor-free实现的单阶段目标检测算法。
2.动机
在这里插入图片描述
本文分析了anchor-based有以下的缺点:
(1) heuristic guided feature selection,即anchor-based方法中, anchor跟gt匹配过程中,依据的是IOU数值,这个公式隐式的决定了这个gt由哪一层的feature map来进行预测,由size尺寸来暴力决定负责预测的feature map。作者觉得这种方法说不上是好是坏,但是由gt自己选择负责预测的feature map会更合理。
(2)overlap-based anchor sampling,重叠的anchor采样。
3.网络结构
在这里插入图片描述
本文是在结合了FPN方法的单阶段方法RetinaNet网络上做了改动,在每一层featur map的anchor-based方法的基础上加了一个并行的FSAF网络结构,这个分支主要包含了anchor-free分支, 用来每个像素点进行分类和坐标回归;Online Feature Selection模块,用来在线选择负责检测每个gt的feature map 。
4.anchor-free branch
在这里插入图片描述
anchor-free分支网络如图,由于该方法并没有设置默认anchor的操作,只需要在每个像素点预测k个类别和4个坐标值,与acnhor-based需要为每个像素点设置的k个框预测有着明显的区别。
(1)Groud-truth设计
个人觉得ground-truth设计特别有意思,具体设计方法如图,作者将一个gt区域按照占比分为有效区域和忽略区域。后面紧接着对有效区域部分(目标中心点区域)做预测回归,大大减少了样本区域。具体参数设置还有待商榷。
(2)分类损失
classification output是一个WxHxK大小的feature map,K表示物体类别数,那么在坐标为(i,j)的点上是一个长度为K的向量,表示属于每个类别的概率。分支对应的gt是图中白色区域内值为1,表示正样本,黑色区域内值为0,表示负样本,灰色区域是忽略区域不回传梯度。分支采用Focal Loss,整个classification loss是非忽略区域的focal loss之和,然后除以所有有效区域内像素个数之和来正则化一下,这个损失相当于是只对目标中心点附近区域采样预测类别,大大减少了样本范围。
(3)回归损失
WxHx4大小的feature map,在一个坐标为(x,y)的点上,代表上、左、下、右四个边界与(x,y)的距离,然后作为输出结果,S为正则化常数,实验取值为4.0,分支采用IOU loss,只计算有效区域部分,整个损失为有效区域损失的平均值。相当于对目标中心点有效区域每个像素点预测一个框的坐标值,回归的四个值与anchor-based方法也有明显的区别,这里是每个像素点距离框四个边界点的距离。

5.Oline Feature Selection
在这里插入图片描述
对每个特征层算分类和回归损失之和,在线选择loss最小的特征层做梯度反传。
在这里插入图片描述
FSAF可以单独使用,也可以与anchor-based方法一起输出预测结果merge后,使用NMS得到最后结果,一起使用的损失函数如图。
6.实验
(1)
在这里插入图片描述
可以看出来FSAF模块单独使用,效果与anchor-based相当,但是有着更快的推理速度。FSAF+anchor-based一起使用时,精度提升很多,而且时间只增加了6ms。
(2)
在这里插入图片描述

在这里插入图片描述更多实验可以去论文中阅读。
7.总结体会
本文首先设计了anchor-free的提取样本方法,一定程度上实现了对anchor-based方法的取代,其次从feature selection角度设计了新的FSAF module来提升性能,个人认为其实从loss角度来看,提升了梯度反传的效率,有点类似于SNIP,只更新特定scale内物体对应的梯度,但又和SNIP不一样,效率比SNIP高。另外关于有效区域和忽略区域的比例是不是应该再分析一下。

猜你喜欢

转载自blog.csdn.net/weixin_42096202/article/details/89074190