Awesome
FCOS: Fully Convolutional One-Stage Object Detection
This is an unofficial implementation of FCOS in a gluon-cv style, we implemented this anchor-free framework in a fully Gluon API, please stay tuned!
Main Results
Model | Backbone | Train Size | Batch Size | AP(val) |
---|---|---|---|---|
fcos_resnet50_v1_coco | ResNet50-V1 | 800 | 1 | - |
fcos_resnet50_v1b_coco | ResNet50-V1b | 800 | 1 | 33.1 |
fcos_resnet101_v1d_coco | ResNet101-V1d | 800 | 1 | 37.5 |
Note: To be update.
Installation
- Install cuda
10.0
and mxnet1.4.0
.
sudo pip3 install mxnet-cu100==1.4.0.post0
- Clone the code, and install gluoncv with
setup.py
.
cd fcos-gluon-cv
sudo python3 setup.py build
sudo python3 setup.py install
Preparation
- Download
COCO2017
datasets follow the official tutorials and create a soft link.
ln -s $DOWNLOAD_PATH ~/.mxnet/datasets/coco
You can also download from cocodataset and execute the command above.
-
More preparations can also refer to GluonCV.
-
All experiments are performed on
8 * 2080ti
GPU withPython3.5
,cuda10.0
andcudnn7.5.0
.
Structure
* Model : $ROOT/gluoncv/model_zoo/fcos
* Train & valid scripts : $ROOT/scripts/detection/fcos
* Data Transform : $ROOT/gluoncv/data/transform/presets
Training & Inference
- Clone the training scripts here, then train
fcos_resnet50_v1b_coco
with:
python3 train_fcos.py --network resnet50_v1b --gpus 0,1,2,3,4,5,6,7 --num-workers 32 --batch-size 8 --log-interval 10
- Clone the eval scripts here, then validate
fcos_resnet50_v1b_coco
with:
python3 eval_fcos.py --network resnet50_v1b --gpus 0,1,2,3,4,5,6,7 --num-workers 32 --pretrained $SAVE_PATH/XXX.params
Reference
- FCOS: Zhi Tian, Chunhua Shen, Hao Chen, Tong He.<br />"FCOS: Fully Convolutional One-Stage Object Detection." arXiv (2019). [paper] [official-code] [mmdet]