点击上方“CVer”,选择加"星标"置顶
重磅干货,第一时间送达
本文转载自:AI深度学习视线 | 论文已上传,文末附下载方式
FCOS+DeformConv2+ResNeXt101+BiFPN 在COCO上能刷到50.4 AP!
作者团队:阿德莱德大学(沈春华等)
文章链接:
https://arxiv.org/pdf/2006.09214.pdf
代码地址:
https://github.com/aim-uofa/AdelaiDet
1
摘要
几乎所有最新的目标检测器(例如RetinaNet,SSD,YOLOv3和Faster R-CNN)都依赖于预定义的anchor。相反,我们提出的探测器FCOS不含anchor,也不含proposal。
通过消除预先定义的锚定框集,FCOS完全避免了与锚定框相关的复杂计算,例如在训练过程中计算联合交叉点(IoU)分数。
更重要的是,还避免了与锚框相关的所有超参数,这些超参数通常对最终检测性能敏感。
通过唯一的后处理非最极大值制(NMS),我们演示了一种更简单,更灵活的检测框架,可提高检测精度。
2
主要思路
Anchor_based方法的缺点:
算法精度对图像size、anchor的长宽比和数量等较为敏感,从Faster-RCNN和Retinanet就能看出来,调整这些超参就能让RetinaNet在COCO的AP长4个点。
由于anchor_based的anchor超参是固定好了的,所以在面对形变比较大的目标时候检测效果会受影响。
为了获得较高的召回率,需要在特征图上密集的部署anchor,而其中大部分是负样本,加剧正负样本的不平衡。
anchor_based方法还需要复杂的计算,例如需要和真值不停的计算IOUs。
3
具体实现
首先,以逐像素预测的方式重新设计目标检测。
然后,展示了如何利用多层预测来改善重调用和解决由于重叠框造成的歧义。
最后,提出了“center-ness”分支,它有助于抑制低质量的检测盒,并大幅提高整体性能。
3.1 Fully Convolutional One-Stage Object Detector
这个位置的类标签c的∗是ground-truth框的类标签。否则,它是一个负样本,c∗= 0(背景类)。
除了用于分类的标签,我们还有一个4D实向量t∗= (l∗,t∗,r∗,b∗)作为位置的回归目标。这里,l∗,t∗,r∗和b∗是该位置到包围框四面的距离,如图1(左)所示。
网络的最后一层预测一个80维向量p用于分类,以及一个4维向量t*= (l,t,r,b)来编码box坐标。在focal loss之后,我们训练的不是多类分类器,而是二进制分类器。与focal loss类似,我们添加了两个分支,分别在FPNs生成的用于分类和排序任务的特征图之后添加了四个卷积层(不包括最终的预测层)。此外,由于回归目标总是正的,我们使用(x)将任何实数映射到回归分支顶部的(0,∞)。
值得注意的是,FCOS的网络输出变量比流行的基于anchor的检测器少9倍,每个位置9个锚盒,这在应用于关键点或实例分割时非常重要。
Loss Function
其中,Lcls是focal loss,Lreg是GIOU loss。
FCOS的推断很简单。给定一幅输入图像,通过网络传输,得到特征图Fi上每个位置的分类分数Px,y和回归预测Tx,y。在focal loss之后,选择Px,y>0.05为正样本的位置,解算Eq.(1)得到预测的边界盒。
3.2 Multi-level Prediction with FPN for FCOS
基于锚的检测器将不同尺度的锚盒分配到不同的特征级别。由于锚盒和GT盒是通过它们的IoU分数相关联的,这使得不同的FPN特征级别能够处理不同比例的对象。但是,这将锚框的大小和每个FPN级别的目标对象的大小结合在一起,这是有问题的。
锚框的大小应该是特定于数据的,可能会从一个数据集更改到另一个数据集。每个FPN级别的目标对象大小取决于FPN级别的感受野,感受野取决于网络架构。FCOS消除了耦合,因为我们只需要关注每个FPN级别的目标对象大小,而不需要设计一个anchor盒大小。
与基于锚点的检测器不同,在FCOS中,我们直接限制了每一层的边界盒回归的范围。更具体地说,我们首先计算回归目标l∗,t∗,r∗和b∗对于所有特征层的每个位置。如果一个特征图上的位置满足下面的关系:
max(l∗,t∗,r∗,b∗)≤mi-1 或者 max(l∗,t∗,r∗,b∗)≥mi,它被设置为负样本,因此不再需要返回一个边界框。这里mi是feature level需要返回的最大距离。在本文中,m2,m3,m4,m5,m6,m7的取值分别为0,,64,,128,256,512,∞。
我们认为,限定最大距离是确定各特征层目标对象范围的较好方法,因为这样可以确保完整对象始终处于各特征层的接受域内。
此外,由于不同大小的对象被分配到不同的特征级别,且重叠多发生在大小差别较大的对象之间,因此可以在很大程度上缓解上述模糊性。如果一个位置,即使使用多层预测,仍然分配到多个地真盒,我们只需选择面积最小的GT盒作为目标。实验表明,在多层预测的情况下,无锚探测器和基于锚的探测器都能达到相同的性能水平。
3.3 Center-ness for FCOS
这里我们用平方根来减缓中心度的衰减。中心度的范围为0到1,因此使用二元交叉熵(BCE)损失进行训练。将损失加到损失函数式(2)中,检验时,最终得分Sx,y(用于对NMS中检测进行排序)为预测的中心度Ox,y与对应的分类分数Px,y的乘积的平方根。在形式上,
因此,中心度可以降低远离物体中心的边界框的分数。因此,在最终的非最大抑制(non-maximum suppression, NMS)过程中,这些低质量的边界盒很有可能被滤掉,显著提高了检测性能。
4
实验结果
4.1 Analysis of FCOS
Best Possible Recall :
可以看出FCOS与anchor_based的RetinaNet的BPR已经很接近了。
Ambiguous Samples in FCOS:
the Effect of Center-ness:
Other Design Choices:
4.2 FCOS vs. Anchor-based Counterparts
FCOS的mAP已经超过了RetinaNet:
4.3 Comparison with SOTA Detectors on COCO
4.4 Real-time FCOS
论文下载
在CVer公众号后台回复:FCOS,即可下载本论文
重磅!CVer-论文写作与投稿交流群成立
扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满2000+人,旨在交流顶会(CVPR/ICCV/ECCV/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI等)、SCI、EI等写作与投稿事宜。
同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号
整理不易,请给CVer一个在看!