图像处理(3):深度学习之图像分类(垃圾分类案例)

文章目录

  • AI垃圾分类
    • 产品描述
    • 垃圾分类-数据分析和预处理
    • 代码结构
    • resnext101网络架构
    • 垃圾分类-训练
    • 垃圾分类-评估
    • 垃圾分类-在线预测
      • 1. 你是什么垃圾?
      • 2. 告诉你,你是什么垃圾
      • 3. 使用它告诉你,你是啥垃圾
      • 4.走进垃圾世界,掌握垃圾处理

AI垃圾分类

产品描述

如何进行垃圾分类已经成为居民生活的灵魂拷问,然而AI在垃圾分类的应用可以成为居民的得力助手。
针对目前业务需求,我们设计一款APP,来支撑我们的业务需求,主要提供文本,语音,图片分类功能。AI智能垃圾分类主要通过构建基于深度学习技术的图像分类模型,实现垃圾图片类别的精准识别重点处理图片分类问题。
采用深圳市垃圾分类标准,输出该物品属于可回收物、厨余垃圾、有害垃圾和其他垃圾分类。

垃圾分类-数据分析和预处理

  • 整体数据探测
  • 分析数据不同类别分布
  • 分析图片长宽比例分布
  • 切分数据集和验证集
  • 数据可视化展示(可视化工具 pyecharts,seaborn,matplotlib)

代码结构

├── data
│   ├── garbage-classify-for-pytorch
│   │   ├── train
│   │   ├── train.txt
│   │   ├── val
│   │   └── val.txt
│   └── garbage_label.txt
├── analyzer
│   ├── 01 垃圾分类_一级分类 数据分布.ipynb
│   ├── 02 垃圾分类_二级分类 数据分析.ipynb
│   ├── 03 数据加载以及可视化.ipynb
│   ├── 03 数据预处理-缩放&裁剪&标准化.ipynb
│   ├── garbage_label_40 标签生成.ipynb
├── models
│   ├── alexnet.py
│   ├── densenet.py
│   ├── inception.py
│   ├── resnet.py
│   ├── squeezenet.py
│   └── vgg.py
├── facebook
│   ├── app_resnext101_WSL.py
│   ├── facebookresearch_WSL-Images_resnext.ipynb
│   ├── ResNeXt101_pre_trained_model.ipynb
├── checkpoint
│   ├── checkpoint.pth.tar
│   ├── garbage_resnext101_model_9_9547_9588.pth
├── utils
│   ├── eval.py
│   ├── json_utils.py
│   ├── logger.py
│   ├── misc.py
│   └── utils.py
├── args.py
├── model.py
├── transform.py
├── garbage-classification-using-pytorch.py
├── app_garbage.py
  • data: 训练数据和验证数据、标签数据
  • checkpoint: 日志数据、模型文件、训练过程checkpoint中间数据
  • app_garbage.py:在线预测服务
  • garbage-classification-using-pytorch.py:训练模型
  • models:提供各种pre_trained_model ,例如:alexlet、densenet、resnet,resnext等
  • utils:提供各种工具类,例如;重新flask json 格式,日志工具类、效果评估
  • facebook: 提供facebook 分类器神奇的分类预测和数据预处理
  • analyzer: 数据分析和数据预处理模块
  • transform.py:通过pytorch 进行数据预处理
  • model.py: resnext101 模型集成以及调整、模型训练和验证函数封装

resnext101网络架构

  • pre_trained_model resnext101 网络架构原理
  • 基于pytorch 数据处理、resnext101 模型分类预测
  • 在线服务API 接口

垃圾分类-训练

python garbage-classification-using-pytorch.py \
        --model_name resnext101_32x16d \
        --lr 0.001 \
        --optimizer  adam \
        --start_epoch 1 \
        --epochs 10 \
        --num_classes 40
  • model_name 模型名称
  • lr 学习率
  • optimizer 优化器
  • start_epoch 训练过程断点重新训练
  • num_classes 分类个数

垃圾分类-评估

python garbage-classification-using-pytorch.py \
    --model_name resnext101_32x16d \
    --evaluate  \
    --resume checkpoint/checkpoint.pth.tar \
    --num_classes 40 
  • model_name 模型名称
  • evaluate 模型评估
  • resume 指定checkpoint 文件路径,保存模型以及训练过程参数

垃圾分类-在线预测

python app_garbage.py \
    --model_name resnext101_32x16d \
    --resume checkpoint/garbage_resnext101_model_2_1111_4211.pth
  • model_name 模型名称
  • resume 训练模型文件路径
  • 模型预测
    命令行验证和postman 方式验证
    举例说明:命令行模式下预测
    curl -X POST -F [email protected] http://ip:port/predict

最后,我们从0到1教大家掌握如何进行垃圾分类。通过本学习,让你彻底掌握AI图像分类技术在我们实际工作中的应用。

更多精彩内容,https://github.com/shenfuli/ai

具体视频讲解请关注:

PyTorch实战-深度学习之图像分类(垃圾分类案例)

https://edu.csdn.net/course/detail/26983

1. 你是什么垃圾?

图像处理(3):深度学习之图像分类(垃圾分类案例)_第1张图片

2. 告诉你,你是什么垃圾

图像处理(3):深度学习之图像分类(垃圾分类案例)_第2张图片

3. 使用它告诉你,你是啥垃圾

图像处理(3):深度学习之图像分类(垃圾分类案例)_第3张图片

4.走进垃圾世界,掌握垃圾处理

图像处理(3):深度学习之图像分类(垃圾分类案例)_第4张图片

你可能感兴趣的:(深度学习与图像处理)