https://github.com/asrot0/pineaipple
๐PineAIpple โ AI-powered fruit classification using CNNs! ๐ค Built with TensorFlow, Keras & a pinch of magic โจ | ๐ Fast. Accurate. Juicy. ๐๐๐
https://github.com/asrot0/pineaipple
ai computer-vision deep-learning fruitclassifier tensorflow
Last synced: 12 months ago
JSON representation
๐PineAIpple โ AI-powered fruit classification using CNNs! ๐ค Built with TensorFlow, Keras & a pinch of magic โจ | ๐ Fast. Accurate. Juicy. ๐๐๐
- Host: GitHub
- URL: https://github.com/asrot0/pineaipple
- Owner: asRot0
- Created: 2025-01-10T14:49:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-17T13:26:04.000Z (about 1 year ago)
- Last Synced: 2025-05-17T14:32:46.608Z (about 1 year ago)
- Topics: ai, computer-vision, deep-learning, fruitclassifier, tensorflow
- Language: Jupyter Notebook
- Homepage:
- Size: 56.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PineAIpple
This project is focused on building a deep learning model to classify fruits based on images using Convolutional Neural Networks (CNNs).
## Dataset
The dataset used in this project is the **Fruits-360** dataset. It contains images of various fruits that are grouped into different categories. The dataset is divided into three folders:
- **Training data**: Contains images for training the model.
- **Validation data**: Used to validate the model during training.
- **Test data**: Used to evaluate the model after training.
You can download the full dataset from [Fruits-360 Dataset on Kaggle](https://www.kaggle.com/datasets/moltean/fruits).
## Project Overview
- Preprocess and augment the images using TensorFlowโs `ImageDataGenerator`.
- Define a Convolutional Neural Network (CNN) model for image classification.
- Train the model using the training and validation sets.
- Evaluate the model using the test set to measure its accuracy.
- Visualize results including prediction examples.
### Steps
1. **Data Preprocessing**:
- Augment the images (rotate, shift, zoom, etc.) to increase dataset variety.
- Split the data into training, validation, and test sets.
2. **Model Definition**:
- A CNN model is built using TensorFlow/Keras layers to recognize fruit images.
3. **Training**:
- The model is trained using the augmented data and validation sets.
- Early stopping and model checkpointing are used to avoid overfitting.
4. **Evaluation**:
- The model is evaluated using the test dataset, and performance metrics are displayed.
5. **Prediction Visualization**:
- Predictions are made on test images, and the results are visualized.
## Technologies Used
- **Python**: Programming language used for the project.
- **TensorFlow/Keras**: For building and training the CNN model.
- **Matplotlib/Seaborn**: For data visualization (plots and graphs).
- **Scikit-learn**: For additional evaluation metrics like classification report.
## Requirements
- Python 3.x
- TensorFlow
- Keras
- Matplotlib
- Seaborn
- Scikit-learn
### Install Requirements
To install the required dependencies, run:
```bash
pip install -r requirements.txt
```