目录(点击可跳转)
PaddleDetection挑战赛参赛心得分享
飞桨开发者&百度飞桨官方帮帮团萌新:Kevin Pang
1 比赛介绍
CVPR2020比赛:商超检测基线
本项目基于深度学习平台飞桨(PaddlePaddle),利用一键式目标检测开发套件PaddleDetection进行开发,欢迎使用并star。
基线方案介绍
本基线用于检测密集场景中产品的位置。基于飞桨推出的端到端目标检测开发套件PaddleDetection进行二次开发,PaddleDetection提供了丰富的检测模型,包含目标检测、实例分割、人脸检测等100+个预训练模型,涵盖多种数据集竞赛冠军方案,同时还具备了高灵活度,通过模块化的设计解藕各个组建,基于配置文件即可轻松搭建各种检测模型。本基线对商超检测数据集进行读取和评估,采用faster_rcnn算法,ResNet50_vd作为主干网络,引入FPN模块,在测试集上检测的AP@.50:.05:.95达到0.382,AP@0.5达到0.599,AP@0.75达到0.440。可以选择PaddleDetection中提供的大量主干网络优化精度,也可以尝试PaddleDetection已具备的扩展特性进一步提升模型效果,例如group_norm, Modulated Deformable Convolution等,更多模型可以参考MODEL_ZOO文档。
基线方案 | 算法 | AP@.50:.05:.95 | AP@0.5 | AP@0.75 | 备注 |
---|---|---|---|---|---|
检测 | faster_rcnn + ResNet50_vd + FPN | 0.332 | 0.574 | 0.352 | 基于PaddleDetection进行二次开发 |
2 比赛历史提交记录
3 推进心得
这部分我就按我的版本推进时间轴来进行分享~
3.1 PD挑战赛_V1.0版本:Baseline基线代码测试
# 训练:“-c”选择你要使用的模型,此处是默认的“faster_rcnn_r50_1x.yml”
!python tools/train.py -c configs/faster_rcnn_r50_1x.yml
# 评估:model_final可按需更改模型文件
!python tools/eval.py -c configs/faster_rcnn_r50_1x.yml \
-o weights=output/faster_rcnn_r50_1x/model_final
# 导出:按比赛要求使用“export_model.py”将模型导出
!python tools/export_model.py -c configs/faster_rcnn_r50_1x.yml \
-o weights=output/faster_rcnn_r50_1x/model_final
# 压缩:将导出的模型文件按比赛要求进行压缩
%cd output/faster_rcnn_r50_1x/
!zip output.zip __model__ __params__ infer_cfg.yml
系统评分:0.68398分
3.2 PD挑战赛_V2.1版本:PP-YOLO_r18vd模型测试
# 训练:“-c”选择你要使用的模型,此处已切换为“ppyolo_r18vd.yml”
!python tools/train.py -c configs/ppyolo/ppyolo_r18vd.yml
# 评估:model_final可按需更改模型文件
!python tools/eval.py -c configs/ppyolo/ppyolo_r18vd.yml \
-o weights=output/ppyolo_r18vd/model_final
# 导出:按比赛要求使用“ppyolo_r18vd.py”将模型导出
!python tools/export_model.py -c configs/ppyolo/ppyolo_r18vd.yml \
-o weights=output/ppyolo_r18vd/model_final
# 压缩:将导出的模型文件按比赛要求进行压缩
%cd output/ppyolo_r18vd/