垃圾分类成为了环保领域的热门话题,随着人工智能技术的发展,利用深度学习模型对垃圾进行自动分类已经成为可能。本项目旨在通过图像识别技术,实现对居民生活垃圾进行自动分类,以提高垃圾分类的准确性和效率。
本项目所用数据集包含训练集和测试集,涵盖了40个不同类别的垃圾图片。训练集中的图片按照一级类别和二级类别进行分类,包含了可回收物、厨余垃圾、有害垃圾和其他垃圾等四个大类。测试集包含了待分类的垃圾图片,但没有标签信息。
本项目的任务分为两个部分:一是对垃圾进行一级类别分类,共4个类别;二是对垃圾进行二级类别分类,共40个类别。
为了实现对垃圾图片的分类,本项目将使用深度学习模型对图片的特征进行提取,并结合KNN、K-means、支持向量机和神经网络等多种机器学习算法进行分类,以提高分类准确率。
模型的性能将通过整体准确率、每类的精确率、召回率和F1指数进行评价,以全面了解模型的分类效果。
确保项目目录结构如下所示:
train/
└── train/
├── 0/
│ ├── img_1.jpg
│ └── img_2.jpg
├── 1/
│ ├── img_1.jpg
│ └── img_2.jpg
...
├── 39/
│ ├── img_1.jpg
│ └── img_2.jpg
└── garbage_dict.json
test/
└── test/
├── img_1.jpg
├── img_2.jpg
...
└── testpath.txt
在运行项目之前,请确保已安装以下依赖项:
- Python 3.6+
- PyTorch
- torchvision
- Pillow
您可以使用以下命令安装这些依赖项:
pip install torch torchvision Pillow
-
训练模型: 运行
garbage_classification.ipynb
,训练模型并保存最佳模型参数。 -
测试模型: 使用训练好的模型对测试集进行预测,并保存预测结果。
- 确保训练数据和测试数据的存放路径和文件命名正确。
- 如需修改训练数据路径或其他配置,可在
garbage_classification.ipynb
文件中进行相应修改。 - 在 GitHub 上,
.ipynb
文件(Jupyter Notebook 文件)通常无法直接显示,因为 GitHub 并不 natively 支持 Jupyter Notebook 的渲染。不过,你可以使用一些在线服务,如 nbviewer(https://nbviewer.jupyter.org/)来显示Jupyter Notebook 文件。只需将 GitHub 中.ipynb
文件的链接复制到 nbviewer 中即可在网页上查看该 Notebook。
本项目通过深度学习模型实现了对垃圾图片的自动分类,旨在提高垃圾分类的准确性和效率,为环境保护事业贡献力量。