# FCOS: Fully Convolutional One-Stage Object Detection
This project hosts the code for implementing the FCOS algorithm for object detection, as presented in our paper:
FCOS: Fully Convolutional One-Stage Object Detection;
Zhi Tian, Chunhua Shen, Hao Chen, and Tong He;
In: Proc. Int. Conf. Computer Vision (ICCV), 2019.
arXiv preprint arXiv:1904.01355
The full paper is available at: [https://arxiv.org/abs/1904.01355](https://arxiv.org/abs/1904.01355).
## Highlights
- **Totally anchor-free:** FCOS completely avoids the complicated computation related to anchor boxes and all hyper-parameters of anchor boxes.
- **Better performance:** The very simple one-stage detector achieves much better performance (38.7 vs. 36.8 in AP with ResNet-50) than Faster R-CNN. Check out more models and experimental results [here](#models).
- **Faster training and testing:** With the same hardwares and backbone ResNet-50-FPN, FCOS also requires less training hours (6.5h vs. 8.8h) than Faster R-CNN. FCOS also takes 12ms less inference time per image than Faster R-CNN (44ms vs. 56ms).
- **State-of-the-art performance:** Our best model based on ResNeXt-64x4d-101 and deformable convolutions achieves **49.0%** in AP on COCO test-dev (with multi-scale testing).
## Updates
- Script for exporting [ONNX models](https://github.com/tianzhi0549/FCOS/tree/master/onnx). (21/11/2019)
- New NMS (see [#165](https://github.com/tianzhi0549/FCOS/pull/165)) speeds up ResNe(x)t based models by up to 30% and MobileNet based models by 40%, with exactly the same performance. Check out [here](#models). (12/10/2019)
- New models with much improved performance are released. The best model achieves **49%** in AP on COCO test-dev with multi-scale testing. (11/09/2019)
- FCOS with VoVNet backbones is available at [VoVNet-FCOS](https://github.com/vov-net/VoVNet-FCOS). (08/08/2019)
- A trick of using a small central region of the BBox for training improves AP by nearly 1 point [as shown here](https://github.com/yqyao/FCOS_PLUS). (23/07/2019)
- FCOS with HRNet backbones is available at [HRNet-FCOS](https://github.com/HRNet/HRNet-FCOS). (03/07/2019)
- FCOS with AutoML searched FPN (R50, R101, ResNeXt101 and MobileNetV2 backbones) is available at [NAS-FCOS](https://github.com/Lausannen/NAS-FCOS). (30/06/2019)
- FCOS has been implemented in [mmdetection](https://github.com/open-mmlab/mmdetection). Many thanks to [@yhcao6](https://github.com/yhcao6) and [@hellock](https://github.com/hellock). (17/05/2019)
## Required hardware
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.
## Installation
#### Testing-only installation
For users who only want to use FCOS as an object detector in their projects, they can install it by pip. To do so, run:
```
pip install torch # install pytorch if you do not have it
pip install git+https://github.com/tianzhi0549/FCOS.git
# run this command line for a demo
fcos https://github.com/tianzhi0549/FCOS/raw/master/demo/images/COCO_val2014_000000000885.jpg
```
Please check out [here](fcos/bin/fcos) for the interface usage.
#### For a complete installation
This FCOS implementation is based on [maskrcnn-benchmark](https://github.com/facebookresearch/maskrcnn-benchmark). Therefore the installation is the same as original maskrcnn-benchmark.
Please check [INSTALL.md](INSTALL.md) for installation instructions.
You may also want to see the original [README.md](MASKRCNN_README.md) of maskrcnn-benchmark.
## A quick demo
Once the installation is done, you can follow the below steps to run a quick demo.
# assume that you are under the root directory of this project,
# and you have activated your virtual environment if needed.
wget https://cloudstor.aarnet.edu.au/plus/s/ZSAqNJB96hA71Yf/download -O FCOS_imprv_R_50_FPN_1x.pth
python demo/fcos_demo.py
## Inference
The inference command line on coco minival split:
python tools/test_net.py \
--config-file configs/fcos/fcos_imprv_R_50_FPN_1x.yaml \
MODEL.WEIGHT FCOS_imprv_R_50_FPN_1x.pth \
TEST.IMS_PER_BATCH 4
Please note that:
1) If your model's name is different, please replace `FCOS_imprv_R_50_FPN_1x.pth` with your own.
2) If you enounter out-of-memory error, please try to reduce `TEST.IMS_PER_BATCH` to 1.
3) If you want to evaluate a different model, please change `--config-file` to its config file (in [configs/fcos](configs/fcos)) and `MODEL.WEIGHT` to its weights file.
4) Multi-GPU inference is available, please refer to [#78](https://github.com/tianzhi0549/FCOS/issues/78#issuecomment-526990989).
5) We improved the postprocess efficiency by using multi-label nms (see [#165](https://github.com/tianzhi0549/FCOS/pull/165)), which saves 18ms on average. The inference metric in the following tables has been updated accordingly.
## Models
For your convenience, we provide the following trained models (more models are coming soon).
**ResNe(x)ts:**
*All ResNe(x)t based models are trained with 16 images in a mini-batch and frozen batch normalization (i.e., consistent with models in [maskrcnn_benchmark](https://github.com/facebookresearch/maskrcnn-benchmark)).*
Model | Multi-scale training | Testing time / im | AP (minival) | Link
--- |:---:|:---:|:---:|:---:
FCOS_imprv_R_50_FPN_1x | No | 44ms | 38.7 | [download](https://cloudstor.aarnet.edu.au/plus/s/ZSAqNJB96hA71Yf/download)
FCOS_imprv_dcnv2_R_50_FPN_1x | No | 54ms | 42.3 | [download](https://cloudstor.aarnet.edu.au/plus/s/plKgHuykjiilzWr/download)
FCOS_imprv_R_101_FPN_2x | Yes | 57ms | 43.0 | [download](https://cloudstor.aarnet.edu.au/plus/s/hTeMuRa4pwtCemq/download)
FCOS_imprv_dcnv2_R_101_FPN_2x | Yes | 73ms | 45.6 | [download](https://cloudstor.aarnet.edu.au/plus/s/xq2Ll7s0hpaQycO/download)
FCOS_imprv_X_101_32x8d_FPN_2x | Yes | 110ms | 44.0 | [download](https://cloudstor.aarnet.edu.au/plus/s/WZ0i7RZW5BRpJu6/download)
FCOS_imprv_dcnv2_X_101_32x8d_FPN_2x | Yes | 143ms | 46.4 | [download](https://cloudstor.aarnet.edu.au/plus/s/08UK0OP67TogLCU/download)
FCOS_imprv_X_101_64x4d_FPN_2x | Yes | 112ms | 44.7 | [download](https://cloudstor.aarnet.edu.au/plus/s/rKOJtwvJwcKVOz8/download)
FCOS_imprv_dcnv2_X_101_64x4d_FPN_2x | Yes | 144ms | 46.6 | [download](https://cloudstor.aarnet.edu.au/plus/s/jdtVmG7MlugEXB7/download)
*Note that `imprv` denotes `improvements` in our paper Table 3. These almost cost-free changes improve the performance by ~1.5% in total. Thus, we highly recommend to use them. The following are the original models presented in our initial paper.*
Model | Multi-scale training | Testing time / im | AP (minival) | AP (test-dev) | Link
--- |:---:|:---:|:---:|:---:|:---:
FCOS_R_50_FPN_1x | No | 45ms | 37.1 | 37.4 | [download](https://cloudstor.aarnet.edu.au/plus/s/dDeDPBLEAt19Xrl/download)
FCOS_R_101_FPN_2x | Yes | 59ms | 41.4 | 41.5 | [download](https://cloudstor.aarnet.edu.au/plus/s/vjL3L0AW7vnhRTo/download)
FCOS_X_101_32x8d_FPN_2x | Yes | 110ms | 42.5 | 42.7 | [download](https://cloudstor.aarnet.edu.au/plus/s/U5myBfGF7MviZ97/download)
FCOS_X_101_64x4d_FPN_2x | Yes | 113ms | 43.0 | 43.2 | [download](https://cloudstor.aarnet.edu.au/plus/s/wpwoCi4S8iajFi9/download)
**MobileNets:**
*We update batch normalization for MobileNet based models. If you want to use SyncBN, please install pytorch 1.1 or later.*
Model | Training batch size | Multi-scale training | Testing time / im | AP (minival) | Link
--- |:---:|:---:|:---:|:---:|:---:
FCOS_syncbn_bs32_c128_MNV2_FPN_1x | 32 | No | 26ms | 30.9 | [download](https://cloudstor.aarnet.edu.au/plus/s/3GKwaxZhDSOlCZ0/download)
FCOS_syncbn_bs32_MNV2_FPN_1x | 32 | No | 33ms | 33.1 | [download](https://cloudstor.aarnet.edu.au/plus/s/OpJtCJLj104i2Yc/download)
FCOS_bn_bs16_MNV2_FPN_1x | 16 | No | 44ms | 31.0 | [download](https://cloudstor.aarnet.edu.au/plus/s/B6BrLAiAEAYQkcy/download)
[1] *1x and 2x mean the model is trained for 90K and 180K iterations, respectively
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Competition from tianchi...数智重庆.全球产业赋能创新大赛.zip (697个子文件)
.isort.cfg 362B
configs 15B
deform_conv_cuda.cpp 29KB
ROIAlign_cpu.cpp 8KB
deform_pool_cuda.cpp 4KB
roi_align_cuda.cpp 3KB
roi_pool_cuda.cpp 3KB
masked_conv2d_cuda.cpp 3KB
nms_cpu.cpp 2KB
nms_cpu.cpp 2KB
sigmoid_focal_loss.cpp 2KB
vision.cpp 2KB
compiling_info.cpp 1KB
nms_cuda.cpp 575B
deform_conv_cuda_kernel.cu 42KB
deform_conv_kernel_cuda.cu 41KB
deform_conv_cuda.cu 28KB
deform_pool_cuda_kernel.cu 16KB
deform_pool_kernel_cuda.cu 16KB
ROIAlign_cuda.cu 12KB
roi_align_kernel.cu 11KB
ROIPool_cuda.cu 8KB
roi_pool_kernel.cu 7KB
sigmoid_focal_loss_cuda.cu 6KB
SigmoidFocalLoss_cuda.cu 6KB
ml_nms.cu 5KB
nms_kernel.cu 5KB
masked_conv2d_kernel.cu 5KB
nms.cu 5KB
deform_pool_cuda.cu 4KB
Dockerfile 2KB
Dockerfile 2KB
Dockerfile 599B
fcos 2KB
.flake8 247B
.gitignore 1KB
vision.h 6KB
deform_conv.h 4KB
deform_pool.h 2KB
ROIAlign.h 2KB
ROIPool.h 2KB
SigmoidFocalLoss.h 1KB
ml_nms.h 762B
nms.h 716B
vision.h 594B
MANIFEST.in 40B
pytest.ini 293B
Mask_R-CNN_demo.ipynb 2.98MB
inference_demo.ipynb 1.02MB
data_overview.ipynb 166KB
visual_image_size.ipynb 17KB
COCO_val2014_000000033759.jpg 370KB
COCO_val2014_000000001000.jpg 314KB
COCO_val2014_000000050896.jpg 305KB
COCO_val2014_000000012639.jpg 270KB
COCO_val2014_000000479030.jpg 266KB
demo.jpg 254KB
coco_test_12510.jpg 179KB
COCO_val2014_000000039769.jpg 169KB
COCO_val2014_000000005477.jpg 151KB
COCO_val2014_000000007281.jpg 134KB
COCO_val2014_000000000885.jpg 109KB
COCO_val2014_000000463842.jpg 105KB
COCO_val2014_000000053505.jpg 103KB
COCO_val2014_000000128654.jpg 91KB
LICENSE 11KB
LICENSE 1KB
MODEL_ZOO.md 41KB
GETTING_STARTED.md 14KB
README.md 11KB
MASKRCNN_README.md 11KB
README.md 8KB
README.md 7KB
MODEL_ZOO.md 7KB
CHANGELOG.md 6KB
README.md 6KB
ROBUSTNESS_BENCHMARKING.md 5KB
README.md 5KB
README.md 5KB
README.md 5KB
README.md 4KB
INSTALL.md 4KB
TECHNICAL_DETAILS.md 4KB
README.md 4KB
README.md 3KB
CODE_OF_CONDUCT.md 3KB
DATA_PIPELINE.md 3KB
README.md 3KB
TROUBLESHOOTING.md 3KB
README.md 3KB
ABSTRACTIONS.md 3KB
INSTALL.md 2KB
README.md 2KB
README.md 2KB
README.md 2KB
CONTRIBUTING.md 2KB
README.md 2KB
README.md 2KB
CONTRIBUTING.md 2KB
README.md 2KB
共 697 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
奔强的程序
- 粉丝: 1009
- 资源: 2750
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 含电动汽车的区域综合能源系统优化调度研究 代码简洁明了,注释详细,可以直接运行,部分结果图如下,有参考文献
- Maxwell电磁有限元仿真 环形halbach磁体阵列仿真,构建匀强匀梯度静磁场
- Matlab Simulink 五相PMSM永磁同步电机SVPWM控制建模仿真 电机控制仿真分析 研究方向为电机控制,有丰富的仿
- led-tcp-masteinux
- RJFireWall-mastethon
- led-tcp-mastesql
- 永磁同步电机三闭环控制+转动惯量辨识策略 不足: 转动惯量辨识精度不高,启动转速抖动 含有对应的lunwen文献
- java-leetcode题解之Kth Smallest Number in Multiplication Table.java
- Android入门(计算器)
- java-leetcode题解之Kth Smallest Element in a Sorted Matrix.java
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功