AI实战:目标检测模型应用之生活垃圾图片分类

前言

“华为云杯”2020深圳开放数据应用创新大赛·生活垃圾图片分类

  • 【大赛介绍】
    由深圳市政务服务数据管理局、南山区人民政府主办,南山区政务服务数据管理局、华为技术有限公司承办的“华为云杯”2020深圳开放数据应用创新大赛(Shenzhen Open Data Innovation Contest,简称SODiC),以“数聚粤港澳,智汇大湾区”为主题,面向全球高等院校、专业研究机构、数据分析公司、开发者征集基于开放数据的创新应用解决方案和算法模型。

  • 【赛题背景】
    2016年12月,深圳市城市管理和综合执法局发布了《深圳市打造“全国最干净城市”三年行动计划(2017-2019)》。按照行动计划的战略目标,市、区、街各级城管部门随即开展行动,逐项认真部署落实。市城市管理和综合执法局领导直奔基层一线,在全市范围内开展以查找内街小巷市容环境管理问题和督促问题整改落实为主要内容的“行走深圳”活动。同时,深入推进“源头充分减量,前端分流分类,中段干湿分离,末端综合利用”的垃圾治理深圳模式,积极开展以打造深圳公厕成为“干净卫生、功能完善、美观雅致、群众满意”的靓丽城市名片的“公厕革命”。通过建立环境卫生专项整治、指数测评、责任落实等相关个工作机制,并开展城中村、集贸市场、垃圾收运和城市家具等相关洁净行动,越来越多的居民享受到打造全国最干净城市带来的环境福利。

    本赛题以垃圾分类为主题,利用人工智能技术,对居民生活垃圾图片进行检测,找出图片中有哪些类别的垃圾,并指示出垃圾在图片中的位置。


目标检测模型

1、常见目标检测模型:

  • SSD系列
  • YOLO系列
    YOLO v1、v2、v3、v4
  • R-CNN系列
    R-CNN、Fast R-CNN、Faster R-CNN
  • CenterNet
  • EfficientNet

2、参考:

  • AI实战:基于深度学习的目标检测算法汇总:SSD、YOLO系列、FPN

  • Feature Pyramid Networks for Object Detection(FPN)

  • AI实战: YOLOv4: Optimal Speed and Accuracy of Object Detection

  • AI实战:高准确率的检测模型FPN、Mask R-CNN、CenterNet

  • AI实战:基于深度学习的目标检测算法汇总:R-CNN系列 (R-CNN、Fast R-CNN、Faster R-CNN)

  • AI实战:Object detection之CenterNet

  • CenterNet: Keypoint Triplets for Object Detection

  • AI实战:谷歌 EfficientNet

  • EfficientDet 算法解读

  • EfficientDet: Scalable and Efficient Object Detection


3、性能对比
  • EfficientDet D0~D7 与其他模型的比较:

AI实战:目标检测模型应用之生活垃圾图片分类_第1张图片

  • CenterNet 与其他模型的对比:

    AI实战:目标检测模型应用之生活垃圾图片分类_第2张图片

  • Faster R-CNN on FPN 与其他模型的对比:

    AI实战:目标检测模型应用之生活垃圾图片分类_第3张图片

  • YOLO v4 与其他模型的对比:
    AI实战:目标检测模型应用之生活垃圾图片分类_第4张图片


综上,仅考虑AP的话,第一选择是 EfficientDet D7


实战过程

  • 数据分布

    动手之前先得搞清楚数据分布情况,再根据数据分布来做数据增强。

    • 直方图
      可以使用的库如 matplotlib、 seaborn等
      其他可以参考这篇文章: 7个常用数据可视化Python库:Matplotlib、Seaborn、ggplot2、Bokeh、pygal、geoplotlib、missingno
    • 单样本的密度分布
      比如单样本的图片尺寸、标注对象尺寸

  • 数据增强

    • 随机旋转,比如 90°、180°、270°,小角度如10°、20°、30°等
    • 随机平移
    • 随机缩放
    • 模糊处理
    • 添加噪声

    可参考:AI实战:图像数据增强方法汇总

  • 模型选取

    比赛比的就是AP,所以优先选择 EfficientDet D7

  • 开源代码

    • EfficientDet
      google官方版,基于tensorflow

    • keras-efficientnet
      处理方法可以参考该代码,基于keras的efficientnet

    • Yet-Another-EfficientDet-Pytorch
      基于Pytorch的efficientnet

你可能感兴趣的:(深度学习,人工智能,图像识别)