圖像處理(3):深度學習之圖像分類(垃圾分類案例)

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. 你是什麼垃圾?

在這裏插入圖片描述

2. 告訴你,你是什麼垃圾

在這裏插入圖片描述

3. 使用它告訴你,你是啥垃圾在這裏插入圖片描述

4.走進垃圾世界,掌握垃圾處理

在這裏插入圖片描述

發佈了267 篇原創文章 · 獲贊 66 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章