查看原文
其他

最新的Anchor-Free目标检测模型FCOS,现已开源!

Amusi 计算机视觉Daily 2021-09-20

点击上方“OpenCV大本营”,选择加"星标"

重磅干货,第一时间送达

截止2019-04-12,Amusi 了解到较新的基于Anchor-Free的目标检测模型有两个,分别是:

  • FCOS

  • FoveaBox


前者FCOS就是本文要重点介绍的刚刚开源的算法,后者还没有开源,但同样是很棒的算法,后面会再跟大家介绍。想要了解最新论文解读和优质开源项目,请大家持续关注:



FCOS论文介绍


《FCOS: Fully Convolutional One-Stage Object Detection》


arXivhttps://arxiv.org/abs/1904.01355

github: https://github.com/tianzhi0549/FCOS

作者团队:阿德莱德大学

注:2019年04月03日刚出炉的paper


Abstract:我们提出了一种全卷积的 one-stage 目标检测器(FCOS),以每像素预测方式解决目标检测,类似于语义分割。几乎所有最先进的目标检测器,如RetinaNet,SSD,YOLOv3和Faster R-CNN都依赖于预定义的锚框(anchor boxes)。相比之下,我们提出的检测器FCOS不需要锚框,即 proposal free。通过消除预定义的锚框,FCOS完全避免了与锚框相关的复杂计算,例如在训练期间计算重叠并且显著减少了训练内存。更重要的是,我们还避免了与锚框相关的所有超参数,这些参数通常对最终检测性能非常敏感。凭借唯一的后处理:非极大值抑制(NMS),我们的检测器FCOS优于以前基于锚框的one-stage探测器,具有更简单的优势。我们首次展示了一种更加简单灵活的检测框架,可以提高检测精度。我们希望提出的FCOS框架可以作为许多其他实例级任务的简单而强大的替代方案。



本文算法(FCOS)


下图是FCOS的网络框图,可以明显看到网络组合是【Backbone】 + 【特征金字塔(Feature Pyramid)】+ 【Classification + Center-ness + Regression】


这里的 Center-ness 是全新的概念,也是论文的创新所在。另外敲重点,本文之所以独树一帜,是因为其 anchor-box free的思路




训练回归公式:


损失函数:



Center-ness:




实验结果


在COCO数据集上,各种目标检测算法PK。FCOS已经超越 Two-stage的Faster R-CNN,还超越了 One-stage的YOLOv2、SSD、RetinaNet,以及很新的CornerNet。


吐槽一下:FCOS真的很强,但为啥不放速度比较呢?难道One-stage 目标检测已经不注重 mAP/Speed的 trade-off了么?



FCOS开源



链接:https://github.com/tianzhi0549/FCOS

特性

  • Totally anchor-free: FCOS completely avoids the complicated computation related to anchor boxes and all hyper-parameters of anchor boxes.

  • Memory-efficient: FCOS uses 2x less training memory footprint than its anchor-based counterpart RetinaNet.

  • Better performance: Compared to RetinaNet, FCOS has better performance under exactly the same training and testing settings.

  • State-of-the-art performance: Without bells and whistles, FCOS achieves state-of-the-art performances. It achieves 41.0% (ResNet-101-FPN) and 42.1% (ResNeXt-32x8d-101) in AP on coco test-dev.

  • Faster: FCOS enjoys faster training and inference speed than RetinaNet.

需要的硬件

We use 8 Nvidia V100 GPUs. 
But 4 1080Ti GPUs can also train a fully-fledged ResNet-50-FPN based FCOS since FCOS is memory-efficient.

安装

This FCOS implementation is based on maskrcnn-benchmark, so its installation is the same as original maskrcnn-benchmark.

Please check INSTALL.md for installation instructions. You may also want to see the original README.md of maskrcnn-benchmark.

测试

The inference command line on coco minival split:

python tools/test_net.py \
--config-file configs/fcos/fcos_R_50_FPN_1x.yaml \
MODEL.WEIGHT models/FCOS_R_50_FPN_1x.pth \
TEST.IMS_PER_BATCH 4


训练

The following command line will train FCOS_R_50_FPN_1x on 8 GPUs with Synchronous Stochastic Gradient Descent (SGD):

python -m torch.distributed.launch \
--nproc_per_node=8 \
--master_port=$((RANDOM + 10000)) \
tools/train_net.py \
--skip-test \
--config-file configs/fcos/fcos_R_50_FPN_1x.yaml \
DATALOADER.NUM_WORKERS 2 \
OUTPUT_DIR training_dir/fcos_R_50_FPN_1x


FCOS源码


为了方便下载,开源代码已经打包上传至百度云,可以扫码下方二维码,

后台回复:FCOS,即可获得百度云链接。

▲长按关注我们


CVer目标检测交流群


扫码添加CVer助手,可申请加入CVer-目标检测交流群。一定要备注:目标检测+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡)

▲长按加群

欢迎给我"在看"!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存