FCOS 项目介绍
项目背景
FCOS(Fully Convolutional One-Stage Object Detection)是一个创新的目标检测算法项目。它于2019年由Zhi Tian、Chunhua Shen、Hao Chen和Tong He在国际计算机视觉会议(ICCV)上提出。该算法旨在简化目标检测过程,并在性能上比起传统的方法有显著提升。
项目特色
- 无锚点设计:FCOS摒弃了复杂的锚点框架计算和调整,简化了模型设计,同时减少相关超参数的设置。
- 优越的性能表现:尽管结构简单,FCOS在性能上超越了更复杂的Faster R-CNN模型,如在ResNet-50上,FCOS的均值平均精度(AP)为38.7,而Faster R-CNN仅为36.8。
- 加快训练与测试速度:在相同硬件条件下,FCOS所需训练时间较短,同时每张图片的推理时间也减少约12毫秒。
- 领先的性能表现:最优的FCOS模型基于ResNeXt-64x4d-101及可变形卷积,可在COCO测试集上达到49.0%的AP。
最新动态与更新
项目不断更新以增强模型功能和性能,例如:
- FCOS与快速和多样性(FAD)神经架构搜索相结合。
- 新的非极大值抑制(NMS)技术,提升了基于ResNe(x)t与MobileNet模型的运行速度。
- 多个新模型发布,包括结合了AutoML搜索的FPN与HRNet等。
硬件需求与安装
项目推荐使用8个Nvidia V100 GPU进行训练,不过由于FCOS的内存高效性,4个1080Ti GPU也能胜任如ResNet-50-FPN的训练。用户若仅将FCOS用作检测器,仅需安装Pytorch,并执行简单的pip命令即可。
快速演示与推断
用户可以通过快速的安装步骤,下载预训练模型,并运行简单的Python脚本来进行FCOS的快速演示。对于推断任务,项目提供了简单的命令行接口,支持多GPU的推断设置。
模型与训练
项目中提供了不同模型的预训练权重,用户可以根据需求下载并使用。对于模型训练,用户可以根据提供的命令行在多GPU环境下进行训练,并根据需要选择不同的backbone。
贡献与引用
项目欢迎开发者贡献代码或提交问题。此外,对于在研究中使用本项目的用户,建议引用相应的论文以致敬原作者的工作与贡献。
许可协议
该项目在学术领域遵循BSD两项条款许可协议。对于商业用途,请联系项目作者获取相应许可。
致谢
项目开发得到了多个社区贡献者的宝贵建议和代码贡献,特别感谢中心采样和GIoU技术的支持。
通过FCOS的简化设计和强大的检测性能,该项目为目标检测领域带来了新的视角和可能性,是目标检测技术的重要进展。