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