文件最后提交记录最后更新时间
init 4 年前
!732 [中国海洋大学][高校贡献][Pytorch迁移1.8][SOLOv2]-初次提交 !732 [中国海洋大学][高校贡献][Pytorch迁移1.8][SOLOv2]-初次提交 3 年前
README.md

SOLO: Segmenting Objects by Locations - PaddlePaddle version

This directory is a realization scheme of PaddlePaddle high-performance deep learning framework.

PaddeDetection adopts the idea of modularization and has built-in rich data set enhancement strategy, backbone, network module and loss function. After understanding the excellent work of SOLO, we also implemented the PaddlePaddle version. We hope you can love it.

Model Zoo

Detector Backbone Multi-scale training Lr schd Mask APval V100 FP32(FPS) GPU Download Configs
YOLACT++ R50-FPN False 80w iter 34.1 (test-dev) 33.5 Xp - -
CenterMask R50-FPN True 2x 36.4 13.9 Xp - -
CenterMask V2-99-FPN True 3x 40.2 8.9 Xp - -
PolarMask R50-FPN True 2x 30.5 9.4 V100 - -
BlendMask R50-FPN True 3x 37.8 13.5 V100 - -
SOLOv2 (Paper) R50-FPN False 1x 34.8 18.5 V100 - -
SOLOv2 (Paper) X101-DCN-FPN True 3x 42.4 5.9 V100 - -
SOLOv2 R50-FPN False 1x 35.5 21.9 V100 model config
SOLOv2 R50-FPN True 3x 38.0 21.9 V100 model config
SOLOv2 R101vd-FPN True 3x 42.7 12.1 V100 model config

Notes:

  • SOLOv2 is trained on COCO train2017 dataset and evaluated on val2017 results of mAP(IoU=0.5:0.95).

Enhanced model

Backbone Input size Lr schd V100 FP32(FPS) Mask APval Download Configs
Light-R50-VD-DCN-FPN 512 3x 38.6 39.0 model config

Optimizing method of enhanced model:

  • Better backbone network: ResNet50vd-DCN
  • A better pre-training model for knowledge distillation
  • Exponential Moving Average
  • Synchronized Batch Normalization
  • Multi-scale training
  • More data augmentation methods
  • DropBlock

Training & Evaluation & Inference

PaddleDetection provides scripts for training, evalution and inference with various features according to different configure.
View full usage documentation

# training on single-GPU
export CUDA_VISIBLE_DEVICES=0
python tools/train.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml
# training on multi-GPU
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml
# GPU evaluation
export CUDA_VISIBLE_DEVICES=0
python tools/eval.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml -o weights=output/solov2_r50_fpn_3x_coco/model_final
# Inference
python tools/infer.py -c configs/solov2/solov2_r50_fpn_3x_coco.yml --infer_img=demo/000000570688.jpg -o weights=output/solov2_r50_fpn_3x_coco/model_final

Citations

@article{wang2020solov2,
  title={SOLOv2: Dynamic and Fast Instance Segmentation},
  author={Wang, Xinlong and Zhang, Rufeng and  Kong, Tao and Li, Lei and Shen, Chunhua},
  journal={Proc. Advances in Neural Information Processing Systems (NeurIPS)},
  year={2020}
}