华为云杯2020深圳开放数据应用创新大赛生活垃圾图片分类目标检测资源文件

2020-09-23

华为云杯2020深圳开放数据应用创新大赛·生活垃圾图片分类(目标检测)资源文件

简介

本资源文件是为“华为云杯”2020深圳开放数据应用创新大赛·生活垃圾图片分类(目标检测)任务提供的相关资源。该比赛旨在利用人工智能技术对居民生活垃圾图片进行检测,找出图片中有哪些类别的垃圾,并指示出垃圾在图片中的位置。

内容概述

本资源文件包含了以下内容:

  1. 数据集:提供了用于训练和测试的生活垃圾图片数据集。
  2. 代码:提供了基于YOLOv3的PyTorch实现代码,用于目标检测任务。
  3. 训练策略:详细介绍了训练过程中使用的策略,包括学习率调整、多尺度训练等。
  4. 调参技巧:分享了在数据集上有效的调参技巧,以及一些尝试但效果不佳的技巧。
  5. 模型评估:提供了模型评估的命令和方法。
  6. 提交指南:详细说明了如何生成提交文件并上传到华为云平台。

使用说明

数据集

数据集包含了大量生活垃圾图片,每张图片都标注了垃圾的类别和位置。数据集分为训练集和验证集,比例为9:1。

代码

代码基于YOLOv3实现,使用了PyTorch框架。代码结构如下:

  • models/:包含模型定义文件。
  • utils/:包含各种辅助函数,如数据增强、损失计算等。
  • train.py:训练脚本。
  • test.py:测试脚本。
  • gen_submit_dir.py:生成提交文件的脚本。

训练策略

训练过程中使用了以下策略:

  • 学习率调整:采用了余弦退火学习率调整策略。
  • 多尺度训练:在训练过程中随机调整输入图像的尺寸。
  • 数据增强:使用了多种数据增强技术,如随机翻转、HSV增强等。

调参技巧

在数据集上有效的调参技巧包括:

  • SPP结构:在网络中加入空间金字塔池化层。
  • K-means聚类:使用K-means算法聚类锚点。
  • Stitcher增强:使用Stitcher数据增强技术。

模型评估

使用test.py脚本进行模型评估,命令如下:

python3 test.py --cfg trained_models/baseline-stitcher/yolov3-spp-44.cfg --data data/rubbish.data --weights trained_models/baseline-stitcher/best.pt --batch-size 8

提交指南

生成提交文件的命令如下:

python gen_submit_dir.py -m trained_models/baseline-stitcher -s submit/baseline-stitcher

生成的提交文件需要上传到华为云的OBS云存储中,然后部署到ModelArts中进行提交。

参考资料

本资源文件的详细内容和思路分享可以参考以下文章:

致谢

感谢华为云提供的比赛平台和数据支持,感谢所有参与者的贡献。

下载链接

华为云杯2020深圳开放数据应用创新大赛生活垃圾图片分类目标检测资源文件分享