随着我国经济的发展,城市化进程不断加速,生活垃圾对城市环境的威胁日益增加。如何高效、环保地解决处理生活垃圾迫在眉睫。因此垃圾的智能分类对于智能化分拣垃圾、提高垃圾分拣效率就显得十分重要。为了探究这一问题,由中关村海华信息研究院、清华大学交叉信息研究院以及Biendata举办的2020海华AI垃圾分类大赛吸引了大量工程师以及高校学生的参与。由华为NAIE平台提供的算力支持,也为比赛的顺利开展奠定了基础。该比赛旨在激发更广泛的科研探索热情,挖掘更有价值的算法优化和创新。

01数据分析

我们参与的是该比赛的专业赛道,因此有两种数据集可以使用。一种为单类数据集,共80,000张垃圾图像,每张图像中只有一个类别。此外,还提供了图中唯一对象的边框的信息。多类别数据集包含训练集中的2998张垃圾图像,验证集中的1000张垃圾图像,测试集中的1000张垃圾图像,每幅图像最多包含20个类别。

不同于VOC、COCO、OID等常见的目标数据集,这些数据集具有不同的特点:

1. 对于205个类别,单类垃圾数据集的大小就足够了。然而,这个数据集中的垃圾图像与多类数据集中的垃圾图像有很大的不同,即使是同一类别的垃圾。直接使用该数据集来训练模型可能会导致特征不匹配和性能下降(图1)。

图1:左图为多类数据集中的镜子,右图为单类数据集中的镜子

2. 多类数据集在训练集中只包含2998张垃圾图像。而在125个类别的情况下,该数据量是比较小的,且类别存在不平衡的现象。因此大规模数据集的迁移学习和减少过拟合的技术是非常需要的。

3. 在大多数多类图像中,垃圾密集地堆积在图像的中心,并且形状大小不一。它会导致垃圾相互遮挡,使检测任务更加困难。并且每张图像的背景都比较干净(图2)。

图2:多类数据集图像示例

4. 数据集中存在许多混淆类别的垃圾,导致类别标签的不一致性。人工检查和更正标签可能有帮助,但也可能存在导致数据不匹配的风险(图3)。

图3:左右图为同一类物体,但在多类数据集中

左图被标定为食品塑料盒,而右图被标定为食品外包装盒

02Baseline

为了完成该比赛的任务,我们借鉴了其他大型的目标检测竞赛中的解决方案,如COCO、Objects365和OID。在这些解决方案中,我们借鉴了百度在OID 2019中的解决方案。Baseline模型选用的是基于Class-aware的Cascade R-CNN,且同时使用ResNet200-Vd作为模型的backbone并且加入了FPN、Dcnv2和Non-local方法来提高模型的整体效果。训练使用多尺度训练(480:1440:32)和常见的数据增强方法如水平翻转。

迁移学习可以在小数据集上获得良好的性能,因此在该比赛中使用该方法理论上应当可以取得较好的效果。因此,我们选择了COCO、Objects365和OID混合的预训练模型。具体效果如表1所示。

模型

预训练参数

排行榜   AP

Baseline

+ RandomVFlip

+ AutoAugment

COCO

0.898

Mixture

0.906

表1:使用不同预训练参数的Baseline的AP

训练方面,由于庞大的模型以及多尺度训练方法,所以在Tesla V100 上batch size只能设置为1,这里感谢华为NAIE提供的算力支持。使用引用动量的SGD作为训练的优化器。基础学习率设置为0.001,权重衰减速率为0.0001。使用了Cosine annealing with warmup的学习率调度策略,从0.0001的学习率开始,1000次迭代后到达基础学习率。我们训练Baseline进行了120K次迭代,训练时间大约40个小时。

03数据增强方案

为了减少在如此小的数据集上的过拟合,就需要大量的数据扩充。我们尝试了许多数据增强方案,最终发现RandomVerticalFlip、AutoAugment和GridMask能有效提高模型性能。

不同于自然图像,对于垃圾图像,水平翻转和垂直翻转的效果是等同的,因此我们使用了RandomVerticalFlip而并非RandomHorizontalFlip。

并且我们将广泛使用于图像分类中的AutoAugment方法迁移到了目标检测中。实验证明,该方法对各种目标检测数据集都是有效的。并且我们在baseline中尝试了三种不同的自动增强策略(表2),发现AutoAugment v0的效果是最好的,最终我们也使用了它。

模型

策略

排行榜AP

Baseline

+RandomVFlip

v0

0.906

v1

0.902

v2

0.904

表2:不同AutoAugment策略下模型的AP

再者我们使用了GridMask的数据增强方法,该方法包括random erasing、hide-and-seek、Dropout以及DropBlock。实验表明,GridMask可以有效减少目标检测的过拟合。并且使用GridMask长时间训练模型可以显著提高模型性能。在本实验中,我们尝试了不同概率和训练时间下的GridMask。如表3所示,使用GridMask的训练模型需要比baseline更长的训练时间。使用0.3的概率足以减少过拟合,且训练时间越长越好。概率为0.5和0.7甚至会导欠拟合的现象。所以如果以较高的GridMask概率训练超过300K次迭代理论上来说可以进一步提高结果。

模型

概率

迭代次数

排行榜AP

Baseline

+RandomVFlip

+AutoAugment

0.3

160K

0.907

0.5

160K

0.906

0.7

160K

0.903

0.3

200K

0.909

0.5

200K

0.906

0.3

240K

0.911

0.5

300K

0.909

表3:不同GridMask概率与迭代次数下模型的AP

04模型融合

在最终提交阶段,我们只能在RTX 2080上测试两个小时,但是模型大小不受限制。所以考虑到这些约束条件,我们训练了仅随机种子不同的6个相同的模型来进行模型融合,且使用了前面提到的所有有效技巧。同时使用了Top-k voting nms对6个模型的检测结果进行合并,设置top-k voting的nms的IoU阈值为0.7,该阈值与Cascade R-CNN第三阶段的IoU阈值一致。

05总结

最终我们在测试集上以0.910的成绩取得了第一名,我们认为我们能够取胜的原因主要有以下几点:

(1)参考了大型目标检测比赛前几名的方案

(2)使用了COCO,Object365以及OIDV5的混合预训练模型

(3)使用了多种数据增强方法

(4)在模型融合中使用了top-k voting nms

最后感谢华为提供的NAIE平台,为比赛训练提供了巨大的帮助,平台功能也十分强大。在我们使用平台遇到问题时,官方都及时地进行了解答和协助,十分的给力。我们也非常荣幸能有这次机会和大家分享这次比赛的历程,谢谢!

点击这里→了解更多精彩内容

一起来学习丨听海华大赛第一名团队聊比赛经验和心得相关推荐

  1. 登峰杯机器人成绩_合川中学学生荣获“登峰杯”机器人大赛第一名

    今日合川网讯 日前,第三届"登峰杯全国中学生学术科技创新大赛机器人竞赛"全国总决赛结果揭晓,合川中学高2020级陈怡兵.陈杰.陈帅.张紫怡.高文浩五位同学组成的团队在指导教师梁磊. ...

  2. 【采访】腾讯社交广告高校算法大赛第一周周冠军——郭达雅 比赛经验及心得分享

    [采访]腾讯社交广告高校算法大赛第一周周冠军--郭达雅 比赛经验及心得分享 经过一周紧张又激烈的角逐 腾讯社交广告高校算法大赛产生了第一位周冠军 他的名字叫郭达雅 一个腼腆沉静的小男孩 低调的实力派, ...

  3. 97年世界编程大赛第一名写的程序……看完很无奈 太牛了

    97年世界编程大赛第一名写的程序--看完很无奈 太牛了 保险起见大家运行完了还是删除哈,然后运行之前最好也看看..俺不懂,万一有啥问题俺能不负责吧 这个程序是97年Mekka '97 4K Intro ...

  4. 【采访】腾讯社交广告高校算法大赛第二周周冠军——Groot 比赛经验及心得分享

    [采访]腾讯社交广告高校算法大赛第二周周冠军--Groot 比赛经验及心得分享 经过又一周紧张又激烈的角逐 腾讯社交广告高校算法大赛产生了第二周周冠军 他们的名字叫Groot 三个冷静沉着的大男孩 低 ...

  5. 【采访】腾讯社交广告高校算法大赛第三周周冠军——到底对不队比赛经验及心得分享

    [采访]腾讯社交广告高校算法大赛第三周周冠军--到底对不队比赛经验及心得分享 经过又一周紧张又激烈的角逐 腾讯社交广告高校算法大赛产生了第三周周冠军 他们的名字叫"到底对不队" 这 ...

  6. 冠军方案 | 第二届中国“高分杯”美丽乡村大赛第一名总结

    导读:在4月中旬结束的第二届中国"高分杯"美丽乡村大赛中,52CV群友"吃兔子的萝卜"夺得冠军,这篇文章是"吃兔子的萝卜"对获胜方案的简短解 ...

  7. 2021AAPM大赛第一名技术报告Designing an Iterative Network for Fanbeam-CTwith Unknown Geometry 阅读笔记

    什么是第一名的含金量呢?他的RMSE直接领先最前沿方法一个数量级! 文章中多次提到了 forward model / operator,于是我进行了一些查阅,给出个人的一些理解: 作为 forward ...

  8. 众享比特荣获2020年首届区块链创新应用大赛第一名

    12月18日,2020中国(合肥)数字经济创新峰会分会场--2020年首届区块链创新应用大赛(以下简称"大赛")决赛及颁奖仪式在合肥举行.众享比特ChainSQL项目凭借原创性.安 ...

  9. 【采访】腾讯社交广告高校算法大赛决赛第二周周冠军——nju_newbiew比赛经验及心得分享

    腾讯社交广告高校算法大赛决赛 第二周周冠军 他们的名字叫nju_newbiew 进入决赛之后他们的成绩是火速提升 直到稳定在第一名 这又是一支谜一般的队伍 今天小编就来给大家揭开神秘大佬的面纱 三个偶 ...

最新文章

  1. HandlerInterceptor里@Autowired对象为空的解决方法
  2. Linux下gcc中各种文件后缀说明
  3. java 双向链表例子_Java双向链表按照顺序添加节点的方法实例_Java_软件编程
  4. group_concat默认长度限制
  5. Ozon Tech Challenge 2020 (Div.1 + Div.2) E.Kuroni and the Score Distribution 构造
  6. IBM分布式深度学习技术将语音识别训练时间从一周缩短到11小时
  7. 2013B题碎纸片拼接
  8. APK解包修改后,重新打包
  9. WinRAR去广告方法,了解一下?
  10. mysql select 临时表_mysql临时表的产生
  11. 米豆网首页快照不更新原因分析
  12. 真正的Java学习从入门到精通
  13. 美国华盛顿州立大学计算机排名,华盛顿州立大学计算机科学computer science专业排名第251~300名(2020THE泰晤士高等教育世界大学排名)...
  14. 不可错过的年度AI学术盛会 2021新一代人工智能院士高峰论坛暨启智开发者大会议程惊喜发布~
  15. android mediaplayer 实现歌曲边播放边下载
  16. 全志 H6 Orange Pi Lite 2 Android 7.0 UART配置
  17. BDD - BDD with Agile 敏捷 BDD
  18. CorelDraw出现应用程序恢复管理器向导解决办法汇总
  19. Flutter(二十一)——dio库
  20. redis watchdog_Redis分布式事务框架Redisson源码解析(一)

热门文章

  1. 设置ROS机器人避免行走到地图未知区域
  2. mybatis plus 格式话_作为阿里的面试官,我有话想说
  3. dev用不了_惊艳!小姐姐用动画图解 Git 的 10 大命令,这也太秀了吧!
  4. vue+django前后端项目部署
  5. 挺过最艰难的2018,我终将长大
  6. ubuntu apt命令
  7. 0-10不断循环的js
  8. IIS之Web服务器
  9. 第一次HACK别人的DLL
  10. leetcode 1223 python