-
cascade_rcnn_x101_64x4d_fpn_dcn_e15
- Backbone:
- ResNeXt101-64x4d
- Neck:
- FPN
- DCN
- Global context(GC)
- MS [(4096, 600), (4096, 1000)]
- RandomRotate90°
- 15epochs + step:[11, 13]
- A榜:0.55040585
- 注:不是所有数据
- Backbone:
-
基于1训练好的模型对训练数据进行清洗(tools/data_process/data_clean.py)
-
- 如果某张图片上所有预测框的confidence没有一个是大于0.9, 那么去掉该图片(即看不清的图片)
-
- 修正错误标注
-
- 先过滤掉confidence<0.1的predict boxes, 然后同GT boxes求iou
-
- 如果predict box同GT的最大iou大于0.6,但类别不一致, 那么就修正该gt box的类别
-
-
基于2修正后的数据进行训练 模型采用cascade_rcnn_r50_rfp_sac
- Backbone:
- ResNet50
- Neck: RFP-SAC
- GC + MS + RandomRotate90°
- cascade_iou调整为:(0.55, 0.65, 0.75)
- A榜: 0.56339531
- 注:所有数据
- Backbone:
-
基于3训练好的模型进一步清洗数据
- 模型同3:
- A榜:0.56945031
- 注:所有数据
-
基于4
- SWA(12epochs)(https://arxiv.org/abs/2012.12645)
- A榜:0.57286428
- 注:所有数据
- 操作系统:Ubuntu 18.04.2
- GPU:1块2080Ti
- Python:Python 3.7.7
- NVIDIA依赖:
- NVCC: Cuda compilation tools, release 10.1, V10.1.243
- CuDNN 7.6.5
- 深度学习框架:
- PyTorch: 1.8.1
- TorchVision: 0.9.1
- OpenCV: 4.5.1
- MMCV: 1.2.4+cu101
- MMCV Compiler: GCC 7.5
- MMCV CUDA Compiler: 10.1
- MMDetection: 2.10.0+0489bcb
- mmdetection安装
- 下载mmdetection官方开源的htc的resnext 64×4d 预训练模型
- 下载mmdetection官方开源的htc的DetectoRS | HTC + ResNet-50 预训练模型
-
训练
-
运行:
r50_rfp_sac (htc pretrained):
- python tools/train.py configs/cascade_rcnn_r50_rfp_sac_iou_e15_alldata_v3.py --no-validate
-
SWA -- 训练12轮
- python tools/train.py configs/swa_cascade_rcnn_r50_rfp_sac_iou_alldata-v3_e15.py --no-validate
-
-
预测
-
运行:
- python tools/test.py configs/swa_cascade_rcnn_r50_rfp_sac_iou_alldata-v3_e15.py ./swa/swa_cascade_rcnn_r50_rfp_sac_iou_alldata-v3_e15/swa_model_12.pth --format-only --cfg-options "jsonfile_prefix=./submit"
- 注: 采用fp16加速(配置文件添加fp16 = dict(loss_scale=512.0))
- python tools/test.py configs/swa_cascade_rcnn_r50_rfp_sac_iou_alldata-v3_e15.py ./swa/swa_cascade_rcnn_r50_rfp_sac_iou_alldata-v3_e15/swa_model_12.pth --format-only --cfg-options "jsonfile_prefix=./submit"
-
预测结果文件名submit.bbox.json
-
转化mmd预测结果为提交csv格式文件:
python tools/post_process/json2submit.py --test_json submit.bbox.json --submit_file submit.csv
最终符合官方要求格式的提交文件 submit.csv 位于 submit目录下
-
-
数据增强
- 竖直翻转和对角翻转
- dict(type='RandomFlip', direction='vertical', flip_ratio=0.5),
- dict(type='RandomFlip', direction='diagonal', flip_ratio=0.5),
- mixup
- 引入往年数据
- 通过md5去掉重复的图片
- autoaugment(v2, v4)
- mosaic
- 竖直翻转和对角翻转
-
模型部分
- 对特征进行roimix(可能是代码问题)RoIMix
- rpn采样器换成ATSS
- PAFPN
- DeformRoIPool替换RoIAlign
- bbox_head: Shared4Conv1FCBBoxHead替换Shared2FCBBoxHead
- ResNeSt101
- Res2Net101
- 郑烨-underwater-detection
- 郑烨-tile-detection
- milleniums
- Wakinguup-underwater-detection
- clw5180-tile-detection
- tile-detection
author: tricks
qq:1227125939
email: [email protected]