欢迎光临散文网 会员登陆 & 注册

比赛分享!科大讯飞安全帽检测算法赛baseline

2023-04-20 17:52 作者:深度之眼官方账号  | 我要投稿

来源:投稿 作者:LSC
编辑:学姐

最终成绩是:68.46473 第二名

比赛网址

http://challenge.xfyun.cn/topic/info?type=helmet-wear&option=ssgy

赛题任务

在本次比赛中需要参赛选手搭建计算机视觉模型识别出照片中的安全帽位置。

本次赛题包括三类目标物体:Helmet,Person,Head,训练集4千张图片,测试集1千张图片。训练集数据集标注格式为:

评估指标

本次竞赛的评价标准采用mAP(mean Average Precision)准确率指标,最高分为1。计算方法参考代码参考:https://github.com/Cartucho/mAP

识别结果文件详细说明:

(1)标签顺序需要与测试集文本保持一致;

(2)具体格式如下:

提交对应文件名以txt结尾的文件结果文件,如hard_hat_workers4007.txt,提交文件内容的格式为:

baseline代码我是在autodl平台上运行的,我是用PaddleDetection框架来进行检测的,要先将数据集和PaddleDetection.zip上传到平台

(1)首先是解压数据集和安装所需环境

(2)将标签文件由txt格式转成xml格式,再转为json格式,见train1.ipynb中的代码,主要是运行makexml函数PaddleDetection/tools/x2coco.py模块

(3)修改PaddleDetection中'PaddleDetection/configs/ppyoloe/ppyoloe_plus_crn_x_80e_coco.yml'文件及其相关文件'../datasets/coco_detection.yml', '../runtime.yml', './_base_/optimizer_80e.yml','./_base_/ppyoloe_plus_crn.yml', './_base_/ppyoloe_plus_reader.yml'等,重点是coco_detection.yml的文件路径,ppyoloe_plus_crn_x_80e_coco.yml里面的pretrain_weights,是预训练模型权重这是修改后ppyoloe_plus_crn_x_80e_coco.yml的内容。

这是修改后的coco_detection.yml的内容

修改后的runtime.yml的内容:

修改后的optimizer_80e.yml的内容:

(4)运行如下命令行代码,开始训练模型

全部数据训练和验证

是用所有训练集数据进行训练和验证,epoch是20,但是到了第10轮效果没有高效地提升,停止了训练,保存最好的模型。

(5)运行如下命令行代码,推理测试集数据

其中weights参数是最好的训练模型的权重的绝对路径,output_dir是结果输出绝对路径,infer_dir是测试集图片数据的绝对路径,最终生成推理结果的图片和测试集的推理结果bbox.json都存储在autodl-tmp/infer_output2/路径下。

(6)对autodl-tmp/infer_output2/bbox.json数据进行读取和处理,将每张测试集图片的结果写在同名的txt文本下,存储在/root/detection-results目录中。

这个时候要注意生成的bbox不知道对应的原图是哪个,所以对PaddelDetection的代码要稍微做修改,在PaddleDetection/ppdet/engine/trainer.py代码的第841行后加入:

(7)最后用命令行把/root/detection-results文件夹压缩下载到本地%cd /root/!tar -cvzf detection-results.tar.gz detection-results解压再压缩改为zip文件进行提交

比赛资源都安排在“KGMking”公众号上了!欢迎大家关注!

baseline&数据集合集都有都有

比赛分享!科大讯飞安全帽检测算法赛baseline的评论 (共 条)

分享到微博请遵守国家法律