--- license: apache-2.0 tags: - image-classification - computer-vision - vegetables - pytorch - food datasets: - Custom metrics: - accuracy - confusion_matrix model-index: - name: VeggieNet results: - task: type: image-classification name: Image Classification dataset: name: Custom Vegetable Dataset type: image metrics: - type: accuracy value: 91.63% - type: confusion_matrix value: included --- # 🥕 VeggieNet: Vegetable Image Classifier **VeggieNet** is a deep learning model trained in PyTorch for classifying vegetable images into categories like tomato, carrot, potato, etc. It uses a fully connected neural network with regularization (BatchNorm and Dropout) to prevent overfitting and improve generalization. ## 🧠 Model Architecture The network takes 128x128 RGB images and passes them through the following layers: ```python nn.Sequential( nn.Flatten(), nn.Linear(3 * 128 * 128, 512), nn.BatchNorm1d(512), nn.ReLU(), nn.Dropout(0.3), nn.Linear(512, 256), nn.BatchNorm1d(256), nn.ReLU(), nn.Dropout(0.3), nn.Linear(256, 128), nn.BatchNorm1d(128), nn.ReLU(), nn.Dropout(0.3), nn.Linear(128, num_classes) ) ``` - **Loss Function**: `CrossEntropyLoss` - **Optimizer**: `Adam` - **Input Size**: `3x128x128` - **Output**: `num_classes` (one per vegetable category) ## 📂 Dataset This model is trained on a custom dataset from kaggle of vegetable images organized into: ``` vegetables_dataset/ ├── train/ ├── val/ └── test/ ``` Each subfolder represents a vegetable class (e.g., `carrot/`, `tomato/`, etc.). To download [Click Here](https://www.kaggle.com/datasets/misrakahmed/vegetable-image-dataset?select=Vegetable+Images) ## 📈 Training & Evaluation - Trained for **10 epochs** - Batch size: 16 - Includes validation + test evaluation - Final accuracy on test set: **~91.63%** - Confusion matrix is included in the evaluation ## ✅ Intended Use - Educational projects - Computer vision experiments - Simple food classification tasks ## 🚫 Limitations - Not robust to background noise or very similar vegetables - May underperform on unseen real-world data if distribution differs ## 💡 Future Improvements - Replace FC layers with a CNN for better spatial feature learning - Use transfer learning (e.g., ResNet18) - Increase dataset diversity and quantity ## 📜 License This model is available under the **Apache-2.0 License**. ## ✍️ Author - Created by: *Arun Arunisto* - GitHub: [arun-arunisto](https://github.com/arun-arunisto)