This repository contains the E-Waste Vision Dataset and EWasteNet, the classifier made of Two-Stream DeiT for classifying the images.
The project utilizes a deep learning model to analyze images of e-waste items and classify them into specific categories, such as smartphones, laptops, printers, etc. The Two-Stream DeiT architecture combines spatial and temporal information to improve the accuracy of classification.
To train and evaluate the EWasteNet model, we have used a carefully curated dataset of 1058 e-waste images. The dataset consists of various types of e-waste items, each labeled with the corresponding class/category.
The EWasteNet model is based on the Two-Stream DeiT (Vision Transformer) architecture. It combines two streams. The first steam of EWasteNet passes through a sobel operator that detects the edges while the second steam is directed through an ASPP (Atrous Spatial Pyramid Pooling) and CBAM attention block were multi-scale contextual information is captured.
The performance of the EWasteNet model is evaluated using various metrics, including the Receiver Operating Characteristic (ROC) curve and the confusion matrix.
The ROC curve illustrates the trade-off between true positive rate and false positive rate at various classification thresholds. A higher area under the curve (AUC) indicates better model performance.
The confusion matrix provides a detailed breakdown of the model's predictions and the ground truth labels. It helps us understand the distribution of correct and incorrect predictions across different classes.
To get started with the EWasteNet project, follow these steps:
- Clone the repository:
git clone https://github.com/NifulIslam/EWasteNet-A-Two-Stream-DeiT-Approach-for-E-Waste-Classification
- Install the necessary dependencies:
pip install -r requirements.txt
- Download or prepare your own dataset of e-waste images. Ensure that the dataset is properly labeled with class/category information.
- Preprocess the dataset as per your requirements (e.g., resize images, split into training and testing sets).
- Train the EWasteNet model using the provided scripts and configuration files.
- Evaluate the model's performance using the test set and visualize the results.
Feel free to explore the codebase and experiment with different configurations to improve the model's performance.
Contributions to the EWasteNet project are welcome! If you find any issues or have ideas for improvements, please open an issue or submit a pull request. We appreciate your feedback and contributions.
Note: Some of the images are missing in this repository. We will update this soon